/* Dessins de fabrication et cotations */
.sheet-shadow{fill:none;stroke:#0d2f68;stroke-width:8;stroke-linecap:square;stroke-linejoin:miter;opacity:.08}.sheet-line{fill:none;stroke:#183a66;stroke-width:4;stroke-linecap:square;stroke-linejoin:miter}.sheet-highlight{fill:none;stroke:#4fb555;stroke-width:7;stroke-linecap:square;opacity:.38}.profile-card .sheet-shadow{stroke-width:10}.profile-card .sheet-line{stroke-width:5}.profile-card .sheet-highlight{stroke-width:8}.dimension line{stroke:#7c8ba0;stroke-width:.8;stroke-dasharray:2 2}.dimension .dimension-arrow{stroke-dasharray:none;marker-start:url(#dimArrow);marker-end:url(#dimArrow)}.dimension text{fill:#44556c;font-size:8px;font-weight:700;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4;stroke-linejoin:round}.dimension .dimension-value{fill:#0d2f68;font-size:9px;font-weight:800}.angle-note line{stroke:#93a0b2;stroke-width:.8}.angle-note circle{fill:#fff;stroke:#91a0b3;stroke-width:1}.angle-note text{fill:#0d2f68;font-size:8px;font-weight:800;text-anchor:middle}.angle-note .angle-value{fill:#5d6b7d;font-size:8px;font-weight:700;paint-order:stroke;stroke:#fff;stroke-width:3}.color-note line{stroke:#b42318;stroke-width:1}.color-note path{fill:#c51d23}.color-note text{fill:#a41920;font-size:7px;font-weight:800;letter-spacing:.08em;paint-order:stroke;stroke:#fff;stroke-width:3}.drawing{background:#fbfcfe}.drawing .grid-paper{opacity:.26;background-size:16px 16px}.drawing>svg{width:92%;max-height:320px;overflow:visible}.profile-card{min-height:168px}.profile-card svg{height:104px}.profile-card>span{padding:0 2px}.profile-card strong{font-size:10px}.profile-card small{font-size:7.5px}.dimension-grid{display:block}.measure-section{padding:14px;background:#fbfcfe;border:1px solid var(--line);border-radius:12px}.measure-section+.measure-section{margin-top:12px}.measure-title{margin-bottom:11px;display:flex;justify-content:space-between;align-items:flex-end}.measure-title strong{color:var(--navy);font-size:11px}.measure-title span{color:var(--muted);font-size:8px}.measure-fields,.angle-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.measure-fields label,.angle-fields label{padding:10px;background:#fff;border:1px solid var(--line);border-radius:9px}.measure-fields label>span,.angle-fields label>span{margin-bottom:7px;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:8px;font-weight:700}.measure-fields label>span b{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:5px;background:var(--navy);color:#fff;font-size:8px}.angle-fields label>span b{color:var(--green-dark);font-size:9px}.measure-fields label>div,.angle-fields label>div{display:flex}.measure-fields input,.angle-fields input{min-width:0;width:100%;height:37px;padding:0 9px;color:var(--navy);font-size:13px;font-weight:800;border:1px solid #cad5e3;border-radius:7px 0 0 7px;outline:none}.measure-fields input:focus,.angle-fields input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(79,181,85,.11)}.measure-fields em,.angle-fields em{height:37px;padding:0 8px;display:flex;align-items:center;color:var(--muted);font-size:8px;font-style:normal;font-weight:700;background:#edf2f7;border:1px solid #cad5e3;border-left:0;border-radius:0 7px 7px 0}.result-line{grid-template-columns:75px 1fr auto}.result-line svg{width:70px;height:66px}.result-line small{line-height:1.4}
@media(max-width:620px){.measure-fields,.angle-fields{grid-template-columns:1fr}.measure-title{align-items:flex-start;flex-direction:column;gap:3px}.profile-card{min-height:136px}.drawing>svg{width:96%}}

/* Header et footer identiques aux autres configurateurs JTLM */
.topbar{position:sticky;top:0;z-index:60;height:auto;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 6px 18px rgba(13,47,104,.06)}.topbar__inner{position:relative;max-width:1280px;min-height:82px;height:auto;margin:0 auto;padding:10px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand--devis{min-width:0;display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--navy)}.brand--devis img{width:150px;height:auto;max-height:58px;object-fit:contain;flex:none}.brand--devis div{min-width:0;padding-left:15px;border-left:1px solid var(--line)}.brand--devis strong{display:block;color:var(--navy);font-size:16px;line-height:1.25;font-weight:800}.brand--devis span{display:block;margin-top:4px;padding:0;border:0;color:#72869a;font-size:11px;font-weight:600;white-space:nowrap}.topbar__right{display:flex;align-items:center;justify-content:flex-end;gap:28px}.top-info{display:flex;flex-direction:column;gap:3px;white-space:nowrap}.top-info b{color:var(--navy);font-size:12px;font-weight:800}.top-info span,.top-info a{display:block;color:#61768b;font-size:12px;font-weight:600;text-decoration:none}.top-info a:hover{color:var(--green)}.ghost-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);text-decoration:none;font-size:12px;font-weight:800;transition:.16s ease}.ghost-link:hover{border-color:var(--green);background:#f7fff8;color:var(--green)}.topbar .menu{display:none;padding:10px 13px;border:0;border-radius:9px;background:var(--navy);color:#fff;font-weight:800}.topbar .mobile-nav{display:none}.jtlm-footer-brief{min-height:0;margin-top:auto;padding:0;display:block;background:var(--navy);border-top:4px solid var(--green);color:#fff}.jtlm-footer-brief-inner{max-width:1280px;min-height:76px;margin:0 auto;padding:14px 22px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:26px}.jtlm-footer-brief .footer-brand{padding:0;border-radius:0;background:transparent}.jtlm-footer-brief .footer-brand strong{display:block;color:#fff;font-size:13px;font-weight:800}.jtlm-footer-brief .footer-brand span{display:block;margin-top:3px;color:#bfcfe1;font-size:11px}.footer-contact{display:flex;align-items:center;gap:9px;color:#bfcfe1;font-size:11px;white-space:nowrap}.footer-contact a{color:#fff;font-weight:700;text-decoration:none}.footer-contact a:hover{color:#83dc88}.footer-contact>span{color:var(--green)}.footer-copy{justify-self:auto;color:#bfcfe1;font-size:11px;white-space:nowrap}
.configurators-menu{position:relative}.configurators-trigger{min-height:40px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;border:1px solid #cbd7e3;border-radius:10px;background:#fff;color:var(--navy);font-size:12px;font-weight:800;transition:.16s ease}.configurators-trigger:hover,.configurators-trigger[aria-expanded="true"]{border-color:var(--green);background:#f7fff8;color:var(--green-dark)}.configurators-trigger svg{width:10px;height:7px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.configurators-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}.configurators-dropdown{position:absolute;z-index:80;top:calc(100% + 10px);right:0;width:290px;padding:7px;display:none;border:1px solid #dce4ef;border-radius:13px;background:#fff;box-shadow:0 18px 42px rgba(13,47,104,.18)}.configurators-dropdown.open{display:block;animation:configMenuIn .16s ease}.configurators-dropdown a{padding:11px 12px;display:flex;flex-direction:column;gap:3px;border-radius:9px;color:var(--navy);text-decoration:none}.configurators-dropdown a:hover{background:#f2f7fc}.configurators-dropdown a.active{padding-left:9px;border-left:3px solid var(--green);background:#f5fbf6}.configurators-dropdown span{font-size:12px;font-weight:800}.configurators-dropdown small{color:#6c7d90;font-size:9px;font-weight:600}@keyframes configMenuIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.topbar__inner{min-height:74px;padding:8px 14px}.brand--devis{gap:10px}.brand--devis img{width:125px;max-height:48px}.brand--devis div{padding-left:10px}.brand--devis strong{font-size:14px}.brand--devis span{display:none}.topbar__right .top-info,.topbar__right .ghost-link,.topbar__right .configurators-menu{display:none}.topbar .menu{display:block}.topbar .mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:10px 14px 14px;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(13,47,104,.12);flex-direction:column;gap:5px}.topbar .mobile-nav.open{display:flex}.topbar .mobile-nav>span{padding:9px 12px 3px;color:#7b8999;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.topbar .mobile-nav a{padding:10px 12px;border-radius:8px;color:var(--navy);text-decoration:none;font-size:13px;font-weight:700}.topbar .mobile-nav a:hover{background:#eef4fb;color:var(--green)}.topbar .mobile-nav a.active{background:#f1faf2;color:var(--green-dark)}.jtlm-footer-brief-inner{grid-template-columns:1fr;gap:8px;text-align:center}.footer-contact{justify-content:center;flex-wrap:wrap;white-space:normal}.footer-copy{justify-self:center}}
@media(max-width:520px){.brand--devis img{width:105px}.brand--devis strong{font-size:13px}.footer-contact>span{display:none}.footer-contact{flex-direction:column;gap:4px}}

/* Options et rendu demandés pour les profils sur mesure */
.sheet-shadow{stroke-linecap:round;stroke-linejoin:round}.sheet-line{stroke:#1769aa;stroke-linecap:round;stroke-linejoin:round}.sheet-highlight{display:none!important}
.thickness-section{margin-top:13px;padding:14px;background:#fbfcfe;border:1px solid var(--line);border-radius:12px}.thickness-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.thickness{position:relative;min-height:64px;padding:11px 38px 11px 13px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:9px}.thickness strong{color:var(--navy);font-size:12px}.thickness small{color:var(--muted);font-size:8px}.thickness b{position:absolute;top:50%;right:12px;display:none;place-items:center;width:20px;height:20px;transform:translateY(-50%);border-radius:50%;background:var(--green);color:#fff}.thickness.selected{border-color:var(--green);background:#f5fcf6;box-shadow:0 0 0 3px rgba(79,181,85,.1)}.thickness.selected b{display:grid}.angle-section{margin-top:12px}.angle-fields{grid-template-columns:minmax(0,220px)}.add-profile{margin-top:10px!important}.saved-profiles{display:flex;flex-direction:column;gap:8px}.saved-profiles .result-line{margin-top:10px}.saved-line{position:relative;padding-right:38px}.saved-line>button{position:absolute;top:7px;right:7px;width:25px;height:25px;border:1px solid #d8e0eb;border-radius:50%;background:#fff;color:#8a2430;font-size:17px;line-height:1}.saved-line>button:hover{background:#fff1f2;border-color:#e9b5bb}.result-line>span{min-width:0}.result-line small{overflow-wrap:anywhere}
@media(max-width:620px){.thickness-grid{grid-template-columns:1fr}.saved-line{padding-right:34px}.result-line{grid-template-columns:62px 1fr}.result-line>b{grid-column:2}.angle-fields{grid-template-columns:1fr}}

/* Progression identique au configurateur de bardage */
.hero{min-height:142px;padding:27px 24px 42px;background:linear-gradient(115deg,#0d2f68 0%,#103a72 65%,#185579 100%)}
.progress-wrap{position:relative;z-index:3;width:min(940px,calc(100% - 40px));margin:-20px auto 26px;padding:20px 48px 17px;border:1px solid #e2e9f2;border-radius:17px;background:#fff;box-shadow:0 12px 28px rgba(13,47,104,.10)}
.progress-steps{position:relative;z-index:2;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);list-style:none}
.progress-steps li{display:flex;flex-direction:column;align-items:center;gap:6px;color:#95a0af;font-size:11px;font-weight:700}
.progress-steps b{display:grid;place-items:center;width:28px;height:28px;border:3px solid #fff;border-radius:50%;background:#e9eef4;color:#8b97a8;box-shadow:0 0 0 1px #e2e8f0;font-size:11px}
.progress-steps li.active,.progress-steps li.done{color:var(--navy)}
.progress-steps li.active b{background:var(--navy);color:#fff;box-shadow:0 0 0 4px rgba(13,47,104,.11)}
.progress-steps li.done b{background:var(--green);color:#fff;box-shadow:none}
.progress-bar{position:absolute;z-index:1;top:34px;left:13%;right:13%;height:3px;background:#e7edf4}
.progress-bar span{display:block;width:0;height:100%;background:var(--green);transition:width .35s ease}

/* Échantillons de finition */
.sample.brillant{background:#323940;background-image:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 8px 13px rgba(13,47,104,.15)}
.sample.mat{background-color:#323940;background-image:linear-gradient(115deg,#1f252b 0%,#697580 18%,#252c33 40%,#7e8992 58%,#30373e 76%,#171b20 100%);background-size:100% 100%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.34),inset 12px 0 18px rgba(255,255,255,.1),inset -8px 0 14px rgba(0,0,0,.16),0 8px 13px rgba(13,47,104,.15)}
.made-to-order{margin-top:11px;padding:9px 12px;display:flex;align-items:center;gap:9px;border:1px solid #d9e5f2;border-radius:10px;background:#f4f8fc;color:#607188;font-size:9px}.made-to-order b{flex:none;padding:4px 7px;border-radius:6px;background:var(--navy);color:#fff;font-size:8px;letter-spacing:.04em;text-transform:uppercase}.made-to-order span{line-height:1.35}

/* Bouton Recommencer repris du configurateur de tôle de bardage */
.preview>header .restart-button{min-height:36px;padding:8px 12px;display:inline-flex;align-items:center;gap:7px;border:1px solid #cbd7e3;border-radius:10px;background:#fff;color:var(--navy);box-shadow:0 3px 10px rgba(13,47,104,.08);font-size:9px;font-weight:800;text-decoration:none;transition:.18s ease}.preview>header .restart-button:hover{border-color:#df8c8c;background:#fff5f5;color:#a62d2d;box-shadow:0 5px 14px rgba(166,45,45,.12);transform:translateY(-1px)}.preview>header .restart-button:focus-visible{outline:3px solid rgba(79,181,85,.25);outline-offset:2px}.restart-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease}.restart-button:hover svg{transform:rotate(-35deg)}
.preview.is-empty .drawing>svg,.preview.is-empty .ral-chip,.preview.is-empty .summary,.preview.is-empty .minimum{display:none}.preview.is-empty .grid-paper{opacity:.18}.warning[hidden]{display:none!important}

/* Cotation de l'angle */
.angle-note path{fill:none;stroke:#4fb555;stroke-width:1.4}
.angle-note .angle-value{fill:#0d2f68;font-size:9px;font-weight:800;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:4;stroke-linejoin:round}

@media(max-width:760px){.hero{min-height:135px;padding:22px 16px 43px}.progress-wrap{width:calc(100% - 28px);margin-top:-30px;padding:16px 16px 13px}.progress-bar{top:30px}.progress-steps span{font-size:9px}}
@media(max-width:420px){.progress-wrap{width:calc(100% - 16px)}.progress-steps li span{display:none}.progress-bar{left:14%;right:14%}}

/* Cotations lisibles et retours techniques */
.dimension line{stroke:#667386;stroke-width:.85;stroke-dasharray:none}.dimension .dimension-extension{stroke:#8a96a7;stroke-width:.7}.dimension .dimension-arrow{stroke:#566273;stroke-width:.85;marker-start:url(#dimArrow);marker-end:url(#dimArrow)}.dimension .dimension-text-mask{fill:#fff;stroke:none}.dimension .dimension-value{fill:#151b24;font-size:9px;font-weight:800;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:2}
.color-note rect{stroke:#f0c6c8;stroke-width:.7}
.color-note text{text-anchor:middle}
.color-note .color-arrow{stroke-width:.9}
.return-line{fill:none;stroke:#1769aa;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.drawing .sheet-line{stroke-width:3}.drawing .sheet-shadow{stroke-width:6}.profile-card .sheet-line{stroke-width:3.2}.profile-card .sheet-shadow{stroke-width:6}.profile-card .return-line{stroke-width:3.2}
