/* Approved compact purchase composition shared by the catalog adapters. */
body.tsd-configurator-3d-page #tsd-product-visual { --tsd-preview-space:16px; padding:var(--tsd-preview-space); gap:var(--tsd-preview-space); }
body.tsd-configurator-3d-page #tsd-product-visual > .tsd-height-preview { top:var(--tsd-preview-space); right:var(--tsd-preview-space); }
/* Use real gaps instead of the gallery's item padding/negative margins so
 * the visible thumbnail edges have the same inset on all three sides. */
body.tsd-configurator-3d-page #tsd-product-visual .gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--tsd-preview-space); margin:0; }
body.tsd-configurator-3d-page #tsd-product-visual .gallery::before,
body.tsd-configurator-3d-page #tsd-product-visual .gallery::after { display:none; }
body.tsd-configurator-3d-page #tsd-product-visual .gallery-item { width:100%; max-width:none; padding:0; margin:0; }
body.tsd-configurator-3d-page #tsd-product-visual .gallery img { display:block; width:100%; }
body.tsd-configurator-3d-page .tsd-configurator-3d canvas { height:492px!important; }
@media (max-width:767px) {
 body.tsd-configurator-3d-page .tsd-configurator-3d canvas { height:312px!important; }
}
.tsd-compact-purchase { container: tsd-purchase / inline-size; }
.tsd-purchase-main { display:flex; flex-direction:column; min-width:0; }
body.tsd-configurator-3d-page .tsd-compact-purchase .tsd-pdp-hero__controls { border:0; padding:0; margin:24px 0 0; }
.tsd-compact-purchase .tsd-3d-controls .wp3dconf-controls-inner > .wp3dconf-parent-control > ul { display:grid!important; grid-template-columns:minmax(0,1fr) 172px; gap:24px 28px!important; }
.tsd-compact-purchase .tsd-3d-controls .wp3dconf-layer-type-group { grid-column:1 / -1; }
.tsd-compact-purchase .tsd-3d-controls .wp3dconf-layer-type-group[data-uid="tsd-size"] { grid-column:1; }
.tsd-compact-purchase .tsd-3d-controls .wp3dconf-layer-type-group[data-uid="tsd-frame"] { grid-column:2; }
.tsd-compact-purchase .tsd-3d-controls .wp3dconf-layer-title-wrap { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px; font-size:15px!important; line-height:1.3!important; margin:0 0 12px!important; }
.tsd-compact-purchase .tsd-compact-current { color:var(--tsd-muted); font-weight:400; }
.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-size"] > .wp3dconf-parent-control > ul { grid-template-columns:repeat(3,minmax(0,1fr)); }
.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-size"] .tsd-3d-option { min-height:52px; padding:6px 3px!important; }
.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-size"] .wp3dconf-control-item-name { font-size:15px; font-weight:600; text-transform:none; }
.tsd-compact-purchase .tsd-3d-size-price { font-size:13px; font-weight:400; line-height:1.25; color:var(--tsd-muted); }
.tsd-compact-purchase [data-uid="tsd-size"] .wp3dconf-layer-active .tsd-3d-size-price { color:var(--tsd-white); }
.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-finish"] > .wp3dconf-parent-control > ul { display:grid!important; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px!important; }
.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-finish"] .tsd-3d-swatch { width:auto; min-height:90px; padding:2px!important; }
.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-finish"] .tsd-3d-option-content { align-items:center; gap:6px; }
.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-finish"] img { width:52px!important; height:52px!important; }
.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-finish"] .wp3dconf-control-item-name { font-size:13px; font-weight:400; text-align:center; line-height:1.2; }
.tsd-compact-purchase .tsd-compact-finish-price { color:var(--tsd-muted); font-size:13px; font-weight:400; line-height:1.2; white-space:nowrap; font-variant-numeric:tabular-nums; }
.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-finish"] .wp3dconf-layer-active img { outline:2px solid var(--tsd-ink); outline-offset:2px; border:1px solid var(--tsd-line); }
.tsd-compact-purchase .tsd-3d-controls .tsd-3d-swatch[aria-disabled="true"]::after { display:none; }
.tsd-compact-purchase .tsd-3d-controls[data-frame-only="true"] [data-uid="tsd-finish"] img { outline:none; }
.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-frame"] > .wp3dconf-parent-control > ul { display:flex!important; gap:8px!important; }
.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-frame"] .tsd-3d-swatch { display:grid; place-items:center; width:48px; flex:0 0 48px; min-height:48px; border:2px solid transparent!important; }
.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-frame"] .tsd-3d-swatch.wp3dconf-layer-active { border-color:var(--tsd-ink)!important; }
.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-frame"] img { width:30px!important; height:30px!important; border:1px solid var(--tsd-line); }
.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-frame"] .wp3dconf-control-item-name { display:none!important; }
.tsd-compact-purchase .tsd-3d-controls .tsd-accessory-heading { grid-column:1 / -1; padding-top:20px; border-top:1px solid var(--tsd-line); margin-bottom:-12px!important; }
.tsd-compact-purchase .tsd-accessory-heading h2 { margin:0; padding:0; font:600 15px/1.3 Urbanist,sans-serif; letter-spacing:0; }
.tsd-compact-purchase .tsd-3d-controls .wp3dconf-layer-type-group:is([data-uid="tsd-feet"],[data-uid="tsd-cable"]) { display:grid!important; grid-column:1 / -1; grid-template-columns:minmax(0,1fr) 160px 52px; gap:20px; align-items:center; min-height:48px; }
.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-cable"] { margin-top:-16px!important; }
.tsd-compact-purchase .tsd-3d-controls :is([data-uid="tsd-feet"],[data-uid="tsd-cable"]) > .wp3dconf-layer-title-wrap { margin:0!important; font-weight:500!important; line-height:1.4!important; }
.tsd-compact-purchase .tsd-3d-controls [hidden] { display:none!important; }

.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-feet"] > .wp3dconf-parent-control > ul { display:block!important; }
.tsd-compact-purchase .tsd-3d-controls .tsd-compact-caster-control { display:flex!important; align-items:center; gap:10px; min-height:48px; width:auto; margin:0; padding:0 9px!important; border:0!important; background:transparent!important; color:var(--tsd-ink)!important; text-align:left; }
.tsd-compact-purchase .tsd-compact-caster-control::before { content:''; width:20px; height:20px; border:1px solid var(--tsd-muted); flex:none; }
.tsd-compact-purchase .tsd-compact-caster-control[aria-checked="true"]::before { background:var(--tsd-ink); border-color:var(--tsd-ink); }
.tsd-compact-purchase .tsd-compact-caster-control[aria-checked="true"]::after { content:''; position:absolute; left:15px; top:17px; width:7px; height:11px; border:solid var(--tsd-white); border-width:0 2px 2px 0; transform:rotate(45deg); }
.tsd-compact-purchase .tsd-compact-caster-control .tsd-3d-option-content { display:block; }
.tsd-compact-purchase .tsd-compact-caster-control img { display:none!important; }
.tsd-compact-purchase .tsd-compact-caster-control .wp3dconf-control-item-name { font-size:15px; font-weight:500; }
.tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-cable"] > .wp3dconf-parent-control > ul { display:flex!important; gap:8px!important; }
.tsd-compact-purchase .tsd-3d-controls .tsd-compact-cable-choice { display:grid!important; place-items:center; width:48px; min-height:48px; height:48px; padding:7px!important; border:2px solid transparent!important; background:transparent!important; }
.tsd-compact-purchase .tsd-3d-controls .tsd-compact-cable-choice[aria-checked="true"] { border-color:var(--tsd-ink)!important; }
.tsd-compact-purchase .tsd-compact-cable-choice .wp3dconf-control-item-color-bg { display:block; width:30px; height:30px; border:1px solid var(--tsd-line); border-radius:0; }
/* The selection border carries state; omit the vendor's green swatch tick. */
.tsd-compact-purchase .tsd-compact-cable-choice .wp3dconf-control-item-color-bg::after { content:none!important; display:none!important; }
.tsd-compact-purchase .tsd-compact-cable-choice .wp3dconf-control-item-name { display:none!important; }
.tsd-compact-extra-price { color:var(--tsd-muted); font-size:14px; font-weight:400; text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.tsd-compact-purchase .tsd-purchase-row { display:grid; grid-template-columns:minmax(0,1fr) 168px; align-items:center; gap:20px; width:100%; min-width:0; border-top:1px solid var(--tsd-line); padding-top:24px; margin-top:20px; }
.tsd-compact-purchase .tsd-purchase-row > .tsd-config-price-feedback { display:grid!important; grid-template-columns:112px minmax(0,1fr); gap:20px!important; align-items:center; width:100%; min-width:0; margin:0!important; padding:0!important; border:0!important; }
.tsd-compact-purchase .tsd-purchase-row .tsd-pdp-hero__price,.tsd-compact-purchase .tsd-purchase-row .tsd-pdp-hero__cart { margin:0!important; padding:0!important; min-width:0; }
body.tsd-configurator-3d-page #tsd-product-purchase.tsd-compact-purchase .tsd-purchase-row .tsd-pdp-hero__cart { margin:0!important; }
/* The compact grid replaces the native flex layout's 60% summary width. */
.tsd-compact-purchase .tsd-config-summary-slot { min-width:0; width:100%!important; }
.tsd-compact-purchase .tsd-purchase-row .tsd-config-summary { display:grid; gap:3px; font-size:14px; font-weight:500; line-height:1.4; }
.tsd-compact-purchase .tsd-config-summary__frame,.tsd-compact-purchase .tsd-config-summary__accessories { color:var(--tsd-muted); font-weight:400; }
.tsd-compact-purchase .wp3dconf-total-price-title { font-size:13px; font-weight:400; letter-spacing:0; text-transform:none; margin:0 0 2px; }
.tsd-compact-purchase .wp3dconf-total-price-wrap > [x-html] { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.tsd-compact-total { display:block; color:var(--tsd-ink); font-size:30px; font-weight:600; line-height:1.15; letter-spacing:-.025em; font-variant-numeric:tabular-nums; }
.tsd-compact-purchase .wp3dconf-cart-form-wrap button { font-size:17px; min-height:56px; padding:16px 20px; }
/* Success feedback uses the whitespace below the purchase row, without reflow. */
.tsd-compact-purchase .tsd-purchase-row { position:relative; }
.tsd-compact-purchase .tsd-purchase-row .tsd-pdp-hero__cart { position:static; }
.tsd-compact-purchase .tsd-purchase-row .tsd-config-cart-notice[data-state="success"] {
 position:absolute; inset-inline:0; top:calc(100% + 8px); margin:0; padding:0; border:0;
 display:flex; align-items:center; justify-content:flex-end; gap:8px; min-height:44px; font-size:14px;
}
.tsd-compact-purchase .tsd-config-cart-notice a { flex-shrink:0; }
.tsd-compact-purchase .tsd-config-cart-notice[hidden] { display:none; }
@media (max-width:1024px) {
 .tsd-compact-purchase .tsd-purchase-row { margin-bottom:64px; }
 .tsd-compact-purchase .tsd-purchase-row .tsd-config-cart-notice[data-state="success"] { justify-content:flex-start; }
}
/* Equal desktop tracks make the two dividers one shared baseline. */
@media (min-width:1025px) {
 body.tsd-configurator-3d-page #tsd-product-hero-inner.tsd-aligned-hero { grid-template-rows:auto auto; row-gap:16px; align-items:stretch; }
 body.tsd-configurator-3d-page .tsd-aligned-hero > :is(#tsd-product-media-column,#tsd-product-purchase) { display:grid; grid-template-rows:subgrid; grid-row:1 / span 2; row-gap:16px; align-self:stretch; }
 body.tsd-configurator-3d-page .tsd-aligned-hero > #tsd-product-media-column { grid-column:1; }
 body.tsd-configurator-3d-page .tsd-aligned-hero > #tsd-product-purchase { grid-column:2; grid-template-columns:minmax(0,1fr); container-type:normal; }
 body.tsd-configurator-3d-page .tsd-aligned-hero #tsd-product-visual { grid-row:1; align-self:stretch; justify-content:space-between; }
 body.tsd-configurator-3d-page .tsd-aligned-hero .tsd-purchase-main { grid-row:1; container:tsd-purchase / inline-size; }
 body.tsd-configurator-3d-page .tsd-aligned-hero .tsd-configurator-3d canvas { height:clamp(372px,calc(30vw + 12px),452px)!important; }
 body.tsd-configurator-3d-page .tsd-aligned-hero .tsd-pdp-hero__preview { flex:1 1 auto; }
 body.tsd-configurator-3d-page .tsd-aligned-hero #tsd-product-media-column > .tsd-pdp-hero__trust-a,
 body.tsd-configurator-3d-page .tsd-aligned-hero .tsd-purchase-row { grid-row:2; margin:0!important; padding-top:16px; align-self:stretch; }
 body.tsd-configurator-3d-page .tsd-aligned-hero .tsd-purchase-row { align-content:center; }
}
@container tsd-purchase (min-width:541px) {
 .tsd-compact-purchase .tsd-3d-controls .wp3dconf-controls-inner > .wp3dconf-parent-control > ul { grid-template-columns:repeat(6,minmax(0,1fr)); }
 .tsd-compact-purchase .tsd-3d-controls .wp3dconf-layer-type-group[data-uid="tsd-size"] { grid-column:1 / span 4; }
 .tsd-compact-purchase .tsd-3d-controls .wp3dconf-layer-type-group[data-uid="tsd-frame"] { grid-column:5 / span 2; }
 .tsd-compact-purchase .tsd-3d-controls .wp3dconf-layer-type-group:is([data-uid="tsd-feet"],[data-uid="tsd-cable"]) { grid-column:span 3; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; }
 .tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-cable"] { margin-top:0!important; }
 .tsd-compact-purchase .tsd-3d-controls :is([data-uid="tsd-feet"],[data-uid="tsd-cable"]) > .wp3dconf-layer-title-wrap { grid-row:1; grid-column:1 / -1; }
 .tsd-compact-purchase .tsd-3d-controls :is([data-uid="tsd-feet"],[data-uid="tsd-cable"]) > .wp3dconf-parent-control { grid-row:2; grid-column:1; }
 .tsd-compact-purchase .tsd-compact-extra-price { grid-row:2; grid-column:2; }
}
@container tsd-purchase (max-width:540px) {
 .tsd-compact-purchase .tsd-3d-controls .wp3dconf-controls-inner > .wp3dconf-parent-control > ul { grid-template-columns:1fr; gap:24px!important; }
 .tsd-compact-purchase .tsd-3d-controls .wp3dconf-layer-type-group:is([data-uid="tsd-size"],[data-uid="tsd-frame"]) { grid-column:1 / -1; }
 .tsd-compact-purchase .tsd-3d-controls .wp3dconf-layer-type-group[data-uid="tsd-frame"] { display:flex!important; align-items:center; justify-content:space-between; gap:12px; }
 .tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-frame"] .wp3dconf-layer-title-wrap { margin:0!important; }
 .tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-finish"] > .wp3dconf-parent-control > ul { grid-template-columns:repeat(4,minmax(0,1fr)); row-gap:12px!important; }
 .tsd-compact-purchase .tsd-3d-controls .wp3dconf-layer-type-group:is([data-uid="tsd-feet"],[data-uid="tsd-cable"]) { grid-template-columns:minmax(0,1fr) 52px; gap:4px 16px; }
 .tsd-compact-purchase .tsd-3d-controls :is([data-uid="tsd-feet"],[data-uid="tsd-cable"]) > .wp3dconf-layer-title-wrap { grid-row:1; grid-column:1; }
 .tsd-compact-purchase .tsd-compact-extra-price { grid-row:1; grid-column:2; }
 .tsd-compact-purchase .tsd-3d-controls :is([data-uid="tsd-feet"],[data-uid="tsd-cable"]) > .wp3dconf-parent-control { grid-row:2; grid-column:1 / -1; }
 .tsd-compact-purchase .tsd-3d-controls [data-uid="tsd-cable"] { margin-top:0!important; }
 .tsd-compact-purchase .tsd-purchase-row { grid-template-columns:1fr; gap:20px; }
 .tsd-compact-purchase .tsd-purchase-row > .tsd-config-price-feedback { grid-template-columns:100px minmax(0,1fr); gap:16px!important; align-items:start; }
 .tsd-compact-purchase .tsd-config-summary__selection,.tsd-compact-purchase .tsd-config-summary__accessories { min-height:2.8em; }
 .tsd-compact-total { font-size:26px; }
}
/* Two accessory groups still fit in narrower desktop/tablet columns. */
@container tsd-purchase (min-width:450px) and (max-width:540px) {
 .tsd-compact-purchase .tsd-3d-controls .wp3dconf-controls-inner > .wp3dconf-parent-control > ul { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px!important; }
 .tsd-compact-purchase .tsd-3d-controls .wp3dconf-layer-type-group:is([data-uid="tsd-feet"],[data-uid="tsd-cable"]) { grid-column:span 1; grid-template-columns:minmax(0,1fr) auto; gap:4px 8px; }
 .tsd-compact-purchase .tsd-3d-controls :is([data-uid="tsd-feet"],[data-uid="tsd-cable"]) > .wp3dconf-layer-title-wrap { grid-column:1 / -1; }
 .tsd-compact-purchase .tsd-3d-controls :is([data-uid="tsd-feet"],[data-uid="tsd-cable"]) > .wp3dconf-parent-control { grid-column:1; }
 .tsd-compact-purchase .tsd-compact-extra-price { grid-row:2; }
}

body.tsd-configurator-3d-page { --tsd-compact-loaded:1; }

/* Native option counts opt sparse configurations in; three-size desks stay intact. */
.tsd-compact-purchase .tsd-3d-controls[data-tsd-size-choices="2"] [data-uid="tsd-size"] > .wp3dconf-parent-control > ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tsd-compact-purchase .tsd-3d-controls[data-tsd-size-choices] [data-uid="tsd-finish"] > .wp3dconf-parent-control > ul { grid-template-columns:repeat(auto-fit,80px); justify-content:start; gap:8px!important; }
@container tsd-purchase (min-width:541px) {
 .tsd-compact-purchase .tsd-3d-controls[data-tsd-size-choices="2"] .wp3dconf-controls-inner > .wp3dconf-parent-control > ul { grid-template-columns:288px minmax(0,1fr); column-gap:32px!important; }
 .tsd-compact-purchase .tsd-3d-controls[data-tsd-size-choices="2"] .wp3dconf-layer-type-group[data-uid="tsd-size"] { grid-column:1; }
 .tsd-compact-purchase .tsd-3d-controls[data-tsd-size-choices="2"] .wp3dconf-layer-type-group[data-uid="tsd-frame"] { grid-column:2; }
 .tsd-compact-purchase .tsd-3d-controls[data-tsd-size-choices="2"] .wp3dconf-layer-type-group:is([data-uid="tsd-feet"],[data-uid="tsd-cable"]) { grid-column:span 1; }
 .tsd-compact-purchase .tsd-3d-controls[data-tsd-size-choices="1"] .wp3dconf-controls-inner > .wp3dconf-parent-control > ul { grid-template-columns:120px minmax(0,1fr); column-gap:32px!important; }
 .tsd-compact-purchase .tsd-3d-controls[data-tsd-size-choices="1"] .wp3dconf-layer-type-group[data-uid="tsd-frame"] { grid-column:1; }
 .tsd-compact-purchase .tsd-3d-controls[data-tsd-size-choices="1"] .wp3dconf-layer-type-group[data-uid="tsd-finish"] { grid-column:2; }
}
@container tsd-purchase (max-width:540px) {
 .tsd-compact-purchase .tsd-3d-controls[data-tsd-size-choices] .wp3dconf-layer-type-group[data-uid="tsd-frame"] { justify-content:flex-start; gap:24px; }
 .tsd-compact-purchase .tsd-3d-controls[data-tsd-size-choices] [data-uid="tsd-finish"] > .wp3dconf-parent-control > ul { grid-template-columns:repeat(4,minmax(0,80px)); gap:12px 8px!important; }
}
