/* zone-detail-1122.css : cadre visuel commun de la zone detail (section .plus), SOURCE UNIQUE.
   Charge apres modele-metier-*.css. Aucune regle n'est ecrite page par page. 12/11/2026 */
.plus .plus-panel{--zd-ink:#2F3E46;--zd-txt:#4C5B62;--zd-line:#DDD3C2;--zd-cu:#9A4F26;--zd-cream:#F4EEE3;--zd-top:160px}
/* repli : sans JavaScript le detail est lisible ; le script ajoute .js sur <html> */
.js .plus .plus-panel:not(.is-open){display:none}
/* bouton d'ouverture : focus visible sur le cuivre */
.plus .plus-btn:focus-visible,.plus .plus-fold:focus-visible,.plus .plus-skip:focus-visible,.plus .plus-toc a:focus-visible{outline:4px solid #fff!important;outline-color:#fff!important;outline-offset:3px}
.plus .plus-panel .plus-fold:focus-visible,.plus .plus-panel .plus-skip:focus-visible,.plus .plus-panel .plus-toc a:focus-visible{outline:3px solid #9A4F26!important;outline-color:#9A4F26!important;outline-offset:2px}
.plus .plus-fold{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 22px;border:2px solid var(--zd-ink);border-radius:10px;background:#fff;color:var(--zd-ink);font:inherit;font-size:17px;font-weight:700;cursor:pointer}
.plus .plus-fold:hover{background:var(--zd-ink);color:#fff}

/* bandeau cuivre : reste collé sous l'en-tête pendant la lecture, version compacte quand le détail est ouvert */
.plus.is-open .plus-head{position:sticky;top:90px;z-index:41;padding:10px 48px;box-shadow:0 3px 10px rgba(0,0,0,.18)}
.plus.is-open .plus-head{background:#9A4F26}
.plus.is-open .plus-list{display:none}
.plus.is-open h2{margin:0;font-size:22px}
.plus.is-open .plus-btn{padding:10px 24px;font-size:17px}
@media(max-width:860px){
.plus.is-open .plus-head{flex-direction:row;align-items:center;gap:12px;padding:8px 18px}
.plus.is-open h2{font-size:17px;line-height:1.2}
.plus.is-open .plus-btn{width:auto;padding:10px 16px;font-size:16px;min-height:44px}
}
/* zone avis : marges haute et basse compactes */
html .sheet section.in#avis{padding-top:40px!important;padding-bottom:40px!important}
@media(max-width:860px){html .sheet section.in#avis{padding-top:28px!important;padding-bottom:28px!important}}
/* champs anti-robot (pot de miel) : jamais visibles, quel que soit le nom ou la feuille chargée */
input.hp-field,input[name="website"],input[name="contact_site_web"],input[aria-label="Ne pas remplir"]{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;opacity:0!important;overflow:hidden!important;pointer-events:none!important}
/* pied du detail : replier + passer au reste de la page */
.plus .plus-end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;max-width:1296px;margin:0 auto;padding:24px 48px 40px;border-top:1px solid var(--zd-line)}
.plus .plus-skip{min-height:44px;display:inline-flex;align-items:center;color:var(--zd-cu);font-size:17px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
/* sommaire statique (4 titres ou plus) */
.plus .plus-toc{margin:0 0 32px;padding:20px 24px;background:var(--zd-cream);border-left:4px solid var(--zd-cu);border-radius:8px}
.plus .plus-toc p{margin:0 0 8px;font-weight:700;color:var(--zd-ink)}
.plus .plus-toc ol{margin:0;padding:0 0 0 22px;columns:2;column-gap:40px}
.plus .plus-toc li{break-inside:avoid;margin:0 0 6px;color:var(--zd-txt);line-height:1.4}
.plus .plus-toc a{color:var(--zd-ink);text-decoration:underline;text-underline-offset:3px;display:inline-block;padding:4px 0}
/* conteneur et rangees : une seule logique */
.plus .plus-in{max-width:1296px;margin:0 auto;padding:56px 48px 24px}
.plus .pl-row{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:32px;align-items:start;padding:32px 0;border-top:1px solid var(--zd-line)}
.plus .plus-toc + .pl-row,.plus .plus-in>.pl-row:first-child{border-top:0;padding-top:0}
.plus .pl-row.pl-stack{grid-template-columns:minmax(0,1fr);gap:20px}
.plus .pl-row.pl-wide{grid-template-columns:minmax(0,420px) minmax(0,1fr)}
.plus .pl-row.pl-solo{grid-template-columns:minmax(0,640px);justify-content:center}
.plus .pl-stack .pl-tx{order:-1}
.plus .pl-figs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.plus .pl-row>.pl-fig,.plus .pl-figs>.pl-fig{width:100%}
/* textes : memes titres, memes corps partout */
.plus .plus-panel h3{margin:0 0 10px;font-family:"Cormorant Garamond",Georgia,serif;font-size:24px;line-height:1.2;color:var(--zd-ink);scroll-margin-top:var(--zd-top);hyphens:manual;-webkit-hyphens:manual;text-wrap:balance}
.plus .plus-panel .pl-tx{min-width:0}
.plus .plus-panel .pl-tx p,.plus .plus-panel .pl-tx li{font-size:17px;line-height:1.6;color:var(--zd-txt)}
.plus .plus-panel .pl-tx>p,.plus .plus-panel .pl-tx>ul,.plus .plus-panel .pl-tx>ol{max-width:68ch}
.plus .plus-panel .pl-tx p{margin:0 0 12px}
.plus .plus-panel .pl-tx b,.plus .plus-panel .pl-tx strong{color:var(--zd-ink)}
.plus .plus-panel .pl-tx a{color:var(--zd-cu);text-decoration:underline;text-underline-offset:3px}
.plus .plus-panel .pl-cta{margin:0 0 12px;font-size:19px;color:var(--zd-ink)}
/* photos : cadre 4/3 recadre, hauteur bornee, jamais plus haute que le texte voisin */
.plus .pl-fig{margin:0;border-radius:12px;overflow:hidden;background:var(--zd-cream)}
.plus .pl-fig img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:var(--focus,50% 40%);max-height:360px;background:var(--zd-cream)}
.plus .pl-fig img[data-lb]{aspect-ratio:4/3;object-fit:cover;max-height:360px;cursor:zoom-in}
.plus .pl-solo .pl-fig img{max-height:none}
/* schemas, plans et coupes : entiers, jamais recadres */
.plus .pl-fig.pl-schema img,.plus .pl-fig img[src$=".svg"],.plus .plan-tech .pl-fig img{aspect-ratio:auto;object-fit:contain;max-height:none;height:auto;background:#fff}
.plus .pl-fig figcaption{padding:8px 12px 10px;font-size:15px;line-height:1.4;color:var(--zd-txt);background:#fff;text-align:left}
.plus .pl-solo figcaption{text-align:center}
.plus .plan-tech summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700;color:var(--zd-cu)}
.plus .plan-tech .pl-fig{max-width:420px}
/* tableaux */
.plus .cmp-wrap{overflow-x:auto;margin:12px 0 6px;border:1px solid var(--zd-line);border-radius:10px;background:#fff}
.plus .cmp-wrap:focus-visible{outline:3px solid var(--zd-cu);outline-offset:2px}
.plus .cmp{width:100%;min-width:620px;border-collapse:collapse;font-size:16px;table-layout:fixed}
.plus .cmp caption{display:block;position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.plus .cmp-n{font-size:15px;color:var(--zd-txt);margin:8px 0 0}
/* mobile */
@media(max-width:860px){
.plus .plus-fold{width:100%}
.plus .plus-in{padding:36px 18px 16px}
.plus .plus-end{padding:20px 18px 32px;flex-direction:column;align-items:stretch}
.plus .plus-end .plus-fold{width:100%}
.plus .plus-skip{justify-content:center}
.plus .plus-toc ol{columns:1}
.plus .pl-row,.plus .pl-row.pl-wide,.plus .pl-row.pl-solo{grid-template-columns:minmax(0,1fr);gap:16px;padding:24px 0}
.plus .pl-figs{grid-template-columns:minmax(0,1fr)}
.plus .plus-panel h3{font-size:22px}
.plus .pl-fig img,.plus .pl-fig img[data-lb]{max-height:300px}
.plus .pl-fig.pl-schema img,.plus .pl-fig img[src$=".svg"],.plus .plan-tech .pl-fig img{max-height:none}
.plus .plan-tech .pl-fig{max-width:none}
}
@media(prefers-reduced-motion:reduce){.plus *{scroll-behavior:auto!important}}
@media print{.js .plus .plus-panel:not(.is-open){display:block}.plus .plus-bar,.plus .plus-end{display:none}}

/* ===== 1123 : alignement du bandeau, titres visibles, largeur du texte, sources compactes ===== */
/* 1) bandeau cuivre pleine largeur propre, contenu aligné sur la colonne de 1200 px du tableau */
.plus .plus-head{max-width:none;margin:0;padding-left:max(48px,calc(50% - 600px));padding-right:max(48px,calc(50% - 600px));box-sizing:border-box}
.plus.is-open .plus-head{padding-top:10px;padding-bottom:10px}
@media(max-width:860px){.plus .plus-head,.plus.is-open .plus-head{padding-left:18px;padding-right:18px}}
/* 2) vrais titres : les h2 des sous-parties étaient blancs sur fond blanc (règle .plus h2 du bandeau) */
.plus .plus-panel h2{margin:0 0 12px;padding:0 0 8px;border-bottom:2px solid var(--zd-cu);color:var(--zd-ink)!important;-webkit-text-fill-color:var(--zd-ink);font-family:"Cormorant Garamond",Georgia,serif;font-size:30px;line-height:1.15;scroll-margin-top:var(--zd-top);text-wrap:balance}
.plus .plus-panel h3{font-size:24px;color:var(--zd-ink);-webkit-text-fill-color:var(--zd-ink)}
.plus .pl-tx>h3{margin-top:22px}
@media(max-width:860px){.plus .plus-panel h2{font-size:24px}}
/* 3) texte sur toute la largeur du contenu, en deux colonnes quand il y a un texte long sans photo */
.plus .pl-stack .pl-tx>p,.plus .pl-stack .pl-tx>ul,.plus .pl-stack .pl-tx>ol{max-width:none}
.plus .pl-row.pl-stack{gap:14px}
.plus .pl-row{padding:24px 0}
.plus .pl-row.pl-solo{grid-template-columns:minmax(0,760px)}
/* 4) sources : liste compacte, texte normal, sans cartes ni coches */
.plus ul.verif:has(a.src){display:block;margin:6px 0 0;padding:0 0 0 22px;list-style:disc}
.plus ul.verif:has(a.src) li{background:none;border:0;border-radius:0;padding:0;margin:0 0 4px;font-size:17px;line-height:1.5;color:var(--zd-txt);position:static}
.plus ul.verif:has(a.src) li::before{content:none!important;display:none!important}
.plus ul.verif:has(a.src) a.src{font-size:17px;min-height:0;display:inline;color:var(--zd-cu);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.plus h3:has(+ ul.verif a.src){font-size:20px;margin-top:20px}

/* ===== 1124 : visionneuse, sommaire « En détail : » en tête ===== */
/* visionneuse : l'attribut width="1" de l'image vide la reduisait a 1 px ; la taille revient au fichier, bornee a l'ecran */
dialog.lb img{width:auto!important;height:auto!important;min-width:0;max-width:96vw;max-height:84vh}
/* sommaire place tout en haut du detail, sous le bandeau, lisible comme une liste de titres */
.plus .plus-in{display:flex;flex-direction:column}
.plus .plus-in>.plus-toc{order:-1;margin:0 0 24px}
.plus .plus-toc p{font-family:"Cormorant Garamond",Georgia,serif;font-size:24px;line-height:1.2}
.plus .plus-toc ol{list-style:decimal}
.plus .plus-toc li{font-size:17px}

/* ===== 1125 : titres numérotés, identiques au sommaire ; légendes à la taille du texte ===== */
.plus .plus-panel{counter-reset:zd}
.plus .plus-panel .zd-t::before{counter-increment:zd;content:counter(zd) ". ";color:var(--zd-cu)}
.plus .plus-toc ol{columns:1}
.plus .plus-toc li::marker{color:var(--zd-cu);font-weight:700}
.plus .pl-fig figcaption{font-size:17px;line-height:1.5}
.plus .plus-toc a{min-height:0!important;display:inline!important;padding:0!important}
.plus .plus-toc li{margin:0 0 4px}

/* ===== 1126 : titres de meme taille dans le detail, cartes, bloc visite compact ===== */
.plus .plus-panel h2,.plus .plus-panel h3{font-size:24px!important;line-height:1.25;border:0;padding:0;margin:0 0 10px;font-weight:700}
.plus .plus-panel h4{font-family:"Cormorant Garamond",Georgia,serif;font-size:20px;line-height:1.25;font-weight:700;color:var(--zd-ink);margin:0 0 8px}
@media(max-width:860px){.plus .plus-panel h2,.plus .plus-panel h3{font-size:22px!important}}
.plus .pl-tx p,.plus .pl-tx li{font-size:17px}
/* cartes : titre serre, lien aligne sur le texte de la carte */
.cp h3{line-height:1.3!important;margin:12px 16px 6px}
.cp>a.lk{display:block!important;min-height:0!important;padding:0 16px 16px!important;align-self:end;margin:0}
/* bloc « Demander une visite » : marges reduites */
html .sheet section.in.dmd{padding-top:28px!important;padding-bottom:28px!important}
@media(max-width:860px){html .sheet section.in.dmd{padding-top:20px!important;padding-bottom:20px!important}}

/* ===== 1127 : bloc « Demander une visite » : la regle precedente perdait contre #contenu section.in (!important) ===== */
html #contenu section.in.dmd{padding-top:28px!important;padding-bottom:28px!important}
@media(max-width:860px){html #contenu section.in.dmd{padding-top:20px!important;padding-bottom:20px!important}}

/* ===== 1128 : style unique des tableaux (modele « Un demoussage, geste apres geste ») ===== */
.plus .cmp-wrap,.cmp-wrap{border:1px solid var(--zd-line,#DDD3C2);border-radius:10px;overflow-x:auto;background:#fff}
.plus .cmp thead th,.cmp thead th{background:#2F3E46;color:#fff;font-weight:700;text-align:left;padding:12px 14px;font-size:16px}
.plus .cmp tbody th,.cmp tbody th[scope="row"]{background:#F4EEE3;color:#2F3E46;font-weight:700;text-align:left;padding:12px 14px;font-size:16px;vertical-align:top;width:24%}
.plus .cmp td,.cmp td{color:#4C5B62;font-size:16px;line-height:1.5;padding:12px 14px;vertical-align:top;border-top:1px solid #E6DDCB}
.plus .cmp tbody tr:first-child td{border-top:0}
.plus .cmp-liste{min-width:0;table-layout:auto}
@media(max-width:860px){.plus .cmp-liste{min-width:0}.plus .cmp-liste thead{display:none}.plus .cmp-liste tr,.plus .cmp-liste th,.plus .cmp-liste td{display:block;width:auto}.plus .cmp-liste tbody th{padding:10px 14px 6px}.plus .cmp-liste td{border-top:0;padding:6px 14px 12px}}

/* ===== 1129 : une photo seule = ~420 px, le texte l'entoure et prend toute la largeur ===== */
/* cause du bug : .pl-figs etait une grille a 2 colonnes, une seule photo tenait donc dans la moitie de 320 px (~150 px) */
.plus .pl-figs{grid-template-columns:repeat(2,minmax(0,1fr))}
.plus .pl-row:has(>.pl-figs>.pl-fig:only-child),.plus .pl-row:has(>.pl-fig):not(.pl-solo):not(.pl-stack){display:block;grid-template-columns:none}
.plus .pl-row:has(>.pl-figs>.pl-fig:only-child)::after,.plus .pl-row:has(>.pl-fig):not(.pl-solo):not(.pl-stack)::after{content:"";display:block;clear:both}
.plus .pl-row>.pl-figs:has(>.pl-fig:only-child),.plus .pl-row:not(.pl-solo):not(.pl-stack)>.pl-fig{float:left;display:block;width:min(420px,44%);margin:4px 32px 16px 0}
.plus .pl-row:has(>.pl-figs>.pl-fig:only-child) .pl-tx>p,.plus .pl-row:has(>.pl-fig):not(.pl-solo) .pl-tx>p{max-width:none}
.plus .pl-row:has(>.pl-figs>.pl-fig:only-child) .pl-tx>.cmp-wrap,.plus .pl-row:has(>.pl-fig):not(.pl-solo) .pl-tx>.cmp-wrap{clear:both}
/* deux photos ou plus : bande au-dessus du texte, pleine largeur */
.plus .pl-row:has(>.pl-figs>.pl-fig+.pl-fig){grid-template-columns:minmax(0,1fr)}
@media(max-width:860px){
.plus .pl-row>.pl-figs:has(>.pl-fig:only-child),.plus .pl-row:not(.pl-solo):not(.pl-stack)>.pl-fig{float:none;width:100%;margin:0 0 16px}
.plus .pl-figs{grid-template-columns:minmax(0,1fr)}
}

/* ===== 1130 : bloc « Demander une visite » sur les pages ou la section sort de main#contenu (renforcement-charpente : parent = body) ===== */
html body section.in.dmd{padding-top:28px!important;padding-bottom:28px!important}
@media(max-width:860px){html body section.in.dmd{padding-top:20px!important;padding-bottom:20px!important}}
