/* Même composition que le parcours PVC : options, aperçu, récapitulatif. */
#op-produits:has(#alu-parcours){max-width:1600px;margin:auto;padding:18px 24px 38px}
#alu-parcours{font-family:'DM Sans',Arial,sans-serif;color:#222}
#alu-parcours *{box-sizing:border-box}
#alu-parcours button,#alu-parcours input{font:inherit}
#alu-parcours button{cursor:pointer}
#alu-parcours button:disabled{cursor:default;opacity:.4}
#alu-parcours button:focus-visible,#alu-parcours input:focus-visible,#alu-parcours .oa-summary:focus-visible{outline:2px solid #d81f26;outline-offset:3px}
#alu-parcours .obp-crumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:#70716c;margin-bottom:18px}
#alu-parcours h1{font:700 26px/1.25 Manrope,Arial,sans-serif;letter-spacing:-.8px;margin:0 0 8px}
#alu-parcours .oa-intro{font-size:13px;color:#666;margin:0 0 22px}
#alu-parcours .oa-steps{margin-bottom:18px}
#alu-parcours .oa-layout{display:grid;grid-template-columns:400px minmax(0,1fr) 280px;gap:16px;align-items:start}
#alu-parcours .oa-panel{min-width:0;border:1px solid #ddd;border-radius:8px;overflow:hidden;background:#fff;padding:0;margin:0}
#alu-parcours .oa-options,#alu-parcours .oa-summary{display:flex;flex-direction:column;height:var(--oa-scene-height,460px);position:sticky;top:calc(var(--op-sticky-offset,144px) + 12px)}
#alu-parcours .oa-panel>.ob-config-band{margin:0;min-height:41px;padding:12px 14px;font-size:12px;line-height:17px;font-weight:700;letter-spacing:.1px;text-transform:uppercase;flex:none}
#alu-parcours .ob-config-band span{color:#ccc}
#alu-parcours .oa-options-body,#alu-parcours .oa-summary-body{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#bbb transparent;min-height:0;flex:1}
#alu-parcours .oa-options-body{padding:14px}
#alu-parcours .oa-options-body>section{border:0;border-top:1px solid #eee;margin:19px 0 0;padding:16px 0 0}
#alu-parcours .oa-options-body>section:first-child{border:0;margin:0;padding:0}
#alu-parcours h2{font-size:15px;font-weight:700;line-height:1.4;margin:0 0 10px}
#alu-parcours .oa-options-body p{font-size:12px;line-height:1.5;color:#666;margin:0 0 12px}
#alu-parcours .oa-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#alu-parcours .oa-card{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;min-width:0;min-height:48px;background:#fff;color:#222;border:1px solid #ddd;border-radius:6px;padding:9px;text-align:center;font-size:12px;line-height:1.4}
#alu-parcours .oa-card:hover{border-color:#999}
#alu-parcours .oa-card.selected{border:2px solid #d81f26;padding:8px;background:#fffafa}
#alu-parcours .oa-card.selected:after{content:'✓';position:absolute;top:4px;right:4px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#d81f26;color:#fff;font-size:11px}
#alu-parcours .oa-card>img{display:block;width:100%;height:100px;object-fit:contain;background:#fafafa;border-radius:3px}
#alu-parcours .oa-card[data-key=pose]>img{height:90px}
#alu-parcours .oa-card[data-key=dormant]>img{height:125px}
#alu-parcours .oa-colors{grid-template-columns:repeat(3,minmax(0,1fr))}
#alu-parcours .oa-color-group{font-size:12px;font-weight:600;margin:18px 0 8px;color:#555}
#alu-parcours .oa-color-group:first-of-type{margin-top:0}
#alu-parcours .oa-swatch{display:block;height:38px;width:100%;border:1px solid #0001;border-radius:3px;overflow:hidden}
#alu-parcours .oa-swatch img{width:100%;height:100%;object-fit:cover}
#alu-parcours .oa-color-card small{display:block;color:#777;font-size:10px;margin-top:2px}
#alu-parcours .oa-color-card{justify-content:flex-start;font-size:11px}
#alu-parcours .oa-options-body .oa-tip{margin:12px 0 0;padding:9px;background:#f5f5f5;border-radius:4px}
#alu-parcours .oa-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#alu-parcours .oa-field{display:flex;flex-direction:column;gap:6px;font-size:12px;margin-top:10px}
#alu-parcours .oa-field input{width:100%;height:43px;padding:8px 10px;border:1px solid #bbb;border-radius:4px;color:#222;background:#fff;font-size:16px}
#alu-parcours .oa-field small{font-size:11px;color:#666}
#alu-parcours .oa-field .oa-field-error{color:#a5161c}
#alu-parcours .oa-field-error:empty{display:none}
#alu-parcours input[aria-invalid=true]{border-color:#d81f26;background:#fff5f5}
#alu-parcours .oa-range{display:block;margin-top:18px;font-size:12px}
#alu-parcours .oa-range>span{display:flex;justify-content:space-between;align-items:center;gap:10px}
#alu-parcours .oa-range output{font-size:16px;font-weight:700;color:#d81f26;min-width:30px;text-align:center}
#alu-parcours .oa-range input{display:block;width:100%;height:30px;accent-color:#d81f26;cursor:pointer;margin:6px 0}
#alu-parcours .oa-range small{font-size:11px;color:#666}
#alu-parcours .oa-views{display:flex;justify-content:center;background:#fafafa;padding:9px 12px}
#alu-parcours .oa-views button{border:0;background:#e9e9e9;font-size:11px;padding:7px 14px;color:#555}
#alu-parcours .oa-views button:first-child{border-radius:5px 0 0 5px}
#alu-parcours .oa-views button:last-child{border-radius:0 5px 5px 0}
#alu-parcours .oa-views button[aria-pressed=true]{background:#fff;color:#222;box-shadow:0 1px 5px #0002;font-weight:700}
#alu-parcours .oa-svg{height:clamp(260px,calc(100dvh - 580px),426px);padding:8px 16px;background:#fafafa;display:flex;align-items:center;justify-content:center}
#alu-parcours .oa-svg>svg{display:block;width:100%;height:100%}
#alu-parcours .oa-svg>p{font-size:13px;text-align:center;color:#666}
#alu-parcours .oa-view-caption{margin:0;background:#fafafa;color:#666;text-align:center;font-size:11px;padding:0 10px 10px}
#alu-parcours .oa-scene-nav{display:flex;justify-content:space-between;align-items:center;gap:7px;flex-wrap:wrap;padding:12px 13px 9px;border-top:1px solid #eee}
#alu-parcours .oa-scene-nav button{min-height:38px;font-size:12px;font-weight:700;color:#fff;border:0;padding:9px 14px;background:linear-gradient(180deg,#9aa0a6,#6e7379)}
#alu-parcours .oa-scene-nav .oa-prev{clip-path:polygon(12px 0,100% 0,100% 100%,12px 100%,0 50%);padding-left:23px;border-radius:0}
#alu-parcours .oa-scene-nav .oa-next{clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%);padding-right:23px;border-radius:0;background:linear-gradient(180deg,#e2413f,#b3161c)}
#alu-parcours .oa-nav-tools{display:flex;align-items:center;gap:7px}
#alu-parcours .oa-scene-nav .oa-enlarge{background:#fff;color:#555;min-width:34px;padding:5px}
#alu-parcours .oa-scene-nav .oa-restart{font-size:11px;padding:9px 10px;border-radius:5px}
#alu-parcours .oa-note{font-size:11px;text-align:center;color:#777;margin:0;padding:2px 10px 10px}
#alu-parcours .oa-options-nav{display:none}
#alu-parcours .oa-summary-body{padding:3px 13px 0}
#alu-parcours .oa-recap-link{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;border:0;border-bottom:1px solid #eee;padding:7px 0;background:#fff;text-align:left;color:#222}
#alu-parcours .oa-recap-link>span:first-child{min-width:0}
#alu-parcours .oa-recap-link small{display:block;font-size:11px;line-height:1.3;color:#777;font-weight:400}
#alu-parcours .oa-recap-link strong{display:block;font-size:12px;line-height:1.35;font-weight:600;margin-top:2px}
#alu-parcours .oa-modifier{font-size:11px;color:#777;flex:none}
#alu-parcours .oa-recap-link:hover .oa-modifier{color:#d81f26}
#alu-parcours .oa-quantity{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 13px;border-top:1px solid #eee;font-size:12px}
#alu-parcours .oa-quantity input{width:60px;padding:5px 6px;border:1px solid #bbb;border-radius:4px;font-size:16px}
#alu-parcours .oa-order-bottom{padding:13px;border-top:1px solid #ddd;flex:none}
#alu-parcours .oa-price{font:800 29px/1.2 Arial,sans-serif;color:#d81f26;letter-spacing:-.7px;display:block}
#alu-parcours .oa-order-bottom>small{display:block;font-size:11px;color:#777;margin:5px 0 10px;line-height:1.4}
#alu-parcours .oa-add{width:100%;border:0;border-radius:3px;min-height:42px;background:#d81f26;color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;padding:10px}
#alu-parcours .oa-add:hover:not(:disabled){background:#b5181f}
#alu-parcours .oa-status{padding:9px;margin:0 0 8px;background:#fff5f5;color:#a5161c;border:1px solid #efb6b6;font-size:12px;line-height:1.4}
#alu-parcours .oa-mobile{display:none}
#alu-parcours .oa-dialog{border:1px solid #ddd;border-radius:8px;padding:16px;width:min(95vw,1100px);max-height:95dvh;color:#222;background:#fff}
#alu-parcours .oa-dialog::backdrop{background:#0009}
#alu-parcours .oa-dialog>button{display:block;margin-left:auto;padding:8px 16px;background:#111;color:#fff;border:0;border-radius:4px}
#alu-parcours .oa-zoom-content{height:75dvh;padding:10px}
#alu-parcours .oa-zoom-content svg{width:100%;height:100%}
@media(min-width:901px) and (max-width:1150px){
 #op-produits:has(#alu-parcours){padding-right:14px;padding-left:14px}
 #alu-parcours .oa-layout{grid-template-columns:350px minmax(0,1fr) 245px;gap:13px}
 #alu-parcours .oa-scene-nav{justify-content:center}
 #alu-parcours .oa-nav-tools{order:2;justify-content:center;width:100%}
 #alu-parcours .oa-prev,#alu-parcours .oa-next{flex:1}
 #alu-parcours .ob-config-band span{display:none}
}
@media(max-width:900px){
 #op-produits:has(#alu-parcours){padding:14px 16px 0}
 #alu-parcours .oa-layout{display:flex;flex-direction:column;gap:14px;padding-bottom:18px}
 #alu-parcours .oa-panel{width:100%;height:auto;position:static}
 #alu-parcours .oa-preview{order:0}
 #alu-parcours .oa-options{order:1}
 #alu-parcours .oa-summary{order:2}
 #alu-parcours .oa-options-body,#alu-parcours .oa-summary-body{overflow:visible}
 #alu-parcours .oa-svg{height:310px}
 #alu-parcours .oa-preview .oa-prev,#alu-parcours .oa-preview .oa-next{display:none}
 #alu-parcours .oa-options-nav{display:flex}
 #alu-parcours .oa-options-nav .oa-nav-tools{display:none}
 #alu-parcours .oa-mobile{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 12px;position:sticky;bottom:0;z-index:40;background:#fff;border-top:1px solid #ddd;margin:0 -16px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -3px 12px #0001}
 #alu-parcours .oa-mobile .oa-status{grid-column:1/-1;margin:0}
 #alu-parcours .oa-mobile .oa-price{font-size:19px;white-space:nowrap}
 #alu-parcours .oa-mobile small{font-size:10px;color:#777}
 #alu-parcours .oa-mobile .oa-add{width:auto;max-width:180px;font-size:11px;min-width:130px}
}
@media(max-width:650px){
 #alu-parcours h1{font-size:22px}
 #alu-parcours .oa-panel>.ob-config-band{font-size:11px}
 #alu-parcours .ob-config-band span{display:none}
 #alu-parcours .oa-svg{height:269px}
 #alu-parcours .oa-scene-nav{justify-content:center;gap:6px;padding:10px 11px}
 #alu-parcours .oa-prev,#alu-parcours .oa-next{flex:1}
 #alu-parcours .oa-nav-tools{order:2;justify-content:center;width:100%}
 #alu-parcours .oa-colors{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Cartes explicatives : même hiérarchie et sélection que le parcours PVC. */
#alu-parcours .oa-options-body>section{margin-top:24px;padding-top:19px}
#alu-parcours .oa-options-body>section:first-child{margin:0;padding:0}
#alu-parcours .oa-options-body h2{font-size:16px;letter-spacing:-.2px;margin-bottom:5px}
#alu-parcours .oa-cards{gap:9px}
#alu-parcours .oa-choice-wrap{min-width:0;border:1px solid #daddd4;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;background:#fff}
#alu-parcours .oa-choice-wrap.selected{border:2px solid #d81f26}
#alu-parcours .oa-choice-wrap .oa-card{flex:1;width:100%;min-height:48px;border:0;border-radius:0;padding:9px;gap:7px;justify-content:flex-start;text-align:left;background:#fff}
#alu-parcours .oa-choice-wrap.selected .oa-card{padding:8px}
#alu-parcours .oa-choice-wrap .oa-card:after{content:none}
#alu-parcours .oa-picture{height:100px;width:100%;display:flex;justify-content:center;align-items:center;background:#f8f9f6;border-radius:3px;overflow:hidden}
#alu-parcours .oa-picture img,#alu-parcours .oa-picture svg{display:block;width:100%;height:100%;object-fit:contain}
#alu-parcours .oa-card[data-key=dormant] .oa-picture{height:125px}
#alu-parcours .oa-card[data-key=couleur] .oa-picture{height:43px}
#alu-parcours .oa-choice-title{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:12px;font-weight:600;line-height:1.35;width:100%}
#alu-parcours .oa-radio{width:12px;height:12px;border:1px solid #b7bbb0;border-radius:100%;flex:none}
#alu-parcours .selected>.oa-card .oa-radio{border:4px solid #d81f26}
#alu-parcours .oa-choice-desc{font-size:11px;color:#61645b;line-height:1.4}
#alu-parcours .oa-tag{font-size:11px;color:#ba1b22;line-height:1.3}
#alu-parcours .oa-option-zoom{width:100%;background:#fff;color:#666;border:0;border-top:1px solid #eee;padding:7px;font-size:11px;min-height:32px}
#alu-parcours .oa-included{padding:12px;background:#f5f5f5;border-radius:5px;font-size:12px;line-height:1.5}
#alu-parcours .oa-included-picture{height:110px;background:#f8f9f6;border-radius:3px;padding:7px}
#alu-parcours .oa-included-picture svg{width:100%;height:100%}
#alu-parcours .oa-inline-measure{padding-top:12px}
#alu-parcours .oa-inline-measure p{margin-top:8px}
#alu-parcours .oa-glass-sample{width:100%;height:100%;background:#dce8ed}
#alu-parcours .oa-glass-solar{background:linear-gradient(130deg,#dde7ec,#95b2c2,#e7edf1)}
#alu-parcours .oa-zoom-content:has(img){height:auto;max-height:78dvh;overflow:auto}
#alu-parcours .oa-zoom-content>img{display:block;width:100%;max-height:58dvh;object-fit:contain}
#alu-parcours .oa-zoom-content>p{font-size:13px;line-height:1.5}
