/* Only the embedded product-demo constructor. No global or archive selectors. */
main:has(:is(#pd-config,#panel-options).cc){overflow:clip}
:is(#pd-config,#panel-options).cc{grid-column:1/-1;margin:0;padding:24px;color:#10233f;scroll-margin-top:165px;background:#fff;font:14px/1.5 Manrope,Arial,sans-serif}
:is(#pd-config,#panel-options).cc *{box-sizing:border-box}:is(#pd-config,#panel-options).cc [hidden]{display:none!important}
:is(#pd-config,#panel-options).cc h2{font-size:25px;margin:0;text-transform:none;letter-spacing:-.5px}:is(#pd-config,#panel-options).cc .cc-subtitle{color:#8292aa;margin:6px 0 22px}
:is(#pd-config,#panel-options) .cc-layout{display:grid;grid-template-columns:minmax(0,48fr) minmax(0,52fr);gap:26px;align-items:start}
:is(#pd-config,#panel-options) .cc-preview{position:sticky;top:165px;min-width:0}:is(#pd-config,#panel-options) .cc-settings{min-width:0}
:is(#pd-config,#panel-options).cc button{font:inherit;min-height:44px;padding:9px 12px;border:1px solid #dce6f3;border-radius:10px;background:white;color:#10233f;cursor:pointer;transition:background .18s,border-color .18s,transform .18s;line-height:1.3}
:is(#pd-config,#panel-options).cc button:hover{background:#f4f8ff;border-color:#9bbdf4}:is(#pd-config,#panel-options).cc button:disabled{opacity:.5;cursor:not-allowed;transform:none}
:is(#pd-config,#panel-options).cc :focus-visible{outline:3px solid #2167f3;outline-offset:3px}:is(#pd-config,#panel-options).cc .cc-primary{background:#ffca16;border-color:#ffca16;font-weight:700}:is(#pd-config,#panel-options).cc .cc-primary:hover{background:#ffdb58}
:is(#pd-config,#panel-options) .cc-view-modes{display:flex;gap:6px;margin-bottom:10px}:is(#pd-config,#panel-options) .cc-view-modes button{flex:1;font-size:11px;padding:8px 5px}:is(#pd-config,#panel-options) [aria-pressed=true]{border-color:#1769ff!important;background:#f6f9ff!important;color:#1769ff}
:is(#pd-config,#panel-options) .cc-viewer{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;aspect-ratio:4/3}
:is(#pd-config,#panel-options) .cc-viewer canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab}:is(#pd-config,#panel-options) .cc-viewer canvas:active{cursor:grabbing}
:is(#pd-config,#panel-options) .cc-view-tools{position:absolute;top:10px;right:10px;display:flex;gap:5px}:is(#pd-config,#panel-options) .cc-view-tools button{font-size:11px;background:#ffffffed;padding:6px 10px;box-shadow:0 2px 8px #10233f09}
:is(#pd-config,#panel-options) .cc-loading{position:absolute;inset:35% 12% auto;text-align:center;padding:16px;background:#ffffffeb;border:1px solid #e2e8f0;border-radius:10px;pointer-events:none}
:is(#pd-config,#panel-options) .cc-hotspot,:is(#pd-config,#panel-options) .cc-layer-label{position:absolute;bottom:12px;left:12px;right:12px;padding:9px 12px;border:1px solid #a7c9ff;border-radius:8px;background:#eff6ffff;font-size:12px;color:#1769ff;pointer-events:none}
:is(#pd-config,#panel-options) .cc-caption{font-size:12px;color:#61738e;margin:12px 0 3px}:is(#pd-config,#panel-options) .cc-view-help,:is(#pd-config,#panel-options) .cc-model-note{font-size:11px;color:#8292aa;margin:4px 0 12px}:is(#pd-config,#panel-options) .cc-text-button{font-size:12px;color:#1769ff}
:is(#pd-config,#panel-options) .cc-hotspots-list{display:grid;gap:6px;margin:8px 0;max-height:180px;overflow:auto}:is(#pd-config,#panel-options) .cc-hotspots-list button{text-align:left;font-size:11px}
:is(#pd-config,#panel-options) .cc-placement{padding:14px;background:#f6f9ff;border:1px solid #bed5ff;border-radius:12px;margin-top:12px}:is(#pd-config,#panel-options) .cc-placement strong{font-size:13px}:is(#pd-config,#panel-options) .cc-placement p{font-size:12px;color:#61738e;margin:6px 0}:is(#pd-config,#panel-options) .cc-placement>div{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}:is(#pd-config,#panel-options) .cc-placement button{font-size:11px}
:is(#pd-config,#panel-options).cc fieldset{padding:0;border:0;margin:0 0 24px;min-width:0}:is(#pd-config,#panel-options).cc legend,:is(#pd-config,#panel-options).cc h3{font-size:15px;font-weight:700;margin:0 0 12px;padding:0;text-transform:none;line-height:1.5}
:is(#pd-config,#panel-options).cc i{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;font-style:normal;color:#2167f3;background:#eef5ff;border-radius:8px;margin-right:6px;font-size:11px}
:is(#pd-config,#panel-options) .cc-materials,:is(#pd-config,#panel-options) .cc-colors{display:flex;gap:7px}:is(#pd-config,#panel-options) .cc-materials label,:is(#pd-config,#panel-options) .cc-colors label{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;border:2px solid #e2e8f0;border-radius:10px;padding:6px;cursor:pointer;font-size:10px;text-align:center;transition:transform .2s,border-color .2s}
:is(#pd-config,#panel-options) .cc-materials input,:is(#pd-config,#panel-options) .cc-colors input{position:absolute;opacity:0;width:1px;height:1px}:is(#pd-config,#panel-options) .cc-texture,:is(#pd-config,#panel-options) .cc-swatch{display:block;border-radius:5px;height:38px;background-size:cover}:is(#pd-config,#panel-options) .cc-swatch{height:28px;border:1px solid #10233f0a}
:is(#pd-config,#panel-options) .cc-materials label:has(:checked),:is(#pd-config,#panel-options) .cc-colors label:has(:checked){border-color:#ffca16;background:#fffcf0;transform:scale(1.03)}:is(#pd-config,#panel-options) .cc-materials label:hover,:is(#pd-config,#panel-options) .cc-colors label:hover{transform:translateY(-2px)}:is(#pd-config,#panel-options) label:has(:focus-visible){outline:3px solid #2167f3;outline-offset:2px}
:is(#pd-config,#panel-options) .cc-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:16px}:is(#pd-config,#panel-options) .cc-categories button{display:flex;align-items:center;gap:8px;text-align:left;min-height:70px;padding:10px 8px;font-size:11px}:is(#pd-config,#panel-options) .cc-categories svg{width:24px;height:26px;fill:none;stroke:#2167f3;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;flex:none}:is(#pd-config,#panel-options) .cc-categories small{display:block;font-size:9px;color:#8292aa;margin-top:3px}
:is(#pd-config,#panel-options) .cc-option-list{max-height:430px;overflow:auto;overscroll-behavior:contain;padding:0 3px 3px;scrollbar-width:thin}:is(#pd-config,#panel-options).cc h4{font-size:13px;margin:0 0 10px;text-transform:none}
:is(#pd-config,#panel-options) .cc-option{padding:11px;border:1px solid #e2e8f0;border-radius:10px;margin:0 0 8px;background:#fff}:is(#pd-config,#panel-options) .cc-option.is-selected{border-color:#85b3ff;background:#f6f9ff}:is(#pd-config,#panel-options) .cc-option>label{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:12px;font-weight:500}:is(#pd-config,#panel-options) .cc-option input{appearance:auto;width:17px;height:17px;position:static;opacity:1;margin:3px 0;accent-color:#2167f3;flex:none}:is(#pd-config,#panel-options) .cc-option small{display:block;color:#1769ff;font-size:12px;margin-top:4px}:is(#pd-config,#panel-options) .cc-option p{font-size:11px;color:#61738e;margin:6px 0}:is(#pd-config,#panel-options) .cc-badge{display:inline-block;font-size:10px;color:#8292aa;background:#f2f5f8;border-radius:5px;padding:3px 6px;margin-top:6px}
:is(#pd-config,#panel-options) .cc-option-actions{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:8px;flex-wrap:wrap}:is(#pd-config,#panel-options) .cc-option-actions button,:is(#pd-config,#panel-options) .cc-position-link{font-size:10px;padding:7px}:is(#pd-config,#panel-options) .cc-quantity{display:flex;align-items:center;gap:10px}:is(#pd-config,#panel-options) .cc-quantity button{width:44px;font-size:17px}:is(#pd-config,#panel-options) .cc-position-link{margin-top:6px;display:block;width:100%;text-align:left;color:#2167f3}
:is(#pd-config,#panel-options) .cc-dependencies{padding:14px;background:#fff9df;border:1px solid #ffda67;border-radius:10px;font-size:12px;margin:12px 0}:is(#pd-config,#panel-options) .cc-dependencies button{font-size:11px;margin:5px 5px 0 0}:is(#pd-config,#panel-options) .cc-status{font-size:12px;color:#1769ff;min-height:0;margin:8px 0}:is(#pd-config,#panel-options) .cc-total{margin-top:24px;padding-top:20px;border-top:1px solid #e2e8f0}
:is(#pd-config,#panel-options) .cc-selection{color:#8292aa;font-size:12px;margin:0 0 10px}:is(#pd-config,#panel-options) .cc-total dl{margin:0 0 12px}:is(#pd-config,#panel-options) .cc-total dl>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dotted #e2e8f0;font-size:12px}:is(#pd-config,#panel-options) .cc-total dt{color:#61738e}:is(#pd-config,#panel-options) .cc-total dd{margin:0;white-space:nowrap}
:is(#pd-config,#panel-options) .cc-total-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0}:is(#pd-config,#panel-options) .cc-total-row small{display:block;color:#8292aa;font-size:12px}:is(#pd-config,#panel-options) .cc-total-price{display:block;font-size:30px;letter-spacing:-.6px;font-variant-numeric:tabular-nums}:is(#pd-config,#panel-options) .cc-actions{display:flex;gap:8px}:is(#pd-config,#panel-options) .cc-actions button{flex:1;font-size:12px}:is(#pd-config,#panel-options) .cc-note{font-size:11px;color:#8292aa;margin:12px 0 0}
:is(#pd-config,#panel-options) .cc-sticky{position:sticky;bottom:12px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;margin-top:20px;border:1px solid #d9e6f5;border-radius:12px;background:#fffffff5;box-shadow:0 4px 28px #10233f14;font-size:12px;backdrop-filter:blur(12px)}:is(#pd-config,#panel-options) .cc-sticky button{font-size:11px}:is(#pd-config,#panel-options) .cc-sticky-cost{color:#61738e}:is(#pd-config,#panel-options) .cc-sticky-total{white-space:nowrap}
:is(#pd-config,#panel-options).cc dialog{border:1px solid #e2e8f0;border-radius:14px;padding:24px;width:min(500px,94vw);max-height:90vh;overflow:auto;color:#10233f;background:#fff}:is(#pd-config,#panel-options).cc dialog::backdrop{background:#10233f80}:is(#pd-config,#panel-options).cc dialog>button[data-action=close]{float:right;font-size:22px;width:44px;padding:0}:is(#pd-config,#panel-options).cc dialog h2{font-size:23px;margin:0 0 22px}:is(#pd-config,#panel-options).cc .cc-drawer{margin-right:20px}:is(#pd-config,#panel-options) .cc-chosen-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e2e8f0;font-size:12px}:is(#pd-config,#panel-options) .cc-chosen-row small{display:block;color:#8292aa;font-size:11px;margin-top:5px}:is(#pd-config,#panel-options) .cc-chosen-row button{flex:none;width:44px}:is(#pd-config,#panel-options) .cc-drawer-content>strong{display:block;font-size:21px;margin-top:20px}:is(#pd-config,#panel-options) .cc-request form label{display:block;margin:14px 0;font-size:13px}:is(#pd-config,#panel-options) .cc-request input{display:block;width:100%;min-height:44px;border:1px solid #e2e8f0;border-radius:9px;padding:10px;font:inherit;margin-top:5px}:is(#pd-config,#panel-options) .cc-request form>button{width:100%}:is(#pd-config,#panel-options) .cc-form-status{font-size:12px;color:#1769ff}
@media(max-width:1100px){:is(#pd-config,#panel-options) .cc-categories{grid-template-columns:repeat(2,minmax(0,1fr))}:is(#pd-config,#panel-options) .cc-layout{gap:18px;grid-template-columns:minmax(0,45fr) minmax(0,55fr)}:is(#pd-config,#panel-options) .cc-colors{overflow:auto;padding:3px}:is(#pd-config,#panel-options) .cc-colors label{flex:0 0 56px}:is(#pd-config,#panel-options) .cc-sticky{flex-wrap:wrap}:is(#pd-config,#panel-options) .cc-materials{flex-wrap:wrap}:is(#pd-config,#panel-options) .cc-materials label{min-width:62px}}
@media(max-width:700px){:is(#pd-config,#panel-options).cc{padding:16px;margin-top:16px;scroll-margin-top:100px}:is(#pd-config,#panel-options) .cc-layout{grid-template-columns:1fr}:is(#pd-config,#panel-options) .cc-preview{position:static}:is(#pd-config,#panel-options) .cc-viewer{aspect-ratio:4/3}:is(#pd-config,#panel-options).cc h2{font-size:23px}:is(#pd-config,#panel-options) .cc-settings{margin-top:6px}:is(#pd-config,#panel-options) .cc-option-list{max-height:420px}:is(#pd-config,#panel-options) .cc-sticky{display:none}:is(#pd-config,#panel-options).cc-in-view .cc-sticky{display:flex;position:fixed;bottom:8px;left:8px;right:8px;padding:10px;gap:6px;z-index:100;max-width:680px;margin:auto}:is(#pd-config,#panel-options) .cc-sticky-count,:is(#pd-config,#panel-options) .cc-sticky-cost{font-size:10px}:is(#pd-config,#panel-options) .cc-sticky-total{margin-left:auto;font-size:12px}:is(#pd-config,#panel-options) .cc-sticky button{flex:1;font-size:10px}:is(#pd-config,#panel-options):has(.cc-sticky:not([hidden])){padding-bottom:110px}:is(#pd-config,#panel-options) .cc-drawer{margin:auto!important}:is(#pd-config,#panel-options) .cc-view-tools button{font-size:10px}}
@media(prefers-reduced-motion:reduce){:is(#pd-config,#panel-options).cc *{transition:none!important;scroll-behavior:auto!important}}

/* Secondary option information: compact rows, on-demand detail. */
:is(#pd-config,#panel-options) .cc-category-art{display:block;flex:none;width:44px;height:40px;border-radius:8px;background-image:url('../assets/constructor/category-reference.png');background-repeat:no-repeat;background-size:282px 94px;background-position:calc(-19px - var(--tile)*51.5px) calc(-6px - var(--row)*44px)}
:is(#pd-config,#panel-options) .cc-option-heading{display:flex;align-items:flex-start;gap:6px}
:is(#pd-config,#panel-options) .cc-option-heading label{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0;cursor:pointer;font-size:12px}
:is(#pd-config,#panel-options) .cc-option-heading label>span{flex:1;min-width:0}
:is(#pd-config,#panel-options).cc .cc-info{flex:none;width:44px;min-height:44px;padding:0;font-size:20px;color:#6584af;border-color:transparent;background:transparent;margin:-8px -5px 0 0}
:is(#pd-config,#panel-options).cc .cc-info:hover,:is(#pd-config,#panel-options).cc .cc-info[aria-expanded=true]{background:#f0f6ff;color:#1769ff}
:is(#pd-config,#panel-options) .cc-option .cc-short-description{margin:3px 30px 0 27px;font-size:11px;line-height:1.5}
:is(#pd-config,#panel-options) .cc-inline-detail{margin-top:12px;padding:15px;border:1px solid #dce8f8;border-radius:10px;background:#f8fbff}
:is(#pd-config,#panel-options) .cc-detail-body{font-size:12px;line-height:1.65;display:flow-root}
:is(#pd-config,#panel-options) .cc-detail-body h4{font-size:14px;line-height:1.5;margin:0 0 7px}
:is(#pd-config,#panel-options) .cc-detail-body h5{font-size:12px;color:#14233b;margin:14px 0 4px;text-transform:none;letter-spacing:0}
:is(#pd-config,#panel-options) .cc-detail-body p{font-size:12px;color:#61738e;margin:8px 0}
:is(#pd-config,#panel-options) .cc-detail-body ul{padding-left:18px;margin:4px 0;color:#61738e;list-style:disc}
:is(#pd-config,#panel-options) .cc-detail-body li{margin:3px 0}
:is(#pd-config,#panel-options) .cc-detail-preview{float:right;width:140px;margin:0 0 12px 12px}
:is(#pd-config,#panel-options) .cc-detail-preview svg{display:block;width:100%;height:88px;border-radius:10px;background:#edf5ff}
:is(#pd-config,#panel-options) .cc-detail-preview figcaption{font-size:10px;color:#718198;line-height:1.4;margin-top:5px}
:is(#pd-config,#panel-options) .cc-detail-body dl{clear:both;margin:12px 0}
:is(#pd-config,#panel-options) .cc-detail-body dl>div{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;border-bottom:1px dotted #d5dfed;padding:5px 0}
:is(#pd-config,#panel-options) .cc-detail-body dt{color:#718198}:is(#pd-config,#panel-options) .cc-detail-body dd{margin:0}
:is(#pd-config,#panel-options) .cc-detail-badges{display:flex;gap:5px;flex-wrap:wrap}
:is(#pd-config,#panel-options) .cc-detail-requires{clear:both;padding:10px;background:#fff9df;border-radius:8px}
:is(#pd-config,#panel-options) .cc-detail-price{font-weight:700;font-size:17px;clear:both;margin-top:14px}
:is(#pd-config,#panel-options) .cc-detail-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
:is(#pd-config,#panel-options) .cc-detail-actions button,:is(#pd-config,#panel-options) .cc-detail-requires button{font-size:11px}
:is(#pd-config,#panel-options) .cc-detail-body .cc-detail-note{font-size:10px}
:is(#pd-config,#panel-options) .cc-preview-notice{font-size:12px;background:#fff9df;padding:10px;border-radius:8px;color:#14233b}
:is(#pd-config,#panel-options) .cc-conflict-item{border-top:1px solid #eadca8;margin-top:8px;padding-top:6px}
@media(max-width:700px){
 :is(#pd-config,#panel-options).cc .cc-detail-sheet{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:85dvh;border-radius:20px 20px 0 0;padding:20px 18px max(22px,env(safe-area-inset-bottom));box-shadow:0 -10px 40px #14233b26}
 :is(#pd-config,#panel-options) .cc-detail-sheet .cc-detail-body{clear:both}
 :is(#pd-config,#panel-options) .cc-detail-sheet .cc-detail-actions{position:sticky;bottom:0;background:#fff;padding:10px 0;margin-bottom:0}
 :is(#pd-config,#panel-options) .cc-detail-sheet .cc-detail-actions button{flex:1}
 :is(#pd-config,#panel-options) .cc-category-art{width:40px;flex-basis:40px}
}

/* Product tab is the single home of optional equipment. */
.pd #panel-options.cc{grid-column:2/-1;padding:22px;margin:0;scroll-margin-top:165px}
.pd #panel-options.cc .cc-tab-intro{font-size:12px;color:#718198;margin:8px 0 18px}
.pd #panel-options .cc-categories{grid-template-columns:repeat(5,minmax(0,1fr))}
.pd #panel-options .cc-categories button{flex-direction:column;text-align:center;justify-content:center;padding:12px 6px}
.pd #panel-options .cc-option-list{max-height:520px;margin-top:18px}
.pd #panel-options .cc-tab-summary{display:flex;align-items:center;gap:18px;flex-wrap:wrap;border-top:1px solid #e5ebf3;padding-top:16px;margin-top:14px;font-size:12px}
.pd #panel-options .cc-tab-summary strong{font-size:17px;margin-left:auto}.pd #panel-options .cc-tab-summary a{color:#1769ff;min-height:44px;display:inline-flex;align-items:center}
#pd-config .cc-options-link p{font-size:12px;color:#718198}#pd-config .cc-options-link button{color:#1769ff}
@media(max-width:1000px){.pd #panel-options .cc-categories{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.pd #panel-options.cc{grid-column:1/-1;padding:16px;scroll-margin-top:100px}.pd #panel-options .cc-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.pd #panel-options .cc-categories button{flex-direction:row;text-align:left;justify-content:flex-start}.pd #panel-options .cc-tab-summary strong{margin-left:0}}

#pd-config-options{scroll-margin-top:170px}@media(max-width:700px){#pd-config-options{scroll-margin-top:100px}}
