.catalog-steps{list-style:none;padding:0;margin:0 0 28px;display:flex;gap:24px;flex-wrap:wrap;color:var(--ink-soft);font-size:.95rem;font-weight:700}.catalog-steps li{display:flex;align-items:center;gap:9px}.catalog-steps span{display:grid;place-items:center;border-radius:50%;width:29px;height:29px;background:var(--green-dark);color:white;font-size:.82rem}.model-brand[hidden],.product-detail[hidden]{display:none!important}.model-brand-title{font-size:1.4rem;margin:25px 0 20px}.model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:34px}.model-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink);text-decoration:none;overflow:hidden;transition:border-color .2s,box-shadow .2s}.model-card:hover{border-color:var(--green);box-shadow:0 8px 26px #143d2912}.model-card:focus-visible,.variant-choice:focus-visible{outline:3px solid var(--green);outline-offset:3px}.model-photo{position:relative;height:270px;flex:0 0 270px;overflow:hidden;background:#fff;border-bottom:1px solid var(--line)}.model-photo img{position:absolute;inset:20px;width:calc(100% - 40px);height:calc(100% - 40px);max-width:calc(100% - 40px);max-height:calc(100% - 40px);object-fit:contain}.model-body{padding:23px;display:flex;flex-direction:column;flex:1}.model-body h3{font-size:1.25rem;letter-spacing:-.035em;margin:4px 0 10px}.model-body p{font-size:.88rem;color:var(--ink-soft)}.model-body .model-from{font-weight:750;color:var(--green-dark);margin-top:auto}.model-open{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:15px;font-size:.9rem;font-weight:800}.product-detail{padding:32px;background:white;border:1px solid var(--line);border-radius:24px;box-shadow:0 16px 45px #1739290a;margin:30px 0}.detail-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.detail-guarantee{font-size:.86rem;color:var(--green-dark);font-weight:750;background:var(--green-pale);padding:8px 14px;border-radius:8px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:40px}.detail-visual,.detail-summary{min-width:0}.detail-visual{background:#fafbf9;border:1px solid var(--line);border-radius:18px;align-self:start;padding:18px}.detail-image{position:relative;height:510px;overflow:hidden;background:#fff;border-radius:10px}.detail-image img{position:absolute;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px);object-fit:contain;max-width:calc(100% - 32px);max-height:calc(100% - 32px)}.detail-visual .photo-caption{font-size:.78rem;line-height:1.6;margin:14px 0 0}.detail-summary h3{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.1;letter-spacing:-.05em;margin:14px 0}.detail-summary>p{color:var(--ink-soft)}.detail-selector{display:grid;gap:8px;margin:24px 0}.detail-selector label{font-weight:800}.detail-selector select{font:inherit;min-height:50px;width:100%;background:white;color:var(--ink);border:1px solid var(--green);border-radius:10px;padding:10px 14px}.detail-price{background:var(--mint);padding:18px;border-radius:12px;display:grid;gap:6px;margin-bottom:20px}.detail-price>strong{font-size:1.75rem;line-height:1.2;color:var(--green-dark);letter-spacing:-.03em}.detail-price>span{font-size:.87rem;font-weight:650}.detail-price>p{font-size:.8rem;margin:3px 0 0;color:var(--ink-soft)}.detail-summary .format-specs{font-size:.87rem}.detail-summary .format-specs>div{grid-template-columns:minmax(115px,.8fr) minmax(0,1.2fr)}.detail-summary dd{overflow-wrap:anywhere}.detail-actions{display:grid;gap:10px;margin-top:25px}.detail-actions .button{width:100%}.variant-section{border-top:1px solid var(--line);padding-top:30px;margin-top:35px}.variant-section h4,.detail-information h4{font-size:1.12rem;letter-spacing:-.02em;margin:0 0 12px}.variant-section p{color:var(--ink-soft);font-size:.92rem}.variant-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.variant-choice{min-width:0;display:grid;gap:8px;padding:10px 8px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:inherit;cursor:pointer}.variant-choice img{width:100%;height:118px;object-fit:contain;max-width:100%}.variant-choice span{font-size:.85rem;font-weight:750}.variant-choice:hover{border-color:var(--green)}.variant-choice.active{border:2px solid var(--green);padding:9px 7px 11px;background:var(--mint)}.detail-information{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px;border-top:1px solid var(--line);padding-top:30px;margin-top:32px}.detail-information section{min-width:0}.detail-information p{font-size:.9rem;color:var(--ink-soft);line-height:1.7}.detail-information a{font-size:.85rem;overflow-wrap:anywhere}.catalog-explainer{margin-top:28px}#detail-title:focus{outline:none}
@media(max-width:950px){.model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{gap:22px}.product-detail{padding:22px}.detail-image{height:410px}.variant-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:650px){.catalog-steps{gap:10px;font-size:.8rem}.catalog-steps li{gap:7px}.catalog-steps span{width:25px;height:25px}.model-grid{grid-template-columns:1fr;gap:18px}.model-photo{height:260px;flex-basis:260px}.model-body{padding:20px}.product-detail{padding:18px 14px;border-radius:16px}.detail-layout,.detail-information{grid-template-columns:1fr;gap:24px}.detail-top{align-items:flex-start;flex-direction:column}.detail-image{height:360px}.detail-visual{padding:10px}.detail-summary h3{font-size:1.85rem}.detail-price>strong{font-size:1.55rem}.variant-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.variant-choice img{height:95px}.variant-choice span{font-size:.77rem}.detail-summary .format-specs>div{grid-template-columns:minmax(105px,.8fr) minmax(0,1.2fr)}.catalog-filters .filter-button{font-size:.78rem;padding:10px}.detail-information{gap:22px}}
.type-intro>h2{margin-top:13px}.intro-cabinets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.intro-cabinets>div{min-width:0;text-align:center;display:grid;gap:10px}.intro-cabinets img{width:100%;height:145px;object-fit:contain}.intro-cabinets span{font-size:.8rem;color:var(--ink-soft);font-weight:700}.type-intro>.button{width:100%}.intro-price{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;display:grid;gap:4px}.intro-price>strong{color:var(--green-dark);font-size:2rem;letter-spacing:-.04em}.intro-price small{font-size:.9rem;letter-spacing:0}.intro-price>span{font-size:.86rem;color:var(--ink-soft)}@media(max-width:650px){.intro-cabinets img{height:118px}}
.detail-information p{font-size:1rem}.detail-summary .format-specs{font-size:.875rem}.filter-button,.detail-top .button{min-height:44px}@media(max-width:650px){.catalog-filters .filter-button,.variant-choice span,.catalog-steps{font-size:.875rem}}
.intro-cabinets{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px 10px}.intro-cabinets>a{grid-column:span 2;min-width:0;display:grid;gap:8px;align-content:start;text-align:center;text-decoration:none;padding:10px 5px;border:1px solid var(--line);border-radius:12px;background:white}.intro-cabinets>a:nth-child(n+4){grid-column:span 3}.intro-cabinets>a:hover{border-color:var(--green);background:var(--mint)}.intro-cabinets>a:focus-visible{outline:3px solid var(--green);outline-offset:3px}.intro-cabinets img{height:108px}.intro-cabinets span{font-size:.875rem;line-height:1.35}.intro-cabinets .intro-medusa img{height:125px}.intro-cabinets .intro-medusa span strong{display:block;color:var(--ink)}@media(max-width:400px){.intro-cabinets img{height:88px}.intro-cabinets .intro-medusa img{height:112px}.intro-cabinets>a{padding:8px 3px}}
.door-shot{display:block;position:relative;overflow:hidden;background:#fff;width:100%;flex-shrink:0}
.door-shot.door-enkel{aspect-ratio:300/520;max-width:175px}
.door-shot.door-dubbel{aspect-ratio:560/535;max-width:310px}
.door-shot.door-enkel>img{position:absolute;inset:auto;left:-116.6667%;top:-46.1538%;width:333.3333%;height:auto;max-width:none;max-height:none;object-fit:initial}
.door-shot.door-dubbel>img{position:absolute;inset:auto;left:-39.2857%;top:-43.9252%;width:178.5714%;height:auto;max-width:none;max-height:none;object-fit:initial}
.intro-door{height:125px;display:grid;place-items:center}.intro-door .door-enkel{width:72px}.intro-door .door-dubbel{width:130px}
.medusa-pair{position:absolute;inset:16px;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center}
.medusa-shell,.medusa-configuration{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.medusa-shell[hidden],#detail-layout-label[hidden]{display:none!important}
.medusa-shell>span,.medusa-configuration>span,.detail-configuration>span{font-size:.875rem;line-height:1.4;text-align:center;color:var(--ink-soft)}
.model-photo .configuration-shot{position:static;inset:auto;width:100%;height:192px;max-width:100%;max-height:none;object-fit:contain}
.model-photo .door-enkel{max-width:108px}.model-photo .door-dubbel{max-width:190px}
.detail-configuration{height:100%;min-width:0;position:relative}
.detail-image.has-doors{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center;padding:18px;height:470px}
.detail-image.has-doors .detail-configuration{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px}
.detail-image.has-doors #detail-image{position:static;inset:auto;width:100%;height:350px;object-fit:contain;max-width:100%;max-height:none}
.detail-visual .photo-caption{font-size:.875rem}
.variant-medusa-pair{display:grid;grid-template-columns:1fr 1fr;gap:5px;align-items:center;min-width:0;height:118px}
.variant-medusa-pair>.door-shot{justify-self:center}.variant-medusa-pair>.door-enkel{max-width:68px}.variant-medusa-pair>.door-dubbel{max-width:123px}
.variant-medusa-pair>img{height:118px;min-width:0}
@media(max-width:950px){.detail-image.has-doors{height:370px;padding:12px;gap:10px}.detail-image.has-doors #detail-image{height:260px}.model-photo .configuration-shot{height:185px}}
@media(max-width:650px){.detail-image.has-doors{height:360px}.detail-image.has-doors #detail-image{height:260px}.variant-medusa-pair,.variant-medusa-pair>img{height:95px}.variant-medusa-pair{gap:3px}}

/* Keep the group selector and matching photograph together at every size. */
.intro-door { min-width: 0; }
.intro-door .door-shot { max-width: 100%; }
.detail-layout { grid-template-areas: "visual choice" "visual purchase" "visual specifications"; gap: 18px 32px; align-items: start; }
.detail-summary { grid-area: choice; }
.detail-purchase { grid-area: purchase; min-width: 0; }
.detail-purchase > p { margin-top: 0; color: var(--ink-soft); }
.detail-visual > .detail-selector { margin: 0 0 14px; }
.detail-visual { grid-area: visual; }
.detail-specifications { grid-area: specifications; min-width: 0; }
.detail-specifications h4 { margin: 0 0 14px; font-size: 1.125rem; }
.detail-specifications .format-specs { font-size: .9375rem; margin-bottom: 0; }
.detail-specifications .format-specs > div { grid-template-columns: minmax(115px, .8fr) minmax(0, 1.2fr); gap: 10px; padding-block: 9px; }
.detail-specifications dd { overflow-wrap: anywhere; }
.detail-actions { margin-top: 18px; }
.detail-selector select { font-size: 1rem; }
.detail-price > span, .detail-price > p { font-size: .9375rem; line-height: 1.55; }
.variant-section { padding: 22px 0 0; border-bottom: 0; }
.variant-section summary { align-items: center; min-height: 48px; gap: 16px; }
.variant-section summary strong { font-size: 1.125rem; }
.variant-section summary small { display: block; margin-top: 6px; font-size: .9375rem; font-weight: 500; color: var(--ink-soft); }
.variant-section > p { margin: 20px 0; }
.variant-choice { align-content: start; }
.model-body p { font-size: 1rem; }
@media (max-width: 850px) {
 .variant-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .detail-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "choice" "visual" "purchase" "specifications"; gap: 18px; }
 .detail-image { height: clamp(210px, 32svh, 300px); }
 .detail-visual { width: 100%; }
 .detail-image.has-doors { height: clamp(210px, 32svh, 300px); grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); padding: 12px; gap: 12px; }
 .detail-image.has-doors #detail-image { height: clamp(150px, 24svh, 230px); }
 .detail-summary h3 { margin: 8px 0 0; }
 .detail-visual .photo-caption { line-height: 1.5; }
 .detail-top { align-items: flex-start; flex-wrap: wrap; }
 .detail-summary h3 { font-size: clamp(1.75rem, 4vw, 2.4rem); }
}
@media (max-width: 650px) {
 .catalog-steps { display: grid; gap: 8px; }
 .catalog-filters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .catalog-filters .filter-button { min-width: 0; padding: 10px 6px; font-size: .875rem; }
 .detail-selector { margin: 18px 0; }
 .detail-top { flex-direction: row; gap: 8px; margin-bottom: 14px; align-items: center; }
 .detail-image { height: clamp(210px, 32svh, 270px); }
 .detail-image.has-doors { height: clamp(210px, 32svh, 270px); gap: 10px; padding: 10px; }
 .detail-image.has-doors .door-enkel { max-width: 80px; }
 .detail-image.has-doors .door-dubbel { max-width: 125px; }
 .detail-image.has-doors #detail-image { height: clamp(150px, 24svh, 210px); }
 .detail-image.has-doors .detail-configuration { border-left: 1px solid var(--line); padding-left: 10px; }
 .variant-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
 .variant-choice { padding: 12px 8px; }
 .variant-choice.active { padding: 11px 7px; }
 .variant-choice > img { height: 150px; }
 .variant-medusa-pair { height: auto; grid-template-columns: minmax(0, 1fr); gap: 12px; }
 .variant-medusa-pair > .door-enkel { max-width: 58px; }
 .variant-medusa-pair > .door-dubbel { max-width: 105px; }
 .variant-medusa-pair > img { height: 110px; }
 .variant-choice span { font-size: .9375rem; }
 .detail-guarantee { font-size: .875rem; }
}
@media (max-width: 360px) {
 .detail-specifications .format-specs > div { grid-template-columns: 1fr; gap: 3px; }
 .product-detail { padding: 18px 12px; }
}

/* Cabinet photographs show the main switch inside the enclosure. */
.photo-source { display: inline-block; margin: 0 16px 14px; font-size: .875rem; }
.photo-source[hidden], .variant-photo-note[hidden] { display: none; }
.variant-photo-note { display: block; font-size: .75rem; color: var(--ink-soft); line-height: 1.4; font-weight: 500; }
.is-three-phase .detail-image.has-doors #detail-image { max-width: 100%; object-fit: contain; }

/* Exact 3-phase group-count images, release 1.2.3. */
#detail-image[hidden],#detail-image-pending[hidden],.variant-cabinet-image[hidden]{display:none!important}
.variant-photo-note{font-size:.68rem;line-height:1.35;color:var(--ink-soft);font-weight:500}
.image-pending{margin:0;padding:30px;line-height:1.7;color:var(--ink);font-weight:650}
.has-unconfirmed-layout #detail-configuration{display:none}
.has-unconfirmed-layout #detail-visual-frame{display:flex;align-items:center;height:auto;min-height:230px}
.variant-pending{align-content:center;min-height:150px;background:var(--green-pale)}

/* Medusa: enclosure with doors and full group layout, at both phase settings. */
.variant-choice[hidden],#detail-fit-note[hidden]{display:none!important}
.detail-fit-note{font-size:.875rem;line-height:1.55;padding:12px;margin:0 0 14px;border-radius:8px;background:var(--green-pale);color:var(--ink)}
.selection-link-note{font-size:.875rem;line-height:1.55;color:var(--ink-soft);margin:12px 0 0}.selection-link-note a{font-weight:700;color:var(--green-dark)}
.detail-image.has-doors{height:auto;min-height:400px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.detail-image.has-doors .medusa-shell,.detail-image.has-doors .detail-configuration{min-width:0;height:auto}
.detail-image.has-doors #detail-image{height:350px;max-height:none;object-fit:contain}
@media(max-width:850px){.detail-image.has-doors{min-height:290px}.detail-image.has-doors #detail-image{height:240px}}
@media(max-width:650px){.detail-image.has-doors{min-height:260px;gap:8px;padding:10px}.detail-image.has-doors #detail-image{height:210px}.detail-image.has-doors .detail-configuration{padding-left:8px}.detail-image.has-doors .door-shot{max-width:100%}.detail-image.has-doors .medusa-shell>span,.detail-image.has-doors .detail-configuration>span{font-size:.75rem;line-height:1.35}}
