/* Single maintained configurator stylesheet. Extracted from the verified current template. */
body.tsd-configurator-page {
  --tsd-ink: var(--e-global-color-text);
  --tsd-white: var(--e-global-color-primary);
  --tsd-wash: var(--e-global-color-accent);
  --tsd-blue: var(--e-global-color-secondary);
  --tsd-cobalt: var(--e-global-color-secondary);
  --tsd-muted: var(--e-global-color-tsdmutd);
  --tsd-line: var(--e-global-color-tsdline);
  --tsd-visual: var(--e-global-color-tsdstge);
}
.tsd-height-preview { position:absolute; left:12px; bottom:12px; display:flex; align-items:center; gap:4px; padding:4px; background:var(--e-global-color-primary); border:1px solid var(--e-global-color-tsdline); z-index:3; color:var(--e-global-color-text); font-size:14px; line-height:1.2; }
.tsd-height-preview span { padding:0 8px; }
.tsd-height-preview button { font:inherit; min-width:48px; min-height:44px; padding:8px 12px; border:0; border-radius:0; background:var(--e-global-color-primary); color:var(--e-global-color-text); cursor:pointer; }
.tsd-height-preview button:hover { background:var(--e-global-color-accent); }
.tsd-height-preview button[aria-pressed=true] { background:var(--e-global-color-text); color:var(--e-global-color-primary); }
.tsd-height-preview button:focus-visible { outline:2px solid var(--e-global-color-secondary); outline-offset:2px; }

/* 3D adapter. Native options and state remain owned by WP Configurator. */
.tsd-3d-purchase, .tsd-configurator-3d {
  --tsd-ink: var(--e-global-color-text);
  --tsd-white: var(--e-global-color-primary);
  --tsd-line: var(--e-global-color-tsdline);
  --tsd-muted: var(--e-global-color-tsdmutd);
  --wp3dconf-text-dark: var(--e-global-color-text);
  --wp3dconf-white: var(--e-global-color-primary);
  --wp3dconf-primary-color: var(--e-global-color-secondary);
  color: var(--tsd-ink);
  font-family: Urbanist, sans-serif;
  min-width: 0;
}
.tsd-configurator-3d { width: 100%; }
.tsd-3d-purchase *, .tsd-configurator-3d * { box-sizing: border-box; }
.tsd-3d-controls.wp3dconf-controls-wrap { max-height: none !important; height: auto !important; overflow: visible !important; container-type: inline-size; }
.tsd-3d-controls .wp3dconf-controls-inner, .tsd-3d-controls .wp3dconf-parent-control { margin: 0; padding: 0 !important; background: transparent !important; }
.tsd-3d-controls ul, .tsd-3d-controls li { list-style: none; margin: 0 !important; padding: 0; }
.tsd-3d-controls .wp3dconf-controls-inner > .wp3dconf-parent-control > ul { display: grid !important; grid-template-columns: minmax(0,1fr); gap: 20px !important; }
.tsd-3d-controls .wp3dconf-layer-type-group { display: block !important; width: 100%; min-width: 0; }
.tsd-3d-controls .wp3dconf-layer-type-group > .wp3dconf-parent-control { display: block !important; }
.tsd-3d-controls .wp3dconf-layer-title-wrap { margin: 0 0 12px !important; padding: 0 !important; background: transparent !important; color: var(--tsd-ink) !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.4 !important; letter-spacing: 0 !important; text-transform: none !important; cursor: default; }
.tsd-3d-controls .wp3dconf-layer-title-wrap::before, .tsd-3d-controls .wp3dconf-layer-title-wrap::after { display: none !important; }
.tsd-3d-controls .wp3dconf-parent-control .wp3dconf-control-items-wrap { gap: 8px !important; }
.tsd-3d-controls li.tsd-3d-option { position: relative; border: 0 !important; border-radius: 0 !important; background: transparent !important; padding: 0 !important; cursor: pointer; box-shadow: none !important; min-width: 0; }
.tsd-3d-controls .tsd-3d-option .tsd-3d-option-content { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.tsd-3d-controls .tsd-3d-option .tsd-3d-option-content::before, .tsd-3d-controls .tsd-3d-option .tsd-3d-option-content::after { display: none !important; }
.tsd-3d-controls .tsd-3d-option .wp3dconf-control-item-name { display: block !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--tsd-ink); font-size: 12px; line-height: 1.25; font-weight: 600; text-transform: none; white-space: normal; text-align: left; }
.tsd-3d-controls .wp3dconf-control-item-name::after { display: none !important; }
.tsd-3d-controls li.tsd-3d-swatch { width: 68px; flex: 0 0 68px; min-height: 88px; }
.tsd-3d-controls .tsd-3d-swatch img { display: block; width: 60px !important; height: 60px !important; border: 1px solid var(--tsd-line); object-fit: cover; }
.tsd-3d-controls .tsd-3d-option:hover img { border-color: var(--tsd-ink); }
.tsd-3d-controls .tsd-3d-option.wp3dconf-layer-active img { border: 2px solid var(--tsd-ink); }
.tsd-3d-controls .tsd-3d-option .wp3dconf-price { display: none !important; }
.tsd-3d-controls .tsd-3d-option:focus-visible { outline: 2px solid var(--e-global-color-secondary) !important; outline-offset: 3px; }
.tsd-3d-controls .tsd-3d-option[aria-disabled="true"] { opacity: 1 !important; cursor: not-allowed; pointer-events: auto !important; }
.tsd-3d-controls .tsd-3d-option[aria-disabled="true"] img { opacity: .38; filter: grayscale(.65); }
.tsd-3d-controls .tsd-3d-option[aria-disabled="true"] .wp3dconf-control-item-name { color: var(--tsd-muted); }
.tsd-3d-controls .tsd-3d-swatch[aria-disabled="true"]::after { content: ''; position: absolute; top: 41px; left: 42px; width: 14px; height: 14px; border: 2px solid var(--e-global-color-d1ac3b4); border-radius: 50%; background: linear-gradient(45deg,transparent 43%,var(--e-global-color-d1ac3b4) 43% 57%,transparent 57%); pointer-events: none; }
.tsd-3d-controls [data-uid="tsd-size"] > .wp3dconf-parent-control > ul { display: grid !important; grid-template-columns: minmax(0,1.25fr) repeat(2,minmax(0,1fr)); gap: 8px !important; }
.tsd-3d-controls [data-uid="tsd-size"] .tsd-3d-option { border: 1px solid var(--tsd-line) !important; min-height: 56px; display: flex; align-items: center; justify-content: center; padding: 8px 3px !important; }
.tsd-3d-controls [data-uid="tsd-size"] .tsd-3d-option-content { width: 100%; align-items: center; gap: 3px; }
.tsd-3d-controls [data-uid="tsd-size"] .wp3dconf-control-item-name { text-transform: uppercase; white-space: nowrap; text-align: center; }
.tsd-3d-controls .tsd-3d-size-price { font-size: 11px; line-height: 1.1; font-weight: 600; font-variant-numeric: tabular-nums; }
.tsd-3d-controls [data-uid="tsd-size"] .wp3dconf-layer-active { border-color: var(--tsd-ink) !important; background: var(--tsd-ink) !important; color: var(--tsd-white); }
.tsd-3d-controls [data-uid="tsd-size"] .wp3dconf-layer-active .wp3dconf-control-item-name { color: var(--tsd-white); }
.tsd-3d-controls [data-uid="tsd-size"] .tsd-3d-option:hover { border-color: var(--tsd-ink) !important; }
.tsd-3d-controls [data-uid="tsd-cable"] > .wp3dconf-parent-control > ul { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); }
.tsd-3d-controls [data-uid="tsd-cable"] .tsd-3d-option, .tsd-3d-controls [data-uid="tsd-feet"] .tsd-3d-option:not(.tsd-3d-swatch) { min-height: 60px; display: flex; align-items: center; justify-content: center; padding: 8px !important; border: 1px solid var(--tsd-line) !important; }
.tsd-3d-controls [data-uid="tsd-cable"] .wp3dconf-control-item-name { text-align: center; }
.tsd-3d-controls [data-uid="tsd-cable"] .wp3dconf-layer-active, .tsd-3d-controls [data-uid="tsd-feet"] .wp3dconf-layer-active:not(.tsd-3d-swatch) { border: 2px solid var(--tsd-ink) !important; }
.tsd-3d-controls .wp3dconf-layer-hidden { display: none !important; }
.tsd-3d-controls .tsd-option-reason { display: block; position: absolute; z-index: 80; bottom: calc(100% + 8px); left: 0; width: 210px; padding: 9px 11px; background: var(--tsd-ink); color: var(--tsd-white); font-size: 12px; font-weight: 600; line-height: 1.4; opacity: 0; visibility: hidden; pointer-events: none; }
.tsd-3d-controls .tsd-3d-option:nth-last-child(-n+2) .tsd-option-reason { left: auto; right: 0; }
.tsd-3d-controls .tsd-3d-option:hover .tsd-option-reason, .tsd-3d-controls .tsd-3d-option:focus-visible .tsd-option-reason { opacity: 1; visibility: visible; }
.tsd-3d-purchase .wp3dconf-total-price-wrap { margin: 0 !important; }
.tsd-3d-purchase .wp3dconf-total-price-title { display: block; margin: 0 0 6px; color: var(--tsd-muted); font-size: 12px; font-weight: 700; letter-spacing: .08em; line-height: 1.3; text-transform: uppercase; }
.tsd-3d-purchase .wp3dconf-total-price-wrap .wp3dconf-price-amount { color: var(--tsd-ink); font-size: 30px; font-weight: 600; letter-spacing: -.03em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.tsd-3d-purchase .tsd-config-summary { display: grid; gap: 4px; margin: 0; font-size: 13px; line-height: 1.4; font-weight: 600; }
.tsd-3d-purchase .tsd-config-summary__accessories { color: var(--tsd-muted); font-weight: 500; }
.tsd-3d-price-feedback { display: flex; align-items: center; gap: 24px; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--tsd-line); }
.tsd-3d-purchase .wp3dconf-price-summary-content { margin-top: 18px; padding: 0; border: 0; background: transparent; }
.tsd-3d-purchase .wp3dconf-cart-form-wrap form { margin: 0; }
.tsd-3d-purchase .wp3dconf-cart-form-wrap button { display: flex; justify-content: center; align-items: center; width: 100%; min-height: 56px; padding: 16px 24px; background: var(--e-global-color-secondary); color: var(--tsd-white); border: 1px solid var(--e-global-color-secondary); border-radius: 0; box-shadow: none; font: 600 15px/1.2 Urbanist,sans-serif; }
.tsd-3d-purchase .wp3dconf-cart-form-wrap button:hover { background: var(--tsd-ink); border-color: var(--tsd-ink); }
.tsd-3d-purchase .wp3dconf-cart-form-wrap button:focus-visible { outline: 2px solid var(--e-global-color-secondary); outline-offset: 3px; }
.tsd-3d-purchase .wp3dconf-cart-form-wrap button:disabled { cursor: wait; opacity: .65; }
.tsd-config-cart-notice { margin: 0 0 16px; padding: 16px; border: 1px solid var(--tsd-line); font-size: 14px; line-height: 1.5; }
.tsd-config-cart-notice a { color: var(--e-global-color-secondary); text-decoration: underline; text-underline-offset: 3px; }
.tsd-configurator-3d .wp3dconf-preview { width: 100%; min-width: 0; }
.tsd-configurator-3d canvas { display: block; width: 100% !important; max-width: 100%; height: 480px !important; touch-action: pan-y; }
@container (min-width:460px) {
  .tsd-3d-controls .wp3dconf-controls-inner > .wp3dconf-parent-control > ul { grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 24px !important; }
  .tsd-3d-controls .wp3dconf-layer-type-group { grid-column: 1/-1; }
  .tsd-3d-controls .wp3dconf-layer-type-group[data-uid="tsd-frame"] { grid-column: 1; }
  .tsd-3d-controls .wp3dconf-layer-type-group[data-uid="tsd-feet"] { grid-column: 2; }
}
@container (min-width:300px) and (max-width:519px) {
  .tsd-3d-controls [data-uid="tsd-finish"] > .wp3dconf-parent-control > ul { display: grid !important; grid-template-columns: repeat(4,minmax(0,1fr)); row-gap: 16px !important; }
}
@media(max-width:767px) {
  .tsd-3d-controls .wp3dconf-controls-inner > .wp3dconf-parent-control > ul { gap: 24px !important; }
  .tsd-3d-controls li.tsd-3d-swatch { width: 72px; flex-basis: 72px; }
  .tsd-3d-controls [data-uid="tsd-cable"] > .wp3dconf-parent-control > ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tsd-3d-controls .tsd-option-reason { width: min(210px,calc(100vw - 40px)); }
  .tsd-configurator-3d canvas { height: 300px !important; }
  .tsd-3d-price-feedback { gap: 16px; flex-wrap: wrap; }
}


body.tsd-configurator-page #tsd-product-visual,
body.tsd-configurator-page #tsd-product-purchase,
body.tsd-configurator-page .tsd-pdp-hero__preview,
body.tsd-configurator-page .tsd-pdp-hero__price,
body.tsd-configurator-page .tsd-pdp-hero__controls,
body.tsd-configurator-page .tsd-pdp-hero__cart{
  width: 100% !important;
  min-width: 0;
}
body.tsd-configurator-page .tsd-pdp-hero__preview,
body.tsd-configurator-page .tsd-pdp-hero__preview > .elementor-widget-container{
  display: flex;
  width: 100%;
  min-height: 0;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
}
body.tsd-configurator-page .tsd-pdp-hero__preview .wpc-preview-parent-wrap,
body.tsd-configurator-page .tsd-pdp-hero__preview .wpc-configurator,
body.tsd-configurator-page .tsd-pdp-hero__preview .wpc-configurator-view,
body.tsd-configurator-page .tsd-pdp-hero__preview .wpc-preview-wrap,
body.tsd-configurator-page .tsd-pdp-hero__preview .wpc-preview-inner{
  width: 100% !important;
  max-width: 100% !important;
}
body.tsd-configurator-page .tsd-pdp-hero__preview .wpc-preview-parent-wrap{
  margin: 0 auto !important;
}
body.tsd-configurator-page .tsd-pdp-hero__preview img{
  max-width: 100%;
  height: auto;
}
body.tsd-configurator-page .tsd-pdp-hero__preview .wpc-config-element,
body.tsd-configurator-page .tsd-pdp-hero__preview .wpc-config-element *,
body.tsd-configurator-page .tsd-pdp-hero__price .wpc-config-element,
body.tsd-configurator-page .tsd-pdp-hero__price .wpc-config-element *,
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-config-element,
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-config-element *,
body.tsd-configurator-page .tsd-pdp-hero__cart .wpc-cart-form-parent-wrap,
body.tsd-configurator-page .tsd-pdp-hero__cart .wpc-cart-form-parent-wrap *{
  font-family: "Urbanist", sans-serif;
}
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-config-element ul,
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-config-element li{
  margin: 0;
  padding: 0;
  list-style: none;
}
body.tsd-configurator-page .tsd-pdp-hero__price{
  margin: 18px 0 0;
}
body.tsd-configurator-page .tsd-pdp-hero__price .wpc-total-price-parent-wrap{
  display: flex !important;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 7px;
  margin: 0 !important;
  padding: 0 !important;
}
body.tsd-configurator-page .tsd-pdp-hero__price .wpc-total-text{
  color: var(--tsd-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  line-height: 1.3 !important;
  text-transform: uppercase;
}
body.tsd-configurator-page .tsd-pdp-hero__price .wpc-price-value,
body.tsd-configurator-page .tsd-pdp-hero__price .amount,
body.tsd-configurator-page .tsd-pdp-hero__price .woocommerce-Price-amount{
  color: var(--tsd-ink) !important;
  font-size: 30px !important;
  font-weight: 600 !important;
  letter-spacing: -0.03em;
  line-height: 1.1 !important;
}
body.tsd-configurator-page .tsd-pdp-hero__controls{
  margin: 20px 0 0;
  padding: 20px 0 0;
  border-top: 1px solid var(--tsd-line);
}
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-controls-parent-wrap,
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-controls-wrap,
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-controls-inner{
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-parent-control > .wpc-control-lists-inner{
  display: flex !important;
  flex-direction: column;
  gap: 20px;
}
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-layer-title-wrap{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 9px !important;
}
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-layer-title-text{
  color: var(--tsd-ink) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em;
  line-height: 1.35 !important;
  text-transform: uppercase;
}
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-sub-control > .wpc-control-lists-inner{
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  align-items: stretch;
}
body.tsd-configurator-page .tsd-pdp-hero__controls li.wpc-control-type-label.wpc-layer-type-image{
  display: inline-flex !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 68px;
  min-height: 44px;
  flex: 0 0 auto !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 10px 15px !important;
  border: 1px solid var(--tsd-line) !important;
  border-radius: 2px !important;
  background: var(--tsd-white) !important;
  color: var(--tsd-ink) !important;
  box-shadow: none !important;
  cursor: pointer;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  text-align: center;
  transition:
    color 150ms ease,
    border-color 150ms ease,
    background-color 150ms ease;
}
body.tsd-configurator-page .tsd-pdp-hero__controls li.wpc-control-type-label.wpc-layer-type-image:hover{
  border-color: var(--tsd-ink) !important;
}
body.tsd-configurator-page .tsd-pdp-hero__controls li.wpc-control-type-label.wpc-layer-type-image.current{
  border-color: var(--tsd-ink) !important;
  background: var(--tsd-ink) !important;
  color: var(--tsd-white) !important;
  box-shadow: none !important;
}
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-control-item-label,
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-icon-label-inner,
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-icon-label{
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-icon-label{
  display: inline-flex !important;
  align-items: baseline;
  gap: 8px;
  color: inherit !important;
  white-space: nowrap;
}
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-control-item-label .wpc-control-item-name{
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-control-item-label .wpc-hover-price{
  display: inline-flex !important;
  color: var(--tsd-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}
body.tsd-configurator-page .tsd-pdp-hero__controls li.current .wpc-control-item-label .wpc-hover-price{
  color: var(--tsd-white) !important;
  opacity: 0.8;
}
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-cl-disable-layer{
  opacity: 0.36;
  cursor: not-allowed !important;
}
body.tsd-configurator-page .tsd-pdp-hero__controls li:focus-visible,
body.tsd-configurator-page .tsd-pdp-hero__controls li a:focus-visible{
  outline: 2px solid var(--tsd-blue);
  outline-offset: 3px;
}
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-control-item-info{
  z-index: 40;
}
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-control-item-info-inner{
  min-width: 150px;
  padding: 9px 11px !important;
  border: 0 !important;
  border-radius: 2px !important;
  background: var(--tsd-ink) !important;
  color: var(--tsd-white) !important;
  box-shadow: none !important;
}
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-control-item-info .wpc-control-item-name,
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-control-item-info .wpc-hover-price{
  color: var(--tsd-white) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}
body.tsd-configurator-page .tsd-pdp-hero__cart{
  margin: 22px 0 0;
}
body.tsd-configurator-page .tsd-pdp-hero__cart .wpc-cart-form-parent-wrap,
body.tsd-configurator-page .tsd-pdp-hero__cart .wpc-cart-form-wrapper,
body.tsd-configurator-page .tsd-pdp-hero__cart form.wpc-cart-form{
  width: 100% !important;
  margin: 0 !important;
}
body.tsd-configurator-page .tsd-pdp-hero__cart form.wpc-cart-form{
  display: block !important;
  padding: 0 !important;
}
body.tsd-configurator-page .tsd-pdp-hero__cart .quantity{
  display: none !important;
}
body.tsd-configurator-page .tsd-pdp-hero__cart button.wpc-primary-btn,
body.tsd-configurator-page .tsd-pdp-hero__cart .wpc-primary-btn{
  display: inline-flex !important;
  width: 100% !important;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0 !important;
  padding: 16px 24px !important;
  border: 1px solid var(--tsd-blue) !important;
  border-radius: 2px !important;
  background: var(--tsd-blue) !important;
  color: var(--tsd-white) !important;
  box-shadow: none !important;
  cursor: pointer;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-align: center;
  text-decoration: none !important;
  transition:
    border-color 150ms ease,
    background-color 150ms ease;
}
body.tsd-configurator-page .tsd-pdp-hero__cart button.wpc-primary-btn:hover,
body.tsd-configurator-page .tsd-pdp-hero__cart .wpc-primary-btn:hover{
  border-color: var(--tsd-ink) !important;
  background: var(--tsd-ink) !important;
}
body.tsd-configurator-page .tsd-pdp-hero__cart button.wpc-primary-btn:focus-visible,
body.tsd-configurator-page .tsd-pdp-hero__cart .wpc-primary-btn:focus-visible{
  outline: 2px solid var(--tsd-ink);
  outline-offset: 3px;
}
body.tsd-configurator-page .tsd-pdp-hero__cart .wpc-btn-text,
body.tsd-configurator-page .tsd-pdp-hero__cart .wpc-btn-icon{
  color: inherit !important;
}
body.tsd-configurator-page .tsd-pdp-hero__preview .wpc-loading,
body.tsd-configurator-page .tsd-pdp-hero__preview .wpc-loader-wrap,
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-loading,
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-loader-wrap{
  color: var(--tsd-muted);
}
body.tsd-configurator-page .tsd-pdp-hero__cart .woocommerce-error,
body.tsd-configurator-page .tsd-pdp-hero__cart .woocommerce-message,
body.tsd-configurator-page .tsd-pdp-hero__cart .woocommerce-info{
  margin: 16px 0 0;
  padding: 14px 16px;
  border: 1px solid var(--tsd-line);
  border-top: 3px solid var(--tsd-blue);
  border-radius: 0;
  background: var(--tsd-white);
  color: var(--tsd-ink);
  font-size: 14px;
}
@media (max-width: 1024px){body.tsd-configurator-page .tsd-pdp-hero__preview,
  body.tsd-configurator-page .tsd-pdp-hero__preview > .elementor-widget-container{
    min-height: 430px;
  }
}
@media (max-width: 767px){body.tsd-configurator-page .tsd-pdp-hero__preview,
  body.tsd-configurator-page .tsd-pdp-hero__preview > .elementor-widget-container{
    min-height: 300px;
  }
body.tsd-configurator-page .tsd-pdp-hero__price .wpc-price-value,
  body.tsd-configurator-page .tsd-pdp-hero__price .amount,
  body.tsd-configurator-page .tsd-pdp-hero__price .woocommerce-Price-amount{
    font-size: 27px !important;
  }
body.tsd-configurator-page .tsd-pdp-hero__controls{
    margin-top: 22px;
    padding-top: 22px;
  }
body.tsd-configurator-page .tsd-pdp-hero__controls .wpc-parent-control > .wpc-control-lists-inner{
    gap: 24px;
  }
body.tsd-configurator-page .tsd-pdp-hero__controls li.wpc-control-type-icon.wpc-layer-type-image{
    width: 56px !important;
    height: 56px !important;
    flex-basis: 56px !important;
  }
}
@media (max-width: 420px){body.tsd-configurator-page .tsd-pdp-hero__controls li.wpc-control-type-icon.wpc-layer-type-image{
    width: 52px !important;
    height: 52px !important;
    flex-basis: 52px !important;
  }
}

/* Accessible swatch labels and status messaging for WP Configurator Pro. */

/* Elementor's 100% widget wrapper must grow with configurator helper copy. */
.single-product .tsd-pdp-hero__controls > .elementor-widget-container { height: auto; }

/* Storefront adds page-level gutters and spacing inside Elementor's breadcrumb. */
.single-product #tsd-product-purchase .tsd-pdp-hero__breadcrumb .storefront-breadcrumb,
.single-product #tsd-product-purchase .tsd-pdp-hero__breadcrumb .col-full,
.single-product #tsd-product-purchase .tsd-pdp-hero__breadcrumb .woocommerce-breadcrumb {
	margin: 0;
	padding: 0;
	max-width: none;
}

.single-product .tsd-purchase-guidance {
	color: var(--tsd-ink, var(--e-global-color-text));
	font-size: 14px;
	line-height: 1.5;
}

.single-product .tsd-purchase-guidance p { margin: 0 0 12px; }
.single-product .tsd-purchase-guidance p:last-child { margin-bottom: 0; }
.single-product .tsd-purchase-guidance a { text-decoration: underline; text-underline-offset: 3px; }

/* Native disclosure for shortcode content; no Elementor control exposes this element. */
.single-product .tsd-purchase-guidance--compact details { margin-bottom: 8px; }
.single-product .tsd-purchase-guidance--compact summary {
	min-height: 44px;
	padding: 10px 0;
	cursor: pointer;
	font-weight: 600;
	color: var(--e-global-color-text);
}
.single-product .tsd-purchase-guidance--compact summary:focus-visible {
	outline: 2px solid var(--e-global-color-secondary);
	outline-offset: 3px;
}
.single-product .tsd-purchase-guidance--compact details[open] summary { margin-bottom: 8px; }
.single-product .tsd-pdp-hero__controls.tsd-copy-standardized .wpc-layer-type-group[data-text="Accessories"] li.tsd-swatch-option.wpc-control-type-icon.wpc-layer-type-image {
	width: 96px !important;
	flex-basis: 96px !important;
}

.single-product .tsd-pdp-hero__controls .tsd-config-summary,
.single-product .tsd-config-summary-slot .tsd-config-summary {
	display: grid;
	gap: 2px;
	margin: 0 0 14px;
	color: var(--tsd-ink, var(--e-global-color-text));
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}

.single-product .tsd-pdp-hero__controls .tsd-config-summary__accessories,
.single-product .tsd-config-summary-slot .tsd-config-summary__accessories {
	color: var(--tsd-muted, var(--e-global-color-tsdmutd));
	font-weight: 500;
}

/* Compatibility with the template's full-width WP Configurator price rule. */
.single-product #tsd-product-purchase .tsd-config-price-feedback .tsd-pdp-hero__price {
	width: auto !important;
	flex: 0 0 auto;
	margin: 0 !important;
}

/* Remove the plugin's extra line box and margins so visible text centers. */
.single-product #tsd-product-purchase .tsd-config-price-feedback .wpc-single-price {
	margin: 0;
}

.single-product #tsd-product-purchase .tsd-config-price-feedback .wpc-total-text {
	margin: 0 0 6px;
}

.single-product #tsd-product-purchase .tsd-config-price-feedback .wpc-price-value {
	display: block;
	margin: 0;
	font-variant-numeric: tabular-nums;
}

.single-product .tsd-config-summary-slot {
	min-width: 0;
	flex: 1 1 0;
}

.single-product .tsd-config-summary-slot .tsd-config-summary {
	margin: 0;
	gap: 4px;
}

/* Keep plugin option nodes and keyboard order intact; pair only matching groups. */
.single-product .tsd-pdp-hero__controls {
	container-type: inline-size;
}

/* Clear group hierarchy without the plugin's widely tracked capitals. */
.single-product #configure .tsd-pdp-hero__controls .wpc-layer-title-text {
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	line-height: 1.4 !important;
}

.single-product #configure .tsd-pdp-hero__controls .wpc-layer-title-wrap {
	margin-bottom: 12px !important;
}

/* Balanced finish rows avoid a single orphan swatch at intermediate widths. */
@container (min-width: 300px) and (max-width: 519px) {
	.single-product #configure .tsd-pdp-hero__controls .wpc-layer-type-group[data-text="Work Surface Finish"] > .wpc-sub-control > .wpc-control-lists-inner {
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		row-gap: 16px !important;
	}
}

@container (min-width: 460px) {
	.single-product #configure .tsd-pdp-hero__controls .wpc-parent-control > .wpc-control-lists-inner:has(> [data-text="Frame Color"] + [data-text="Accessories"]) {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		column-gap: 24px !important;
	}
	.single-product #configure .tsd-pdp-hero__controls .wpc-parent-control > .wpc-control-lists-inner > .wpc-layer-type-group {
		grid-column: 1 / -1;
		min-width: 0;
	}
	.single-product #configure .tsd-pdp-hero__controls .wpc-parent-control > .wpc-control-lists-inner:has(> [data-text="Frame Color"] + [data-text="Accessories"]) > [data-text="Frame Color"] {
		grid-column: 1;
	}
	.single-product #configure .tsd-pdp-hero__controls .wpc-parent-control > .wpc-control-lists-inner:has(> [data-text="Frame Color"] + [data-text="Accessories"]) > [data-text="Accessories"] {
		grid-column: 2;
	}
}


.single-product .tsd-pdp-hero__controls li.tsd-swatch-option.wpc-control-type-icon.wpc-layer-type-image {
	display: flex !important;
	position: relative;
	width: 68px !important;
	height: auto !important;
	min-height: 88px;
	flex: 0 0 68px !important;
	flex-direction: column;
	gap: 8px;
	align-items: flex-start;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	vertical-align: top;
}

.single-product .tsd-pdp-hero__controls li.tsd-swatch-option.wpc-control-type-icon.wpc-layer-type-image img {
	display: block;
	width: 60px !important;
	height: 60px !important;
	box-sizing: border-box;
	border: 1px solid var(--tsd-line, var(--e-global-color-tsdline)) !important;
	transition: border-color 150ms ease, opacity 150ms ease, outline-color 150ms ease;
}

.single-product .tsd-pdp-hero__controls li.tsd-swatch-option:hover img {
	border-color: var(--tsd-ink, var(--e-global-color-text)) !important;
}

.single-product .tsd-pdp-hero__controls li.tsd-swatch-option.wpc-control-type-icon.wpc-layer-type-image.current img {
	border: 2px solid var(--tsd-ink, var(--e-global-color-text)) !important;
	outline: none;
	box-shadow: none !important;
}

/*
 * Elementor's page-level custom CSS (post-34.css) still carries an older
 * `li.wpc-control-type-icon.wpc-layer-type-image.current { border: 2px
 * solid ...!important }` rule from before this accessibility pass existed.
 * Its selector (body.elementor-page-34 ...) out-specifies the plain LI
 * reset above by one element, so the old border wins the swatch tile
 * instead of the tight ring on the image. Out-specify it directly rather
 * than editing Elementor's generated CSS, which gets regenerated.
 */
.single-product .tsd-pdp-hero__controls li.wpc-control-item.tsd-swatch-option.wpc-control-type-icon.wpc-layer-type-image.current {
	border: 0 !important;
	box-shadow: none !important;
}

.single-product .tsd-pdp-hero__controls li.tsd-swatch-option:focus-visible {
	outline: 2px solid var(--tsd-blue, var(--e-global-color-secondary)) !important;
	outline-offset: 3px !important;
}

.single-product .tsd-pdp-hero__controls li.tsd-swatch-option:focus-visible img {
	outline: none;
}

.single-product .tsd-pdp-hero__controls li.tsd-swatch-option.wpc-control-type-icon .wpc-control-item-info {
	display: block !important;
	position: static !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	pointer-events: none;
}

.single-product .tsd-pdp-hero__controls li.tsd-swatch-option.wpc-control-type-icon .wpc-control-item-info-inner {
	display: block !important;
	min-width: 0 !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.single-product .tsd-pdp-hero__controls li.tsd-swatch-option.wpc-control-type-icon .wpc-control-item-name {
	display: block !important;
	color: var(--tsd-ink, var(--e-global-color-text)) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
	text-align: left;
	text-transform: none !important;
	white-space: normal !important;
	word-break: normal;
	overflow-wrap: break-word;
}

.single-product .tsd-pdp-hero__controls li.tsd-swatch-option.wpc-control-type-icon .wpc-hover-price {
	display: none !important;
}

.single-product .tsd-pdp-hero__controls li.tsd-swatch-option.wpc-control-type-label.current .wpc-icon-label,
.single-product .tsd-pdp-hero__controls li.tsd-swatch-option.wpc-control-type-label.current .wpc-control-item-name,
.single-product .tsd-pdp-hero__controls li.tsd-swatch-option.wpc-control-type-label.current .wpc-hover-price {
	color: var(--e-global-color-primary) !important;
}

/* Keep every Work Surface Size choice in one row, with price as secondary text. */
.single-product .tsd-pdp-hero__controls .wpc-layer-type-group:is([data-text="Work Surface Size"], [data-text="Worksurface Size"]) > .wpc-sub-control > .wpc-control-lists-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1.25fr);
	grid-auto-columns: minmax(0, 1fr);
	grid-auto-flow: column;
	gap: 6px;
	width: 100%;
}

.single-product .tsd-pdp-hero__controls .wpc-layer-type-group:is([data-text="Work Surface Size"], [data-text="Worksurface Size"]) li.tsd-swatch-option.wpc-control-type-label.wpc-layer-type-image {
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	min-height: 56px;
	flex: none !important;
	padding-inline: 3px !important;
}

.single-product .tsd-pdp-hero__controls .wpc-layer-type-group:is([data-text="Work Surface Size"], [data-text="Worksurface Size"]) .wpc-control-item-label,
.single-product .tsd-pdp-hero__controls .wpc-layer-type-group:is([data-text="Work Surface Size"], [data-text="Worksurface Size"]) .wpc-icon-label-inner,
.single-product .tsd-pdp-hero__controls .wpc-layer-type-group:is([data-text="Work Surface Size"], [data-text="Worksurface Size"]) .wpc-icon-label {
	width: 100% !important;
}

.single-product .tsd-pdp-hero__controls .wpc-layer-type-group:is([data-text="Work Surface Size"], [data-text="Worksurface Size"]) .wpc-icon-label {
	flex-direction: column;
	gap: 3px;
	align-items: center;
	justify-content: center;
	text-align: center;
	white-space: nowrap;
}

.single-product .tsd-pdp-hero__controls .wpc-layer-type-group:is([data-text="Work Surface Size"], [data-text="Worksurface Size"]) .wpc-control-item-name {
	white-space: nowrap;
}

.single-product .tsd-pdp-hero__controls .wpc-layer-type-group:is([data-text="Work Surface Size"], [data-text="Worksurface Size"]) .wpc-hover-price {
	display: inline-flex !important;
	gap: 3px;
	align-items: baseline;
	justify-content: center;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1.1;
	white-space: nowrap;
}

.single-product .tsd-pdp-hero__controls .wpc-layer-type-group:is([data-text="Work Surface Size"], [data-text="Worksurface Size"]) .wpc-hover-price .wpc-plus {
	display: none;
}

.single-product .tsd-pdp-hero__controls .wpc-layer-type-group:is([data-text="Work Surface Size"], [data-text="Worksurface Size"]) .wpc-hover-price .amount:not(:last-child) {
	opacity: 0.68;
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

.single-product .tsd-pdp-hero__controls .wpc-layer-type-group:is([data-text="Work Surface Size"], [data-text="Worksurface Size"]) .wpc-hover-price .amount:last-child {
	font-weight: 700;
}

/*
 * Configurator density pass: preserve the purchase hierarchy and full-size
 * controls while removing repeated whitespace between related decisions.
 */




.single-product #configure .tsd-pdp-hero__rating,
.single-product #configure .tsd-pdp-hero__description {
	margin-top: 10px !important;
}

.single-product #configure .tsd-pdp-hero__price {
	margin-top: 14px !important;
}

.single-product #configure .tsd-pdp-hero__controls {
	margin-top: 16px !important;
	padding-top: 16px !important;
}

.single-product #configure .tsd-pdp-hero__controls .wpc-parent-control > .wpc-control-lists-inner {
	gap: 20px !important;
}

.single-product #configure .tsd-pdp-hero__controls .wpc-layer-title-wrap {
	margin-bottom: 8px !important;
}

.single-product #configure .tsd-pdp-hero__controls .wpc-sub-control > .wpc-control-lists-inner {
	gap: 8px !important;
}

.single-product #configure .tsd-pdp-hero__cart {
	margin-top: 18px !important;
}

.single-product #configure .tsd-pdp-hero__compare {
	margin-top: 8px !important;
}

/* Trust content spacing is owned by native Elementor controls. */

.single-product .tsd-pdp-hero__controls .wpc-cl-disable-group {
	opacity: 1 !important;
}

.single-product .tsd-pdp-hero__controls li.tsd-swatch-option.wpc-cl-disable-layer,
.single-product .tsd-pdp-hero__controls .wpc-cl-disable-group li.tsd-swatch-option {
	opacity: 1 !important;
	cursor: not-allowed !important;
	pointer-events: auto !important;
}

.single-product .tsd-pdp-hero__controls li.tsd-swatch-option.wpc-cl-disable-layer img,
.single-product .tsd-pdp-hero__controls .wpc-cl-disable-group li.tsd-swatch-option img {
	opacity: 0.38;
	filter: grayscale(0.65);
}

.single-product .tsd-pdp-hero__controls li.tsd-swatch-option.wpc-cl-disable-layer .wpc-control-item-name,
.single-product .tsd-pdp-hero__controls .wpc-cl-disable-group li.tsd-swatch-option .wpc-control-item-name {
	color: var(--tsd-muted, var(--e-global-color-tsdmutd)) !important;
}

.single-product .tsd-pdp-hero__controls .tsd-option-reason {
	display: block;
	position: absolute;
	z-index: 80;
	left: 0;
	bottom: calc(100% + 8px);
	width: 210px;
	padding: 9px 11px;
	color: var(--e-global-color-primary);
	background: var(--tsd-ink, var(--e-global-color-text));
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	opacity: 0;
	visibility: hidden;
	transform: translateY(4px);
	transition: opacity 150ms ease, transform 150ms ease, visibility 150ms ease;
	pointer-events: none;
}

.single-product .tsd-pdp-hero__controls li.tsd-swatch-option:nth-last-child(-n + 2) .tsd-option-reason {
	left: auto;
	right: 0;
}

.single-product .tsd-pdp-hero__controls li.tsd-swatch-option.wpc-cl-disable-layer:hover .tsd-option-reason,
.single-product .tsd-pdp-hero__controls li.tsd-swatch-option.wpc-cl-disable-layer:focus-visible .tsd-option-reason,
.single-product .tsd-pdp-hero__controls .wpc-cl-disable-group li.tsd-swatch-option:hover .tsd-option-reason,
.single-product .tsd-pdp-hero__controls .wpc-cl-disable-group li.tsd-swatch-option:focus-visible .tsd-option-reason {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.single-product .woocommerce-notices-wrapper .woocommerce-message {
	margin: 0 0 24px;
	padding: 16px 20px 16px 48px;
	border: 1px solid var(--tsd-line, var(--e-global-color-tsdline));
	border-radius: 0;
	background: var(--tsd-white, var(--e-global-color-primary));
	color: var(--tsd-ink, var(--e-global-color-text));
	box-shadow: none;
	font-weight: 500;
}

.single-product .woocommerce-notices-wrapper .woocommerce-message::before {
	top: 16px;
	left: 20px;
	color: var(--tsd-cobalt, var(--e-global-color-secondary));
}

.single-product .woocommerce-notices-wrapper .woocommerce-message a,
.single-product .woocommerce-notices-wrapper .woocommerce-message .button {
	color: var(--tsd-cobalt, var(--e-global-color-secondary));
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.single-product .woocommerce-notices-wrapper .woocommerce-message .button {
	border: 0;
	border-radius: 0;
	background: transparent;
}

@media (max-width: 1024px) {
	

	

	

	.single-product .tsd-pdp-hero__controls .tsd-option-reason {
		left: auto;
		right: 0;
		width: min(210px, calc(100vw - 48px));
	}
}

@media (max-width: 767px) {
	


	.single-product #configure .tsd-pdp-hero__preview,
	.single-product #configure .tsd-pdp-hero__preview > .elementor-widget-container {
		min-height: 240px !important;
	}

	.single-product #configure .tsd-pdp-hero__preview .wpc-preview-parent-wrap {
		width: 280px !important;
		max-width: 100% !important;
	}

	.single-product #configure .tsd-pdp-hero__controls {
		margin-top: 16px !important;
		padding-top: 16px !important;
	}

	.single-product #configure .tsd-pdp-hero__controls .wpc-parent-control > .wpc-control-lists-inner {
		gap: 24px !important;
	}

	.single-product #configure .tsd-pdp-hero__cart {
		margin-top: 16px !important;
	}

	.single-product .tsd-pdp-hero__controls li.tsd-swatch-option.wpc-control-type-icon.wpc-layer-type-image {
		width: 72px !important;
		flex-basis: 72px !important;
	}

	.single-product .tsd-pdp-hero__controls .tsd-option-reason {
		width: min(210px, calc(100vw - 40px));
	}
}

.tsd-mobile-configure-return {
	display: none;
}

@media (max-width: 767px) {
	.tsd-mobile-configure-return {
		display: grid;
		position: fixed;
		z-index: 1000;
		right: 20px;
		bottom: max(16px, env(safe-area-inset-bottom));
		left: 20px;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 12px;
		min-height: 52px;
		align-items: center;
		padding: 13px 16px;
		border: 1px solid var(--tsd-cobalt, var(--e-global-color-secondary));
		border-radius: 0;
		background: var(--tsd-cobalt, var(--e-global-color-secondary));
		color: var(--tsd-white, var(--e-global-color-primary));
		font-size: 15px;
		font-weight: 700;
		line-height: 1.2;
		text-decoration: none;
	}

	.tsd-mobile-configure-return[hidden] {
		display: none;
	}

	.tsd-mobile-configure-return:hover {
		border-color: var(--tsd-ink, var(--e-global-color-text));
		background: var(--tsd-ink, var(--e-global-color-text));
		color: var(--tsd-white, var(--e-global-color-primary));
	}

	.tsd-mobile-configure-return:focus-visible {
		outline: 2px solid var(--tsd-ink, var(--e-global-color-text));
		outline-offset: 3px;
	}

	.tsd-mobile-configure-return__price {
		font-variant-numeric: tabular-nums;
		white-space: nowrap;
	}
}

