/* Pages de contenu V2 « plan d'ingénieur » (lot 2) : contact, blog, pages légales.
   Jetons et composants communs : plan.css. */

body.plan .p-titre-page{font-size:clamp(34px,4.6vw,70px)}
body.plan .p-titre-page + .p-intro{margin-top:22px}

/* ── Contact ── */
body.plan .p-contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:34px;align-items:start}
body.plan .p-objets{display:flex;flex-direction:column;gap:26px}
body.plan .p-objet{text-align:left;font:inherit;color:inherit;cursor:pointer;width:100%;display:grid;gap:8px}
body.plan .p-objet:hover{border-color:var(--p-or)}
body.plan .p-objet[aria-pressed="true"]{border-color:var(--p-or);box-shadow:inset 0 0 0 1px var(--p-or)}
body.plan .p-objet-titre{font:800 21px/1.15 var(--p-titre);font-stretch:122%;text-transform:uppercase;color:var(--p-fort)}
body.plan .p-objet-texte{font-size:15px;line-height:1.6;color:var(--p-texte2)}
body.plan .p-delai{font-size:24px;line-height:1.15;transform:rotate(-2deg);padding-left:6px;margin:0}
body.plan .p-bordereau-form{border:1.5px solid var(--p-trait);background:var(--p-surface)}
body.plan .p-bordereau-titre{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-bottom:1.5px solid var(--p-trait);
  font:850 16px var(--p-titre);font-stretch:125%;text-transform:uppercase;color:var(--p-fort)}
body.plan .p-bordereau-titre small{font:400 10px var(--p-mono);letter-spacing:.12em;color:var(--p-cyan)}
body.plan .p-champs{display:grid;grid-template-columns:1fr 1fr}
body.plan .p-champ{display:grid;gap:6px;padding:14px 20px;border-bottom:1px solid var(--p-trait-doux);min-width:0}
body.plan .p-champ.p-gauche{border-right:1px solid var(--p-trait-doux)}
body.plan .p-champ.p-plein{grid-column:1/-1}
body.plan .p-champ label{font:10px var(--p-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--p-cyan)}
body.plan .p-champ input,body.plan .p-champ textarea{font:16px var(--p-titre);color:var(--p-fort);background:transparent;border:0;border-bottom:1px dashed var(--p-trait-doux);padding:6px 0;width:100%;border-radius:0}
body.plan .p-champ textarea{min-height:120px;resize:vertical;border:1px dashed var(--p-trait-doux);padding:10px;margin-top:4px}
body.plan .p-champ input::placeholder,body.plan .p-champ textarea::placeholder{color:var(--p-indice)}
body.plan .p-champ input:focus,body.plan .p-champ textarea:focus{outline:none;border-color:var(--p-orange);border-bottom-style:solid}
body.plan .p-champ-erreur,body.plan .p-champ .p-champ-erreur{border-color:var(--p-rouge)!important;border-bottom-style:solid!important}
body.plan .p-accord{display:grid;grid-template-columns:22px 1fr;gap:12px;padding:16px 20px;border-bottom:1px solid var(--p-trait-doux);font-size:14px;line-height:1.5;color:var(--p-texte2)}
body.plan .p-accord.p-champ-erreur{box-shadow:inset 3px 0 0 var(--p-rouge)}
body.plan .p-accord input{width:18px;height:18px;accent-color:var(--p-orange);margin-top:2px}
body.plan .p-erreur-msg{margin:0;padding:12px 20px;border-bottom:1px solid var(--p-trait-doux);font-size:14px;color:var(--p-fort);box-shadow:inset 3px 0 0 var(--p-rouge)}
body.plan .p-envoi{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;flex-wrap:wrap}
body.plan .p-envoi small{font:10px var(--p-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--p-cyan)}
body.plan .p-recu{border:1.5px solid var(--p-trait);background:var(--p-surface);padding:40px;text-align:center}
body.plan .p-recu .p-tampon{position:static;display:inline-block;margin:10px 0 46px;transform:rotate(-8deg)}
body.plan .p-recu h2{font:850 28px var(--p-titre);font-stretch:125%;text-transform:uppercase;color:var(--p-fort);margin:0 0 8px}
body.plan .p-recu p{color:var(--p-texte2);margin:0}

@media (max-width:1000px){
  body.plan .p-contact,body.plan .p-champs{grid-template-columns:1fr}
  body.plan .p-champ.p-gauche{border-right:0}
}

/* ── Index du blog ── */
body.plan .p-titre-blog{font-size:clamp(40px,5.4vw,84px);margin-top:14px}
body.plan .p-legende-pages{display:grid;grid-template-columns:repeat(3,auto);margin-top:42px;border:1px solid var(--p-trait-doux);width:fit-content;max-width:100%}
body.plan .p-legende-pages div{padding:12px 18px;border-right:1px solid var(--p-trait-doux);font-family:var(--p-mono)}
body.plan .p-legende-pages div:last-child{border-right:0}
body.plan .p-legende-pages small{font-size:9px;color:var(--p-cyan);letter-spacing:.14em;display:block}
body.plan .p-legende-pages b{font-size:22px;font-weight:600;display:block;margin:4px 0 2px;color:var(--p-fort)}
body.plan .p-legende-pages span{font-size:10px;color:var(--p-texte2);line-height:1.4;display:block}
body.plan .p-docs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
body.plan .p-doc{position:relative;border:1.5px solid var(--p-trait);background:var(--p-surface);padding:20px 20px 18px;display:flex;flex-direction:column;gap:10px;min-width:0;
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%)}
body.plan .p-doc::after{content:"";position:absolute;right:0;top:0;width:22px;height:22px;background:linear-gradient(225deg,transparent 50%,var(--p-trait-doux) 50%)}
body.plan .p-doc:hover{background:var(--p-survol)}
body.plan .p-doc-ref{display:flex;justify-content:space-between;gap:8px;font:10px var(--p-mono);letter-spacing:.1em;color:var(--p-cyan)}
body.plan .p-doc-ref b{color:var(--p-or-petit);font-weight:600}
body.plan .p-doc h3{font:750 17px/1.2 var(--p-titre);font-stretch:108%;margin:0;text-wrap:balance}
/* Le lien du titre couvre toute la fiche : une seule cible, un seul nom accessible */
body.plan .p-doc h3 a{color:var(--p-fort);text-decoration:none}
body.plan .p-doc h3 a::before{content:"";position:absolute;inset:0}
body.plan .p-doc p{font-size:13.5px;line-height:1.55;color:var(--p-texte2);flex:1;margin:0}
body.plan .p-doc-pied{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;border-top:1px dashed var(--p-trait-doux);padding-top:10px;font:10px var(--p-mono);color:var(--p-cyan)}
body.plan .p-doc-lien{white-space:nowrap;display:inline-flex;gap:8px;align-items:center;font:700 12.5px var(--p-titre);color:var(--p-fort);text-decoration:underline;text-decoration-color:var(--p-orange);text-underline-offset:3px}
body.plan .p-doc:hover .p-pastille{transform:translateX(3px)}
body.plan .p-releve{border:1.5px solid var(--p-trait);background:var(--p-surface);padding:10px 0}
body.plan .p-releve-liste{list-style:none;margin:0;padding:0}
body.plan .p-releve-ligne{display:grid;grid-template-columns:40px 150px 50px 1fr 230px;gap:14px;align-items:center;padding:6px 22px;font:12px var(--p-mono);font-variant-numeric:tabular-nums;color:var(--p-trait);text-decoration:none}
body.plan .p-releve-liste li:nth-child(odd) .p-releve-ligne{background:var(--p-survol)}
body.plan a.p-releve-ligne:hover .p-ville{text-decoration:underline;text-decoration-color:var(--p-orange);text-underline-offset:3px}
body.plan .p-releve-entete{color:var(--p-cyan);font-size:9px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--p-trait-doux);padding-bottom:10px;margin-bottom:6px}
body.plan .p-releve-entete span:last-child{text-align:right}
body.plan .p-n{color:var(--p-cyan)}
body.plan .p-ville{font:600 14px var(--p-titre);color:var(--p-fort)}
body.plan .p-z{color:var(--p-or-petit)}
body.plan .p-barre-cadre{display:block;height:10px}
body.plan .p-barre{display:block;height:10px;border:1px solid var(--p-or);background:repeating-linear-gradient(135deg,var(--p-orange) 0 3px,transparent 3px 7px);transform-origin:left;animation:p-pousse 1.2s cubic-bezier(.2,.7,.2,1) both}
@keyframes p-pousse{from{transform:scaleX(.15)}}
@media (prefers-reduced-motion:reduce){body.plan .p-barre{animation:none}}
body.plan .p-v{text-align:right;color:var(--p-texte2);white-space:nowrap}
body.plan .p-v b{color:var(--p-fort);font-weight:600}
body.plan .p-filtres{display:flex;flex-wrap:wrap;border:1px solid var(--p-trait-doux);width:fit-content;max-width:100%;margin-bottom:10px}
body.plan .p-filtres button{font:11px var(--p-mono);letter-spacing:.06em;text-transform:uppercase;padding:10px 14px;background:transparent;color:var(--p-trait);border:0;border-right:1px solid var(--p-trait-doux);cursor:pointer}
body.plan .p-filtres button:last-child{border-right:0}
body.plan .p-filtres button small{color:var(--p-cyan);margin-left:6px}
body.plan .p-filtres button[aria-pressed="true"]{background:var(--p-orange);color:var(--p-sur-orange);font-weight:700}
body.plan .p-filtres button[aria-pressed="true"] small{color:var(--p-sur-orange)}
body.plan .p-compte{font:11px var(--p-mono);color:var(--p-cyan);margin:0 0 16px;letter-spacing:.08em;text-transform:uppercase}
body.plan .p-articles td:nth-child(2) small{display:block;font:400 10px var(--p-mono);color:var(--p-cyan);letter-spacing:.08em;margin-top:4px;text-transform:none}
body.plan .p-lire{color:var(--p-fort);text-decoration:underline;text-decoration-color:var(--p-orange);text-underline-offset:3px;font:700 13px var(--p-titre);white-space:nowrap}
body.plan .p-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media (max-width:1000px){
  body.plan .p-docs{grid-template-columns:1fr 1fr}
  body.plan .p-releve-ligne{grid-template-columns:30px 1fr 40px;row-gap:4px;padding:8px 14px}
  body.plan .p-barre-cadre,body.plan .p-v{grid-column:2/-1}
  body.plan .p-v{text-align:left}
  body.plan .p-releve-entete{display:none}
  body.plan .p-legende-pages{grid-template-columns:1fr}
  body.plan .p-legende-pages div{border-right:0;border-bottom:1px solid var(--p-trait-doux)}
}
@media (max-width:560px){body.plan .p-docs{grid-template-columns:1fr}}
