/* Live engine integration. These scoped values prevent inherited light commerce tokens.
   The custom cart and checkout own their layouts; Woo owns validation, stock and totals. */
@media(max-width:600px){.gp-home.gp-product .gp-model-path{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:16px}.gp-home.gp-product .gp-model-path>div{width:100%;font-size:13px}.gp-product .gp-model-path .gp-port-mark{display:none}.gp-product .gp-model-path .gp-model-path-product{width:min(100%,340px)}.gp-product .gp-model-path>b{transform:rotate(90deg);line-height:1}}
.gp-product .gp-model-path{display:flex;align-items:center;gap:12px;justify-content:space-between;text-align:center}.gp-product .gp-model-path>div{flex:1;min-width:0;display:grid;gap:16px;font-size:12px;color:var(--gp-ivory)}.gp-product .gp-model-path-product{flex:1.8;min-width:0;margin:0}.gp-product .gp-model-path-product img{display:block;width:100%;height:auto}.gp-product .gp-model-path-product figcaption{font-size:14px;color:#e7b67b}.gp-product .gp-model-path>b{font-size:24px;font-weight:400;color:#c29258}.gp-product .gp-port-mark{font-size:38px;color:#d0ad7d}.gp-product .gp-model-path-note{font-size:12px!important;margin-top:24px!important;color:var(--gp-muted)!important;max-width:none!important;text-align:center}.gp-product .gp-product-notices:empty{display:none}.gp-product .gp-product-notices{padding-bottom:24px}.gp-product .gp-product-closeups .gp-closeup-image img{object-fit:contain}
.gp-home.gp-pages,.gp-home.gp-product{--font-heading:var(--gp-font);--font-body:var(--gp-font);--font-number:var(--gp-font);--text-heading:var(--gp-ivory);--text-body:var(--gp-ivory);--surface:#10120e;--on-surface:var(--gp-ivory);--btn-primary-bg:#c7a77a;--btn-primary-text:#17160f;--btn-primary-hover:#ddc49d;--btn-secondary-text:#17160f;--btn-outline-color:#c7a77a;--accent-text:#c7a77a;--accent-hover-on-light:#ddc49d;--accent-hover-on-dark:#ddc49d;--text-muted:var(--gp-muted);--brand-text:#d0ad7d;--bg-alt:#11130f;--card-bg:#10120e;--card-border:#585343;--border:#3d4034;--card-radius:0px;--radius-card:0px;--input-radius:0px;--radius-input:0px;--input-bg:#141612;--input-border:#716b5c;--success-bg:#141a11;--success:#c3a172;--success-text:#eee4d3;--color-info-bg:#12150f;--color-info:#d0ad7d;--error-bg:#291a15;--error:#edb59d;--error-text:#ffddd0;--focus-ring:#d0ad7d;--brand-pale:#bda27433}
.gp-home :is(.woocommerce-message,.woocommerce-error,.woocommerce-info){font:400 15px/1.65 var(--gp-font);border:1px solid #615b49;border-left:3px solid #c4a172;border-radius:0;box-shadow:none;background:linear-gradient(110deg,#1b1e16,#0d100b);color:var(--gp-ivory);padding:20px 24px!important;margin-bottom:24px;gap:16px;min-width:0;overflow-wrap:anywhere}
.gp-home .woocommerce-error{border-color:#b97c64;background:#241813;color:#ffddd0;display:block}
.gp-home :is(.woocommerce-message,.woocommerce-error,.woocommerce-info) a{color:#e8c694;text-decoration:underline;text-underline-offset:4px}
.gp-home :is(.woocommerce-message,.woocommerce-info) .button{background:var(--gp-hifi-gold);color:#17160f;border:1px solid #d7c8ae;border-radius:0;min-height:44px;padding:12px 24px;text-decoration:none;font:600 12px/1.5 var(--gp-font);letter-spacing:.08em;text-transform:uppercase;margin-left:auto;white-space:nowrap}
.gp-home :is(.woocommerce-message,.woocommerce-error,.woocommerce-info):focus{outline:1px solid #d0ad7d;outline-offset:4px}
.gp-home .woocommerce-message:before,.gp-home .woocommerce-info:before,.gp-home .woocommerce-error:before{display:none!important}
.gp-pages .gp-commerce>.woocommerce{display:block;grid-template-columns:none;width:100%;max-width:none;margin:0;padding:0}
.gp-home .wc-block-components-notice-banner{background:linear-gradient(110deg,#1b1e16,#0d100b)!important;color:var(--gp-ivory)!important;border:1px solid #615b49!important;border-left:3px solid #c4a172!important;border-radius:0!important;box-shadow:none;padding:20px 24px!important;margin:0 0 24px;font:400 15px/1.6 var(--gp-font);gap:16px;align-items:center}
.gp-home .wc-block-components-notice-banner>svg{background:#d0ad7d!important;fill:#141710!important;flex-shrink:0}
.gp-home .wc-block-components-notice-banner.is-error{background:#241813!important;border-color:#b97c64!important;color:#ffddd0!important}
.gp-home .wc-block-components-notice-banner__content{display:flex;flex:1;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;min-width:0}
.gp-home .wc-block-components-notice-banner__content a{color:#e8c694;text-underline-offset:4px}
.gp-home .wc-block-components-notice-banner__content a.button{background:var(--gp-hifi-gold)!important;color:#17160f!important;border:1px solid #d7c8ae!important;border-radius:0!important;box-shadow:var(--gp-hifi-shadow);padding:12px 24px!important;margin:0!important;text-decoration:none!important;min-height:44px;font:600 12px/1.5 var(--gp-font);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;opacity:1!important}
.gp-home .wc-block-components-notice-banner:focus{outline:1px solid #d0ad7d;outline-offset:4px}
.gp-home .gp-added-copy{display:grid;gap:4px}.gp-home .gp-added-copy strong{font-weight:500;font-size:17px}.gp-home .gp-added-copy>span{font-size:13px;color:var(--gp-muted)}
.gp-pages .gp-commerce table.shop_table{background:transparent;color:var(--gp-ivory);box-shadow:none;overflow:visible}
.gp-pages .gp-commerce table.shop_table :is(th,td){background:transparent;color:var(--gp-ivory);font-family:var(--gp-font);overflow-wrap:normal;word-break:normal}
.gp-pages .gp-commerce :is(h2,h3,label,.amount){font-family:var(--gp-font);color:var(--gp-ivory)}
.gp-pages .gp-commerce :is(h2,h3){font-size:26px;font-weight:400;letter-spacing:-.035em;line-height:1.25}
.gp-pages .gp-commerce .gp-rack-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
.gp-pages .gp-rack-layout .woocommerce-cart-form,.gp-pages .gp-rack-layout .cart-collaterals{width:100%;float:none;min-width:0}
.gp-pages .gp-rack-summary:before,.gp-pages .gp-rack-summary:after{display:none!important;content:none!important}
.gp-pages .gp-rack-panel{border:1px solid #585343;padding:24px;background:linear-gradient(120deg,#151812,#080a07)}
.gp-pages .gp-commerce .gp-rack-table thead th{padding:0 0 20px;font-size:11px;letter-spacing:.1em;color:#d3cebf}
.gp-pages .gp-commerce .gp-rack-table th:first-child{width:58%}
.gp-pages .gp-commerce .gp-rack-table th:nth-child(2){width:24%}
.gp-pages .gp-commerce .gp-rack-table th:last-child,.gp-pages .gp-commerce .gp-rack-table .product-subtotal{text-align:right}
.gp-pages .gp-commerce .gp-rack-table td{padding:24px 0;vertical-align:top}
.gp-pages .gp-rack-product{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center;padding-right:16px}
.gp-pages .gp-commerce .gp-rack-table .gp-rack-image img{display:block;width:100%!important;height:140px;object-fit:contain;max-width:100%!important}
.gp-pages .gp-rack-product h2{font-size:23px;margin:0 0 8px;line-height:1.2;white-space:nowrap}
.gp-pages .gp-rack-product p{font-size:13px;line-height:1.6;margin:0;color:var(--gp-muted)}
.gp-pages .gp-rack-product .gp-rack-unit-price{margin-top:16px;color:var(--gp-ivory);font-size:14px}
.gp-pages .gp-rack-unit-price small{display:block;color:var(--gp-muted);font-size:11px}
.gp-pages .gp-rack-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:8px;align-items:center}
.gp-pages .gp-rack-links :is(button,a){padding:0;min-height:44px;display:inline-flex;align-items:center;font:400 12px/1.4 var(--gp-font);text-decoration:underline;text-underline-offset:4px;color:#d4cebd;background:none;border:0}
.gp-pages .gp-commerce .gp-rack-quantity{display:inline-flex;gap:6px;align-items:center}
.gp-pages .gp-commerce .gp-rack-quantity .gp-hifi{padding:0;min-width:34px;width:34px;min-height:44px;font-size:18px}
.gp-pages .gp-commerce .gp-rack-quantity .qty{width:44px;min-height:44px;padding:8px 2px!important;font-size:14px;appearance:textfield}
.gp-pages .gp-rack-quantity input::-webkit-inner-spin-button{appearance:none}
.gp-pages .gp-commerce .gp-rack-table .product-subtotal{font-size:18px;white-space:nowrap}
.gp-pages .gp-rack-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.gp-pages .gp-rack-actions>a{font-size:14px;color:#e4d9c5;min-height:44px;display:flex;align-items:center}
.gp-pages .gp-cart-coupon{margin-top:16px}
.gp-pages .gp-cart-coupon summary{display:flex;justify-content:space-between;gap:24px;padding-block:12px;font-size:13px;cursor:pointer;color:var(--gp-muted)}
.gp-pages .gp-cart-coupon .coupon{padding-top:16px;max-width:none;width:100%}
.gp-pages .gp-commerce .gp-cart-coupon .coupon .input-text{width:auto!important;flex:1}
.gp-pages .gp-commerce .gp-rack-summary .cart_totals{padding:24px;background:linear-gradient(120deg,#22251b,#0c0f09);border:1px solid #81745b}
.gp-pages .gp-rack-summary h2{margin-bottom:24px}
.gp-pages .gp-commerce .cart_totals table th{width:40%;color:var(--gp-muted)}
.gp-pages .gp-commerce .cart_totals table td{text-align:right}
.gp-pages .gp-cart-compatibility{margin-top:16px;border:1px solid #585343;background:#0e100c;padding:24px}
.gp-pages .gp-cart-compatibility h2{font-size:20px;margin-bottom:8px}
.gp-pages .gp-cart-compatibility p{font-size:13px;margin-bottom:16px}
.gp-pages .gp-commerce .wc-proceed-to-checkout{padding-top:24px}
.gp-pages .gp-commerce #order_review{width:100%;float:none;position:static;top:auto;border:0;padding:0;border-radius:0;background:transparent;box-shadow:none}
.gp-pages .gp-commerce form.checkout>:is(.woocommerce-NoticeGroup,.woocommerce-error,.wc-block-components-notice-banner){grid-column:1/-1;min-width:0}
.gp-pages .gp-commerce form .woocommerce-invalid :is(label,.woocommerce-error-message){color:#f3b5a0!important}
.gp-pages .gp-commerce form .checkout-inline-error-message{color:#f3b5a0!important}
.gp-pages .gp-commerce form .woocommerce-invalid :is(input,select,textarea){border-color:#b97c64!important}
.gp-pages .gp-commerce #order_review table.shop_table td{padding:20px 0}
.gp-pages .gp-commerce #order_review .product-total{width:90px;text-align:right;white-space:nowrap}
.gp-pages .gp-checkout-item{display:grid;grid-template-columns:85px minmax(0,1fr);gap:16px;align-items:center}
.gp-pages .gp-checkout-item img{width:85px;height:70px;object-fit:contain;background:#000;border:1px solid #34382c}
.gp-pages .gp-checkout-item strong{display:block;font-size:17px;font-weight:400;white-space:nowrap}
.gp-pages .gp-checkout-item small{display:block;margin-top:6px;font-size:12px;color:var(--gp-muted)}
.gp-pages .gp-commerce .gp-order-review-wrap>h3{margin:0 0 24px}
.gp-pages .gp-commerce .gp-checkout-fields #payment{padding-top:24px;border-top:1px solid #585343;margin-top:24px}
.gp-pages .gp-commerce .gp-checkout-fields #payment .form-row{margin-bottom:0}
.gp-pages .gp-commerce .gp-checkout-fields .woocommerce-billing-fields h3{font-size:24px}
.gp-pages .gp-commerce .woocommerce-billing-fields__field-wrapper{display:flex;gap:0 24px;flex-wrap:wrap}
.gp-pages .gp-commerce form .form-row-first,.gp-pages .gp-commerce form .form-row-last{float:none;width:calc(50% - 12px)}
.gp-pages .gp-commerce form .form-row-wide{width:100%}
.gp-pages .gp-commerce .gp-contact-heading{font-size:24px;margin-bottom:20px}
.gp-pages .gp-commerce .gp-billing-heading{width:100%;border-top:1px solid #585343;padding-top:24px;margin:8px 0 24px}
.gp-pages .gp-checkout-help{border-top:1px solid #585343;margin-top:24px;padding-top:24px}
.gp-pages .gp-checkout-help h3{font-size:20px;margin-bottom:8px}
.gp-pages .gp-checkout-help p{font-size:14px;margin-bottom:16px}
.gp-pages .gp-checkout-help nav{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px;font-size:12px;color:#d0ad7d}
.gp-pages.gp-page-checkout .gp-pages-hero .gp-lockup{align-items:center;text-align:center;margin-inline:auto}
.gp-pages.gp-page-checkout .gp-pages-hero h1{max-width:20ch}
.gp-pages.gp-page-checkout .gp-checkout-progress{justify-content:center}
.gp-pages .gp-groove-hero{background-image:linear-gradient(0deg,#000,transparent 65%),linear-gradient(90deg,#000 32%,#0004),url('images/backgrounds/product-studio-abstract-v1.webp');background-size:cover;background-position:center,right center}
.gp-pages .gp-checkout-progress [aria-current=step]:before{content:'';width:9px;height:9px;display:inline-block;border-radius:50%;background:#d0ad7d;box-shadow:0 0 0 4px #d0ad7d33;margin-right:12px}
@media(max-width:1399px){.gp-pages .gp-commerce .gp-rack-layout{grid-template-columns:minmax(0,1fr) 330px}.gp-pages .gp-rack-product{grid-template-columns:130px minmax(0,1fr);gap:16px}.gp-pages .gp-rack-product h2{font-size:20px}}
@media(max-width:1199px){.gp-pages .gp-commerce .gp-rack-layout{grid-template-columns:1fr}.gp-pages .gp-rack-product{grid-template-columns:200px minmax(0,1fr)}.gp-pages .gp-rack-summary{display:grid;grid-template-columns:1fr 1fr;gap:24px}.gp-pages .gp-cart-compatibility{margin-top:0}.gp-pages .gp-commerce .gp-rack-table th:first-child{width:60%}}
@media(max-width:768px){.gp-pages .gp-rack-panel{padding:24px}.gp-pages .gp-rack-summary{display:block}.gp-pages .gp-cart-compatibility{margin-top:24px}.gp-pages .gp-rack-product{grid-template-columns:150px minmax(0,1fr);padding:0}.gp-pages .gp-commerce .gp-rack-table tr.woocommerce-cart-form__cart-item{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #585343}.gp-pages .gp-commerce .gp-rack-table td{border:0;width:100%;padding:12px 0;min-width:0}.gp-pages .gp-commerce .gp-rack-table .product-name{grid-column:1/-1}.gp-pages .gp-commerce .gp-rack-table .product-quantity,.gp-pages .gp-commerce .gp-rack-table .product-subtotal{display:flex;flex-direction:column;align-items:flex-start;gap:12px;text-align:left!important}.gp-pages .gp-commerce .gp-rack-table .product-subtotal{align-items:flex-end}.gp-pages .gp-commerce .gp-rack-table td[data-title]:before{font-size:12px;color:var(--gp-muted)}.gp-pages .gp-commerce .gp-rack-table td.product-name:before{display:none}.gp-pages .gp-rack-actions{align-items:stretch;flex-direction:column}.gp-pages .gp-cart-coupon .coupon{display:flex}.gp-pages .gp-commerce form .form-row-first,.gp-pages .gp-commerce form .form-row-last{width:100%}.gp-pages .gp-checkout-item{grid-template-columns:65px minmax(0,1fr);gap:12px}.gp-pages .gp-checkout-item img{width:65px;height:60px}}
@media(max-width:480px){.gp-pages .gp-rack-product{grid-template-columns:1fr}.gp-pages .gp-rack-image img{width:100%;height:170px}.gp-pages .gp-rack-links{gap:24px}.gp-home :is(.woocommerce-message,.woocommerce-info) .button{width:100%;margin:0;text-align:center}}

/* Photo-led signal paths: one equipment row, including parallel outputs. */
.gp-product .gp-product-signal-illustrated .gp-product-signal-inner{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:var(--gp-s40)}
.gp-product .gp-product-signal-inner>div:first-child>p:not(.gp-eyebrow){font-size:var(--gp-body);line-height:1.7;color:var(--gp-muted);max-width:none;margin-top:var(--gp-s16)}
.gp-product .gp-product-signal-inner>div:first-child>h2+p:not(.gp-eyebrow){margin-top:var(--gp-s24)}
.gp-product .gp-signal-chain-wrap{min-width:0}
.gp-product .gp-signal-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:var(--gp-bronze,#aa8460) var(--gp-graphite);scrollbar-width:thin;padding-block:var(--gp-s8)}
.gp-product .gp-signal-scroll:focus-visible{outline:2px solid var(--gp-ivory);outline-offset:var(--gp-s8)}
.gp-product .gp-signal-chain{display:grid;grid-template-columns:minmax(0,1fr) var(--gp-s24) minmax(0,1.7fr) var(--gp-s24) minmax(0,1fr);gap:var(--gp-s16);align-items:start;text-align:center}
.gp-product .gp-signal-chain-branch{grid-template-columns:minmax(0,1fr) var(--gp-s24) minmax(0,1.8fr) var(--gp-s24) minmax(0,1.6fr)}
.gp-product .gp-signal-chain figure{margin:0;min-width:0}
.gp-product .gp-signal-chain img{display:block;width:100%;height:144px;object-fit:contain;background:transparent}
.gp-product .gp-signal-chain figcaption{font-size:12px;line-height:1.6;color:var(--gp-ivory);margin-top:var(--gp-s16)}
.gp-product .gp-signal-chain .gp-signal-product figcaption{color:var(--gp-copper,#e7b67b);font-size:15px}
.gp-product .gp-signal-arrow{font-size:24px;font-weight:400;color:var(--gp-bronze,#aa8460);height:144px;display:grid;place-items:center}
.gp-product .gp-signal-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gp-s16)}
.gp-product .gp-signal-pair figcaption{font-size:12px}
.gp-product .gp-product-signal-system .gp-product-signal-inner{grid-template-columns:1fr}
.gp-product .gp-product-signal-system .gp-product-signal-inner>div:first-child{display:grid;grid-template-columns:.8fr 1.4fr;column-gap:var(--gp-s64)}
.gp-product .gp-product-signal-system .gp-product-signal-inner>div:first-child>.gp-eyebrow{grid-column:1/-1}
.gp-product .gp-product-signal-system .gp-product-signal-inner>div:first-child>p:not(.gp-eyebrow){grid-column:2}
.gp-product .gp-signal-chain-four{grid-template-columns:minmax(0,1.5fr) var(--gp-s24) minmax(0,2fr) var(--gp-s24) minmax(0,1fr) var(--gp-s24) minmax(0,1fr)}
.gp-product .gp-signal-scroll-hint{display:none}
@media(max-width:1199px){.gp-product .gp-product-signal-illustrated .gp-product-signal-inner{grid-template-columns:1fr}}
@media(max-width:700px){
 .gp-product .gp-product-signal-system .gp-product-signal-inner>div:first-child{display:block}
 .gp-product .gp-signal-chain{min-width:680px}
 .gp-product .gp-signal-chain-four{min-width:920px}
 .gp-product .gp-signal-scroll-hint{display:block;font-size:12px;color:var(--gp-muted);margin:0 0 var(--gp-s16)}
 .gp-product .gp-product-signal-illustrated .gp-product-signal-inner{gap:var(--gp-s40)}
}

/* The engine's checkout CSS is archetype-driven: it paints the payment rows with
   var(--card-bg,#fff) and labels them var(--on-surface,var(--text-heading)), and its
   own comment says a dark archetype is expected to re-point those. This site's skin is
   hand-authored rather than archetype-driven and had re-pointed --card-bg, --border,
   --input-bg and --text-heading but not --surface or --on-surface, so both kept their
   light-theme values: the selected row painted #FFFFFF and every unselected label was
   #1F2937 slate on the #10120E ground, measured at 1.28:1 against a 4.5:1 requirement.
   The binding above fixes both by setting the variables; overriding the engine's own
   component rules from a client repo would not be the sanctioned route.

   --brand is still the recipe's #114899 blue, which is what colours the radio and the
   selected row's ring. Re-pointed here for the payment list only. The blue is wrong
   everywhere else it surfaces too, but that belongs in the Monday design recipe, not
   in a client stylesheet. */
.gp-pages .gp-commerce #payment ul.payment_methods{--brand:var(--gp-copper);--accent:var(--gp-copper)}
.gp-pages .gp-commerce #payment ul.payment_methods li.wc_payment_method+li.wc_payment_method{margin-top:12px}
.gp-pages .gp-commerce #payment ul.payment_methods li.wc_payment_method>label{display:inline-flex;align-items:center;gap:12px;min-height:44px}
/* The engine paints these with !important, so the hover colour has to arrive through
   the variable above rather than through a competing rule. These two only restore the
   gold *surface*: the variable sets a flat colour, and the buttons are a gradient. */
.gp-pages .gp-commerce #place_order:hover,
.gp-pages .gp-commerce #place_order:focus-visible{background:var(--gp-hifi-gold)!important;color:#17160f!important;border-color:#d7c8ae!important}
.gp-pages .hzo-form .ff-btn.ff-btn-submit:hover,
.gp-pages .hzo-form .ff-btn.ff-btn-submit:focus-visible{background:var(--gp-hifi-gold)!important;color:#17160f!important;border-color:#d7c8ae!important}
