/* Schaefer Defense — consolidated site CSS (Phase 2 of the redesign roadmap).
   Sections migrate here from the Customizer "Additional CSS" post one at a time.
   Rules are ported byte-for-byte (lift-and-shift; original relative order preserved).
   Provenance: each block notes its origin location in the pre-migration post. */

/* =============================================================================
   PREAMBLE SHARED (final slice) — migrated 2026-08-10 (Phase 2, section 7).
   GLOBAL: BUTTONS + BCM BORDER RESETS + the h2-white stray. POSITIONED FIRST
   deliberately: these were the EARLIEST rules in the Customizer post, so every
   other migrated block must keep out-ordering them on equal-specificity ties.
   Do not move this block below the others.
   ============================================================================= */
/* GLOBAL: BUTTONS — unified red (shop pass, 2026-08-11). The old var(--ccr-accent) /
   hover #0177E3 pair is retired for the finalist tokens; one red site-wide.
   The historic 9-deep :not() chain excluded Jet UI that is now deactivated
   (JetSearch/JetMenu/jet-popup) — trimmed to the two live exclusions:
   Omnisend's injected forms and the theme's own sd-* components, which carry
   their own design. Deliberately low specificity now (was ~(0,11,1)): native
   components override with ordinary selectors instead of specificity hammers. */
.elementor-kit-39208 button:not([class*="omnisend"]):not([class*="sd-"]),
.elementor-kit-39208 input[type='button'], .elementor-kit-39208 input[type='submit'],
.elementor-kit-39208 .elementor-button, .woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit, .woocommerce .button,
a.add_to_cart_button, button.add_to_cart_button { background-color: var(--ccr-accent) !important; color: #ffffff !important; transition: background-color 0.2s ease !important; }
.elementor-kit-39208 button:not([class*="omnisend"]):not([class*="sd-"]):hover,
.elementor-kit-39208 input[type='button']:hover, .elementor-kit-39208 input[type='submit']:hover,
.elementor-kit-39208 .elementor-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce #respond input#submit:hover, .woocommerce .button:hover,
a.add_to_cart_button:hover, button.add_to_cart_button:hover { background-color: var(--ccr-blue) !important; color: #ffffff !important; }
.jet-unfold__button, .elementor-kit-39208 .jet-unfold__button, [class*='elementor-element'] .jet-unfold__button { background-color: transparent !important; background: transparent !important; color: var(--e-global-color-accent) !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; border: none !important; border-color: transparent !important; outline: none !important; text-transform: unset !important; letter-spacing: unset !important; font-size: unset !important; border-radius: 0 !important; width: auto !important; min-width: unset !important; }
.jet-unfold__button:hover, .elementor-kit-39208 .jet-unfold__button:hover, [class*='elementor-element'] .jet-unfold__button:hover { background-color: transparent !important; background: transparent !important; border: none !important; box-shadow: none !important; transform: none !important; color: #0177E3 !important; }


/* BCM BORDER RESETS */
.woocommerce table.shop_table, .woocommerce table.shop_table th, .woocommerce table.shop_table td,
.woocommerce-checkout .woocommerce-billing-fields, .woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields, .woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea, .woocommerce form .form-row select { border: none !important; box-shadow: none !important; }


/* Make h2 white. I don't know where to put this lol. */
.woocommerce .product h2 {
    color: #ffffff;
}




/* =============================================================================
   CART PAGE — migrated 2026-08-08 (Phase 2, section 1).
   Origin: Customizer post lines 63-64, 93-215, 586-588, 1764-1773, 1776-1779,
   2060-2066, 2335-2384, 2635-2749, 2787-2834, 2850-2911 (pre-migration numbering).
   Scope: body.woocommerce-cart / body.cc-cart-empty / .cart_totals + cart-page
   Elementor widget ids. The sdwoo/sdcart_checkout/sdwoocart display trios stay in
   the Customizer until the checkout pass (they span cart+checkout).
   ============================================================================= */

.elementor-widget-jet-cart-table .elementor-jet-cart-table table.shop_table { border-collapse: collapse !important; border-spacing: 0 !important; }
.elementor-element-5ce0969 .elementor-widget-container, .elementor-element-5ce0969 .elementor-jet-cart-table, .elementor-element-5ce0969 .jet-woo-builder, .elementor-element-5ce0969 .woocommerce-cart-form, .elementor-element-5ce0969 table.shop_table, .elementor-element-5ce0969 table.shop_table th, .elementor-element-5ce0969 table.shop_table td, .elementor-element-5ce0969 table.shop_table tr, .elementor-widget-jet-cart-table .elementor-widget-container, .elementor-widget-jet-cart-table .elementor-jet-cart-table, .elementor-widget-jet-cart-table .jet-woo-builder, .elementor-widget-jet-cart-table .woocommerce-cart-form, .elementor-widget-jet-cart-table table.shop_table, .elementor-widget-jet-cart-table table.shop_table th, .elementor-widget-jet-cart-table table.shop_table td, .elementor-widget-jet-cart-table table.shop_table tr { border: none !important; outline: none !important; box-shadow: none !important; }

/* CART PAGE */
body.woocommerce-cart { --cart-accent: #0177E3; --cart-accent-dim: rgba(1,119,227,0.12); --cart-dark: #070614; --cart-font: 'DM Sans', inherit, sans-serif; --cart-mono: 'DM Mono', monospace; --cart-border: rgba(255,255,255,0.07); --cart-border-mid: rgba(255,255,255,0.17); --cart-text: rgba(255,255,255,0.85); --cart-text-muted: rgba(255,255,255,0.36); }
body.woocommerce-cart .woocommerce, body.woocommerce-cart .woocommerce * { font-family: var(--cart-font) !important; letter-spacing: -0.01em; }
body.woocommerce-cart h1.page-title, body.woocommerce-cart h1 { font-size: clamp(2rem,5vw,3.5rem); font-weight: 300; letter-spacing: -0.04em; text-transform: uppercase; }
@media (min-width: 768px) {
    body.woocommerce-cart table.shop_table { border: none !important; border-collapse: collapse !important; background: transparent !important; width: 100% !important; margin: 0 !important; }
    body.woocommerce-cart table.shop_table thead { display: none !important; }
    body.woocommerce-cart table.shop_table tfoot, body.woocommerce-cart table.shop_table tfoot td, body.woocommerce-cart table.shop_table tfoot th { display: none !important; }
    body.woocommerce-cart table.shop_table tbody tr.cart_item td { padding: 0.5rem !important; vertical-align: middle !important; }
    body.woocommerce-cart table.shop_table td.product-remove, body.woocommerce-cart table.shop_table tbody tr td:first-child { width: 46px !important; min-width: 46px !important; max-width: 46px !important; padding: 0.5rem 0 0.5rem 0.75rem !important; display: table-cell !important; vertical-align: middle !important; }
body.woocommerce-cart table.shop_table td.product-remove a.remove { display: inline-flex !important; margin: 0 auto !important; }
body.woocommerce-cart a.remove::after { top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; }
    body.woocommerce-cart table.shop_table td.product-thumbnail, body.woocommerce-cart table.shop_table tbody tr td:nth-child(2) { width: 90px !important; min-width: 90px !important; padding: 0.5rem 0.75rem 0.5rem 0 !important; }
    body.woocommerce-cart table.shop_table td.product-name, body.woocommerce-cart table.shop_table tbody tr td:nth-child(3) { width: auto !important; padding: 0.5rem 0.75rem !important; }
    body.woocommerce-cart table.shop_table td.product-price, body.woocommerce-cart table.shop_table tbody tr td:nth-child(4) { width: 100px !important; min-width: 100px !important; text-align: right !important; padding: 0.5rem !important; }
    body.woocommerce-cart table.shop_table td.product-quantity, body.woocommerce-cart table.shop_table tbody tr td:nth-child(5) { width: 80px !important; min-width: 80px !important; text-align: center !important; padding: 0.5rem !important; }
    body.woocommerce-cart table.shop_table td.product-subtotal, body.woocommerce-cart table.shop_table tbody tr td:nth-child(6) { width: 100px !important; min-width: 100px !important; text-align: right !important; padding: 0.5rem 1rem 0.5rem 0.5rem !important; }
    body.woocommerce-cart table.shop_table td, body.woocommerce-cart table.shop_table th { border: none !important; background: transparent !important; }
    body.woocommerce-cart table.shop_table tbody tr.cart_item { border-bottom: 1px solid var(--cart-border) !important; transition: background 0.2s ease; }
    body.woocommerce-cart table.shop_table tbody tr.cart_item:first-child td { border-top: 1px solid var(--cart-border) !important; }
    body.woocommerce-cart table.shop_table tbody tr.cart_item:hover { background: rgba(255,255,255,0.025) !important; }
    body.woocommerce-cart .woocommerce-cart-form { width: 100% !important; display: block !important; padding: 0 !important; margin: 0 !important; }
    body.woocommerce-cart .woocommerce-cart-form table.shop_table { width: 100% !important; table-layout: fixed !important; margin: 0 !important; }
}
body.woocommerce-cart td.product-thumbnail { width: 72px !important; padding-left: 0 !important; }
body.woocommerce-cart td.product-thumbnail img { border-radius: 6px !important; width: auto !important; height: auto !important; max-width: 64px !important; max-height: 72px !important; object-fit: contain !important; background: transparent !important; display: block !important; filter: none !important; }
body.woocommerce-cart td.product-name a { font-size: 0.95rem !important; font-weight: 400 !important; color: var(--cart-text) !important; text-decoration: none !important; }
body.woocommerce-cart td.product-name a:hover { color: #fff !important; }
body.woocommerce-cart td.product-price .woocommerce-Price-amount, body.woocommerce-cart td.product-price .woocommerce-Price-currencySymbol { font-family: var(--cart-mono) !important; font-size: 0.9rem !important; color: rgba(255,255,255,0.5) !important; }
body.woocommerce-cart td.product-subtotal .woocommerce-Price-amount, body.woocommerce-cart td.product-subtotal .woocommerce-Price-currencySymbol { font-family: var(--cart-mono) !important; color: var(--cart-text) !important; }
body.woocommerce-cart a.remove { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 22px !important; height: 22px !important; border-radius: 50% !important; border: 1px solid var(--cart-border-mid) !important; background: transparent !important; color: transparent !important; font-size: 0 !important; line-height: 1 !important; text-decoration: none !important; position: relative !important; transition: all 0.2s ease !important; }
body.woocommerce-cart a.remove::after { content: 'x' !important; font-size: 14px !important; line-height: 1 !important; color: var(--cart-text-muted) !important; font-family: sans-serif !important; position: absolute !important; }
body.woocommerce-cart a.remove:hover { border-color: #e25555 !important; background: rgba(226,85,85,0.08) !important; }
body.woocommerce-cart a.remove:hover::after { color: #e25555 !important; }
body.woocommerce-cart .quantity .qty { background: transparent !important; border: 1px solid var(--cart-border-mid) !important; border-radius: 4px !important; color: var(--cart-text) !important; font-family: var(--cart-mono) !important; font-size: 0.85rem !important; padding: 0.4rem 0.6rem !important; text-align: center !important; width: 56px !important; }
body.woocommerce-cart .quantity .qty:focus { outline: none !important; border-color: var(--cart-accent) !important; }
body.woocommerce-cart .woocommerce-cart-form td.actions { border: none !important; background: transparent !important; padding: 0.75rem !important; border-top: 1px solid var(--cart-border) !important; width: 100% !important; box-sizing: border-box !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; }
body.woocommerce-cart .woocommerce-cart-form .coupon { float: none !important; display: flex !important; flex-direction: row !important; gap: 0 !important; align-items: center !important; justify-content: center !important; border: none !important; padding: 0 !important; width: 100% !important; }
body.woocommerce-cart #coupon_code { flex: 0 0 172px !important; min-width: 0 !important; max-width: 172px !important; width: 172px !important; margin-right: 8px !important; }
body.woocommerce-cart .woocommerce-cart-form .coupon .button { flex: 0 0 auto !important; width: auto !important; min-width: unset !important; padding: 0.5rem 1.25rem !important; }
body.woocommerce-cart .woocommerce-cart-form button[name='update_cart'] { float: right !important; margin-left: 0 !important; }
body.woocommerce-cart .woocommerce-cart-form button[name='update_cart']:disabled, body.woocommerce-cart .woocommerce-cart-form button[name='update_cart'][disabled] { opacity: 0.3 !important; cursor: not-allowed !important; pointer-events: none !important; }
body.woocommerce-cart #coupon_code { background: transparent !important; border: 1px solid var(--cart-border-mid) !important; border-radius: 4px !important; color: var(--cart-text) !important; font-size: 0.82rem !important; letter-spacing: 0.04em !important; padding: 0.5rem 0.9rem !important; }
body.woocommerce-cart #coupon_code::placeholder { color: var(--cart-text-muted) !important; text-transform: uppercase; font-size: 0.75rem; letter-spacing: 0.1em; }
body.woocommerce-cart #coupon_code:focus { outline: none !important; border-color: var(--cart-accent) !important; }
body.woocommerce-cart .woocommerce-cart-form .coupon .button, body.woocommerce-cart .woocommerce-cart-form button[name='update_cart'] { background: transparent !important; border: 1px solid var(--cart-border-mid) !important; border-radius: 4px !important; color: var(--cart-text-muted) !important; font-size: 0.72rem !important; font-weight: 500 !important; letter-spacing: 0.1em !important; padding: 0.5rem 1rem !important; text-transform: uppercase !important; cursor: pointer !important; transition: all 0.2s ease !important; }
body.woocommerce-cart .woocommerce-cart-form .coupon .button:hover, body.woocommerce-cart .woocommerce-cart-form button[name='update_cart']:hover { border-color: var(--cart-accent) !important; color: #fff !important; background: var(--cart-accent-dim) !important; }
body.woocommerce-cart .cart_totals { background: transparent !important; border: 1px solid var(--cart-border-mid) !important; border-radius: 8px !important; padding: 1.25rem 1rem !important; }
body.woocommerce-cart .cart_totals h2 { background: transparent !important; border: none !important; color: var(--cart-text-muted) !important; font-size: 0.85rem !important; font-weight: 700 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; padding: 0 0 1rem 0 !important; margin: 0 0 0.5rem 0 !important; border-bottom: 1px solid var(--cart-border) !important; }
body.woocommerce-cart .cart_totals table.shop_table { border: none !important; }
body.woocommerce-cart .cart_totals .shop_table th, body.woocommerce-cart .cart_totals .shop_table td { padding: 0.65rem 0 !important; font-size: 0.875rem !important; border-bottom: 1px solid var(--cart-border) !important; }
body.woocommerce-cart .cart_totals .shop_table th { color: rgba(255,255,255,0.45) !important; font-weight: 400 !important; width: 30% !important; vertical-align: top !important; padding-right: 0.75rem !important; white-space: nowrap !important; }
body.woocommerce-cart .cart_totals .shop_table td { color: var(--cart-text) !important; font-size: 0.85rem !important; text-align: right !important; width: 70% !important; vertical-align: top !important; }
body.woocommerce-cart .cart_totals .shop_table td .woocommerce-Price-amount, body.woocommerce-cart .cart_totals .shop_table td bdi { font-family: var(--cart-mono) !important; }
body.woocommerce-cart .cart_totals .woocommerce-shipping-methods { list-style: none !important; margin: 0 !important; padding: 0 !important; text-align: right !important; }
body.woocommerce-cart .cart_totals .woocommerce-shipping-methods li { display: flex !important; align-items: flex-start !important; justify-content: flex-end !important; gap: 0.4rem !important; padding: 0.25rem 0 !important; color: var(--cart-text) !important; font-size: 0.8rem !important; line-height: 1.4 !important; }
body.woocommerce-cart .cart_totals .woocommerce-shipping-methods input[type='radio'] { appearance: none !important; -webkit-appearance: none !important; width: 13px !important; height: 13px !important; min-width: 13px !important; border: 1px solid var(--cart-border-mid) !important; border-radius: 50% !important; background: transparent !important; cursor: pointer !important; flex-shrink: 0 !important; margin-top: 2px !important; }
body.woocommerce-cart .cart_totals .woocommerce-shipping-methods input[type='radio']:checked { border-color: var(--cart-accent) !important; background: var(--cart-accent) !important; box-shadow: inset 0 0 0 3px #070614 !important; }
body.woocommerce-cart .cart_totals .woocommerce-shipping-methods label { color: var(--cart-text) !important; font-size: 0.8rem !important; cursor: pointer !important; margin: 0 !important; text-align: right !important; }
body.woocommerce-cart .cart_totals td.woocommerce-shipping-totals p, body.woocommerce-cart .cart_totals .woocommerce-shipping-destination { color: var(--cart-text-muted) !important; font-size: 0.72rem !important; margin: 0.4rem 0 0 !important; text-align: right !important; }
body.woocommerce-cart .cart_totals .order-total th, body.woocommerce-cart .cart_totals .order-total td { border-bottom: none !important; padding-top: 1rem !important; }
body.woocommerce-cart .cart_totals .order-total th { font-weight: 500 !important; font-size: 0.9rem !important; color: rgba(255,255,255,0.7) !important; }
body.woocommerce-cart .cart_totals .order-total .woocommerce-Price-amount { font-family: var(--cart-mono) !important; font-size: 1.1rem !important; font-weight: 400 !important; color: #fff !important; }
body.woocommerce-cart .cart_totals .shipping-calculator-button { color: var(--cart-text-muted) !important; font-size: 0.75rem !important; text-decoration: none !important; border-bottom: 1px solid var(--cart-border-mid) !important; }
body.woocommerce-cart .cart_totals .shipping-calculator-button:hover { color: var(--cart-text) !important; border-bottom-color: var(--cart-accent) !important; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button { background: var(--ccr-accent) !important; border: none !important; border-radius: 4px !important; color: #ffffff !important; font-size: 0.75rem !important; font-weight: 500 !important; letter-spacing: 0.12em !important; padding: 0.9rem 1.5rem !important; text-transform: uppercase !important; text-align: center !important; width: 100% !important; cursor: pointer !important; transition: all 0.25s ease !important; display: block !important; margin-top: 1.25rem !important; }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { background: #0177E3 !important; transform: translateY(-1px); }
body.woocommerce-cart .return-to-shop a { display: inline-block !important; color: var(--cart-text-muted) !important; font-size: 0.72rem !important; font-weight: 500 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; text-decoration: none !important; border: 1px solid var(--cart-border-mid) !important; border-radius: 4px !important; padding: 0.5rem 1rem !important; transition: all 0.2s ease !important; background: transparent !important; }
body.woocommerce-cart .return-to-shop a:hover { color: #fff !important; border-color: rgba(255,255,255,0.35) !important; background: rgba(255,255,255,0.06) !important; }
body.woocommerce-cart .elementor-element-326f9103 { display: none !important; }
body.woocommerce-cart .elementor-element-697ac95a { background-color: transparent !important; background-image: none !important; padding-left: 0 !important; padding-right: 0 !important; }
body.woocommerce-cart .elementor-element-697ac95a > .elementor-container, body.woocommerce-cart .elementor-element-697ac95a .e-con-inner { align-items: flex-start !important; gap: 0 !important; column-gap: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
body.woocommerce-cart .elementor-element-128c4b05 { width: 55% !important; padding-right: 1.5rem !important; padding-top: 0 !important; box-sizing: border-box !important; background: transparent !important; border: none !important; overflow: visible !important; align-self: flex-start !important; flex-grow: 0 !important; flex-shrink: 0 !important; }
body.woocommerce-cart .elementor-element-2e921d33 { width: 45% !important; padding-top: 0 !important; box-sizing: border-box !important; flex-shrink: 0 !important; }
body.woocommerce-cart .elementor-element.elementor-element-2e921d33 > .elementor-widget-wrap, body.woocommerce-cart .elementor-element.elementor-element-2e921d33 .elementor-widget-wrap { padding: 0 !important; }
body.woocommerce-cart .elementor-column-gap-default > .elementor-column > .elementor-element-populated { padding: 0 !important; }
body.woocommerce-cart .elementor-element-74808fe3 > .elementor-widget-container { padding: 0 !important; background-color: transparent !important; }
body.woocommerce-cart .elementor-element-5ce0969 > .elementor-widget-container { background: rgba(255,255,255,0.03) !important; border: 1px solid var(--cart-border-mid) !important; border-radius: 8px !important; overflow: hidden !important; padding: 0 !important; margin: 0 !important; }
body.woocommerce-cart .woocommerce-cart-form table.shop_table { width: 100% !important; table-layout: fixed !important; margin: 0 !important; border-spacing: 0 !important; }
body.woocommerce-cart .elementor-element-128c4b05 > .elementor-widget-wrap, body.woocommerce-cart .elementor-element-128c4b05 .elementor-widget-wrap, body.woocommerce-cart .elementor-element-128c4b05 .elementor-widget-container, body.woocommerce-cart .elementor-element-128c4b05 .elementor-jet-cart-table, body.woocommerce-cart .elementor-element-128c4b05 .jet-woo-builder { padding: 0 !important; margin: 0 !important; width: 100% !important; }
body.woocommerce-cart .woocommerce-cart-form { width: 100% !important; display: block !important; padding: 0 !important; margin: 0 !important; }
body.woocommerce-cart .elementor-jet-cart-table, body.woocommerce-cart .jet-woo-builder { padding: 0 1rem !important; box-sizing: border-box !important; }
body.woocommerce-cart .woocommerce-cart-form table.shop_table tfoot { display: none !important; }
body.woocommerce-cart .elementor-element-128c4b05 .elementor-widget-wrap { gap: 0 !important; }
body.woocommerce-cart .elementor-element-128c4b05 .elementor-element { margin: 0 !important; padding: 0 !important; }
body.woocommerce-cart td.product-thumbnail img { filter: none !important; }
@media (max-width: 767px) {
    body.woocommerce-cart .elementor-element-697ac95a .elementor-container, body.woocommerce-cart .elementor-element-697ac95a > .elementor-container, body.woocommerce-cart .elementor-element-697ac95a .elementor-column-gap-default { flex-direction: column !important; flex-wrap: wrap !important; align-items: stretch !important; gap: 1.5rem !important; column-gap: 0 !important; }
    body.woocommerce-cart .elementor-element-128c4b05, body.woocommerce-cart .elementor-element-2e921d33 { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; padding-right: 0 !important; padding-left: 0 !important; flex-shrink: 1 !important; }
    body.woocommerce-cart table.shop_table td::before { display: none !important; content: none !important; }
    body.woocommerce-cart .jet-table-mobile-label { display: none !important; }
    body.woocommerce-cart .woocommerce-cart-form { width: 100% !important; display: block !important; padding: 0 !important; margin: 0 !important; }
    body.woocommerce-cart table.shop_table tbody tr.cart_item { display: block !important; padding: 0.75rem !important; border-bottom: 1px solid var(--cart-border) !important; position: relative !important; overflow: visible !important; }
    body.woocommerce-cart .woocommerce-cart-form { overflow: visible !important; }
    body.woocommerce-cart table.shop_table tbody tr.cart_item td { display: block !important; width: 100% !important; padding: 0.15rem 0 !important; border: none !important; background: transparent !important; text-align: left !important; box-sizing: border-box !important; }
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-remove { position: absolute !important; top: 0.6rem !important; right: 0.6rem !important; width: auto !important; min-width: unset !important; max-width: unset !important; padding: 0 !important; display: block !important; vertical-align: unset !important; z-index: 2 !important; }
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-remove a.remove { display: inline-flex !important; margin: 0 !important; }
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-remove a.remove { width: 20px !important; height: 20px !important; }
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-thumbnail { padding-bottom: 0.35rem !important; width: auto !important; }
    body.woocommerce-cart td.product-thumbnail img { max-width: 60px !important; max-height: 60px !important; object-fit: contain !important; display: block !important; }
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-name { padding-right: 2rem !important; font-size: 0.85rem !important; line-height: 1.35 !important; padding-bottom: 0.25rem !important; }
    body.woocommerce-cart .woocommerce-cart-form table.shop_table tbody tr.cart_item td.product-price { display: none !important; height: 0 !important; overflow: hidden !important; }
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-quantity { padding-top: 0.25rem !important; padding-bottom: 0.1rem !important; }
    body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-subtotal { text-align: right !important; font-family: var(--cart-mono) !important; font-size: 0.9rem !important; padding-top: 0.1rem !important; }
    body.woocommerce-cart .elementor-element-5ce0969 > .elementor-widget-container { margin: 0 0.75rem !important; width: auto !important; box-sizing: border-box !important; overflow: visible !important; }
    body.woocommerce-cart .cart_totals { padding: 1rem !important; margin: 0 0.75rem !important; }
    body.woocommerce-cart .elementor-element-74808fe3 > .elementor-widget-container { padding: 0 !important; }
    body.woocommerce-cart .cart_totals .shop_table, body.woocommerce-cart .cart_totals .shop_table tbody, body.woocommerce-cart .cart_totals .shop_table tr { display: block !important; width: 100% !important; background: transparent !important; }
    body.woocommerce-cart .cart_totals .shop_table tr { border-bottom: 1px solid var(--cart-border) !important; padding: 0.5rem 0 !important; }
    body.woocommerce-cart .cart_totals .shop_table th, body.woocommerce-cart .cart_totals .shop_table td { display: block !important; width: 100% !important; background: transparent !important; padding: 0.1rem 0 !important; text-align: right !important; border: none !important; }
    body.woocommerce-cart .cart_totals .shop_table th { text-align: left !important; color: rgba(255,255,255,0.45) !important; font-size: 0.7rem !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; }
    body.woocommerce-cart .woocommerce-cart-form td.actions { display: block !important; width: 100% !important; box-sizing: border-box !important; padding: 0.75rem !important; }
    body.woocommerce-cart .woocommerce-cart-form .coupon { display: flex !important; flex-direction: row !important; width: 100% !important; gap: 0.5rem !important; float: none !important; margin-bottom: 0 !important; box-sizing: border-box !important; }
    body.woocommerce-cart #coupon_code { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; box-sizing: border-box !important; }
    body.woocommerce-cart .woocommerce-cart-form .coupon .button { flex: 0 0 auto !important; width: auto !important; float: none !important; display: inline-block !important; box-sizing: border-box !important; padding: 0.5rem 0.75rem !important; font-size: 0.68rem !important; }
    body.woocommerce-cart .woocommerce-cart-form button[name='update_cart'] { display: block !important; width: 100% !important; text-align: center !important; margin-top: 0.4rem !important; float: none !important; box-sizing: border-box !important; }
    body.woocommerce-cart .wc-proceed-to-checkout .checkout-button { padding: 1rem !important; font-size: 0.8rem !important; }
    body.woocommerce-cart .return-to-shop { width: 100% !important; padding: 0 0.75rem !important; box-sizing: border-box !important; margin-top: 0.5rem !important; }
    body.woocommerce-cart .return-to-shop a { display: block !important; text-align: center !important; width: 100% !important; box-sizing: border-box !important; }
    body.woocommerce-cart .quantity .qty { width: 52px !important; padding: 0.35rem 0.5rem !important; }
    body.woocommerce-cart td.product-remove a.remove { display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 22px !important; height: 22px !important; border-radius: 50% !important; border: 1px solid var(--cart-border-mid) !important; background: transparent !important; color: transparent !important; font-size: 0 !important; text-decoration: none !important; position: relative !important; }
    body.woocommerce-cart td.product-remove a.remove::after { content: 'x' !important; font-size: 14px !important; line-height: 1 !important; color: var(--cart-text-muted) !important; font-family: sans-serif !important; position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; }
}

/* CART - Remove button overlaid on thumbnail top-left */
body.woocommerce-cart table.shop_table td.product-remove { position: relative !important; width: 0 !important; min-width: 0 !important; max-width: 0 !important; padding: 0 !important; overflow: visible !important; }
body.woocommerce-cart table.shop_table td.product-remove a.remove { position: absolute !important; top: 6px !important; left: 6px !important; z-index: 2 !important; width: 20px !important; height: 20px !important; }

/* CART BUTTON HEIGHTS */
body.woocommerce-cart .woocommerce-cart-form .coupon .button { min-height: 38px; padding-top: 8px; padding-bottom: 8px; line-height: 1.4; }
body.woocommerce-cart .woocommerce-cart-form .actions .button { min-height: 38px; padding-top: 8px; padding-bottom: 8px; line-height: 1.4; }
body.woocommerce-cart #coupon_code { min-height: 38px !important; height: 38px !important; }
@media (min-width: 768px) { body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-name, body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-price, body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-quantity, body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-subtotal, body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-thumbnail, body.woocommerce-cart table.shop_table tbody tr.cart_item td.product-remove { padding-top: 14px !important; padding-bottom: 14px !important; } }
/* Mobile: reduce gap above Cart Totals */
@media (max-width: 767px) { body.woocommerce-cart .elementor-element-2e921d33 > .elementor-widget-wrap { margin-top: 12px !important; } }

/* Mobile: add spacing above Update Cart button (separate from coupon row) */
@media (max-width: 767px) { body.woocommerce-cart .woocommerce-cart-form td.actions .button[name=update_cart] { margin-top: 16px !important; } }

/* Quantity input: vertically center within the row (was sitting low) */
body.woocommerce-cart .woocommerce-cart-form .product-quantity .quantity { display: inline-flex !important; align-items: center !important; height: auto !important; }
/* Inset cart contents from the card border so Update Cart button doesn't ride the edge */
body.woocommerce-cart .elementor-element-5ce0969 > .elementor-widget-container { padding-right: 16px !important; padding-bottom: 16px !important; }

.woocommerce-cart .button br {
	display: none;
}

.woocommerce-cart a.button {
	margin-bottom:0 !important;
}

/* === cart-spacing-normalize (added) === */
/* Cart item rows breathing room */
body.woocommerce-cart form.woocommerce-cart-form table.shop_table td,
body.woocommerce-cart form.woocommerce-cart-form table.shop_table th {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}
body.woocommerce-cart form.woocommerce-cart-form td.actions .coupon {
  margin-bottom: 6px !important;
}
/* Shipment totals cell spacing */
body.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods {
  margin: 0 0 10px 0 !important;
}
body.woocommerce-cart .cart_totals ul.woocommerce-shipping-methods li {
  line-height: 1.5 !important;
  margin-bottom: 4px !important;
}
body.woocommerce-cart .cart_totals p.woocommerce-shipping-destination {
  margin: 0 0 10px 0 !important;
  line-height: 1.5 !important;
}
body.woocommerce-cart .cart_totals form.woocommerce-shipping-calculator {
  margin: 0 !important;
}
body.woocommerce-cart .cart_totals .woocommerce-shipping-totals.shipping td {
  vertical-align: top !important;
}
/* Override the (min-width:768px) 0.5rem padding on totals + actions cells */
@media (min-width: 768px) {
  body.woocommerce-cart .cart_totals table.shop_table tbody tr td:nth-child(2),
    body.woocommerce-cart .cart_totals table.shop_table tbody tr td,
  body.woocommerce-cart .cart_totals table.shop_table tbody tr th {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    line-height: 1.5 !important;
  }
  body.woocommerce-cart form.woocommerce-cart-form table.shop_table td.actions {
    padding-top: 18px !important;
    padding-bottom: 6px !important;
  }
}
/* Collapse empty/nonce paragraphs under Update Cart */
body.woocommerce-cart form.woocommerce-cart-form td.actions > p {
  margin-bottom: 0 !important;
}
body.woocommerce-cart form.woocommerce-cart-form td.actions > p:last-child {
  margin-bottom: 0 !important;
}
/* === end cart-spacing-normalize === */

/* ---- Cart layout polish (was plugin cc-cart-totals-layout; selectors are cart-only) ---- */
/* ---- Horizontal cart totals (scoped to .cart_totals; cart page only) ----
   The wide box is best used by spreading the figures horizontally with shipping full-width on top.
   (A method|summary two-column and a vertical itemized summary were both tried and reverted: the
   shipping block is content-heavy — 2 long radio labels + address + change-address form — so any
   narrow column makes it wrap and the box balloons to 600px+. Horizontal keeps it ~430px.) */
.cart_totals > h2{font-size:18px !important;margin:0 0 12px !important;letter-spacing:.02em;}
.cart_totals table.shop_table,
.cart_totals table.shop_table > tbody{display:block !important;width:100%;}
.cart_totals table.shop_table > tbody{
	display:flex !important;flex-wrap:wrap;align-items:flex-end;gap:12px 26px;border:0 !important;
}
.cart_totals table.shop_table tr{
	display:flex !important;flex-direction:column;justify-content:flex-end;
	border:0 !important;margin:0 !important;padding:0 !important;background:none !important;
}
.cart_totals table.shop_table tr th{
	font-size:11.5px !important;font-weight:500 !important;text-align:left !important;
	padding:0 0 3px !important;opacity:.65;white-space:nowrap;border:0 !important;
}
.cart_totals table.shop_table tr td{
	font-size:16px !important;font-weight:700 !important;text-align:left !important;
	padding:0 !important;border:0 !important;
}
/* --- shipping row: FULL width on its own line, options side by side --- */
.cart_totals tr.woocommerce-shipping-totals{
	order:0;flex:1 1 100% !important;flex-direction:row !important;flex-wrap:wrap;align-items:baseline;gap:4px 14px;
	padding-bottom:12px !important;margin-bottom:6px !important;
	border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.cart_totals tr.woocommerce-shipping-totals th{flex:0 0 auto;align-self:flex-start;padding-top:2px !important;}
.cart_totals tr.woocommerce-shipping-totals td{flex:1 1 auto !important;min-width:0;font-weight:400 !important;font-size:13px !important;}
.cart_totals tr.woocommerce-shipping-totals ul.woocommerce-shipping-methods{
	display:flex !important;flex-wrap:wrap;gap:6px 22px;margin:0 !important;padding:0 !important;
}
.cart_totals tr.woocommerce-shipping-totals ul.woocommerce-shipping-methods li{
	list-style:none !important;margin:0 !important;display:flex;align-items:flex-start;gap:6px;max-width:280px;line-height:1.3;
}
.cart_totals tr.woocommerce-shipping-totals ul.woocommerce-shipping-methods li label{font-weight:400 !important;}
.cart_totals tr.woocommerce-shipping-totals .woocommerce-shipping-destination{flex-basis:100%;font-size:12px !important;opacity:.7;margin:8px 0 0 !important;}
.cart_totals tr.woocommerce-shipping-totals .shipping-calculator-form,
.cart_totals tr.woocommerce-shipping-totals .woocommerce-shipping-calculator{flex-basis:100%;}
/* --- figure rows in a row; Total emphasized --- */
.cart_totals tr.cart-subtotal{order:1;}
.cart_totals tr.cart-discount{order:2;}
.cart_totals tr.fee{order:3;}
.cart_totals tr.tax-rate{order:4;}
.cart_totals tr.order-total{order:5;}
.cart_totals tr.order-total td,
.cart_totals tr.order-total td strong{font-size:19px !important;color:#fff;}
/* --- full-width checkout below --- */
.cart_totals .wc-proceed-to-checkout{margin-top:16px !important;padding:0 !important;}
.cart_totals .wc-proceed-to-checkout .checkout-button{display:block;width:100%;text-align:center;}

/* ---- Items side mirrors the totals CARD so the two boxes top-align and each has its heading INSIDE ---- */
/* hide the old standalone "Cart Items" heading widget (blue-bar clone) */
.elementor-element-b3ff352{display:none !important;}
/* THE ITEMS CARD IS THE WIDGET CONTAINER, NOT THE FORM.
   A prior rule already cards the jet-cart-table widget container:
   `body.woocommerce-cart .elementor-element-5ce0969 > .elementor-widget-container{
        border:1px solid var(--cart-border-mid); border-radius:8px; padding:0 }`
   — that IS the items card (mirrors the totals `.cart_totals` card). Its ONLY defect was padding:0
   (content flush to the border = the original "no spacing" complaint). So: (a) add the padding to
   THAT container (out-specify its (0,3,1) !important → (0,4,1)); (b) keep the inner form border-free
   so there is NO box-inside-a-box. */
body.woocommerce-cart .elementor-widget-jet-cart-table.elementor-element-5ce0969 > .elementor-widget-container{
	padding:20px 16px !important;
}
/* form is plain content inside the card — strip any border/padding/bg (incl. the one I mistakenly added) */
body.woocommerce-cart .elementor-widget-jet-cart-table .woocommerce-cart-form{
	border:0 !important;border-radius:0 !important;padding:0 !important;background:transparent !important;
}
/* "CART ITEMS" heading at top of the card content, matching the "CART TOTALS" h2 */
body.woocommerce-cart .elementor-widget-jet-cart-table .woocommerce-cart-form::before{
	content:"Cart Items";display:block;
	font-family:"DM Sans",sans-serif;font-size:14px;font-weight:700;letter-spacing:1.9px;
	text-transform:uppercase;color:rgba(255,255,255,.36);margin:0 0 16px;line-height:1.4;
}
/* neutralize the inner table's own rounded box so it isn't a double border */
body.woocommerce-cart .elementor-widget-jet-cart-table .woocommerce-cart-form table.shop_table{border:0 !important;border-radius:0 !important;margin:0 !important;}
/* JetWooBuilder puts a 1px border on every th/td AND on td.actions → renders as a grid-of-boxes
   (a "box inside the box"). Strip them all so the items card is clean like the CART TOTALS card,
   then re-add ONE faint divider between cart-item rows for separation. */
body.woocommerce-cart .elementor-widget-jet-cart-table .woocommerce-cart-form table.shop_table th,
body.woocommerce-cart .elementor-widget-jet-cart-table .woocommerce-cart-form table.shop_table td,
body.woocommerce-cart .elementor-widget-jet-cart-table .woocommerce-cart-form table.shop_table td.actions{border:0 !important;}
body.woocommerce-cart .elementor-widget-jet-cart-table .woocommerce-cart-form table.shop_table tr.cart_item td{border-bottom:1px solid rgba(255,255,255,.08) !important;}

/* #3: stretch the totals box to fill its column (was capped by max-width:435px) → right edge aligns */
.elementor-element-74808fe3{max-width:100% !important;width:100% !important;}
.elementor-element-74808fe3 .cart_totals{width:100% !important;max-width:none !important;}

/* ---- On-brand "Cart" page title: blue accent bar (matches About/homepage) ---- */
.elementor-element-21689043{position:relative !important;overflow:hidden !important;min-height:0 !important;padding:40px 0 30px !important;background:transparent !important;}
.elementor-element-21689043 > .elementor-background-overlay{display:none !important;}
/* breadcrumb removed on cart (noindex page, not needed) */
.elementor-element-21689043 .elementor-widget-jet-breadcrumbs,
.elementor-element-21689043 [class*="breadcrumb"]{display:none !important;}
.elementor-element-21689043 .elementor-container,
.elementor-element-21689043 .elementor-column,
.elementor-element-21689043 .elementor-widget-wrap,
.elementor-element-21689043 .elementor-widget-wrap > .elementor-element{min-height:0 !important;position:relative;z-index:1;}
.elementor-element-21689043 .elementor-widget{margin-bottom:0 !important;}
/* solid bold heading */
.elementor-element-21689043 h1{font-size:46px !important;line-height:1.05 !important;font-weight:700 !important;margin:0 !important;letter-spacing:.01em;position:relative;z-index:1;}
/* blue accent bar under the heading */
.elementor-element-21689043 h1::after{content:"";display:block;width:66px;height:3px;background:#0177E3;margin:14px auto 0;border-radius:2px;}
/* breadcrumb: muted, blue Home link */
.elementor-element-21689043 [class*="breadcrumb"]{font-size:13px !important;opacity:.85;letter-spacing:.02em;margin-top:14px !important;position:relative;z-index:1;}
.elementor-element-21689043 [class*="breadcrumb"] a{color:#0177E3 !important;}
@media(max-width:600px){
	.elementor-element-21689043{padding:30px 0 20px !important;}
	.elementor-element-21689043::before{font-size:86px;-webkit-text-stroke-width:1px;}
	.elementor-element-21689043 h1{font-size:32px !important;}
}

/* ================= cc-cart-totals-rework (2026-07-11) ================= */
/* Stack CART TOTALS under CART ITEMS (was side-by-side 50/50 columns), */
/* constrain both to a centered 820px, and fix the "horizontal" totals   */
/* rows (an older .cart_totals tbody{display:flex} rule laid Subtotal/    */
/* Shipment/Total out in a row). Rows now stack: label left, value right. */
body.woocommerce-cart .elementor-element-697ac95a > .elementor-container{flex-direction:column !important;align-items:center !important;max-width:820px;margin-left:auto !important;margin-right:auto !important;}
body.woocommerce-cart .elementor-element-128c4b05,
body.woocommerce-cart .elementor-element-2e921d33{width:100% !important;max-width:100% !important;}
body.woocommerce-cart .elementor-element-2e921d33{margin-top:1.5rem;}
body.woocommerce-cart .cart_totals table.shop_table > tbody{display:block !important;}
body.woocommerce-cart .cart_totals table.shop_table > tbody > tr{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;justify-content:space-between !important;align-items:baseline !important;gap:1.5rem;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.08);width:100% !important;}
body.woocommerce-cart .cart_totals table.shop_table > tbody > tr > th{display:block !important;width:auto !important;text-align:left !important;font-weight:600;border:0 !important;padding:0 !important;white-space:nowrap;}
body.woocommerce-cart .cart_totals table.shop_table > tbody > tr > td{display:block !important;width:auto !important;text-align:right !important;border:0 !important;padding:0 !important;margin:0 !important;}
body.woocommerce-cart .cart_totals table.shop_table > tbody > tr > td::before{content:none !important;}
body.woocommerce-cart .cart_totals table.shop_table > tbody > tr.order-total{border-bottom:0;border-top:1px solid rgba(255,255,255,.18);margin-top:.35rem;padding-top:1rem;font-size:1.18em;}
body.woocommerce-cart .cart_totals tr.order-total th,body.woocommerce-cart .cart_totals tr.order-total td{font-weight:800;}
/* Narrower, right-aligned Proceed to Checkout (full-width was too heavy) */
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout{text-align:right !important;}
body.woocommerce-cart .cart_totals .wc-proceed-to-checkout a.checkout-button{display:inline-block !important;width:auto !important;padding-left:38px !important;padding-right:38px !important;}
/* Align CART ITEMS and CART TOTALS card boxes to identical width/edges */
/* (items col had 24px right pad; totals had a 16px wrapper inset) */
body.woocommerce-cart .elementor-element-128c4b05{padding-left:0 !important;padding-right:0 !important;}
body.woocommerce-cart .elementor-widget-jet-cart-totals .elementor-jet-cart-totals{padding-left:0 !important;padding-right:0 !important;}
/* ================= end cc-cart-totals-rework ================= */

/* ================= cc-cart-card-unify (2026-07-11) ================= */
/* Match CART ITEMS + CART TOTALS card boxes and make them more defined  */
/* panels (items had a 3% fill, totals had none). Same fill/border/shadow.*/
body.woocommerce-cart .elementor-element-5ce0969.elementor-widget-jet-cart-table > .elementor-widget-container,
body.woocommerce-cart .elementor-widget-jet-cart-totals .cart_totals{
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.28) !important;
  box-shadow: 0 6px 26px rgba(0,0,0,0.40) !important;
}
/* cc-cart-heading-size: larger CART ITEMS / CART TOTALS titles (was 14px / 36%) */
body.woocommerce-cart .woocommerce-cart-form::before,
body.woocommerce-cart .cart_totals > h2{
  font-size:18px !important;
  letter-spacing:1.6px !important;
  color:rgba(255,255,255,0.62) !important;
}
/* cc-cart-mobile-align: on mobile the theme gives both cards a 0.75rem side margin, */
/* but the totals card is width:100% (desktop rule) so the margin pushes it 24px wider */
/* than the items card. width:auto lets the margin inset it symmetrically to match. */
@media(max-width:767px){
  body.woocommerce-cart .elementor-widget-jet-cart-totals .cart_totals{width:auto !important;max-width:none !important;}
}
/* ================= end cc-cart-card-unify ================= */

/* ================= cc-cart-empty-heading (2026-07-13) ================= */
/* Empty cart falls back to a plain "Cart" page title (Elementor heading 55586cb9) instead of the */
/* styled "Your Cart" you get with items. Match EXACTLY: hide the literal "Cart", let ::before "Your Cart" */
/* inherit the heading widget's own primary global typography (same 46px/DM Sans/700/-0.46px, responsive). */
/* Scoped to body.cc-cart-empty (added by the cart plugin only when WC()->cart is empty). */
body.cc-cart-empty .elementor-element-1aa976a8{background-color:transparent !important;background-image:none !important;padding-top:40px !important;padding-bottom:30px !important;}
body.cc-cart-empty .elementor-element-1aa976a8 > .elementor-container{min-height:0 !important;}
body.cc-cart-empty .elementor-element-371c85d5{padding-top:40px !important;padding-bottom:60px !important;}
body.cc-cart-empty .elementor-element-55586cb9 .elementor-heading-title{
  font-size:0 !important;
  text-align:center !important;
}
body.cc-cart-empty .elementor-element-55586cb9 .elementor-heading-title::before{content:"Your Cart" !important;display:inline-block !important;font-size:46px !important;font-weight:700 !important;line-height:48.3px !important;letter-spacing:-0.46px !important;color:#fff !important;}
body.cc-cart-empty .elementor-element-55586cb9 .elementor-heading-title::after{content:"" !important;display:block !important;width:66px !important;height:3px !important;background:#0177E3 !important;margin:14px auto 0 !important;border-radius:2px !important;}
body.cc-cart-empty .elementor-element-c96223f{display:none !important;}
/* the empty-cart heading section carries a pure-black Elementor background OVERLAY (rgb(0,0,0)) = the "black banner"; hide it so the heading sits on the page bg like the filled cart */
body.cc-cart-empty .elementor-element-1aa976a8 > .elementor-background-overlay,
body.cc-cart-empty .elementor-element-371c85d5 > .elementor-background-overlay{display:none !important;}
/* ---- empty-cart notice + button polish (2026-07-13) ---- */
body.cc-cart-empty .cart-empty.woocommerce-info{
  text-align:center !important;
  background:rgba(15,23,42,.45) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:12px !important;
  color:#fff !important;
  font-size:22px !important;
  font-weight:500 !important;
  padding:34px 40px !important;
  max-width:560px !important;
  margin:0 auto !important;
}
body.cc-cart-empty .cart-empty.woocommerce-info::before{display:none !important;}
body.cc-cart-empty .return-to-shop .button.wc-backward{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:var(--ccr-accent) !important;
  color:#fff !important;
  border:none !important;
  border-radius:6px !important;
  font-size:0 !important;
  font-weight:600 !important;
  padding:14px 34px !important;
  margin-top:22px !important;
  text-transform:none !important;
  box-shadow:0 4px 14px rgba(192,57,43,.35) !important;
  transition:background .2s ease, box-shadow .2s ease !important;
}
body.cc-cart-empty .return-to-shop .button.wc-backward::after{
  content:"Continue Shopping" !important;
  line-height:1 !important;
  font-size:15px !important;
  font-weight:600 !important;
  letter-spacing:.3px !important;
  color:#fff !important;
}
body.cc-cart-empty .return-to-shop .button.wc-backward:hover{
  background:#0177E3 !important;
  box-shadow:0 4px 14px rgba(1,119,227,.4) !important;
}
/* ---- end empty-cart notice + button polish ---- */
/* ================= end cc-cart-empty-heading ================= */

/* ===== end CART PAGE migration ===== */

/* =============================================================================
   CHECKOUT PAGE — migrated 2026-08-08 (Phase 2, section 2).
   Origin ranges (numbering of the 203,069-byte post-cart Customizer content):
   45-56 (FFL), 72-90 (review table + payment inversion), 92-193 (--co-* skin),
   931-1001 (notices), 1226-1330 (coupon/ship-to blocks), 1944-1973 (sdwoo
   trios, incl. the cart members deferred from the cart pass), 2030-2185 (WPCode
   FFL + checkout banner sections), 2227-2229 (phone-required), 2788-2790,
   2792-2795, 2797-2798, 2807-2810 (late cc-* checkout blocks).
   Deferred to the shared/final pass: BCM BORDER RESETS, generic button hovers,
   SD keyboard-focus block (checkout overrides included), cc-global-autofill-fix
   — all resolve by specificity, not order.
   ============================================================================= */

/* FFL */
#ffl_container { background-color: rgb(7,6,20) !important; background: rgb(7,6,20) !important; color: white; }
#ffl_container .content, #ffl_container div.content { background: transparent !important; background-color: transparent !important; text-align: left !important; }
#ffl-required-notice { background: rgba(226,85,85,0.08) !important; background-color: rgba(226,85,85,0.08) !important; border-left: 4px solid #e25555 !important; color: rgba(255,255,255,0.85) !important; -webkit-text-fill-color: rgba(255,255,255,0.85) !important; padding: 0.75rem 1rem !important; font-size: 0.82rem !important; }
.ffl_checkout_notice { background-color: #66000000 !important; color: white !important; }
.ffl-dealer-heading { color: white !important; }
.ffl-list-div { background-color: rgba(255,255,255,0.05) !important; color: rgba(255,255,255,0.85) !important; border: 1px solid rgba(255,255,255,0.12) !important; border-radius: 4px !important; margin-bottom: 0.4rem !important; }
.ffl-list-div:hover { background-color: rgba(1,119,227,0.12) !important; border-color: #0177E3 !important; }
#ffl-local-pickup-search, #ffl-favorite-search, #ffl_search_fields #ffl-search, #ffl-search { background-color: var(--ccr-accent) !important; color: white !important; transition: background-color 0.2s ease !important; }
#ffl-local-pickup-search:hover, #ffl-favorite-search:hover, #ffl_search_fields #ffl-search:hover, #ffl-search:hover { background-color: #0177E3 !important; }
#ffl-click-instructions { background: transparent !important; background-color: transparent !important; border: none !important; border-bottom: 1px solid rgba(255,255,255,0.17) !important; color: rgba(255,255,255,0.5) !important; -webkit-text-fill-color: rgba(255,255,255,0.5) !important; font-size: 0.65rem !important; font-weight: 500 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; padding: 0 0 0.6rem 0 !important; margin-bottom: 0.75rem !important; }
.ffl-list-container, #ffl-list-container, #ffl-list, .ffl-list { background: transparent !important; background-color: transparent !important; padding: 0 !important; margin: 0 !important; list-style: none !important; }

/* CHECKOUT ORDER REVIEW TABLE */
.woocommerce-checkout-review-order-table, .woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { background: #ffffff !important; color: #070614 !important; border-color: #ffffff !important; }
.woocommerce-checkout-review-order-table { border: 1px solid #ffffff !important; }
.woocommerce-checkout-review-order-table *, .woocommerce-checkout-review-order-table span, .woocommerce-checkout-review-order-table bdi, .woocommerce-checkout-review-order-table strong, .woocommerce-checkout-review-order-table label { color: #070614 !important; }
.woocommerce-checkout-review-order-table input { accent-color: #070614; }

/* PAYMENT SECTION INVERSION */
.woocommerce-checkout-payment { background-color: #66000000 !important; color: white !important; }
.woocommerce-checkout #payment, .woocommerce-checkout #payment .wc_payment_methods, .woocommerce-checkout #payment .wc_payment_method, .woocommerce-checkout #payment .payment_box, .woocommerce-checkout #payment .form-row.place-order, .woocommerce-checkout #payment .woocommerce-privacy-policy-text, .woocommerce-checkout #payment p, .woocommerce-checkout #payment label, .woocommerce-checkout #payment span, .woocommerce-checkout #payment strong, .woocommerce-checkout #payment em, .woocommerce-checkout #payment li, .woocommerce-checkout #payment h1, .woocommerce-checkout #payment h2, .woocommerce-checkout #payment h3, .woocommerce-checkout #payment h4, .woocommerce-checkout #payment h5, .woocommerce-checkout #payment h6 { background: #ffffff !important; color: #070614 !important; -webkit-text-fill-color: #070614 !important; border-color: #ffffff !important; }
.woocommerce-checkout #payment .wc-credit-card-form input.input-text { border: 1px solid #cccccc !important; background: #ffffff !important; color: #070614 !important; padding: 8px 10px; }
.woocommerce-checkout #payment .wc-credit-card-form input.input-text:focus { border-color: #0073aa !important; box-shadow: 0 0 0 1px #0073aa; outline: none; }
.woocommerce-checkout #payment a, .woocommerce-checkout #payment a:link, .woocommerce-checkout #payment a:visited, .woocommerce-checkout #payment a:hover, .woocommerce-checkout #payment a:focus, .woocommerce-checkout #payment a:active, .elementor-element-1d03d29e { color: inherit; }
.woocommerce-checkout #payment a *, .woocommerce-checkout #payment .woocommerce-privacy-policy-text a * { color: inherit !important; }
.woocommerce-checkout #payment .wc_payment_method > label, .woocommerce-checkout #payment .woocommerce-terms-and-conditions-checkbox-text { color: #070614 !important; background: transparent !important; }
.woocommerce-checkout #payment ul.payment_methods, .woocommerce-checkout #payment ul.payment_methods li, .woocommerce-checkout #payment div.payment_box, .woocommerce-checkout #payment .form-row.place-order { background: #ffffff !important; border-color: #ffffff !important; }
.woocommerce-checkout #payment .place-order { background: #ffffff !important; color: #070614 !important; }
.woocommerce-checkout #payment .wc_payment_method label img { background: transparent !important; }
.woocommerce-checkout #payment input[type='radio'], .woocommerce-checkout #payment input[type='checkbox'] { accent-color: #070614; }


/* CHECKOUT PAGE */
body.woocommerce-checkout { --co-accent: #0177E3; --co-accent-dim: rgba(1,119,227,0.12); --co-dark: #070614; --co-font: 'DM Sans', inherit, sans-serif; --co-mono: 'DM Mono', monospace; --co-border: rgba(255,255,255,0.07); --co-border-mid: rgba(255,255,255,0.17); --co-text: rgba(255,255,255,0.85); --co-text-muted: rgba(255,255,255,0.36); }
body.woocommerce-checkout .woocommerce, body.woocommerce-checkout .woocommerce * { font-family: var(--co-font) !important; }
body.woocommerce-checkout .elementor-element-4c05b37b, body.woocommerce-checkout h1.entry-title, body.woocommerce-checkout .woocommerce-breadcrumb { display: none !important; }
body.woocommerce-checkout .woocommerce-error, body.woocommerce-checkout ul.woocommerce-error { background: rgba(226,85,85,0.08) !important; border-top: 2px solid #e25555 !important; border-left: none !important; border-right: none !important; border-bottom: none !important; color: rgba(255,255,255,0.85) !important; -webkit-text-fill-color: rgba(255,255,255,0.85) !important; font-size: 0.82rem !important; padding: 0.75rem 1.25rem !important; box-shadow: none !important; list-style: none !important; margin: 0 0 1rem !important; }
body.woocommerce-checkout .woocommerce-error *, body.woocommerce-checkout .woocommerce-NoticeGroup * { color: rgba(255,255,255,0.85) !important; -webkit-text-fill-color: rgba(255,255,255,0.85) !important; background: transparent !important; }
body.woocommerce-checkout .woocommerce-info { background: rgba(255,255,255,0.04) !important; border-top: 2px solid var(--co-border-mid) !important; border-left: none !important; border-right: none !important; border-bottom: 1px solid var(--co-border) !important; color: var(--co-text) !important; font-size: 0.82rem !important; padding: 0.75rem 1.25rem !important; box-shadow: none !important; display: flex !important; align-items: center !important; gap: 0.5rem !important; position: static !important; margin-bottom: 2rem !important; }
body.woocommerce-checkout .woocommerce-info a { color: var(--co-accent) !important; text-decoration: none !important; border-bottom: 1px solid var(--co-accent) !important; }
body.woocommerce-checkout h3, body.woocommerce-checkout .woocommerce-billing-fields h3, body.woocommerce-checkout .woocommerce-shipping-fields h3, body.woocommerce-checkout .woocommerce-additional-fields h3 { color: var(--co-text) !important; font-size: 1rem !important; font-weight: 500 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; border-bottom: 1px solid var(--co-border-mid) !important; padding-bottom: 0.75rem !important; margin-bottom: 1.25rem !important; background: transparent !important; }
body.woocommerce-checkout .woocommerce-checkout label, body.woocommerce-checkout form .form-row label { color: var(--co-text-muted) !important; font-size: 0.72rem !important; font-weight: 500 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; background: transparent !important; -webkit-text-fill-color: unset !important; }
body.woocommerce-checkout .required { color: var(--co-accent) !important; }
body.woocommerce-checkout input, body.woocommerce-checkout input[type="text"], body.woocommerce-checkout input[type="email"], body.woocommerce-checkout input[type="tel"], body.woocommerce-checkout input[type="number"], body.woocommerce-checkout input[type="password"], body.woocommerce-checkout textarea { background: rgba(255,255,255,0.05) !important; background-color: rgba(255,255,255,0.05) !important; border: 1px solid rgba(255,255,255,0.25) !important; border-radius: 4px !important; color: var(--co-text) !important; -webkit-text-fill-color: var(--co-text) !important; font-family: var(--co-font) !important; font-size: 0.875rem !important; padding: 0.6rem 0.9rem !important; box-shadow: none !important; box-sizing: border-box !important; }
body.woocommerce-checkout .select2-container, body.woocommerce-checkout .select2-container--default .select2-selection--single { background: #0d1021 !important; background-color: #0d1021 !important; border: 1px solid rgba(255,255,255,0.25) !important; border-radius: 4px !important; height: auto !important; outline: none !important; }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--co-text) !important; -webkit-text-fill-color: var(--co-text) !important; background: transparent !important; padding: 0.6rem 0.9rem !important; line-height: 1.5 !important; }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b { border-color: rgba(255,255,255,0.4) transparent transparent transparent !important; }
body.woocommerce-checkout .select2-dropdown, body.woocommerce-checkout .select2-container--default .select2-dropdown { background: #0d1021 !important; background-color: #0d1021 !important; border: 1px solid rgba(255,255,255,0.25) !important; }
body.woocommerce-checkout .select2-container--default .select2-results__option { background: transparent !important; color: var(--co-text) !important; }
body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted { background: var(--co-accent) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
body.woocommerce-checkout .select2-search--dropdown .select2-search__field { background: rgba(255,255,255,0.05) !important; border: 1px solid rgba(255,255,255,0.2) !important; color: var(--co-text) !important; }
body.woocommerce-checkout input:focus, body.woocommerce-checkout select:focus, body.woocommerce-checkout textarea:focus { border-color: var(--co-accent) !important; box-shadow: none !important; outline: none !important; }
body.woocommerce-checkout input::placeholder, body.woocommerce-checkout textarea::placeholder { color: var(--co-text-muted) !important; -webkit-text-fill-color: var(--co-text-muted) !important; }
body.woocommerce-checkout input[type="checkbox"], body.woocommerce-checkout input[type="radio"], body.woocommerce-checkout input[type="hidden"], body.woocommerce-checkout input[type="submit"], body.woocommerce-checkout input[type="button"] { background: transparent !important; background-color: transparent !important; border: none !important; width: auto !important; height: auto !important; padding: 0 !important; box-shadow: none !important; }
body.woocommerce-checkout input[type="checkbox"], body.woocommerce-checkout input[type="radio"] { accent-color: var(--co-accent) !important; width: 16px !important; height: 16px !important; }
body.woocommerce-checkout .form-row input.input-text, body.woocommerce-checkout .form-row textarea, body.woocommerce-checkout .form-row select, body.woocommerce-checkout #ffl_name { width: 100% !important; }
body.woocommerce-checkout #ffl-zip-code, body.woocommerce-checkout #ffl-search-radius { width: auto !important; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper, body.woocommerce-checkout #wc-terms-and-conditions-wrapper, body.woocommerce-checkout p.form-row.terms { background: transparent !important; background-color: transparent !important; border: none !important; color: var(--co-text) !important; }
body.woocommerce-checkout select, body.woocommerce-checkout .woocommerce-checkout select, body.woocommerce-checkout form select { background: #0d1021 !important; background-color: #0d1021 !important; border: 1px solid rgba(255,255,255,0.25) !important; border-radius: 4px !important; color: var(--co-text) !important; -webkit-text-fill-color: var(--co-text) !important; padding: 0.6rem 0.9rem !important; width: 100% !important; box-sizing: border-box !important; }
body.woocommerce-checkout .ffl_checkout_notice, body.woocommerce-checkout #ffl_checkout_notice, body.woocommerce-checkout [class*="ffl"] p, body.woocommerce-checkout [class*="ffl"] div:not(#ffl_container):not(.ffl-list-div) { background: rgba(255,255,255,0.04) !important; background-color: rgba(255,255,255,0.04) !important; color: var(--co-text) !important; -webkit-text-fill-color: var(--co-text) !important; border: 1px solid var(--co-border-mid) !important; border-radius: 4px !important; padding: 0.75rem 1rem !important; }
body.woocommerce-checkout #payment .form-row.place-order, body.woocommerce-checkout #payment .place-order { background: transparent !important; background-color: transparent !important; border: none !important; padding: 0.5rem 0 0 !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table, body.woocommerce-checkout .woocommerce-checkout-review-order-table th, body.woocommerce-checkout .woocommerce-checkout-review-order-table td { background: transparent !important; color: var(--co-text) !important; border-color: var(--co-border) !important; -webkit-text-fill-color: var(--co-text) !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart-subtotal th, body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart-subtotal td, body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th, body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { background: transparent !important; background-color: transparent !important; border: none !important; border-top: 1px solid var(--co-border) !important; padding: 0.65rem 0.5rem !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table { border: none !important; border-collapse: collapse !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th { color: var(--co-text-muted) !important; font-size: 0.65rem !important; font-weight: 500 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; border-bottom: 1px solid var(--co-border-mid) !important; background: transparent !important; padding: 0.5rem 0 !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td { border-bottom: 1px solid var(--co-border) !important; padding: 0.75rem 0.5rem !important; background: transparent !important; color: var(--co-text) !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th, body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td { background: transparent !important; color: var(--co-text) !important; -webkit-text-fill-color: var(--co-text) !important; border-top: 1px solid var(--co-border-mid) !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total th, body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total td, body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr.order-total * { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table * { background: transparent !important; color: inherit !important; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-Price-amount { font-family: var(--co-mono) !important; }
body.woocommerce-checkout #order_review, body.woocommerce-checkout .woocommerce-checkout-review-order { background: transparent !important; }
body.woocommerce-checkout #payment, body.woocommerce-checkout #payment .wc_payment_methods, body.woocommerce-checkout #payment .wc_payment_method, body.woocommerce-checkout #payment .payment_box, body.woocommerce-checkout #payment ul.payment_methods, body.woocommerce-checkout #payment ul.payment_methods li, body.woocommerce-checkout #payment div.payment_box, body.woocommerce-checkout #payment .form-row.place-order, body.woocommerce-checkout #payment .place-order { background: transparent !important; color: var(--co-text) !important; border-color: var(--co-border) !important; -webkit-text-fill-color: var(--co-text) !important; }
body.woocommerce-checkout #payment p, body.woocommerce-checkout #payment label, body.woocommerce-checkout #payment span, body.woocommerce-checkout #payment strong, body.woocommerce-checkout #payment em, body.woocommerce-checkout #payment li, body.woocommerce-checkout #payment div { background: transparent !important; color: var(--co-text) !important; -webkit-text-fill-color: var(--co-text) !important; border-color: transparent !important; }
body.woocommerce-checkout #payment .wc_payment_method > label { color: var(--co-text) !important; -webkit-text-fill-color: var(--co-text) !important; background: transparent !important; font-size: 0.875rem !important; }
body.woocommerce-checkout #payment .wc-credit-card-form input.input-text, body.woocommerce-checkout #payment input.input-text { background: transparent !important; border: 1px solid var(--co-border-mid) !important; border-radius: 4px !important; color: var(--co-text) !important; -webkit-text-fill-color: var(--co-text) !important; padding: 0.6rem 0.9rem !important; }
body.woocommerce-checkout #payment .wc_payment_method label img { background: transparent !important; }
body.woocommerce-checkout #payment input[type="radio"], body.woocommerce-checkout #payment input[type="checkbox"] { accent-color: var(--co-accent) !important; }
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text, body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper { color: var(--co-text-muted) !important; -webkit-text-fill-color: var(--co-text-muted) !important; background: transparent !important; font-size: 0.78rem !important; }
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text a, body.woocommerce-checkout #payment .woocommerce-terms-and-conditions a { color: var(--co-accent) !important; -webkit-text-fill-color: var(--co-accent) !important; }
body.woocommerce-checkout #payment .woocommerce-terms-and-conditions-checkbox-text { color: var(--co-text) !important; -webkit-text-fill-color: var(--co-text) !important; background: transparent !important; font-size: 0.82rem !important; }
button#place_order, body.woocommerce-checkout button#place_order, body.woocommerce-checkout #payment button#place_order, body.woocommerce-checkout.woocommerce-checkout #payment #place_order { background: var(--ccr-accent) !important; background-color: var(--ccr-accent) !important; border: none !important; border-radius: 4px !important; color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; font-family: var(--co-font) !important; font-size: 0.8rem !important; font-weight: 500 !important; letter-spacing: 0.12em !important; padding: 1rem 1.5rem !important; text-transform: uppercase !important; width: 100% !important; cursor: pointer !important; display: block !important; margin-top: 0.75rem !important; transition: all 0.25s ease !important; box-shadow: none !important; }
button#place_order:hover, body.woocommerce-checkout #payment button#place_order:hover { background: #0177E3 !important; background-color: #0177E3 !important; transform: translateY(-1px) !important; }
body.woocommerce-checkout #payment .payment_box input, body.woocommerce-checkout #payment .payment_box input.input-text, body.woocommerce-checkout #payment .wc-credit-card-form input, body.woocommerce-checkout #payment input[type="text"], body.woocommerce-checkout #payment input[type="tel"], body.woocommerce-checkout #payment input[type="number"], body.woocommerce-checkout #fluidpay-card-number, body.woocommerce-checkout #fluidpay-card-expiry, body.woocommerce-checkout #fluidpay-card-cvc { background: transparent !important; border: 1px solid var(--co-border-mid) !important; border-radius: 4px !important; color: var(--co-text) !important; -webkit-text-fill-color: var(--co-text) !important; padding: 0.6rem 0.9rem !important; box-sizing: border-box !important; width: 100% !important; }
body.woocommerce-checkout .elementor-element-1d03d29e, body.woocommerce-checkout .elementor-element-1d03d29e * { background: transparent !important; color: var(--co-text) !important; -webkit-text-fill-color: var(--co-text) !important; border-color: transparent !important; }
body.woocommerce-checkout p.form-row:has(input[type="checkbox"]), body.woocommerce-checkout .form-row:has(input[type="checkbox"]) { background: transparent !important; background-color: transparent !important; border: none !important; box-shadow: none !important; border-radius: 0 !important; padding: 0.4rem 0 !important; margin: 0 0 0.5rem 0 !important; width: 100% !important; box-sizing: border-box !important; float: none !important; }

body.woocommerce-checkout p.form-row:has(input[type="checkbox"]) label input[type="checkbox"], body.woocommerce-checkout .form-row:has(input[type="checkbox"]) label input[type="checkbox"] { flex-shrink: 0 !important; margin-top: 2px !important; }
body.woocommerce-checkout #siu_insurance_field, body.woocommerce-checkout #siu_insurance_field * { background: transparent !important; color: var(--co-text) !important; -webkit-text-fill-color: var(--co-text) !important; border-color: transparent !important; }
body.woocommerce-checkout #siu_insurance_field label { display: block !important; overflow: hidden !important; padding: 0 !important; margin: 0 !important; white-space: normal !important; word-break: break-word !important; line-height: 1.5 !important; font-size: 0.82rem !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 400 !important; }
body.woocommerce-checkout #siu_insurance_field label input[type="checkbox"] { float: left !important; margin: 2px 0.5rem 0 0 !important; }
body.woocommerce-checkout .elementor-element-1277b2c0 .elementor-heading-title { font-size: 1rem !important; font-weight: 500 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; color: var(--co-text) !important; border-bottom: 1px solid var(--co-border-mid) !important; padding-bottom: 0.75rem !important; margin-bottom: 0 !important; background: transparent !important; }
body.woocommerce-checkout .elementor-element-1277b2c0, body.woocommerce-checkout .elementor-element-1277b2c0 > .elementor-widget-container { padding-bottom: 0 !important; margin-bottom: 0.75rem !important; }
body.woocommerce-checkout .elementor-element-7f111e93, body.woocommerce-checkout .elementor-element-7f111e93 > .elementor-widget-container { padding-top: 0 !important; margin-top: 0 !important; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text ~ abbr.required { display: none !important; visibility: hidden !important; position: absolute !important; opacity: 0 !important; pointer-events: none !important; width: 0 !important; height: 0 !important; overflow: hidden !important; }
body.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text::after { content: ' *' !important; color: var(--co-accent) !important; font-weight: 700 !important; }



body.woocommerce-checkout #payment label[for="payment_method_fluidpay"] img[src*="dinersclub"] { display: none !important; }
body.woocommerce-checkout #payment .payment_box::before { display: none !important; content: none !important; }
body.woocommerce-checkout #payment label[for="payment_method_fluidpay"] { display: flex !important; flex-wrap: wrap !important; align-items: center !important; column-gap: 0.5rem !important; row-gap: 0.4rem !important; }
body.woocommerce-checkout #payment label[for="payment_method_fluidpay"]::before { content: '' !important; flex-basis: 100% !important; height: 0 !important; order: 1 !important; }
body.woocommerce-checkout #payment label[for="payment_method_fluidpay"] img { order: 2 !important; height: 32px !important; width: auto !important; flex-shrink: 0 !important; background: transparent !important; }
body.woocommerce-checkout #payment ul.payment_methods { padding: 0 !important; margin: 0 !important; list-style: none !important; }
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method { padding: 0 !important; margin: 0 !important; }
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method input[type="radio"] { display: none !important; }
body.woocommerce-checkout #payment .payment_box { padding: 0.75rem 0 0 0 !important; margin: 0 !important; }
body.woocommerce-checkout .woocommerce-form-login button[name="login"] { background: transparent !important; background-color: transparent !important; border: 1px solid rgba(255,255,255,0.17) !important; border-radius: 4px !important; color: rgba(255,255,255,0.55) !important; -webkit-text-fill-color: rgba(255,255,255,0.55) !important; font-size: 0.875rem !important; font-weight: 500 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; padding: 0 1rem !important; height: 44px !important; cursor: pointer !important; transition: all 0.2s ease !important; display: inline-flex !important; align-items: center !important; }
body.woocommerce-checkout .woocommerce-form-login button[name="login"]:hover { border-color: var(--co-accent) !important; color: #fff !important; background: var(--co-accent-dim) !important; }
body.woocommerce-checkout .woocommerce-form-login p.form-row { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 0.75rem !important; }
body.woocommerce-checkout .woocommerce-form-login .woocommerce-form-login__rememberme { display: inline-flex !important; align-items: center !important; gap: 0.4rem !important; color: var(--co-text) !important; font-size: 0.82rem !important; cursor: pointer !important; }
body.woocommerce-checkout .woocommerce-form-login .woocommerce-form-login__rememberme input[type="checkbox"] { accent-color: var(--co-accent) !important; width: 15px !important; height: 15px !important; margin: 0 !important; flex-shrink: 0 !important; }
body.woocommerce-checkout .checkout_coupon button.button[name="apply_coupon"] { background: transparent !important; background-color: transparent !important; border: 1px solid rgba(255,255,255,0.17) !important; border-radius: 4px !important; color: rgba(255,255,255,0.55) !important; font-size: 0.875rem !important; font-weight: 500 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; padding: 0 1rem !important; height: 44px !important; cursor: pointer !important; transition: all 0.2s ease !important; display: inline-flex !important; align-items: center !important; }
body.woocommerce-checkout .checkout_coupon input#coupon_code { height: 44px !important; box-sizing: border-box !important; padding-top: 0 !important; padding-bottom: 0 !important; }
body.woocommerce-checkout .checkout_coupon button.button[name="apply_coupon"]:hover { border-color: var(--co-accent) !important; color: #fff !important; background: var(--co-accent-dim) !important; }
body.woocommerce-checkout #order_review_heading { color: var(--co-text) !important; font-size: 1rem !important; font-weight: 500 !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; border-bottom: 1px solid var(--co-border-mid) !important; padding-bottom: 0.75rem !important; margin-bottom: 1.25rem !important; background: transparent !important; }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table * { background: transparent !important; color: var(--co-text) !important; -webkit-text-fill-color: var(--co-text) !important; border-color: var(--co-border) !important; }
body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total * { color: #ffffff !important; -webkit-text-fill-color: #ffffff !important; }
@media (max-width: 767px) {
    body.woocommerce-checkout #ffl_search_fields { display: flex !important; flex-direction: column !important; gap: 0.5rem !important; width: 100% !important; box-sizing: border-box !important; }
    body.woocommerce-checkout .ffl_checkout_columns { display: contents !important; }
    body.woocommerce-checkout .ffl_checkout_column { width: 100% !important; box-sizing: border-box !important; }
    body.woocommerce-checkout .ffl_checkout_column:has(#ffl-zip-code) { order: 1 !important; }
    body.woocommerce-checkout .ffl_checkout_column:has(#ffl-radius) { order: 2 !important; }
    body.woocommerce-checkout .ffl_checkout_column:has(#ffl-name-search) { order: 3 !important; }
    body.woocommerce-checkout .ffl_checkout_column:has(#ffl-search) { order: 4 !important; display: flex !important; justify-content: center !important; }
    body.woocommerce-checkout #ffl-zip-code, body.woocommerce-checkout #ffl-name-search, body.woocommerce-checkout #ffl-radius, body.woocommerce-checkout #ffl-search { width: 100% !important; box-sizing: border-box !important; }
    body.woocommerce-checkout #payment label[for="payment_method_fluidpay"] img { height: 36px !important; }
    body.woocommerce-checkout #payment .payment_box.payment_method_fluidpay, body.woocommerce-checkout #payment .payment_box.payment_method_fluidpay fieldset, body.woocommerce-checkout #payment #wc-fluidpay-cc-form { padding-left: 0 !important; margin-left: 0 !important; }
    body.woocommerce-checkout .elementor-element-7f111e93, body.woocommerce-checkout .elementor-element-7f111e93 > .elementor-widget-container, body.woocommerce-checkout #payment, body.woocommerce-checkout .woocommerce-checkout-payment { margin-top: 0 !important; padding-top: 0 !important; }
    body.woocommerce-checkout .elementor-element-643e3448, body.woocommerce-checkout .elementor-element-643e3448 > .elementor-widget-container { padding-bottom: 0 !important; margin-bottom: 1rem !important; }
    body.woocommerce-checkout .elementor-element-1277b2c0, body.woocommerce-checkout .elementor-element-1277b2c0 > .elementor-widget-container { padding-top: 0 !important; padding-bottom: 0 !important; margin-top: 0 !important; margin-bottom: 0.6rem !important; }
    body.woocommerce-checkout #payment .payment_box { padding: 0.6rem 0 0 0 !important; margin: 0 !important; }
}

/* CHECKOUT — hide the WooCommerce notice icons. They're a ::before glyph from
   WooCommerce's icon font, which this theme doesn't load, so they render as
   empty tofu squares (and overlap the notice text). The matching account-page
   rule moved to cc-raffles/assets/css/cc-account.css. */
body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-message::before,
body.woocommerce-checkout .woocommerce-NoticeGroup::before {
    display: none !important;
    content: none !important;
}

/* CHECKOUT — the NoticeGroup is just a wrapper around the actual notice; keep it
   transparent so the styled .woocommerce-error doesn't render as a box-in-a-box. */
body.woocommerce-checkout .woocommerce-NoticeGroup,
body.woocommerce-checkout .woocommerce-NoticeGroup-checkout {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 1rem !important;
    box-shadow: none !important;
}

/* CHECKOUT — "there are some issues with your cart" blocking message. It's plain
   <p>s inside .woocommerce (not a notice element), so it wasn't themed and the
   text rendered near-invisible. Make it readable. */
body.woocommerce-checkout .woocommerce > p {
    color: var(--co-text) !important;
    -webkit-text-fill-color: var(--co-text) !important;
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
}

/* CHECKOUT — center, constrain, and box the "cart has issues" blocking message.
   Scoped via :has() to the .woocommerce wrapper ONLY when it holds the
   Return-to-cart button, so it never touches the normal checkout form. */
body.woocommerce-checkout .woocommerce:has(> p a.wc-backward) {
    max-width: 640px !important;
    margin: 2.5rem auto !important;
    padding: 2rem !important;
    text-align: center !important;
    background: rgba(255,255,255,0.03) !important;
    border: 1px solid var(--co-border-mid) !important;
    border-radius: 8px !important;
}
body.woocommerce-checkout .woocommerce:has(> p a.wc-backward) > p {
    margin: 0 0 1.25rem 0 !important;
}
body.woocommerce-checkout .woocommerce:has(> p a.wc-backward) > p:last-child {
    margin-bottom: 0 !important;
}

/* CHECKOUT — align the top notices (coupon row, validation errors, login toggle)
   with the page content. Content is boxed to 1300px (global Content Width) AND
   inset 50px by section padding, so match both: cap to 1300px + centre, then add
   the 50px inset. The error is a bare ul.woocommerce-error (not a NoticeGroup). */
@media (min-width: 768px) {
    body.woocommerce-checkout .woocommerce-notices-wrapper,
    body.woocommerce-checkout ul.woocommerce-error,
    body.woocommerce-checkout .woocommerce-NoticeGroup,
    body.woocommerce-checkout .woocommerce-NoticeGroup-checkout,
    body.woocommerce-checkout .woocommerce-form-coupon-toggle,
    body.woocommerce-checkout .woocommerce-form-login-toggle,
    body.woocommerce-checkout form.checkout_coupon,
    body.woocommerce-checkout form.login {
        max-width: 1300px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }
}

/* CHECKOUT — coupon form: align the code field and Apply button on one row. They
   render as two floated form-rows whose tops don't line up; flex fixes it. */
body.woocommerce-checkout form.checkout_coupon:not([style*="display: none"]):not([style*="display:none"]) {
    display: flex !important;
    align-items: stretch !important;
    gap: 0.75rem !important;
    flex-wrap: nowrap !important;
}
body.woocommerce-checkout form.checkout_coupon .form-row {
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: auto !important;
}
body.woocommerce-checkout form.checkout_coupon .form-row-first {
    flex: 1 1 auto !important;
}
body.woocommerce-checkout form.checkout_coupon .form-row-last {
    flex: 0 0 auto !important;
}
body.woocommerce-checkout form.checkout_coupon #coupon_code {
    width: 100% !important;
    height: 100% !important;
}
body.woocommerce-checkout form.checkout_coupon .clear {
    display: none !important;
}

/* CHECKOUT — "Ship to a different address?" checkbox + label inline. Stray <br>s
   inside the label force breaks; hide them and align the checkbox with the text. */
body.woocommerce-checkout #ship-to-different-address label br {
    display: none !important;
}
body.woocommerce-checkout #ship-to-different-address label.checkbox {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    margin: 0 !important;
    cursor: pointer !important;
}
body.woocommerce-checkout #ship-to-different-address-checkbox {
    margin: 0 !important;
    flex: 0 0 auto !important;
}

/* CHECKOUT — coupon form alignment, stronger scope. The previous rule wasn't
   winning against JetWooBuilder's .elementor-jet-checkout-coupon-form styling, so
   scope through that wrapper and force the field + button onto one aligned row. */
body.woocommerce-checkout .elementor-jet-checkout-coupon-form form.checkout_coupon:not([style*="display: none"]):not([style*="display:none"]) {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    flex-wrap: nowrap !important;
    max-width: 100% !important;
}
body.woocommerce-checkout .elementor-jet-checkout-coupon-form form.checkout_coupon .form-row {
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: auto !important;
    max-width: none !important;
}
body.woocommerce-checkout .elementor-jet-checkout-coupon-form form.checkout_coupon .form-row-first {
    flex: 1 1 auto !important;
}
body.woocommerce-checkout .elementor-jet-checkout-coupon-form form.checkout_coupon .form-row-last {
    flex: 0 0 auto !important;
}
body.woocommerce-checkout .elementor-jet-checkout-coupon-form form.checkout_coupon #coupon_code {
    width: 100% !important;
    margin: 0 !important;
}
body.woocommerce-checkout .elementor-jet-checkout-coupon-form form.checkout_coupon button[name="apply_coupon"] {
    margin: 0 !important;
    white-space: nowrap !important;
}

/* CHECKOUT — coupon form: the form-row holds a stray <br> after the hidden
   screen-reader label, inserting a phantom line above the input and throwing the
   vertical alignment off. Hide the <br>s and equalise field/button heights. */
body.woocommerce-checkout form.checkout_coupon .form-row br {
    display: none !important;
}
body.woocommerce-checkout .elementor-jet-checkout-coupon-form form.checkout_coupon:not([style*="display: none"]):not([style*="display:none"]) {
    align-items: stretch !important;
}
body.woocommerce-checkout .elementor-jet-checkout-coupon-form form.checkout_coupon #coupon_code {
    height: 100% !important;
    box-sizing: border-box !important;
    padding-top: 0.65rem !important;
    padding-bottom: 0.65rem !important;
}

/* CHECKOUT — reduce the dead space above the coupon row. The gap is the coupon
   section's top padding (Elementor section 79d0825d in the JetWooBuilder checkout
   template) stacked with the warning section's bottom padding above it. Prefer
   adjusting in Elementor; this caps it in CSS as a fallback. NOTE: pinned to the
   section ID — goes stale if that section is rebuilt. */
body.woocommerce-checkout .elementor-element-79d0825d > .elementor-container {
    padding-top: 0 !important;
}
body.woocommerce-checkout .elementor-element-79d0825d {
    padding-top: 1.5rem !important;
    padding-bottom: 0 !important;
}

.woocommerce-cart .sdwoo {
	display: none;
}

.woocommerce-checkout .sdwoo {
	display: none;
}

.sdcart_checkout{
	display:none;
}

.woocommerce-cart .sdcart_checkout {
	display:inherit !important;
}

.woocommerce-checkout .sdcart_checkout {
	display:inherit !important;
}

.sdwoocart{
	display:none;
}

.woocommerce-checkout .sdwoocart{
	display:inherit !important;
}
.woocommerce-cart .sdwoocart{
	display:inherit !important;
}

/* ===== Migrated from WPCode: FFL Checkout CSS (snippet 475839) ===== */
.ffl-list-div.selectedFFLDivButton {
	background-color: #0177E3 !important;
	color: white !important;
	border: 1px solid #fff !important;
	box-shadow: inset 0 1px 1px #ebebeb !important;
}
/* ===== End WPCode migration ===== */



/* === Checkout section heading hierarchy (added) === */
body.woocommerce-checkout .woocommerce h3,
body.woocommerce-checkout .woocommerce-billing-fields h3,
body.woocommerce-checkout .woocommerce-shipping-fields h3,
body.woocommerce-checkout .woocommerce-additional-fields h3,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .ffl-dealer-heading,
body.woocommerce-checkout .elementor-element-1277b2c0 .elementor-heading-title {
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  color: #ffffff !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  line-height: 1.25 !important;
  padding-bottom: 0.6rem !important;
  margin-bottom: 1.25rem !important;
  border-bottom: 2px solid var(--co-border-mid, rgba(255,255,255,0.18)) !important;
}
body.woocommerce-checkout form.checkout label,
body.woocommerce-checkout .woocommerce-checkout label {
  color: rgba(255,255,255,0.72) !important;
}
/* === end checkout heading hierarchy === */

/* === Checkout column alignment & order-table headers (added) === */
/* Pull the billing column heading up 15px so it top-aligns with the
   "Your order" heading in the right column */
body.woocommerce-checkout .elementor-element-2f92b716 > .elementor-widget-container {
  margin-top: -15px !important;
}
/* Enlarge the order-summary table column headers (Product / Subtotal)
   which were rendering at ~10px */
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th,
body.woocommerce-checkout #order_review thead th {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.7) !important;
}
/* === end column alignment & order-table headers === */

/* === Checkout misc UX fixes (added) === */
/* #3: disabled Place Order button should not look clickable */
body.woocommerce-checkout #payment #place_order:disabled,
body.woocommerce-checkout #payment #place_order[disabled],
body.woocommerce-checkout.woocommerce-checkout #payment #place_order:disabled {
  cursor: not-allowed !important;
}
/* #4: remove the empty trailing spacer line under the FFL search fields */
body.woocommerce-checkout #ffl_container > br {
  display: none !important;
}
/* === end checkout misc UX fixes === */

/* === Terms checkbox alignment (added) === */
/* Match the terms checkbox row to the shipping-insurance checkbox row:
   vertically center the box with the first text line and use a single 8px gap */
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  line-height: 1.4 !important;
}
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input#terms {
  margin: 0 !important;
  flex: 0 0 auto !important;
}
/* tighten the wrapper bottom spacing to match other checkbox rows */
body.woocommerce-checkout p.form-row.terms,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 8px !important;
}
/* === end terms checkbox alignment === */

/* === Shipment row spacing & alignment (added) === */
/* Align the 'Shipment' title vertically with its options block */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals.shipping th,
body.woocommerce-checkout #order_review tr.shipping th {
  vertical-align: top !important;
  padding-top: 12px !important;
}
/* Lay out each shipping option as a flex row so the radio stays beside
   the (wrapping) label and is vertically centered, with even spacing */
body.woocommerce-checkout ul.woocommerce-shipping-methods li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  margin: 0 0 10px 0 !important;
  line-height: 1.4 !important;
}
body.woocommerce-checkout ul.woocommerce-shipping-methods li:last-child {
  margin-bottom: 0 !important;
}
body.woocommerce-checkout ul.woocommerce-shipping-methods li input[type="radio"] {
  margin: 0 !important;
  flex: 0 0 auto !important;
}
body.woocommerce-checkout ul.woocommerce-shipping-methods li label {
  display: inline !important;
  line-height: 1.4 !important;
  margin: 3px 0 0 0 !important;
}
/* === end shipment row spacing & alignment === */


/* === order-table-indent-normalize (added) === */
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.fee th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.tax-rate th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total th {
  padding-left: 0.5rem !important;
}
/* === end order-table-indent-normalize === */

/* === order-table-amount-align-weight (added) === */
/* Fix A: align standalone $ amounts to the same left edge as cart items (8px) */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.fee td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.tax-rate td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td {
  padding-left: 0.5rem !important;
}
/* Fix B: unify amount weights to 600 across the order table */
body.woocommerce-checkout .woocommerce-checkout-review-order-table td .woocommerce-Price-amount,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td .woocommerce-Price-amount bdi {
  font-weight: 600 !important;
}
/* Emphasize only the Total amount at 700 */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td .woocommerce-Price-amount,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr.order-total td .woocommerce-Price-amount bdi {
  font-weight: 700 !important;
}
/* === end order-table-amount-align-weight === */

/* === pickup-button-border-normalize (added) === */
body.woocommerce-checkout input#ffl-local-pickup-search,
body.woocommerce-checkout button#ffl-local-pickup-search {
  border-color: #ffffff !important;
}
/* === end pickup-button-border-normalize === */
/* === ship-to-diff-remove-underline (added) === */
body.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* === end ship-to-diff-remove-underline === */

/* cc-checkout-phone-required: billing phone is required (g-ffl enforces it); hide the misleading "(optional)" + show the required asterisk */
#billing_phone_field label .optional{display:none!important;}
#billing_phone_field label::after{content:" *";color:#0177E3;}

/* cc-credova-dark — Credova checkout gateway wordmark is a black SVG; whiten for the dark theme */
.woocommerce-checkout li.payment_method_credova label svg,
.woocommerce-checkout li.payment_method_credova label svg path{fill:#ffffff !important;}

/* cc-checkout-payment-methods — theme hides native payment radios; render each method as a distinct selectable card with a blue selected highlight (border+tint). No absolute radio dot -> mobile-safe. */
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method{border:1px solid rgba(255,255,255,0.16) !important;border-radius:6px !important;padding:16px !important;margin-bottom:10px !important;transition:border-color .15s ease,background .15s ease;}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input:checked){border-color:#0177E3 !important;background:rgba(1,119,227,0.08) !important;}
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label{cursor:pointer;}

/* cc-checkout-spinner-center — checkout .woocommerce-checkout-payment is tall (esp. mobile), so the block spinner's 50%-of-container lands low ('bottom'); center it in the viewport instead */
body.woocommerce-checkout .blockUI.blockOverlay::before{position:fixed !important;top:50% !important;left:50% !important;right:auto !important;bottom:auto !important;margin:-16px 0 0 -16px !important;}

/* cc-checkout-success-notice : success messages (e.g. "Coupon code applied successfully") green, not red — they used to share the .woocommerce-error rule */
body.woocommerce-checkout .woocommerce-message { background: rgba(59,165,93,0.10) !important; border-top: 2px solid #3BA55D !important; border-left: none !important; border-right: none !important; border-bottom: none !important; color: rgba(255,255,255,0.90) !important; -webkit-text-fill-color: rgba(255,255,255,0.90) !important; font-size: 0.82rem !important; padding: 0.75rem 1.25rem !important; box-shadow: none !important; list-style: none !important; margin: 0 0 1rem !important; }
body.woocommerce-checkout .woocommerce-message * { color: rgba(255,255,255,0.90) !important; -webkit-text-fill-color: rgba(255,255,255,0.90) !important; background: transparent !important; }
/* end cc-checkout-success-notice */

/* ===== end CHECKOUT PAGE migration ===== */

/* =============================================================================
   SHOP / CATALOG BROWSING — migrated 2026-08-08 (Phase 2, section 3).
   Origin ranges (numbering of the 153,221-byte post-checkout content): 62-268
   (preamble SHOP region: sidebar filters, labels, inputs, checkboxes, scrollbars,
   price slider, sort, result count, product cards, YITH wishlist, filter tags,
   pagination, collapse, clear-all pill), 328-331 (sd-mobile-filter), 1095-1118 +
   1208-1215 + 1244-1283 (the STOCK-STATUS FAMILY across single-product + grid —
   interlocking same-selector rules, moved complete to preserve cascade),
   1330-1337 (shop pagination), 1366-1368 (sr-only), 1379-1403 (tile typography +
   bullets), 1404-1444 (select2 cascade), 1448-1453 (chevrons), 1524-1551
   (out-of-stock family), 1595-1607 + 1620-1625 (WPCode thumbnails + shop
   breadcrumb hides), 1692-1717 (subfilter spacing + search separator).
   Deliberately KEPT inline: the mobile responsive grab-bag block (its shop
   overrides stay later-in-cascade = keep winning, matching original order);
   cc-xsell scoped tiles; cc-single-stock-size (wins by specificity); buy-box.
   ============================================================================= */

/* SHOP - SIDEBAR FILTERS */

/* Each filter section: border separator, label handles all internal spacing */

/* Hide JetSmartFilters custom scroll arrow indicators in sidebar */

/* Kill JetSmartFilters' own scroll container that causes the outer scrollbar */

/* Hide the redundant Search label */


/* SHOP - FILTER COLUMN LABELS */

/* Search bar — single border on wrapper containing both input and button */


/* SHOP - MAIN SEARCH INPUT (JetSmartFilters Search widget) */


/* SHOP - FILTER COLUMN SEARCH INPUTS */


/* SHOP - CHECKBOXES */


/* SHOP - SCROLLBARS (filter item lists) */


/* SHOP - PRICE SLIDER */
body.woocommerce-shop .noUi-target, body.tax-product_cat .noUi-target { background: rgba(255,255,255,0.10) !important; border: none !important; border-radius: 3px !important; box-shadow: none !important; height: 3px !important; }
body.woocommerce-shop .noUi-connect, body.tax-product_cat .noUi-connect { background: #0177E3 !important; }
body.woocommerce-shop .noUi-handle, body.tax-product_cat .noUi-handle { background: #ffffff !important; border: 2px solid #0177E3 !important; border-radius: 50% !important; box-shadow: 0 0 0 4px rgba(1,119,227,0.25) !important; cursor: pointer !important; height: 16px !important; width: 16px !important; top: -7px !important; right: -8px !important; }
body.woocommerce-shop .noUi-handle::before, body.woocommerce-shop .noUi-handle::after { display: none !important; }
body.woocommerce-shop .noUi-handle:hover { box-shadow: 0 0 0 7px rgba(1,119,227,0.25) !important; }

/* SHOP - SORT BY (JetSmartFilters sorting widget) */


/* SHOP - RESULT COUNT + WC ORDERING */
body.woocommerce-shop .woocommerce-notices-wrapper:empty { display: none !important; height: 0 !important; margin: 0 !important; padding: 0 !important; }
body.woocommerce-shop .woocommerce { margin-top: 0 !important; }






/* SHOP - PRODUCT CARDS */





.jet-woo-builder-archive-product-title a, ul.products li.product .woocommerce-loop-product__title, ul.products .woocommerce-loop-product__title { color: rgba(255,255,255,0.85) !important; font-family: 'DM Sans', inherit, sans-serif !important; font-size: 0.875rem !important; font-weight: 400 !important; letter-spacing: -0.01em !important; line-height: 1.45 !important; text-decoration: none !important; }




.jet-woo-builder-archive .stock.out-of-stock, ul.products li.product .stock.out-of-stock { color: rgba(226,85,85,0.85) !important; font-size: 0.68rem !important; font-weight: 600 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; }


/* SHOP - WISHLIST (YITH) */
.yith-wcwl-add-button, .yith-wcwl-add-button a.add_to_wishlist, .yith-wcwl-add-button a, .add_to_wishlist, .yith-wcwl-wishlistexistsbrowse a, .yith-wcwl-wishlistaddedbrowse a { align-items: center !important; background: rgba(7,6,20,0.82) !important; background-color: rgba(7,6,20,0.82) !important; border: 1px solid rgba(255,255,255,0.15) !important; border-radius: 50% !important; color: rgba(255,255,255,0.55) !important; display: inline-flex !important; height: 36px !important; justify-content: center !important; text-decoration: none !important; width: 36px !important; }
.yith-wcwl-add-button a:hover, .add_to_wishlist:hover, .yith-wcwl-wishlistexistsbrowse a:hover { background: rgba(1,119,227,0.14) !important; background-color: rgba(1,119,227,0.14) !important; border-color: #0177E3 !important; color: #0177E3 !important; }
.yith-wcwl-wishlistaddedbrowse a { border-color: rgba(1,119,227,0.45) !important; color: #0177E3 !important; }
.yith-wcwl-add-button i, .add_to_wishlist i, .yith-wcwl-wishlistexistsbrowse i, .yith-wcwl-wishlistaddedbrowse i { color: currentColor !important; font-size: 0.85rem !important; pointer-events: none !important; }

/* SHOP - ACTIVE FILTER TAGS */


/* SHOP - PAGINATION */






/* SHOP - SIDEBAR FILTER COLLAPSE (driven by WPCode JS) */

/* Clear all filters pill */


/* Stock indicator — green for in stock, amber for low/backorder, red out */
body.single-product .stock.in-stock {
    color: #2ecc71 !important;
    -webkit-text-fill-color: #2ecc71 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
}
body.single-product .stock.in-stock::before {
    content: "● " !important;
    font-size: 0.7em !important;
    vertical-align: middle !important;
}
body.single-product .stock.available-on-backorder {
    color: #e6a23c !important;
    -webkit-text-fill-color: #e6a23c !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
}
body.single-product .stock.out-of-stock {
    color: #e25555 !important;
    -webkit-text-fill-color: #e25555 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
}

/* SINGLE PRODUCT — amber for the low-stock class added by the PHP filter
   (WooCommerce has no native low-stock class). Size is set in the main stock
   rules above. */
body.single-product .stock.in-stock.low-stock {
    color: #e6a23c !important;
    -webkit-text-fill-color: #e6a23c !important;
}


/* PRODUCT GRID TILES — amber low-stock badge (desktop + mobile). The PHP filter
   adds .low-stock everywhere; the grid rules only had green/red. */
.jet-woo-builder-archive .stock.in-stock.low-stock,
ul.products li.product .stock.in-stock.low-stock {
    color: #e6a23c !important;
    -webkit-text-fill-color: #e6a23c !important;
}

/* ============================================================
   2026-06 FIXES (appended) — grid stock colors + mobile buy box
   ============================================================ */

/* GRID/ARCHIVE STOCK BADGES — the real container is
   .jet-woo-builder-archive-product-stock-status (NOT .jet-woo-builder-archive),
   which is why the earlier archive rules never applied. Match it directly and
   beat the Elementor per-widget green/size. */
.jet-woo-builder-archive-product-stock-status .stock {
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    line-height: 1.3 !important;
}
.jet-woo-builder-archive-product-stock-status .stock.in-stock {
    color: rgba(72,199,142,0.85) !important;
    -webkit-text-fill-color: rgba(72,199,142,0.85) !important;
}
/* low-stock wins over plain in-stock (same specificity, later in source) */
.jet-woo-builder-archive-product-stock-status .stock.in-stock.low-stock {
    color: #e6a23c !important;
    -webkit-text-fill-color: #e6a23c !important;
}
.jet-woo-builder-archive-product-stock-status .stock.available-on-backorder {
    color: #e6a23c !important;
    -webkit-text-fill-color: #e6a23c !important;
}
.jet-woo-builder-archive-product-stock-status .stock.out-of-stock {
    color: rgba(226,85,85,0.85) !important;
    -webkit-text-fill-color: rgba(226,85,85,0.85) !important;
}

/* SHOP PAGINATION - dark theme */


/* SHOP PAGINATION - bottom spacing (mobile) */
@media (max-width: 767px){ body .elementor-element-204f75b1 { margin-bottom: 32px !important; } }


/* Accessible visually-hidden (sr-only) for SEO H1 on Shop */
.sd-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }


/* === STANDARDIZE PRODUCT TILES (match cross-sell big look) === */
.jet-woo-builder-archive .stock.in-stock, ul.products li.product .stock.in-stock, .jet-listing-grid .stock.in-stock { color: #2ecc71 !important; -webkit-text-fill-color: #2ecc71 !important; font-size: 0.95rem !important; font-weight: 600 !important; letter-spacing: normal !important; text-transform: none !important; }
.jet-woo-builder-archive .stock.in-stock::before, ul.products li.product .stock.in-stock::before, .jet-listing-grid .stock.in-stock::before { content: "● " !important; font-size: 0.7em !important; vertical-align: middle !important; line-height: 1 !important; }
.jet-woo-builder-archive .stock.in-stock.low-stock, ul.products li.product .stock.in-stock.low-stock, .jet-listing-grid .stock.in-stock.low-stock { color: #e6a23c !important; -webkit-text-fill-color: #e6a23c !important; }
.jet-woo-builder-archive .woocommerce-Price-amount, ul.products li.product .woocommerce-Price-amount, .jet-listing-grid .woocommerce-Price-amount { font-weight: 700 !important; }
.jet-woo-builder-archive-product-title a, ul.products li.product .woocommerce-loop-product__title, .jet-listing-grid .jet-woo-builder-archive-product-title a { font-weight: 700 !important; }

.bcm-loop-title-text { font-weight: 700 !important; }

/* STANDARDIZE TILE PRICE SIZE to 16px (match cross-sell) */
.jet-woo-builder-archive .woocommerce-Price-amount, ul.products li.product .woocommerce-Price-amount, .jet-listing-grid .woocommerce-Price-amount { font-size: 16px !important; }

/* BULLET ALIGN REFINE - vertically center bullet with stock text everywhere */
.jet-woo-builder-archive .stock.in-stock::before, ul.products li.product .stock.in-stock::before, .jet-listing-grid .stock.in-stock::before, body.single-product .stock.in-stock::before { vertical-align: -0.06em !important; line-height: 1 !important; }

/* BULLET ALIGN V2 - center bullet with stock text in ALL contexts (overrides earlier middle and -0.06em) */
.jet-woo-builder-archive .stock.in-stock::before, ul.products li.product .stock.in-stock::before, .jet-listing-grid .stock.in-stock::before { vertical-align: 0.12em !important; font-size: 0.7em !important; line-height: 1 !important; }
body.single-product .stock.in-stock::before { vertical-align: 0.12em !important; font-size: 0.7em !important; line-height: 1 !important; }
body.single-product .stock.available-on-backorder::before, .jet-listing-grid .stock.available-on-backorder::before { vertical-align: 0.12em !important; font-size: 0.7em !important; line-height: 1 !important; }
body.single-product .bcm-loop-title-text, .bcm-loop-title-wrap .bcm-loop-title-text { font-weight: 700 !important; }

/* BULLET SPACING - space between bullet and stock text in all contexts */
.jet-woo-builder-archive .stock.in-stock::before, ul.products li.product .stock.in-stock::before, .jet-listing-grid .stock.in-stock::before, body.single-product .stock.in-stock::before { margin-right: 0.3em !important; }
.jet-woo-builder-archive .stock.available-on-backorder::before, .jet-listing-grid .stock.available-on-backorder::before, body.single-product .stock.available-on-backorder::before { margin-right: 0.3em !important; }


/* SD: indent Manufacturer/Model cascade sub-items under group heading */


/* SD: dark-theme select2 cascade typeahead */
.elementor-element-ed02290 .select2-container--default .select2-selection--single { background-color: rgba(13,16,33,0.95); border: 1px solid rgba(255,255,255,0.22); border-radius: 6px; height: 44px; display: flex; align-items: center; }
.elementor-element-ed02290 .select2-container--default .select2-selection--single .select2-selection__rendered { color: rgba(255,255,255,0.85); line-height: 44px; padding-left: 12px; }
.elementor-element-ed02290 .select2-container--default .select2-selection--single .select2-selection__placeholder { color: rgba(255,255,255,0.55); }
.elementor-element-ed02290 .select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; }
.elementor-element-ed02290 .select2-container--default.select2-container--focus .select2-selection--single { border-color: rgba(255,255,255,0.45); }
.select2-container--default .select2-dropdown { background-color: rgba(13,16,33,0.98); border: 1px solid rgba(255,255,255,0.22); }
.select2-container--default .select2-search--dropdown .select2-search__field { background-color: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.22); color: rgba(255,255,255,0.9); border-radius: 4px; }
.select2-container--default .select2-results__option { color: rgba(255,255,255,0.8); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: rgba(0,124,186,0.9); color: #fff; }
.select2-container--default .select2-results__option[aria-selected=true] { background-color: rgba(255,255,255,0.10); color: #fff; }

/* SD: cascade label font match (Outfit, like sibling filter headings) */


/* SD: cascade box standardize (match Search box: DM Sans 14px) */
.elementor-element-ed02290 .select2-container--default .select2-selection--single .select2-selection__rendered { font-family: "DM Sans", sans-serif; padding-left: 16px; }
.elementor-element-ed02290 .select2-container--default .select2-selection--single .select2-selection__placeholder { font-family: "DM Sans", sans-serif; }
.select2-container--default .select2-search--dropdown .select2-search__field { font-family: "DM Sans", sans-serif; font-size: 14px; }
.select2-container--default .select2-results__option { font-family: "DM Sans", sans-serif; font-size: 14px; }

/* SD: cascade match filter-search */
.elementor-element-ed02290 .select2-container--default .select2-selection--single { height: 33px; border-radius: 4px; border: 1px solid rgba(255,255,255,0.17); background-color: rgba(13,16,33,0.95); }
.elementor-element-ed02290 .select2-container--default .select2-selection--single .select2-selection__rendered { font-family: "DM Sans", sans-serif; font-size: 12.48px; font-weight: 400; line-height: 31px; padding-left: 12px; color: rgba(255,255,255,0.85); }
.elementor-element-ed02290 .select2-container--default .select2-selection--single .select2-selection__arrow { height: 31px; }
.elementor-element-ed02290 .select2-container--default .select2-selection--single .select2-selection__placeholder { font-family: "DM Sans", sans-serif; font-size: 12.48px; color: rgba(255,255,255,0.55); }

/* SD: cascade dropdown panel match filter-search */
.select2-container .select2-dropdown .select2-search__field { font-family: "DM Sans", sans-serif; font-size: 12.48px; }
.select2-container .select2-results__option { font-family: "DM Sans", sans-serif; font-size: 12.48px; }

/* SD: cascade align fix */

.elementor-element-ed02290 .select2-selection { margin-bottom: 0px; }


/* === SD out-of-stock: match in-stock size + add dot === */
.jet-woo-builder-archive .stock.out-of-stock,
ul.products li.product .stock.out-of-stock,
.jet-listing-grid .stock.out-of-stock,
.jet-woo-builder-archive-product-stock-status .stock.out-of-stock,
body.single-product .stock.out-of-stock {
  color: rgba(226,85,85,0.85) !important;
  -webkit-text-fill-color: rgba(226,85,85,0.85) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  line-height: 1.3 !important;
}
.jet-woo-builder-archive .stock.out-of-stock::before,
ul.products li.product .stock.out-of-stock::before,
.jet-listing-grid .stock.out-of-stock::before,
.jet-woo-builder-archive-product-stock-status .stock.out-of-stock::before,
body.single-product .stock.out-of-stock::before {
  content: "●" !important;
  color: rgba(226,85,85,0.85) !important;
  -webkit-text-fill-color: rgba(226,85,85,0.85) !important;
  font-size: 0.7em !important;
  vertical-align: 0.12em !important;
  line-height: 1 !important;
  margin-right: 0.2em !important;
}






.woocommerce-shop .jet-breadcrumbs__item:nth-child(3) {
	display: none;
}
.woocommerce-shop .jet-breadcrumbs__item:nth-child(4) {
	display: none;
}

/* === cc-mm-subfilter-spacing : even out Manufacturer & Model nested sub-filter spacing (was 0/18/23px -> ~12/12/15px) === */

/* === end cc-mm-subfilter-spacing === */
/* === cc-search-separator : divider below the sidebar search box, matching the other filter separators === */

/* === end cc-search-separator === */

/* ===== end SHOP / CATALOG migration ===== */

/* =============================================================================
   SINGLE PRODUCT — migrated 2026-08-08 (Phase 2, section 4).
   Origin ranges (numbering of the 111,876-byte post-shop content): 52-61
   (attributes table), 847-1036 (SINGLE PRODUCT polish region: breadcrumbs ×2,
   tags, gallery, wishlist link, jet-breadcrumbs widget + current-item hide, qty
   input + spinner hide, slider icons, mobile buy box), 1191-1196 (WPCode
   breadcrumb hide + qty.text height), 1223-1225 (product_meta hide), 1227-1229
   (slick-arrow shadow — slider-icon family complete), 1552-1587 (cc-xsell
   cross-sell tile family, cart+product), 1854-1859 (cc-credova-single-dark),
   2027-2032 (cc-single-stock-size). Deferred: jet-compare-table one-liner.
   ============================================================================= */

/* PRODUCT ATTRIBUTES TABLE */
.woocommerce table.shop_attributes, .woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border: none !important; box-shadow: none !important; border-collapse: collapse; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { color: #ffffff !important; }
.woocommerce table.shop_attributes th { background-color: rgba(1,119,227,0.5) !important; font-weight: bold !important; }
.woocommerce table.shop_attributes tr:nth-child(odd) td { background-color: #000000 !important; }
.woocommerce table.shop_attributes tr:nth-child(even) td { background-color: #404040 !important; }
.woocommerce table.shop_attributes td p { margin: 0; }




/* ============================================================
   SINGLE PRODUCT PAGE — polish pass.
   Red reserved for actions: breadcrumbs + tags go muted with accent
   hover; stock indicator green; meta lines quieted; image rounded.
   Description intentionally left unstyled (distributor-fed HTML varies).
   ============================================================ */

/* Breadcrumbs — muted, accent on hover (was red, competing with CTA) */



/* Tags row — muted labels, accent hover (was red) */
body.single-product .tagged_as,
body.single-product .tagged_as a,
body.single-product .product_meta .tagged_as span {
    color: rgba(255,255,255,0.40) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.40) !important;
    font-size: 0.8rem !important;
    text-decoration: none !important;
}
body.single-product .tagged_as a:hover {
    color: var(--ac-accent) !important;
    -webkit-text-fill-color: var(--ac-accent) !important;
}


/* Product image — rounded like the rest of the theme's imagery */
body.single-product .woocommerce-product-gallery__image img,
body.single-product .woocommerce-product-gallery__wrapper img,
body.single-product .jet-woo-product-gallery img {
    border-radius: 8px !important;
}

/* Wishlist link — visible but secondary */
body.single-product .jet-wishlist-button__label,
body.single-product a[href*="wishlist"] {
    color: rgba(255,255,255,0.55) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.55) !important;
    font-size: 0.85rem !important;
}
body.single-product a[href*="wishlist"]:hover {
    color: var(--ac-accent) !important;
    -webkit-text-fill-color: var(--ac-accent) !important;
}

/* SINGLE PRODUCT — breadcrumbs (JetBlocks .jet-breadcrumbs, the actual widget in
   use; earlier jet-woo-breadcrumbs guess didn't match). Muted links with accent
   hover, dimmer separators, current item slightly brighter. */
body.single-product .jet-breadcrumbs__item-link,
body.single-product .jet-breadcrumbs__item-link.is-home {
    color: rgba(255,255,255,0.40) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.40) !important;
    text-decoration: none !important;
    font-size: 0.8rem !important;
}
body.single-product .jet-breadcrumbs__item-link:hover {
    color: var(--ac-accent) !important;
    -webkit-text-fill-color: var(--ac-accent) !important;
}
body.single-product .jet-breadcrumbs__item-sep,
body.single-product .jet-breadcrumbs__item-sep .jet-blocks-icon {
    color: rgba(255,255,255,0.25) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.25) !important;
    font-size: 0.7rem !important;
}
body.single-product .jet-breadcrumbs__item-target {
    color: rgba(255,255,255,0.60) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.60) !important;
    font-size: 0.8rem !important;
}

/* SINGLE PRODUCT — hide the breadcrumbs' current-page item (and its trailing
   separator): it duplicates the product title directly beneath it. The category
   trail stays for navigation/SEO. */
body.single-product .jet-breadcrumbs__item:has(.jet-breadcrumbs__item-target),
body.single-product .jet-breadcrumbs__item:nth-last-child(2):has(.jet-breadcrumbs__item-sep) {
    display: none !important;
}

/* SINGLE PRODUCT — quantity input: last un-themed element in the buy box. Match
   the site's dark inputs (checkout fields) instead of stark white, radius to
   match the CTA beside it. */
body.single-product form.cart .quantity .qty,
body.single-product form.cart input.qty {
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-family: 'DM Mono', monospace !important;
    font-size: 0.95rem !important;
    text-align: center !important;
    box-shadow: none !important;
}
body.single-product form.cart .quantity .qty:focus,
body.single-product form.cart input.qty:focus {
    border-color: var(--ac-accent) !important;
    outline: none !important;
}

/* SINGLE PRODUCT — hide the native number-input spinner arrows on the quantity
   field. They're browser-drawn chrome (white/gray) that can't be recolored to
   match the dark theme. Field stays typeable; arrow keys still work. */
body.single-product form.cart input.qty::-webkit-inner-spin-button,
body.single-product form.cart input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
}
body.single-product form.cart input.qty {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

/* SINGLE PRODUCT (and anywhere Listing Grid sliders render) — dark-theme the
   slider prev/next arrows (cross-sell carousel). SVG ships fill="black"; override
   the path fill and give the chip the same treatment as the search arrows. */
.jet-listing-grid__slider-icon {
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: 6px !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
}
.jet-listing-grid__slider-icon svg path {
    fill: rgba(255,255,255,0.85) !important;
}
.jet-listing-grid__slider-icon:hover {
    background: #3b9eff !important;
    border-color: #3b9eff !important;
}
.jet-listing-grid__slider-icon:hover svg path {
    fill: #ffffff !important;
}
.jet-listing-grid__slider-icon.swiper-button-disabled {
    opacity: 0.3 !important;
    cursor: default !important;
}
.jet-listing-grid__slider-icon.swiper-button-disabled:hover {
    background: rgba(255,255,255,0.05) !important;
    border-color: rgba(255,255,255,0.15) !important;
}


/* MOBILE BUY BOX — qty input and Add to Cart button diverge in height because
   Elementor applies different per-breakpoint typography to each. Pin both to the
   same explicit height on mobile and center their contents so they align. */
@media (max-width: 767px) {
    body.single-product form.cart .quantity input.qty {
        height: 50px !important;
        line-height: 1.2 !important;
        box-sizing: border-box !important;
        vertical-align: top !important;
    }
    body.single-product form.cart button.single_add_to_cart_button {
        height: 50px !important;
        min-height: 50px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        line-height: 50px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        vertical-align: top !important;
    }
}

/* MOBILE BUY BOX — keep the qty input and Add to Cart button vertically
   centered within the flex row so equal heights also align on the same axis. */
@media (max-width: 767px) {
    body.single-product form.cart {
        align-items: center !important;
    }
    body.single-product form.cart .quantity {
        display: flex !important;
        align-items: center !important;
    }
}


.quantity .qty.text {
	height: 50px !important;
}

.product_meta .posted_in {
	display: none !important;
}

.jet-listing-grid__slider-icon.slick-arrow {
	box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.22);
}

/* ================= cc-xsell-slider (moved from plugin 2026-07-13; kept via UCSS allowlist .cc-xsell) ================= */
.cc-xsell{margin:0 0 8px;}
.cc-xsell__title{font-family:inherit;font-size:20px;font-weight:600;color:#fff;margin:0 0 14px;text-align:center;letter-spacing:.03em;text-transform:uppercase;}
.cc-xsell__slider{position:relative;}
.cc-xsell .jet-listing-grid__items{display:flex !important;grid-template-columns:none !important;flex-wrap:nowrap !important;width:100% !important;max-width:100% !important;overflow-x:auto !important;scroll-snap-type:x proximity !important;scroll-behavior:smooth !important;gap:14px !important;margin:0 !important;padding:2px 2px 14px !important;scrollbar-width:thin !important;scrollbar-color:rgba(255,255,255,.28) transparent !important;}
.cc-xsell .jet-listing-grid__items::-webkit-scrollbar{height:8px;}
.cc-xsell .jet-listing-grid__items::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:4px;}
.cc-xsell .jet-listing-grid__items::-webkit-scrollbar-track{background:rgba(255,255,255,.06);border-radius:4px;}
.cc-xsell .jet-listing-grid__item{flex:0 0 auto !important;width:calc((100% - 4*14px)/5.4) !important;scroll-snap-align:start !important;min-width:0 !important;max-width:none !important;margin:0 !important;padding:0 !important;float:none !important;}
@media(max-width:1024px){.cc-xsell .jet-listing-grid__item{width:calc((100% - 3*14px)/3.4) !important;}}
@media(max-width:600px){.cc-xsell .jet-listing-grid__item{width:calc((100% - 14px)/2.3) !important;}}
body .cc-xsell .cc-xsell__slider button.cc-xsell__nav:not(#cc-x){position:absolute !important;top:calc(50% - 7px) !important;transform:translateY(-50%) !important;z-index:5 !important;width:40px !important;height:40px !important;min-width:0 !important;padding:0 !important;border-radius:50% !important;border:none !important;background:var(--ccr-accent) !important;color:#fff !important;font-size:24px !important;line-height:1 !important;cursor:pointer !important;display:flex !important;align-items:center !important;justify-content:center !important;box-shadow:0 4px 16px rgba(0,0,0,.45) !important;transition:opacity .2s,visibility .2s,background .2s,border-color .2s !important;}
body .cc-xsell .cc-xsell__slider button.cc-xsell__nav:not(#cc-x):hover{background:#0177E3 !important;border-color:#0177E3 !important;}
body .cc-xsell .cc-xsell__slider button.cc-xsell__nav--prev{left:4px !important;}
body .cc-xsell .cc-xsell__slider button.cc-xsell__nav--next{right:4px !important;}
body .cc-xsell .cc-xsell__slider button.cc-xsell__nav.cc-hide{opacity:0 !important;visibility:hidden !important;pointer-events:none !important;}
@media(max-width:600px){body .cc-xsell .cc-xsell__slider button.cc-xsell__nav{display:none !important;}}
.cc-xsell .jet-listing-grid__item .elementor-widget{margin-block-end:4px !important;}
.cc-xsell .jet-listing-grid__item .elementor-widget-image{margin-block-end:6px !important;padding:0 !important;}
.cc-xsell .jet-listing-grid__item .elementor-widget-image .elementor-widget-container{padding:0 !important;margin:0 !important;}
.cc-xsell .jet-listing-grid__item .elementor-widget-image img{height:132px !important;width:100% !important;object-fit:contain !important;display:block !important;}
.cc-xsell .jet-listing-grid__item .elementor-widget-shortcode{font-size:13px !important;line-height:1.35 !important;}
.cc-xsell .jet-listing-grid__item .bcm-loop-title-text{display:-webkit-box !important;-webkit-line-clamp:2 !important;-webkit-box-orient:vertical !important;overflow:hidden !important;font-size:13px !important;line-height:1.35 !important;min-height:2.7em;}
.cc-xsell .jet-listing-grid__item .jet-woo-builder-archive-product-price,
.cc-xsell .jet-listing-grid__item .jet-woo-builder-archive-product-price *{font-size:13px !important;}
.cc-xsell .jet-listing-grid__item .jet-woo-builder-archive-stock-status{font-size:11px !important;margin-block-end:6px !important;}
.cc-xsell .jet-listing-grid__item .jet-woo-builder-archive-add-to-cart a,
.cc-xsell .jet-listing-grid__item a.add_to_cart_button,
.cc-xsell .jet-listing-grid__item a.button{padding:8px 8px !important;font-size:11px !important;letter-spacing:.02em !important;}
.cc-xsell .jet-listing-grid__item .jet-woo-builder-archive-sale-badge{font-size:9px !important;padding:2px 6px !important;}
.cc-xsell .jet-listing-grid__item .jet-wishlist-button,
.cc-xsell .jet-listing-grid__item .jet-compare-button,
.cc-xsell .jet-listing-grid__item [class*="jet-wishlist"],
.cc-xsell .jet-listing-grid__item [class*="jet-compare"]{display:none !important;}
@media(max-width:480px){.cc-xsell__title{font-size:18px;margin-bottom:10px;}}
/* ================= end cc-xsell-slider ================= */

/* cc-credova-single-dark : whiten Credova [credova-button] ALA on single product (dark theme) */
#credova-button{margin:6px 0 10px !important;display:block !important;}
#credova-button .crdv-button{background:transparent !important;border:none !important;box-shadow:none !important;padding:0 !important;text-decoration:none !important;}
#credova-button, #credova-button *{color:#ffffff !important;}
#credova-button svg path{fill:#ffffff !important;}
/* end cc-credova-single-dark */

/* cc-single-stock-size — enlarge stock status on single product pages (2026-08-04) */
body.single-product .jet-woo-builder-single-ajax-add-to-cart p.stock{
	font-size:20px !important;
	line-height:1.4 !important;
}
/* end cc-single-stock-size */

/* ===== end SINGLE PRODUCT migration ===== */

/* =============================================================================
   JETSEARCH + MOBILE MENU (drawer region) + SLICEWP — migrated 2026-08-08
   (Phase 2, section 5). Origin ranges (97,812-byte post-product content):
   5-30 (GLOBAL header search bar — moved WITH the dropdown: they share
   .jet-ajax-search__results-* selectors, family-complete), 53-114 (MOBILE MENU
   drawer region incl. its responsive media block with shop overrides — order
   after the shop block preserved), 120-566 (SLICEWP ×4 sections incl.
   Litepicker), 578-837 (JetSearch dropdown + all addenda). The :root
   --ac-accent shim (post lines 567-575) retired to tokens.css — its only
   remaining consumers are now in this file. Deferred stragglers (cascade-safe,
   they keep WINNING their ties): jet-mobile-menu breadcrumb block (grab-bag),
   .jet-ajax-search__field width in cc-header-menu-sizing (header pass).
   ============================================================================= */

/* GLOBAL: HEADER SEARCH BAR */
input.jet-ajax-search_field, .jet-ajax-search_field,
.elementor-element-34a4f68 input.jet-ajax-search_field,
.elementor-element-2f9db77 input.jet-ajax-search_field,
input#search-input-34a4f68, input#search-input-2f9db77 {
    -webkit-appearance: none !important; appearance: none !important;
    background: rgba(255,255,255,0.05) !important; background-color: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.25) !important; border-radius: 4px !important;
    color: rgba(255,255,255,0.85) !important; -webkit-text-fill-color: rgba(255,255,255,0.85) !important;
    font-size: 0.875rem !important; padding: 0.6rem 0.9rem !important;
    box-shadow: none !important; box-sizing: border-box !important; outline: none !important;
}
input.jet-ajax-search_field::placeholder, .elementor-element-2f9db77 input.jet-ajax-search_field::placeholder { color: rgba(255,255,255,0.36) !important; -webkit-text-fill-color: rgba(255,255,255,0.36) !important; }
input.jet-ajax-search_field:focus, .elementor-element-2f9db77 input.jet-ajax-search_field:focus { border-color: #0177E3 !important; outline: none !important; }
.jet-ajax-search__results-holder, .jet-ajax-search__results-area, .jet-ajax-search__results-list, .jet-ajax-search__results-list-inner, .jet-ajax-search__results-slide { background: #0d1021 !important; background-color: #0d1021 !important; border: 1px solid rgba(255,255,255,0.17) !important; color: rgba(255,255,255,0.85) !important; }
.jet-ajax-search__results-item { background: transparent !important; background-color: transparent !important; border-top: 1px solid rgba(255,255,255,0.07) !important; }
body[data-elementor-device-mode] .jet-ajax-search .jet-ajax-search__results-slide .jet-ajax-search__results-item, body[data-elementor-device-mode] .jet-ajax-search .jet-ajax-search__results-slide .jet-ajax-search__results-item:nth-child(n) { background: transparent !important; background-color: transparent !important; }
body[data-elementor-device-mode] .jet-ajax-search .jet-ajax-search__results-slide .jet-ajax-search__results-item:first-child { border-top: none !important; }
.jet-ajax-search__results-item:hover, .jet-ajax-search__results-item.is-active { background: rgba(1,119,227,0.12) !important; background-color: rgba(1,119,227,0.12) !important; }
.jet-ajax-search__results-item:hover .jet-ajax-search__item-link, .jet-ajax-search__results-item:hover .jet-ajax-search__item-content-wrapper { background: transparent !important; color: rgba(255,255,255,0.85) !important; }
.jet-ajax-search__item-link { color: rgba(255,255,255,0.85) !important; text-decoration: none !important; }
.jet-ajax-search__item-content-wrapper, .jet-ajax-search__item-content-wrapper * { color: rgba(255,255,255,0.85) !important; }
body .jet-ajax-search__results-item .button, body .jet-ajax-search__results-item .add_to_cart_button, body .jet-ajax-search__results-item a.button { background-color: var(--ccr-accent) !important; color: #ffffff !important; border: none !important; font-size: 0.68rem !important; padding: 0.35rem 0.75rem !important; border-radius: 4px !important; }
body .jet-ajax-search__results-item .button:hover, body .jet-ajax-search__results-item a.button:hover { background-color: #0177E3 !important; }
.jet-ajax-search__results-item .price, .jet-ajax-search__results-item .woocommerce-Price-amount { color: rgba(255,255,255,0.5) !important; }


/* MOBILE MENU */
.jet-mobile-menu__container { background: #070614 !important; border-right: 1px solid rgba(255,255,255,0.07) !important; box-shadow: 4px 0 40px rgba(0,0,0,0.6) !important; }
.jet-mobile-menu__container-inner { padding: 0 !important; }

/* Cover overlay */
.jet-mobile-menu-cover { background: rgba(0,0,0,0.7) !important; backdrop-filter: blur(4px) !important; }

/* Controls bar */
.jet-mobile-menu__controls { display: flex !important; align-items: center !important; justify-content: flex-end !important; padding: 1.25rem 1.5rem !important; border-bottom: 1px solid rgba(255,255,255,0.07) !important; }

/* Close button */
.jet-mobile-menu__back { width: 36px !important; height: 36px !important; display: flex !important; align-items: center !important; justify-content: center !important; border: 1px solid rgba(255,255,255,0.15) !important; border-radius: 50% !important; cursor: pointer !important; transition: all 0.2s ease !important; }
.jet-mobile-menu__back:hover { border-color: #0177E3 !important; background: rgba(1,119,227,0.1) !important; }
.jet-mobile-menu__back i { color: rgba(255,255,255,0.6) !important; font-size: 0.85rem !important; }
.jet-mobile-menu__back:hover i { color: #0177E3 !important; }

/* Menu body */
.jet-mobile-menu__body { padding: 0.5rem 0 !important; }

/* Menu items */
.jet-mobile-menu__items { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.jet-mobile-menu__item { border-bottom: 1px solid rgba(255,255,255,0.05) !important; margin: 0 !important; }
.jet-mobile-menu__item:last-child { border-bottom: none !important; }

/* Item links */
.jet-mobile-menu__item > .jet-mobile-menu__item-inner,
.jet-mobile-menu__item > a { display: flex !important; align-items: center !important; justify-content: space-between !important; padding: 1rem 1.5rem !important; text-decoration: none !important; transition: all 0.2s ease !important; }
.jet-mobile-menu__item > .jet-mobile-menu__item-inner:hover,
.jet-mobile-menu__item > a:hover { background: rgba(255,255,255,0.03) !important; }

/* Item label */
.jet-mobile-menu__item-label,
.jet-mobile-menu__item > a span { font-family: 'DM Sans', inherit, sans-serif !important; font-size: 1rem !important; font-weight: 500 !important; letter-spacing: 0.04em !important; color: rgba(255,255,255,0.85) !important; text-transform: none !important; }

/* Submenu arrow — replace red button with subtle chevron */
.jet-mobile-menu__item-toggle,
.jet-dropdown-arrow { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; width: 20px !important; height: 20px !important; display: flex !important; align-items: center !important; justify-content: center !important; cursor: pointer !important; }
.jet-mobile-menu__item-toggle i,
.jet-mobile-menu__item-toggle svg,
.jet-dropdown-arrow i,
.jet-dropdown-arrow svg { color: rgba(255,255,255,0.35) !important; font-size: 0.9rem !important; fill: rgba(255,255,255,0.35) !important; transition: transform 0.2s ease !important; }
.jet-mobile-menu__item.is-open > .jet-mobile-menu__item-inner .jet-dropdown-arrow i,
.jet-mobile-menu__item.is-open > .jet-mobile-menu__item-inner .jet-dropdown-arrow svg { transform: rotate(90deg) !important; color: #0177E3 !important; fill: #0177E3 !important; }

/* Active item */
.jet-mobile-menu__item.current-menu-item > .jet-mobile-menu__item-inner .jet-mobile-menu__item-label,
.jet-mobile-menu__item.current-menu-item > a span { color: #0177E3 !important; }
@media (max-width: 767px) {
    .jet-ajax-search__results-holder, .jet-ajax-search__results-area { z-index: 9999 !important; }
    
    
    
    
    /* Force shop section columns to stack on mobile */
    .elementor-element-188223b5 .elementor-container { flex-direction: column !important; }
    .elementor-element-188223b5 .elementor-column { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }

    /* Header search results above everything on mobile */
    .elementor-widget-jet-ajax-search .jet-ajax-search__results-holder,
    .elementor-widget-jet-ajax-search .jet-ajax-search__results-area { z-index: 99999 !important; position: relative !important; }}


/* ============================================================
   SLICEWP AFFILIATE DASHBOARD — Schaefer Defense theme
   All scoped to #slicewp-affiliate-account.
   ============================================================ */
#slicewp-affiliate-account {
    --sd-card: rgba(255,255,255,0.03);
    --sd-accent: #0177E3;
    --sd-accent-dim: rgba(1,119,227,0.12);
    --sd-cta: var(--ccr-accent);
    --sd-text: rgba(255,255,255,0.85);
    --sd-text-muted: rgba(255,255,255,0.40);
    --sd-text-faint: rgba(255,255,255,0.28);
    --sd-border: rgba(255,255,255,0.07);
    --sd-border-mid: rgba(255,255,255,0.17);
    --sd-font: 'DM Sans', inherit, sans-serif;
    --sd-mono: 'DM Mono', monospace;
    color: var(--sd-text) !important;
}
#slicewp-affiliate-account, #slicewp-affiliate-account * { font-family: var(--sd-font) !important; }

/* ---- NAVIGATION TABS ---- */
#slicewp-affiliate-account [class*="navigation"] {
    background: transparent !important;
    border-bottom: 1px solid var(--sd-border-mid) !important;
}
#slicewp-affiliate-account [class*="navigation"] a {
    color: var(--sd-text-muted) !important;
    font-weight: 500 !important; letter-spacing: 0.02em !important;
    text-decoration: none !important; transition: color 0.2s ease !important;
}
#slicewp-affiliate-account [class*="navigation"] a:hover { color: #fff !important; }
#slicewp-affiliate-account [class*="navigation"] [class*="active"] a,
#slicewp-affiliate-account [class*="navigation"] a[class*="active"],
#slicewp-affiliate-account [class*="navigation"] .current a {
    color: #fff !important;
    border-bottom: 2px solid var(--sd-accent) !important;
}

/* ---- DATE / PERIOD CONTROL (the "Past 30 days | May 2 …" pill) ---- */
#slicewp-affiliate-account [class*="date"]:not([class*="picker"]),
#slicewp-affiliate-account [class*="period"],
#slicewp-affiliate-account [class*="filter"]:not([class*="navigation"]) {
    background: var(--sd-card) !important;
    border: 1px solid var(--sd-border-mid) !important;
    border-radius: 6px !important;
    color: var(--sd-text) !important;
}

/* ---- STAT CARDS (Visits / Commissions / Earnings / All-time / Program details) ---- */
#slicewp-affiliate-account [class*="statistic"],
#slicewp-affiliate-account [class*="overview"] [class*="box"],
#slicewp-affiliate-account [class*="totals"] [class*="box"],
#slicewp-affiliate-account [class*="program"] [class*="box"],
#slicewp-affiliate-account [class*="card"] {
    background: var(--sd-card) !important;
    border: 1px solid var(--sd-border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: var(--sd-text) !important;
}
/* strip white bg / borders off the text bits inside cards */
#slicewp-affiliate-account [class*="statistic"] [class*="title"],
#slicewp-affiliate-account [class*="statistic"] [class*="label"],
#slicewp-affiliate-account [class*="statistic"] [class*="value"],
#slicewp-affiliate-account [class*="box"] [class*="title"],
#slicewp-affiliate-account [class*="box"] [class*="value"] {
    background: transparent !important; border: none !important; box-shadow: none !important;
}
#slicewp-affiliate-account [class*="title"],
#slicewp-affiliate-account [class*="label"] { color: var(--sd-text-muted) !important; }
#slicewp-affiliate-account [class*="value"] {
    color: #fff !important; font-family: var(--sd-mono) !important;
}

/* "View all visits / commissions" footer links */
#slicewp-affiliate-account [class*="statistic"] a,
#slicewp-affiliate-account [class*="box"] a {
    color: var(--sd-accent) !important; text-decoration: none !important;
}
#slicewp-affiliate-account [class*="statistic"] a:hover { color: #fff !important; }

/* Section headings: "All time", "Program details" (low-contrast in screenshot) */
#slicewp-affiliate-account > h2, #slicewp-affiliate-account > h3,
#slicewp-affiliate-account [class*="section"] > h2,
#slicewp-affiliate-account [class*="section"] > h3 {
    color: var(--sd-text-muted) !important;
    font-size: 0.85rem !important; font-weight: 700 !important;
    letter-spacing: 0.14em !important; text-transform: uppercase !important;
}

/* ---- CHART PANEL ---- */
#slicewp-affiliate-account [class*="chart"] {
    background: var(--sd-card) !important;
    border: 1px solid var(--sd-border) !important;
    border-radius: 8px !important;
}
/* legend dots/labels above the chart */
#slicewp-affiliate-account [class*="legend"] { color: var(--sd-text-muted) !important; }

/* "Daily" granularity dropdown + any selects */
#slicewp-affiliate-account select {
    -webkit-appearance: none !important; appearance: none !important;
    background: #0d1021 !important;
    border: 1px solid var(--sd-border-mid) !important; border-radius: 5px !important;
    color: var(--sd-text) !important; font-size: 0.8rem !important;
    padding: 0.5rem 0.9rem !important; cursor: pointer !important;
}
#slicewp-affiliate-account select option { background: #0d1021 !important; color: var(--sd-text) !important; }

/* ---- TABLES (Commissions / Visits / Payouts tabs) ---- */
#slicewp-affiliate-account table,
#slicewp-affiliate-account [class*="table"] {
    background: transparent !important; border: none !important;
    border-collapse: collapse !important; width: 100% !important;
}
#slicewp-affiliate-account th {
    color: var(--sd-text-muted) !important;
    font-size: 0.68rem !important; font-weight: 600 !important;
    letter-spacing: 0.12em !important; text-transform: uppercase !important;
    border-bottom: 1px solid var(--sd-border-mid) !important;
    background: transparent !important; padding: 0.7rem 0.75rem !important;
}
#slicewp-affiliate-account td {
    color: var(--sd-text) !important;
    border-bottom: 1px solid var(--sd-border) !important;
    background: transparent !important; padding: 0.7rem 0.75rem !important;
}
#slicewp-affiliate-account tbody tr:hover td { background: rgba(255,255,255,0.025) !important; }

/* ---- BUTTONS ---- */
#slicewp-affiliate-account [class*="button"],
#slicewp-affiliate-account button,
#slicewp-affiliate-account input[type="submit"] {
    background: var(--sd-cta) !important; color: #fff !important;
    border: none !important; border-radius: 4px !important;
    font-size: 0.75rem !important; font-weight: 500 !important;
    letter-spacing: 0.1em !important; text-transform: uppercase !important;
    padding: 0.7rem 1.25rem !important; cursor: pointer !important;
    transition: background 0.2s ease !important; box-shadow: none !important;
}
#slicewp-affiliate-account [class*="button"]:hover,
#slicewp-affiliate-account button:hover,
#slicewp-affiliate-account input[type="submit"]:hover { background: var(--sd-accent) !important; }

/* ---- INPUTS (Settings tab, link generator) ---- */
#slicewp-affiliate-account input[type="text"],
#slicewp-affiliate-account input[type="email"],
#slicewp-affiliate-account input[type="url"],
#slicewp-affiliate-account input[type="number"],
#slicewp-affiliate-account textarea {
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid var(--sd-border-mid) !important; border-radius: 4px !important;
    color: var(--sd-text) !important; -webkit-text-fill-color: var(--sd-text) !important;
    font-size: 0.875rem !important; padding: 0.6rem 0.9rem !important;
    box-shadow: none !important; box-sizing: border-box !important;
}
#slicewp-affiliate-account input:focus,
#slicewp-affiliate-account textarea:focus {
    border-color: var(--sd-accent) !important; outline: none !important;
}
#slicewp-affiliate-account label { color: var(--sd-text-muted) !important; }

/* ---- NOTICES ---- */
#slicewp-affiliate-account [class*="notice"],
#slicewp-affiliate-account [class*="message"] {
    background: var(--sd-accent-dim) !important;
    border-left: 3px solid var(--sd-accent) !important;
    color: var(--sd-text) !important; border-radius: 4px !important;
}

/* ============================================================
   SLICEWP DASHBOARD — jank fixes
   ============================================================ */

/* 1. Kill the inner/nested card chrome so ONLY the outer card keeps its border */
#slicewp-affiliate-account [class*="statistic"] [class*="statistic"],
#slicewp-affiliate-account [class*="box"] [class*="box"],
#slicewp-affiliate-account [class*="statistic"] [class*="box"],
#slicewp-affiliate-account [class*="box"] [class*="statistic"],
#slicewp-affiliate-account [class*="card"] [class*="statistic"],
#slicewp-affiliate-account [class*="card"] [class*="box"] {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* 2. White change/percentage chips → themed */
#slicewp-affiliate-account [class*="change"],
#slicewp-affiliate-account [class*="badge"],
#slicewp-affiliate-account [class*="percentage"],
#slicewp-affiliate-account [class*="difference"],
#slicewp-affiliate-account [class*="growth"],
#slicewp-affiliate-account [class*="trend"] {
    background: rgba(255,255,255,0.06) !important;
    color: var(--sd-text-muted) !important;
    border: 1px solid var(--sd-border) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}

/* 3. "View all" links → accent (matched by target URL, robust to wrapper class) */
#slicewp-affiliate-account a[href*="visit"],
#slicewp-affiliate-account a[href*="commission"],
#slicewp-affiliate-account [class*="overview"] a,
#slicewp-affiliate-account [class*="totals"] a {
    color: var(--sd-accent) !important;
    text-decoration: none !important;
}
#slicewp-affiliate-account a[href*="visit"]:hover,
#slicewp-affiliate-account a[href*="commission"]:hover { color: #fff !important; }

/* ============================================================
   SLICEWP — REAL CLASS NAMES (confirmed from inspected markup)
   These come last and override the partial-match guesses above.
   ============================================================ */

/* ---- STAT CARDS: .slicewp-card > .slicewp-card-inner > title + value ---- */
/* Outer card keeps the frame */
#slicewp-affiliate-account .slicewp-card {
    background: var(--sd-card) !important;
    border: 1px solid var(--sd-border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}
/* Inner wrapper goes completely flat — no second border, no second fill (kills double-box) */
#slicewp-affiliate-account .slicewp-card-inner {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
#slicewp-affiliate-account .slicewp-card-title {
    color: var(--sd-text-muted) !important;
    font-size: 0.8rem !important; font-weight: 500 !important;
    background: transparent !important; border: none !important;
}
#slicewp-affiliate-account .slicewp-kpi-value {
    color: #fff !important;
    font-family: var(--sd-mono) !important;
    background: transparent !important; border: none !important; box-shadow: none !important;
}

/* ---- NAVIGATION TABS: ul.slicewp-nav-tab-wrapper > li.slicewp-nav-tab (.slicewp-active) ---- */
#slicewp-affiliate-account .slicewp-nav-tab-wrapper {
    background: transparent !important;
    border-bottom: 1px solid var(--sd-border-mid) !important;
    list-style: none !important;
    margin: 0 0 1.5rem 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.25rem !important;
}
#slicewp-affiliate-account .slicewp-nav-tab {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: none !important;
}
#slicewp-affiliate-account .slicewp-nav-tab a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.45rem !important;
    color: var(--sd-text-muted) !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;
    padding: 0.7rem 1rem !important;
    border-bottom: 2px solid transparent !important;
    transition: color 0.2s ease, border-color 0.2s ease !important;
}
#slicewp-affiliate-account .slicewp-nav-tab a svg {
    width: 1.1rem !important;
    height: 1.1rem !important;
    stroke: currentColor !important;
}
#slicewp-affiliate-account .slicewp-nav-tab a:hover { color: #fff !important; }
#slicewp-affiliate-account .slicewp-nav-tab.slicewp-active a {
    color: #fff !important;
    border-bottom-color: var(--sd-accent) !important;
}

/* ---- KPI CHANGE INDICATOR: .slicewp-kpi-direction (up/down arrows + value) ---- */
#slicewp-affiliate-account .slicewp-kpi-direction {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.2rem !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--sd-text-muted) !important;
    font-family: var(--sd-mono) !important;
    font-size: 0.8rem !important;
}
#slicewp-affiliate-account .slicewp-kpi-direction span { background: transparent !important; }
#slicewp-affiliate-account .slicewp-kpi-direction svg {
    width: 0.85rem !important;
    height: 0.85rem !important;
    stroke: currentColor !important;
}
/* semantic arrow colors for when SliceWP shows a positive/negative direction */
#slicewp-affiliate-account .slicewp-arrow-up { color: rgba(72,199,142,0.9) !important; }
#slicewp-affiliate-account .slicewp-arrow-down { color: rgba(226,85,85,0.9) !important; }

/* ============================================================
   SLICEWP DATE PICKER — Litepicker (confirmed markup)
   Modal = presets + 2-month Litepicker calendar.
   ============================================================ */

/* ---- Trigger pill ---- */
#slicewp-affiliate-account .slicewp-date-picker-input {
    display: inline-flex !important; align-items: center !important; gap: 0.5rem !important;
    background: var(--sd-card) !important;
    border: 1px solid var(--sd-border-mid) !important;
    border-radius: 6px !important;
    color: var(--sd-text) !important;
    padding: 0.5rem 0.9rem !important;
    cursor: pointer !important;
}
#slicewp-affiliate-account .slicewp-date-picker-input svg { width: 1rem !important; height: 1rem !important; color: var(--sd-text-muted) !important; }
#slicewp-affiliate-account .slicewp-date-picker-input-date-range { color: var(--sd-text) !important; font-weight: 500 !important; }
#slicewp-affiliate-account .slicewp-date-picker-input-dates { color: var(--sd-text-muted) !important; font-size: 0.85rem !important; }

/* ---- Modal shell ---- */
#slicewp-affiliate-account .slicewp-date-picker-modal {
    background: #0d1021 !important;
    border: 1px solid var(--sd-border-mid) !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.6) !important;
    color: var(--sd-text) !important;
    padding: 0.5rem !important;
}

/* ---- Preset list ---- */
#slicewp-affiliate-account .slicewp-date-picker-predefined-date-ranges {
    background: transparent !important;
    border-right: 1px solid var(--sd-border) !important;
    padding-right: 0.4rem !important;
}
#slicewp-affiliate-account .slicewp-date-picker-predefined-date-range {
    display: block !important;
    color: var(--sd-text-muted) !important;
    text-decoration: none !important;
    font-size: 0.82rem !important;
    padding: 0.5rem 0.85rem !important;
    border-radius: 4px !important;
    transition: all 0.15s ease !important;
}
#slicewp-affiliate-account .slicewp-date-picker-predefined-date-range:hover,
#slicewp-affiliate-account .slicewp-date-picker-predefined-date-range.is-active,
#slicewp-affiliate-account .slicewp-date-picker-predefined-date-range.selected {
    background: var(--sd-accent-dim) !important; color: #fff !important;
}

/* ---- Litepicker calendar shell: strip all white backgrounds ---- */
#slicewp-affiliate-account .slicewp-date-picker,
#slicewp-affiliate-account .slicewp-litepicker,
#slicewp-affiliate-account .slicewp-litepicker .container__main,
#slicewp-affiliate-account .slicewp-litepicker .container__months,
#slicewp-affiliate-account .slicewp-litepicker .month-item,
#slicewp-affiliate-account .slicewp-litepicker .month-item-header,
#slicewp-affiliate-account .slicewp-litepicker .container__days {
    background: transparent !important;
    color: var(--sd-text) !important;
    box-shadow: none !important;
    border: none !important;
}

/* ---- Month header: name / year / nav arrows ---- */
#slicewp-affiliate-account .slicewp-litepicker .month-item-name { color: #fff !important; font-weight: 600 !important; }
#slicewp-affiliate-account .slicewp-litepicker .month-item-year { color: var(--sd-text-muted) !important; }
#slicewp-affiliate-account .slicewp-litepicker .button-previous-month,
#slicewp-affiliate-account .slicewp-litepicker .button-next-month {
    background: transparent !important;
    border: 1px solid var(--sd-border-mid) !important;
    border-radius: 6px !important;
    color: var(--sd-text-muted) !important;
    box-shadow: none !important;
    padding: 0.25rem !important;
    text-transform: none !important; letter-spacing: 0 !important;
    cursor: pointer !important;
}
#slicewp-affiliate-account .slicewp-litepicker .button-previous-month:hover,
#slicewp-affiliate-account .slicewp-litepicker .button-next-month:hover {
    background: var(--sd-accent-dim) !important; color: #fff !important; border-color: var(--sd-accent) !important;
}
#slicewp-affiliate-account .slicewp-litepicker .button-previous-month svg,
#slicewp-affiliate-account .slicewp-litepicker .button-next-month svg {
    stroke: currentColor !important; width: 1rem !important; height: 1rem !important;
}

/* ---- Weekday header row ---- */
#slicewp-affiliate-account .slicewp-litepicker .month-item-weekdays-row > div {
    color: var(--sd-text-faint) !important;
    font-size: 0.62rem !important; font-weight: 600 !important;
    text-transform: uppercase !important; letter-spacing: 0.08em !important;
}

/* ---- Day cells ---- */
#slicewp-affiliate-account .slicewp-litepicker .day-item {
    color: var(--sd-text) !important;
    background: transparent !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    transition: background 0.12s ease, color 0.12s ease !important;
}
#slicewp-affiliate-account .slicewp-litepicker .day-item:hover {
    background: var(--sd-accent-dim) !important; color: #fff !important; box-shadow: none !important;
}
/* In-range band + start/end caps */
#slicewp-affiliate-account .slicewp-litepicker .day-item.is-in-range {
    background: var(--sd-accent-dim) !important; color: #fff !important; border-radius: 0 !important;
}
#slicewp-affiliate-account .slicewp-litepicker .day-item.is-start-date {
    background: var(--sd-accent) !important; color: #fff !important;
    border-radius: 4px 0 0 4px !important; box-shadow: none !important;
}
#slicewp-affiliate-account .slicewp-litepicker .day-item.is-end-date {
    background: var(--sd-accent) !important; color: #fff !important;
    border-radius: 0 4px 4px 0 !important; box-shadow: none !important;
}
#slicewp-affiliate-account .slicewp-litepicker .day-item.is-today { color: var(--sd-accent) !important; }
#slicewp-affiliate-account .slicewp-litepicker .day-item.is-locked,
#slicewp-affiliate-account .slicewp-litepicker .day-item.is-disabled {
    color: var(--sd-text-faint) !important; opacity: 0.4 !important; background: transparent !important;
}

/* ---- Litepicker CSS variables (belt-and-suspenders against white leaks) ---- */
#slicewp-affiliate-account .slicewp-litepicker {
    --litepicker-container-months-color-bg: transparent;
    --litepicker-month-header-color: var(--sd-text);
    --litepicker-month-weekday-color: var(--sd-text-faint);
    --litepicker-day-color: var(--sd-text);
    --litepicker-day-color-hover: #fff;
    --litepicker-is-in-range-color: var(--sd-accent-dim);
    --litepicker-is-start-color: #fff;
    --litepicker-is-start-color-bg: var(--sd-accent);
    --litepicker-is-end-color: #fff;
    --litepicker-is-end-color-bg: var(--sd-accent);
    --litepicker-button-prev-month-color: var(--sd-text-muted);
    --litepicker-button-next-month-color: var(--sd-text-muted);
    --litepicker-button-prev-month-color-hover: #fff;
    --litepicker-button-next-month-color-hover: #fff;
}


/* ============================================================
   HEADER AJAX SEARCH RESULTS (JetSearch dropdown)
   Scoped to .jet-ajax-search__results-area. Dark theme polish:
   results panel, count/arrows bar, rows, accent highlight,
   smaller/quieter add-to-cart, footer.
   ============================================================ */

/* Panel */
.jet-ajax-search__results-area,
.jet-ajax-search__results-holder {
    background: #0d1021 !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    border-radius: 8px !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.5) !important;
    color: rgba(255,255,255,0.85) !important;
}

/* Header bar (count + nav arrows) */
.jet-ajax-search__results-header {
    background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,0.10) !important;
    padding: 0.6rem 0.85rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}
.jet-ajax-search__results-count {
    background: transparent !important;
    color: rgba(255,255,255,0.40) !important;
    border: none !important;
    font-size: 0.7rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-weight: 600 !important;
    padding: 0 !important;
    cursor: pointer !important;
}
.jet-ajax-search__results-count:hover { color: rgba(255,255,255,0.85) !important; }
.jet-ajax-search__results-count span { color: #fff !important; }

/* Nav arrows — dark with accent hover, kill the default fills */
.jet-ajax-search__arrow-button,
.jet-ajax-search__navigate-button {
    background: rgba(255,255,255,0.05) !important;
    border: 1px solid rgba(255,255,255,0.10) !important;
    border-radius: 6px !important;
    width: 30px !important; height: 30px !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    padding: 0 !important;
}
.jet-ajax-search__arrow-button:hover { background: var(--ac-accent) !important; border-color: var(--ac-accent) !important; }
.jet-ajax-search__arrow-button svg path { fill: rgba(255,255,255,0.85) !important; }
.jet-ajax-search__navigate-button-disable { opacity: 0.3 !important; cursor: default !important; }
.jet-ajax-search__navigate-button-disable:hover { background: rgba(255,255,255,0.05) !important; border-color: rgba(255,255,255,0.10) !important; }

/* Result rows */
.jet-ajax-search__results-item { border-bottom: 1px solid rgba(255,255,255,0.07) !important; }
.jet-ajax-search__results-item:last-child { border-bottom: none !important; }
.jet-ajax-search__item-link {
    display: flex !important; align-items: center !important; gap: 0.85rem !important;
    padding: 0.7rem 0.85rem !important; text-decoration: none !important;
    transition: background 0.15s ease !important;
}
.jet-ajax-search__item-link:hover { background: rgba(255,255,255,0.03) !important; }
.jet-ajax-search__item-thumbnail { flex: 0 0 48px !important; }
.jet-ajax-search__item-thumbnail-img {
    width: 48px !important; height: 48px !important; object-fit: cover !important;
    border-radius: 6px !important; background: #fff !important;
}
.jet-ajax-search__item-content-wrapper { flex: 1 1 auto !important; min-width: 0 !important; }
.jet-ajax-search__item-title {
    color: rgba(255,255,255,0.90) !important;
    font-size: 0.82rem !important; line-height: 1.35 !important; font-weight: 500 !important;
    margin: 0 0 0.2rem 0 !important;
}
.jet-ajax-search__item-price .price,
.jet-ajax-search__item-price .woocommerce-Price-amount {
    color: #fff !important;
    font-family: 'DM Mono', monospace !important;
    font-size: 0.8rem !important;
}

/* Keyword highlight — accent, not a heavy block */
.jet-ajax-search__item-title mark,
.jet-ajax-search__results-area mark {
    background: transparent !important;
    color: var(--ac-accent) !important;
    font-weight: 700 !important;
    padding: 0 !important;
}

/* Add to cart — keep red, make it small and quiet */
.jet-ajax-search__results-item-cart-button,
.jet-ajax-search__item-add-to-cart .add-to-cart-button {
    background: rgba(192,57,43,0.85) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 5px !important;
    font-size: 0.62rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    font-weight: 600 !important;
    padding: 0.3rem 0.6rem !important;
    margin-top: 0.35rem !important;
    width: auto !important;
    cursor: pointer !important;
    transition: background 0.15s ease !important;
}
.jet-ajax-search__results-item-cart-button:hover,
.jet-ajax-search__item-add-to-cart .add-to-cart-button:hover {
    background: var(--ac-accent) !important;
}

/* Footer "See All Results" */
.jet-ajax-search__results-footer {
    background: transparent !important;
    border-top: 1px solid rgba(255,255,255,0.10) !important;
    padding: 0.6rem 0.85rem !important;
}
.jet-ajax-search__full-results {
    background: transparent !important;
    color: var(--ac-accent) !important;
    border: none !important;
    font-size: 0.72rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    padding: 0 !important;
}
.jet-ajax-search__full-results:hover { color: #fff !important; }

/* HEADER AJAX SEARCH — stronger overrides for the count label, See-All button,
   and the keyword highlight. JetSearch's own CSS was winning on these three, so
   raise specificity (prefix with the results area) and explicitly clear the red
   background behind the count / see-all text. */
.jet-ajax-search__results-area .jet-ajax-search__results-count,
.jet-ajax-search__results-area .jet-ajax-search__results-count span,
.jet-ajax-search__results-area .jet-ajax-search__full-results {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
}
.jet-ajax-search__results-area .jet-ajax-search__results-count {
    color: rgba(255,255,255,0.40) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.40) !important;
}
.jet-ajax-search__results-area .jet-ajax-search__results-count span {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
.jet-ajax-search__results-area .jet-ajax-search__full-results {
    color: var(--ac-accent) !important;
    -webkit-text-fill-color: var(--ac-accent) !important;
}
.jet-ajax-search__results-area .jet-ajax-search__full-results:hover {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* Keyword highlight — force accent color over JetSearch's mark styling */
.jet-ajax-search__results-area .jet-ajax-search__item-title mark,
.jet-ajax-search__results-list mark,
.jet-ajax-search__item-title mark {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--ac-accent) !important;
    -webkit-text-fill-color: var(--ac-accent) !important;
    font-weight: 700 !important;
    padding: 0 !important;
}

/* HEADER AJAX SEARCH — final fixes: kill the red on count/see-all (incl. any
   pseudo-element painting it) with max specificity, and set hovers to a LIGHT
   accent blue (#3b9eff) instead of the dark accent. */
.jet-ajax-search__results-area button.jet-ajax-search__results-count,
.jet-ajax-search__results-area button.jet-ajax-search__results-count span,
.jet-ajax-search__results-area button.jet-ajax-search__full-results,
.jet-ajax-search__results-header button.jet-ajax-search__results-count,
.jet-ajax-search__results-footer button.jet-ajax-search__full-results {
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border: none !important;
}
.jet-ajax-search__results-area button.jet-ajax-search__results-count::before,
.jet-ajax-search__results-area button.jet-ajax-search__results-count::after,
.jet-ajax-search__results-area button.jet-ajax-search__full-results::before,
.jet-ajax-search__results-area button.jet-ajax-search__full-results::after {
    background: none !important;
    background-color: transparent !important;
    content: none !important;
}

/* Light-blue hovers for arrows + add-to-cart */
.jet-ajax-search__results-area .jet-ajax-search__arrow-button:hover {
    background: #3b9eff !important;
    border-color: #3b9eff !important;
}
.jet-ajax-search__results-area .jet-ajax-search__results-item-cart-button:hover,
.jet-ajax-search__results-area .jet-ajax-search__item-add-to-cart .add-to-cart-button:hover {
    background: #3b9eff !important;
}

/* HEADER AJAX SEARCH — brighten the keyword highlight to the light blue so it
   pops against the dark panel (was the darker accent #0177E3). */
.jet-ajax-search__results-area .jet-ajax-search__item-title mark,
.jet-ajax-search__results-list mark,
.jet-ajax-search__item-title mark {
    color: #3b9eff !important;
    -webkit-text-fill-color: #3b9eff !important;
}

/* HEADER AJAX SEARCH — nudge the add-to-cart buttons slightly bigger. */
.jet-ajax-search__results-area .jet-ajax-search__results-item-cart-button,
.jet-ajax-search__results-area .jet-ajax-search__item-add-to-cart .add-to-cart-button {
    font-size: 0.7rem !important;
    padding: 0.42rem 0.8rem !important;
}


/* HEADER AJAX SEARCH — legibility pass: larger titles/prices for scanability,
   brighter price for hierarchy, more visible See All Results. */
.jet-ajax-search__results-area .jet-ajax-search__item-title {
    font-size: 0.92rem !important;
    line-height: 1.4 !important;
}
.jet-ajax-search__results-area .jet-ajax-search__item-price .price,
.jet-ajax-search__results-area .jet-ajax-search__item-price .woocommerce-Price-amount {
    font-size: 0.9rem !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-weight: 600 !important;
}
.jet-ajax-search__results-area .jet-ajax-search__results-count {
    font-size: 0.78rem !important;
}
.jet-ajax-search__results-area .jet-ajax-search__full-results {
    font-size: 0.82rem !important;
    font-weight: 700 !important;
}

/* HEADER AJAX SEARCH — bigger thumbnails (60px) to balance the taller wrapped
   rows, and a touch more row padding so multi-line results breathe. */
.jet-ajax-search__results-area .jet-ajax-search__item-thumbnail {
    flex: 0 0 60px !important;
}
.jet-ajax-search__results-area .jet-ajax-search__item-thumbnail-img {
    width: 60px !important;
    height: 60px !important;
}
.jet-ajax-search__results-area .jet-ajax-search__item-link {
    padding: 0.85rem 0.95rem !important;
    gap: 1rem !important;
}



/* ===== end JETSEARCH + MOBILE MENU + SLICEWP migration ===== */

/* =============================================================================
   SITE TAIL: header/menu/footer family + homepage + page-scoped fixes —
   migrated 2026-08-09 (Phase 2, section 6). Origin: post-§5 57,931-byte content,
   ranges 34-118 + 154-263 + 278-975 in ORIGINAL ORDER (footer logo fix, services
   tables + overflow, contact form, menu breadcrumb-back/tap-targets/logo/badges/
   icons/anti-flash, WPCode leftovers, terms/legal/notax/policies-hub formatting,
   services dropdown/hub blocks, reviews arrows, hero subtitle, about button,
   announcements recolor, services child links, button colors, tablet hamburger,
   wishlist spruce + empty-btn, header menu sizing, homepage + static gradients,
   legal hero, minicart polish, jetmenu colors, guide checklist, svc pricing,
   megamenu accent removal, announce link, submenu tighten, footer black).
   Kept inline (the final shared slice): GLOBAL BUTTONS, BCM BORDER RESETS,
   h2-white, SD keyboard-focus block, cc-global-autofill-fix — all verified
   order-independent vs this tail (zero selector-family overlap).
   ============================================================================= */

/* ===== FOOTER LOGO CENTER FIX ===== */
.elementor-element-ec8b973 .elementor-widget-container {
	  text-align: center;
}
/* ===== END FOOTER LOGO CENTER FIX ===== */
/* (orphaned closing brace removed 2026-08-12 - pre-existing lift-and-shift artifact; browsers had been skipping it via error recovery) */

/* ===== CART DESKTOP REFINEMENTS ===== */

/* SERVICES PAGE - dark theme tables */












/* SERVICES PAGE - table refinements (full-width headers + price col) */







/* Contact form dark-theme fields */
#wpforms-form-2048 input.wpforms-field-large { background-color: #0f172a !important; color: #e8eaf0 !important; border: 1px solid rgba(255,255,255,0.14) !important; }
#wpforms-form-2048 input.wpforms-field-medium { background-color: #0f172a !important; color: #e8eaf0 !important; border: 1px solid rgba(255,255,255,0.14) !important; }
#wpforms-form-2048 textarea { background-color: #0f172a !important; color: #e8eaf0 !important; border: 1px solid rgba(255,255,255,0.14) !important; }
#wpforms-form-2048 input::placeholder { color: #94a3b8 !important; }
#wpforms-form-2048 textarea::placeholder { color: #94a3b8 !important; }

/* SD: Mobile menu breadcrumb back-button - neutralize leaked global button red */
.elementor-kit-39208 .jet-mobile-menu__breadcrumb button.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label { background-color: transparent !important; }
.elementor-kit-39208 .jet-mobile-menu__breadcrumb button.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label { background: transparent !important; }
.elementor-kit-39208 .jet-mobile-menu__breadcrumb button.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label { color: #94a3b8 !important; }
.elementor-kit-39208 .jet-mobile-menu__breadcrumb button.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label { padding: 0 !important; }
.elementor-kit-39208 .jet-mobile-menu__breadcrumb button.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label { border: 0 !important; }
.elementor-kit-39208 .jet-mobile-menu__breadcrumb button.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label { border-radius: 0 !important; }
.elementor-kit-39208 .jet-mobile-menu__breadcrumb button.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label { box-shadow: none !important; }
.elementor-kit-39208 .jet-mobile-menu__breadcrumb button.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label.breadcrumb-label { font-weight: 400 !important; }

/* SD: 404 uniform buttons */
.elementor-39870 .elementor-widget-button .elementor-button { min-width: 220px; }

/* SD: mobile tap targets */
@media (max-width: 767px) {
  a.jet-wishlist-count-button__link { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  a.jet-blocks-cart__heading-link { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
  .jet-mobile-menu__toggle { min-width: 44px; min-height: 44px; }
  select.jet-sorting-select { min-height: 44px; }}


/* SD: mobile logo size */
@media (max-width: 767px) {
  
}

/* SD: wishlist badge align */
.elementor-384349 .elementor-element.elementor-element-ca25bbb .jet-wishlist-count-button__count { top: 2px; left: 17px; right: auto; bottom: auto; margin: 0; line-height: 20px; }

/* === SD icon size bump (added by Claude) === */
.jet-wishlist-count-button__icon,
.jet-wishlist-count-button__icon i,
.jet-blocks-cart__icon,
.jet-blocks-cart__icon i {
  font-size: 24px !important;
}
/* === end SD icon size bump === */

/* === SD wishlist badge nudge — desktop only, match cart badge (added by Claude) === */
@media (min-width: 768px) {
  .jet-wishlist-count-button__count {
    top: -7px !important;
    left: 14px !important;
  }
}
/* === end SD wishlist badge nudge === */


/* === SD Services table mobile overflow fix === */
@media (max-width: 767px) {
  
  
  
}
/* === end SD Services table mobile overflow fix === */

/* === SD mobile menu anti-flash (show hamburger, hide desktop list pre-JS) === */
@media (max-width: 1024px) {
  .jet-mega-menu--layout-horizontal .jet-mega-menu-toggle {
    display: flex !important;
  }
  .jet-mega-menu--layout-horizontal:not(.jet-mega-menu--layout-dropdown) .jet-mega-menu-container {
    display: none !important;
  }
}
/* === end SD mobile menu anti-flash === */

/* ===== Migrated from WPCode: Additional CSS (snippet 39921) ===== */
.jet-compare-table.woocommerce {
	margin-block-end: 0;
}



.jet-blocks-cart__list .woocommerce-mini-cart__empty-message{
	color: #fff;
}

.jet-reviews-stars-input span {
	color: #fff;
}


.jet-mobile-menu__body li {
	justify-content: center;
	align-items: center;
}
.jet-mobile-menu__body{
	padding-top: 50px;
}




.wht_icon svg path {
	fill: #fff;
}
.wht_icons svg path {
	fill: #fff;
}

.wht_icon:hover svg path {
	fill: #0177e3;
}

.blue_icon svg path {
	fill: #0177e3;
}
.blue_icon .jet-compare-button__state-added svg path {
	fill: #fff;
}

.blue_icon:hover svg path {
	fill: #fff;
}

/* WP contact Form*/
.wpforms-field-label {
	text-align: left;
	font-family: "Outfit", Sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	color: #FFFFFF;
	margin-bottom: 10px;
}
.wpforms-confirmation-container p {
	color: #fff;
	font-size: 16px;
	text-align: center;
	font-family: "Outfit", Sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	color: #FFFFFF;
}

.elementor-jet-single-content h3 {
	color: #fff;
}




/* === terms-page-formatting (added) === */
/* ---- Terms & Conditions page (page-id-39210) ---- */

/* Reduce the massive 120px top/bottom padding on the content section */
body.page-id-39210 [data-id="7b180c5a"] {
  padding-top: 40px !important;
  padding-bottom: 60px !important;
}

/* Constrain line length for readability */
body.page-id-39210 .page-content .elementor-widget-container {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

/* Section headings (H3) — bold, red left-border accent, breathing room */
body.page-id-39210 .page-content h3 {
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.95) !important;
  border-left: 3px solid var(--ccr-accent);
  padding-left: 12px !important;
  margin-top: 36px !important;
  margin-bottom: 14px !important;
}

/* First H3 — no extra top margin since padding on section provides it */
body.page-id-39210 .page-content h3:first-of-type {
  margin-top: 0 !important;
}

/* Body paragraphs — slightly muted, comfortable line-height */
body.page-id-39210 .page-content p {
  color: rgba(255,255,255,0.82) !important;
  line-height: 1.75 !important;
  margin-bottom: 12px !important;
}

/* Sub-section labels (standalone bold <p> like "Firearm Transfers") */
body.page-id-39210 .page-content p:has(> strong:only-child) {
  font-weight: 700 !important;
  font-size: 0.72rem !important;
  color: rgba(255,255,255,0.5) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  margin-top: 24px !important;
  margin-bottom: 6px !important;
}

/* Lists — proper indent, spacing */
body.page-id-39210 .page-content ul,
body.page-id-39210 .page-content ol {
  padding-left: 1.5em !important;
  margin-bottom: 12px !important;
}
body.page-id-39210 .page-content li {
  color: rgba(255,255,255,0.82) !important;
  line-height: 1.75 !important;
  margin-bottom: 5px !important;
}

/* HR dividers — subtle, with top breathing room */
body.page-id-39210 .page-content hr {
  border: none !important;
  border-top: 1px solid rgba(255,255,255,0.10) !important;
  margin: 32px 0 0 0 !important;
}

/* Suppress the H1 bottom margin (section padding handles spacing) */
body.page-id-39210 .page-content h1.elementor-heading-title {
  margin-bottom: 0 !important;
}
/* === end terms-page-formatting === */

/* cc-services-dropdown-polish START */
.elementor-element-4f7a142 .jet-mega-menu-sub-menu{
  background-color:#0F172A !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:10px !important;
  box-shadow:0 14px 34px rgba(0,0,0,.5) !important;
  padding:8px !important;
  margin-top:8px !important;
  min-width:230px !important;
  z-index:999 !important;
}
.elementor-element-4f7a142 .jet-mega-menu-sub-menu .jet-mega-menu-item{margin:0 !important;}
.elementor-element-4f7a142 .jet-mega-menu-sub-menu .jet-mega-menu-item__link{
  color:#FFFFFF !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:15px !important;
  font-weight:500 !important;
  line-height:1.3 !important;
  padding:11px 16px !important;
  border-radius:7px !important;
  display:block !important;
  transition:background-color .15s ease,color .15s ease,padding-left .15s ease;
}
.elementor-element-4f7a142 .jet-mega-menu-sub-menu .jet-mega-menu-item__link:hover,
.elementor-element-4f7a142 .jet-mega-menu-sub-menu .jet-mega-menu-item:hover > .jet-mega-menu-item__inner .jet-mega-menu-item__link{
  background-color:rgba(1,119,227,.14) !important;
  color:#0177E3 !important;
  padding-left:20px !important;
}
/* cc-services-dropdown-polish END */

/* cc-reviews-arrows START */
.grw-prev:not(#cc-x), .grw-next:not(#cc-x), .rpi-ltgt.rpi-lt:not(#cc-x), .rpi-ltgt.rpi-gt:not(#cc-x){
  background-color:var(--ccr-accent) !important;
  background:var(--ccr-accent) !important;
  border:1px solid var(--ccr-accent) !important;
  color:#ffffff !important;
  box-shadow:0 2px 8px rgba(192,57,43,.35) !important;
}
.grw-prev:not(#cc-x):hover, .grw-next:not(#cc-x):hover, .rpi-ltgt.rpi-lt:not(#cc-x):hover, .rpi-ltgt.rpi-gt:not(#cc-x):hover{
  background-color:#0177E3 !important;
  background:#0177E3 !important;
  border-color:#0177E3 !important;
}
/* the chevron glyph is an SVG MASK on the ::before (prev) / ::after (next)
   pseudo-elements, tinted by background-color. Paint the mask white so the arrow reads. */
.grw-prev:not(#cc-x)::before, .grw-next:not(#cc-x)::after,
.rpi-ltgt.rpi-lt:not(#cc-x)::before, .rpi-ltgt.rpi-gt:not(#cc-x)::after{
  background-color:#ffffff !important;
}
/* cc-reviews-arrows END */

/* cc-services-dropdown-align START */
/* JetMenu right-aligns the Services sub-menu under its tab; align it left instead
   (left edge under the tab, opens rightward). Scoped to header widget 4f7a142. */
.elementor-element-4f7a142 .jet-mega-menu-sub-menu{
  left:0 !important;
  right:auto !important;
}
/* cc-services-dropdown-align END */

/* cc-services-hub-mobile-spacing START */
@media (max-width:767px){
  /* narrowed CTAs (240px) centered on mobile so they match desktop */
  .page-id-96863 .elementor-widget-button .elementor-button{
    width:260px !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .page-id-96863 .elementor-widget-button .elementor-button-wrapper{
    text-align:center !important;
  }
  /* tighten the loose vertical gaps around the buttons (was 10px top/bottom) */
  .page-id-96863 .elementor-widget-button{
    margin-top:4px !important;
    margin-bottom:4px !important;
  }
}
/* cc-services-hub-mobile-spacing END */

/* cc-hero-subtitle-wrap START */
/* Hero subtitle (#40013908): desktop = one line; mobile = 3 grouped lines, dash hidden */
@media (max-width:767px){
  .elementor-element-40013908 .cc-hero-line{ display:block; }
  .elementor-element-40013908 .cc-hero-dash{ display:none; }
}
/* cc-hero-subtitle-wrap END */

/* cc-about-btn-spacing START */
/* Homepage About "Read More" button: even spacing above (matches the section's 20px rhythm) */
.elementor-element-3980a76{ margin-top:20px !important; }
/* cc-about-btn-spacing END */

/* ================= cc-migrated-from-plugins (2026-07-10) — CSS moved out of cc-* plugins per Jake ================= */

/* ---- Homepage "Announcements" recolor (was plugin cc-announcements-colors; section 421a9c9 = homepage-only) ---- */
/* ===== Homepage "Announcements" on-brand recolor (scoped to section 421a9c9) ===== */
/* NOTE: the section's native slate->near-black gradient is intentionally LEFT INTACT so the
   page-wide gradient rhythm (…Our Services ramps to slate -> Announcements ramps back to near-black)
   stays continuous. Only the CARDS + date block are recolored below. */
/* update cards: solid #0177E3 fill -> raised dark panel + blue accent stripe (matches service-page cards) */
.elementor-element-421a9c9 .elementor-element-aae3f3f{
	background-color:rgba(255,255,255,.04) !important;
	background-image:none !important;
	border:1px solid rgba(255,255,255,.09) !important;
	border-left:3px solid #0177E3 !important;
	border-radius:12px !important;
	overflow:hidden;
}
.elementor-element-421a9c9 .elementor-element-aae3f3f > .elementor-background-overlay{
	background:transparent !important;
}
/* 3) kill the bright white date block so the date reads on the dark card */
.elementor-element-421a9c9 .elementor-element-9113c73,
.elementor-element-421a9c9 .elementor-element-9113c73 > .elementor-widget-wrap{
	background-color:transparent !important;
	background-image:none !important;
}
/* 4) date stays accent-blue on the dark card */
.elementor-element-421a9c9 .jet-listing-dynamic-field__content{
	color:#0177E3 !important;
}
/* 5) body copy softened for hierarchy (titles stay white) */
.elementor-element-421a9c9 .jet-listing-grid__item .wp-block-paragraph{
	color:rgba(255,255,255,.78) !important;
}


/* ---- Services child-page link colors (was plugin cc-service-link-colors; scoped to page-id 519127/8/9) ---- */
body.page-id-519127 .elementor-519127 .elementor-widget-text-editor a,
body.page-id-519127 .elementor-519127 .elementor-widget-text-editor a:hover,
body.page-id-519127 .elementor-519127 .elementor-widget-text-editor a:focus,
body.page-id-519127 .elementor-519127 .elementor-widget-heading a,
body.page-id-519128 .elementor-519128 .elementor-widget-text-editor a,
body.page-id-519128 .elementor-519128 .elementor-widget-text-editor a:hover,
body.page-id-519128 .elementor-519128 .elementor-widget-text-editor a:focus,
body.page-id-519128 .elementor-519128 .elementor-widget-heading a,
body.page-id-519129 .elementor-519129 .elementor-widget-text-editor a,
body.page-id-519129 .elementor-519129 .elementor-widget-text-editor a:hover,
body.page-id-519129 .elementor-519129 .elementor-widget-text-editor a:focus,
body.page-id-519129 .elementor-519129 .elementor-widget-heading a{
	color:#CC3366 !important;
	text-decoration:none !important;
}

/* ================= end cc-migrated-from-plugins ================= */

/* ================= cc-button-colors (2026-07-10) — review + back-to-top buttons match site CTAs (red -> blue hover) ================= */
.wp-gr .wp-google-wr a[href*="writereview"]{
	background:var(--ccr-accent) !important;
}
.wp-gr .wp-google-wr a[href*="writereview"]:hover,
.wp-gr .wp-google-wr a[href*="writereview"]:focus{
	background:#0177E3 !important;
}
a.elementor-icon[href="#backtotop"]{
	background-color:var(--ccr-accent) !important;
}
a.elementor-icon[href="#backtotop"]:hover,
a.elementor-icon[href="#backtotop"]:focus{
	background-color:#0177E3 !important;
}
/* ================= end cc-button-colors ================= */


/* ================= cc-header-tablet-hamburger (2026-07-11) ================= */
/* Tablet/mobile (<=1024, where the nav collapses to a hamburger): the main-nav */
/* mega-menu column (77eb25d) stayed mid-header, leaving the hamburger floating  */
/* between logo and search. Move that column to the far left (before the logo),  */
/* shrink it to the toggle width, and vertically center the toggle to the logo.  */
@media(min-width:768px) and (max-width:1024px){
  body .elementor-element-77eb25d{order:-1 !important;width:auto !important;max-width:none !important;flex:0 0 auto !important;margin-right:10px !important;}
  /* the mega-menu widget is ~40px tall but the 25px toggle sits at its top; center it */
  body .elementor-element-77eb25d .elementor-widget-jet-mega-menu{display:flex !important;flex-direction:column !important;justify-content:center !important;align-items:flex-start !important;}
  body .elementor-element-77eb25d .jet-mega-menu,
  body .elementor-element-77eb25d .jet-mega-menu__container{align-items:center !important;justify-content:flex-start !important;}
}
/* ================= end cc-header-tablet-hamburger ================= */

















/* ===== cc-wishlist-spruce START (2026-07-15) — /wishlist/ page 39248, matched to Cart ===== */
/* Kill the hero "banner": breadcrumb, stacked spacers, and the fixed min-height band */
.page-id-39248 .elementor-element-66d41750 .elementor-widget-jet-breadcrumbs{display:none !important;}
.page-id-39248 .elementor-element-66d41750 .elementor-widget-spacer{display:none !important;}
.page-id-39248 .elementor-element-66d41750,
.page-id-39248 .elementor-element-66d41750 > .elementor-container,
.page-id-39248 .elementor-element-66d41750 > .elementor-container > .elementor-column,
.page-id-39248 .elementor-element-66d41750 .elementor-widget-wrap,
.page-id-39248 .elementor-element-66d41750 > .e-con-inner{min-height:0 !important;}
/* Unify background: one gradient behind the whole page (like Cart) — no flat black hero band */
body.page-id-39248 .elementor.elementor-39248{background-image:linear-gradient(#070614 0%, #0F172A 100%) !important;}
body.page-id-39248 .elementor-element-66d41750{background-color:transparent !important;background-image:none !important;}
/* THE black banner: the hero section's Elementor background-overlay (solid #000) — remove it */
body.page-id-39248 .elementor-element-66d41750 > .elementor-background-overlay{display:none !important;opacity:0 !important;background:transparent !important;}
/* Breathing room above the heading (separate it from the header) */
body.page-id-39248 .elementor-element-66d41750{padding-top:60px !important;}
body.page-id-39248 .elementor-element-8cea419{background-color:transparent !important;background-image:none !important;}
/* Cart-style centered heading + brand-blue underline accent */
.page-id-39248 .elementor-element-66d41750 .elementor-heading-title{text-align:center;}
.page-id-39248 .elementor-element-66d41750 .elementor-heading-title::after{content:"";display:block;width:66px;height:3px;background:#0177E3;margin:14px auto 0;}
/* Tighten the products section (was 120px top/bottom padding) */
.page-id-39248 .elementor-element-8cea419{padding-top:34px !important;padding-bottom:60px !important;}
/* Responsive product grid like the Shop (4 / 3 / 2), even columns */
.page-id-39248 .jet-wishlist__content .cw-col-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;width:100%;margin:0;}
.page-id-39248 .jet-wishlist__content .jet-woo-products__item{width:auto !important;max-width:none !important;flex:none !important;margin:0 !important;padding:0 !important;min-width:0 !important;}
.page-id-39248 .jet-wishlist__content .jet-wishlist-item{width:100% !important;min-width:0 !important;position:relative;}
.page-id-39248 .jet-wishlist__content .jet-woo-builder-product{width:100% !important;min-width:0 !important;}
@media(max-width:1024px){.page-id-39248 .jet-wishlist__content .cw-col-row{grid-template-columns:repeat(3,1fr);}}
@media(max-width:767px){.page-id-39248 .jet-wishlist__content .cw-col-row{grid-template-columns:repeat(2,1fr);gap:14px;}}
/* Redundant "already added" heart on each card — hide on the wishlist page */
.page-id-39248 .jet-woo-builder-product .elementor-widget-jet-wishlist-button{display:none !important;}
/* Remove control -> small circular X in the card's top-right corner (dark, red on hover) */
body.page-id-39248 .jet-wishlist-item > .jet-cw-remove-button{position:absolute !important;top:12px;right:12px;z-index:6;width:34px;height:34px;min-width:0;min-height:0;padding:0;margin:0;border-radius:50%;background:rgba(10,15,25,.72) !important;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,.35);transition:background .2s ease,transform .2s ease;}
body.page-id-39248 .jet-wishlist-item > .jet-cw-remove-button:hover{background:var(--ccr-accent) !important;transform:scale(1.08);}
body.page-id-39248 .jet-wishlist-item > .jet-cw-remove-button svg,body.page-id-39248 .jet-wishlist-item > .jet-cw-remove-button i,body.page-id-39248 .jet-wishlist-item > .jet-cw-remove-button img{width:15px;height:15px;font-size:15px;margin:0;}
/* Empty-state: card like the Cart's empty panel (default h5 text hidden, replaced) */
.page-id-39248 h5.jet-wishlist-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:620px;margin:8px auto 30px;padding:46px 30px;text-align:center;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.09);border-radius:14px;font-size:0 !important;}
.page-id-39248 h5.jet-wishlist-empty::before{content:"Your wishlist is empty";display:block;font-size:22px;line-height:1.3;font-weight:700;letter-spacing:.3px;color:#fff;margin-bottom:10px;}
.page-id-39248 h5.jet-wishlist-empty::after{content:"Start saving the gear you want.";display:block;font-size:15px;line-height:1.4;font-weight:400;color:rgba(255,255,255,.68);}
/* ===== cc-wishlist-spruce END ===== */




/* ===== cc-header-menu-sizing START (2026-07-15) — main nav text > category menu text ===== */
@media (min-width:1025px){
  /* Main navigation (Home/Shop/Services/About/Contact = widget 4f7a142) — larger than the category menu (b408e6a stays 17px) */
  .elementor-element-4f7a142 .jet-mega-menu-item__link,
  .elementor-element-4f7a142 .jet-mega-menu-item__label{font-size:20px !important;}
  /* Let the nav column size to its (now larger) content instead of the fixed 434px */
  .elementor-element-77eb25d{width:auto !important;flex:0 0 auto !important;}
  /* Search column takes the remaining space */
  .elementor-element-9318534{flex:1 1 auto !important;width:auto !important;}
  /* Extend the search field right to close the gap to the wishlist icon (small breather kept) */
  .elementor-element-9318534 .jet-ajax-search__field{max-width:385px !important;}
  /* Tighten the gap between the wishlist and cart icons */
  .elementor-element-75242c1{margin-left:-14px !important;}
}
/* ===== cc-header-menu-sizing END ===== */


/* ===== cc-homepage-gradient START (2026-07-16 v2) — single smooth page-wide gradient (replaces per-section zigzag) ===== */
/* One continuous dark->slate->dark wash behind the whole page; every content section below the hero goes transparent so the single gradient shows through instead of each section painting its own color. Hero (1149f936) keeps its rifle-image background. */
body.page-id-39225 .elementor.elementor-39225{background-image:linear-gradient(180deg,#000000 0%,#000000 10%,#0F172A 50%,#000000 100%) !important;}
body.page-id-39225 .elementor-element-1149f936{background-color:transparent !important;} /* hero: drop the black backdrop so the page-wide gradient flows through (rifle image kept, centered) */
body.page-id-39225 .elementor-element-49e42885,
body.page-id-39225 .elementor-element-3e22446c,
body.page-id-39225 .elementor-element-3148fc8,
body.page-id-39225 .elementor-element-1693519,
body.page-id-39225 .elementor-element-6006aace,
body.page-id-39225 .elementor-element-421a9c9{background-color:transparent !important;background-image:none !important;}
body.page-id-39225 .elementor-element-3148fc8 > .elementor-background-overlay,
body.page-id-39225 .elementor-element-1693519 > .elementor-background-overlay{display:none !important;}
/* ===== cc-homepage-gradient END ===== */


/* ===== cc-legal-hero-banner START (2026-07-15) — kill black hero banner on Terms + Privacy ===== */
/* Both pages stack a solid #000 @0.68 overlay over the flat #070614 body -> a near-black banner band (Terms 129px, Privacy 331px/35vh). Remove the overlay so the hero blends into the flat page (hero bg is already #070614 = body). Same fix as Cart/Wishlist. */
body.page-id-39210 .elementor-element-76ff4aec > .elementor-background-overlay,
body.page-id-39214 .elementor-element-5738d8ed > .elementor-background-overlay,
body.page-id-361338 .elementor-element-3611a01 > .elementor-background-overlay,
body.page-id-260164 .elementor-element-2601b01 > .elementor-background-overlay{display:none !important;opacity:0 !important;background:transparent !important;}
/* ===== cc-legal-hero-banner END ===== */


/* ===== cc-minicart-polish START (2026-07-15) — JetBlocks slide-out mini cart contrast ===== */
/* Panel base text was #333 (dark-on-dark) — set light so the subtotal, empty-state msg, and any unstyled text are readable on the slate panel */
.jet-blocks-cart__list{color:rgba(255,255,255,0.92) !important;}
/* Subtotal line: was #333 (invisible) -> white, and reads as a summary line via a faint top divider */
.jet-blocks-cart__list .woocommerce-mini-cart__total,
.jet-blocks-cart__list .woocommerce-mini-cart__total strong,
.jet-blocks-cart__list .woocommerce-mini-cart__total .amount,
.jet-blocks-cart__list .woocommerce-mini-cart__total bdi{color:#ffffff !important;}
.jet-blocks-cart__list .woocommerce-mini-cart__total{border-top:1px solid rgba(255,255,255,0.12) !important;padding-top:14px !important;margin-top:6px !important;}
/* Remove "x" (per item) and the panel close "x": muted dark red -> brand red, brighter on hover */
.jet-blocks-cart__list a.remove,
.jet-blocks-cart__list .remove_from_cart_button,
.jet-blocks-cart__close-button{color:var(--ccr-accent) !important;opacity:1 !important;}
.jet-blocks-cart__list a.remove:hover,
.jet-blocks-cart__list .remove_from_cart_button:hover,
.jet-blocks-cart__close-button:hover{color:#e2564a !important;}
/* ===== cc-minicart-polish END ===== */


/* ===== cc-legal-page-formatting START (2026-07-16) — apply Terms legal-page styling to Shipping Policy (361338) + Law Enforcement Sales (260164) ===== */
body.page-id-361338 [data-id="3611a05"],
body.page-id-260164 [data-id="2601b05"]{padding-top:40px !important;padding-bottom:60px !important;}
body.page-id-361338 .page-content .elementor-widget-container,
body.page-id-260164 .page-content .elementor-widget-container{max-width:860px;margin-left:auto;margin-right:auto;}
body.page-id-361338 .page-content h3,
body.page-id-260164 .page-content h3{font-weight:700 !important;font-size:0.8rem !important;letter-spacing:0.09em !important;text-transform:uppercase !important;color:rgba(255,255,255,0.95) !important;border-left:3px solid var(--ccr-accent);padding-left:12px !important;margin-top:36px !important;margin-bottom:14px !important;}
body.page-id-361338 .page-content h3:first-of-type,
body.page-id-260164 .page-content h3:first-of-type{margin-top:0 !important;}
body.page-id-361338 .page-content p,
body.page-id-260164 .page-content p{color:rgba(255,255,255,0.82) !important;line-height:1.75 !important;margin-bottom:12px !important;}
body.page-id-361338 .page-content ul,body.page-id-361338 .page-content ol,
body.page-id-260164 .page-content ul,body.page-id-260164 .page-content ol{padding-left:1.5em !important;margin-bottom:12px !important;}
body.page-id-361338 .page-content li,
body.page-id-260164 .page-content li{color:rgba(255,255,255,0.82) !important;line-height:1.75 !important;margin-bottom:5px !important;}
body.page-id-361338 .page-content hr,
body.page-id-260164 .page-content hr{border:none !important;border-top:1px solid rgba(255,255,255,0.10) !important;margin:32px 0 0 0 !important;}
body.page-id-361338 .page-content h1.elementor-heading-title,
body.page-id-260164 .page-content h1.elementor-heading-title{margin-bottom:0 !important;}
/* ===== cc-legal-page-formatting END ===== */

/* ===== cc-static-page-gradient START (2026-07-16) — same single smooth wrapper gradient as homepage, applied to every static content page ===== */
body.page-id-524419 .elementor.elementor-524419{background-image:linear-gradient(180deg,#070614 0%,#0F172A 50%,#000000 100%) !important;}
body.page-id-524419 .elementor-524419 > .elementor-top-section{background-color:transparent !important;background-image:none !important;}
body.page-id-524419 .elementor-524419 > .elementor-top-section > .elementor-background-overlay{display:none !important;}
body.page-id-524420 .elementor.elementor-524420{background-image:linear-gradient(180deg,#070614 0%,#0F172A 50%,#000000 100%) !important;}
body.page-id-524420 .elementor-524420 > .elementor-top-section{background-color:transparent !important;background-image:none !important;}
body.page-id-524420 .elementor-524420 > .elementor-top-section > .elementor-background-overlay{display:none !important;}





















body.page-id-39210 .elementor.elementor-39210{background-image:linear-gradient(180deg,#070614 0%,#0F172A 50%,#000000 100%) !important;}
body.page-id-39210 .elementor-39210 > .elementor-top-section{background-color:transparent !important;background-image:none !important;}
body.page-id-39210 .elementor-39210 > .elementor-top-section > .elementor-background-overlay{display:none !important;}
body.page-id-39214 .elementor.elementor-39214{background-image:linear-gradient(180deg,#070614 0%,#0F172A 50%,#000000 100%) !important;}
body.page-id-39214 .elementor-39214 > .elementor-top-section{background-color:transparent !important;background-image:none !important;}
body.page-id-39214 .elementor-39214 > .elementor-top-section > .elementor-background-overlay{display:none !important;}
body.page-id-361338 .elementor.elementor-361338{background-image:linear-gradient(180deg,#070614 0%,#0F172A 50%,#000000 100%) !important;}
body.page-id-361338 .elementor-361338 > .elementor-top-section{background-color:transparent !important;background-image:none !important;}
body.page-id-361338 .elementor-361338 > .elementor-top-section > .elementor-background-overlay{display:none !important;}
body.page-id-260164 .elementor.elementor-260164{background-image:linear-gradient(180deg,#070614 0%,#0F172A 50%,#000000 100%) !important;}
body.page-id-260164 .elementor-260164 > .elementor-top-section{background-color:transparent !important;background-image:none !important;}
body.page-id-260164 .elementor-260164 > .elementor-top-section > .elementor-background-overlay{display:none !important;}
body.page-id-39220 .elementor.elementor-39220{background-image:linear-gradient(180deg,#070614 0%,#0F172A 50%,#000000 100%) !important;}
body.page-id-39220 .elementor-39220 > .elementor-top-section{background-color:transparent !important;background-image:none !important;}
body.page-id-39220 .elementor-39220 > .elementor-top-section > .elementor-background-overlay{display:none !important;}
body.page-id-39217 .elementor.elementor-39217{background-image:linear-gradient(180deg,#070614 0%,#0F172A 50%,#000000 100%) !important;}
body.page-id-39217 .elementor-39217 > .elementor-top-section{background-color:transparent !important;background-image:none !important;}
body.page-id-39217 .elementor-39217 > .elementor-top-section > .elementor-background-overlay{display:none !important;}



body.page-id-96863 .elementor.elementor-96863{background-image:linear-gradient(180deg,#070614 0%,#0F172A 50%,#000000 100%) !important;}
body.page-id-96863 .elementor-96863 > .elementor-top-section{background-color:transparent !important;background-image:none !important;}
body.page-id-96863 .elementor-96863 > .elementor-top-section > .elementor-background-overlay{display:none !important;}
body.page-id-519127 .elementor.elementor-519127{background-image:linear-gradient(180deg,#070614 0%,#0F172A 50%,#000000 100%) !important;}
body.page-id-519127 .elementor-519127 > .elementor-top-section{background-color:transparent !important;background-image:none !important;}
body.page-id-519127 .elementor-519127 > .elementor-top-section > .elementor-background-overlay{display:none !important;}
body.page-id-519128 .elementor.elementor-519128{background-image:linear-gradient(180deg,#070614 0%,#0F172A 50%,#000000 100%) !important;}
body.page-id-519128 .elementor-519128 > .elementor-top-section{background-color:transparent !important;background-image:none !important;}
body.page-id-519128 .elementor-519128 > .elementor-top-section > .elementor-background-overlay{display:none !important;}
body.page-id-519129 .elementor.elementor-519129{background-image:linear-gradient(180deg,#070614 0%,#0F172A 50%,#000000 100%) !important;}
body.page-id-519129 .elementor-519129 > .elementor-top-section{background-color:transparent !important;background-image:none !important;}
body.page-id-519129 .elementor-519129 > .elementor-top-section > .elementor-background-overlay{display:none !important;}



/* ===== cc-static-page-gradient END ===== */

/* ===== cc-jetmenu-colors START (2026-07-18) — restore JetMenu header menu colors + dropdown hover. JetMenu's per-render dynamic CSS stopped emitting the --jmm color vars, so nav text fell through to theme a{} (pink). This pins the intended colors and kills the box-in-box hover. ===== */
/* Top-level nav items: white text / icons / arrows (both header menus) */
.jet-mega-menu-item--top-level > .jet-mega-menu-item__inner > .jet-mega-menu-item__link--top-level,
.jet-mega-menu-item--top-level > .jet-mega-menu-item__inner > .jet-mega-menu-item__link--top-level .jet-mega-menu-item__label,
.jet-mega-menu-item--top-level > .jet-mega-menu-item__inner > .jet-mega-menu-item__link--top-level .jet-mega-menu-item__icon,
.jet-mega-menu-item--top-level > .jet-mega-menu-item__inner > .jet-mega-menu-item__link--top-level .jet-mega-menu-item__dropdown{color:#FFFFFF !important;}
/* Top-level hover / active: blue accent, no background box */
.jet-mega-menu-item--top-level > .jet-mega-menu-item__inner:hover > .jet-mega-menu-item__link--top-level,
.jet-mega-menu-item--top-level > .jet-mega-menu-item__inner:hover > .jet-mega-menu-item__link--top-level .jet-mega-menu-item__label,
.jet-mega-menu-item--top-level > .jet-mega-menu-item__inner:hover > .jet-mega-menu-item__link--top-level .jet-mega-menu-item__icon,
.jet-mega-menu-item--top-level > .jet-mega-menu-item__inner:hover > .jet-mega-menu-item__link--top-level .jet-mega-menu-item__dropdown,
.jet-mega-menu-item--top-level.jet-mega-menu-item--active > .jet-mega-menu-item__inner > .jet-mega-menu-item__link--top-level .jet-mega-menu-item__label{color:#0177E3 !important;}
.jet-mega-menu-item--top-level > .jet-mega-menu-item__inner:hover,
.jet-mega-menu-item--top-level > .jet-mega-menu-item__inner:hover > .jet-mega-menu-item__link--top-level{background-color:transparent !important;}
/* Dropdown panels: dark slate background (restore) */
.jet-mega-menu-sub-menu,
.jet-mega-menu-sub-menu__list,
.jet-mega-menu-mega-container,
.jet-mega-menu-mega-container__inner{background-color:#0F172A !important;}
/* Dropdown sub-items: white text / icons */
.jet-mega-menu-item--sub-level > .jet-mega-menu-item__inner > .jet-mega-menu-item__link--sub-level,
.jet-mega-menu-item--sub-level > .jet-mega-menu-item__inner > .jet-mega-menu-item__link--sub-level .jet-mega-menu-item__label,
.jet-mega-menu-item--sub-level > .jet-mega-menu-item__inner > .jet-mega-menu-item__link--sub-level .jet-mega-menu-item__icon{color:#FFFFFF !important;}
/* Panel: drop the leftover 8px card padding so the row highlight is full-bleed (no box-in-box); clip highlight to the rounded panel corners. Widget-scoped to beat .elementor-element-4f7a142 .jet-mega-menu-sub-menu{padding:8px!important}. */
.elementor-element-4f7a142 .jet-mega-menu-sub-menu{padding:0 !important;overflow:hidden !important;}
/* Dropdown hover: ONE full-width slate row highlight; kill the base blue-tint box on the link (that inset box was the box-in-box) */
.jet-mega-menu-item--sub-level > .jet-mega-menu-item__inner{background-color:transparent !important;}
.jet-mega-menu-item--sub-level > .jet-mega-menu-item__inner:hover{background-color:#1E293B !important;}
.jet-mega-menu-item--sub-level > .jet-mega-menu-item__inner > .jet-mega-menu-item__link--sub-level{background-color:transparent !important;border-radius:0 !important;}
.elementor-element-4f7a142 .jet-mega-menu-sub-menu .jet-mega-menu-item:hover > .jet-mega-menu-item__inner > .jet-mega-menu-item__link.jet-mega-menu-item__link--sub-level,
.elementor-element-4f7a142 .jet-mega-menu-sub-menu .jet-mega-menu-item__link.jet-mega-menu-item__link--sub-level:hover,
.elementor-element-4f7a142 .jet-mega-menu-sub-menu .jet-mega-menu-item__link.jet-mega-menu-item__link--sub-level:focus{background-color:transparent !important;box-shadow:none !important;color:#FFFFFF !important;}
.jet-mega-menu-item--sub-level > .jet-mega-menu-item__inner:hover > .jet-mega-menu-item__link--sub-level .jet-mega-menu-item__label,
.jet-mega-menu-item--sub-level > .jet-mega-menu-item__inner:hover > .jet-mega-menu-item__link--sub-level .jet-mega-menu-item__icon{color:#FFFFFF !important;}
/* ===== cc-jetmenu-colors END ===== */

/* ===== cc-wishlist-empty-btn START (2026-07-19) — real Browse-the-Shop button, shown ONLY when the wishlist is empty ===== */
body.page-id-39248 .elementor-element-cc4wl9b1{display:none;}
body.page-id-39248 .elementor-element-41fb8c6f:has(.jet-wishlist-empty) .elementor-element-cc4wl9b1{display:block;margin-top:-20px;}
/* ===== cc-wishlist-empty-btn END ===== */

/* ===== cc-guide-checklist-mobile START (2026-07-20) - on phones, center the check-item pair so short items match the centered text rhythm (gap stays 14px; long items unchanged) ===== */
@media(max-width:767px){
body.page-id-524419 .elementor-widget-text-editor li[style*="display:flex"],
body.page-id-524420 .elementor-widget-text-editor li[style*="display:flex"],
body.page-id-524431 .elementor-widget-text-editor li[style*="display:flex"],
body.page-id-524433 .elementor-widget-text-editor li[style*="display:flex"]{justify-content:center;}
}
/* ===== cc-guide-checklist-mobile END ===== */

/* cc-svc-pricing-tables — native tables replacing jet-elements on Services (96863) */
.page-id-96863 .cc-svc-pricing{width:100%;border-collapse:collapse;margin:0 0 20px;}
.page-id-96863 .cc-svc-pricing th,
.page-id-96863 .cc-svc-pricing td{padding:15px;border:1px solid var(--e-global-color-6b0bab2);color:var(--e-global-color-6b0bab2);background-color:var(--e-global-color-bc5a543);font-family:var(--e-global-typography-5e12c21-font-family);font-size:var(--e-global-typography-5e12c21-font-size);font-weight:var(--e-global-typography-5e12c21-font-weight);line-height:var(--e-global-typography-5e12c21-line-height);letter-spacing:var(--e-global-typography-5e12c21-letter-spacing);vertical-align:top;text-align:left;}
.page-id-96863 .cc-svc-pricing th{font-weight:600;}
/* end cc-svc-pricing-tables */






/* cc-megamenu-accent-border : REMOVE mega-menu top accent line (was blue #0177E3; strip above it read as a 2nd background) */
.jet-mega-menu-mega-container { background-color: transparent !important; } /* stray 2nd navy panel: JetMenu leaves the positioning-wrapper bg offset from the boxed content */
.jet-mega-menu-mega-container .elementor-top-section { border: 0 !important; }
/* end cc-megamenu-accent-border */

/* cc-notax-page START — legal styling + page gradient for /no-sales-tax/ (527513), cloned from Terms 39210 */
body.page-id-527513 [data-id="7b180c5a"] {
  padding-top: 40px !important;
  padding-bottom: 60px !important;
}

body.page-id-527513 .page-content .elementor-widget-container {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

body.page-id-527513 .page-content h3 {
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.95) !important;
  border-left: 3px solid var(--ccr-accent);
  padding-left: 12px !important;
  margin-top: 36px !important;
  margin-bottom: 14px !important;
}

body.page-id-527513 .page-content h3:first-of-type {
  margin-top: 0 !important;
}

body.page-id-527513 .page-content p {
  color: rgba(255,255,255,0.82) !important;
  line-height: 1.75 !important;
  margin-bottom: 12px !important;
}

body.page-id-527513 .page-content p:has(> strong:only-child) {
  font-weight: 700 !important;
  font-size: 0.72rem !important;
  color: rgba(255,255,255,0.5) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  margin-top: 24px !important;
  margin-bottom: 6px !important;
}

body.page-id-527513 .page-content ol {
  padding-left: 1.5em !important;
  margin-bottom: 12px !important;
}

body.page-id-527513 .page-content li {
  color: rgba(255,255,255,0.82) !important;
  line-height: 1.75 !important;
  margin-bottom: 5px !important;
}

body.page-id-527513 .page-content hr {
  border: none !important;
  border-top: 1px solid rgba(255,255,255,0.10) !important;
  margin: 32px 0 0 0 !important;
}

body.page-id-527513 .page-content h1.elementor-heading-title {
  margin-bottom: 0 !important;
}

body.page-id-527513 .elementor.elementor-527513{background-image:linear-gradient(180deg,#070614 0%,#0F172A 50%,#000000 100%) !important;}

body.page-id-527513 .elementor-527513 > .elementor-top-section{background-color:transparent !important;background-image:none !important;}

body.page-id-527513 .elementor-527513 > .elementor-top-section > .elementor-background-overlay{display:none !important;}
/* cc-notax-page END */

/* cc-announce-link — keep the announcement-bar heading white when linked to /no-sales-tax/ */
.elementor-element-cd15e8b a, .elementor-element-cd15e8b a:hover, .elementor-element-cd15e8b .elementor-heading-title a{color:#ffffff !important;text-decoration:none !important;}
.elementor-element-cd15e8b a:hover{opacity:0.85 !important;}
/* end cc-announce-link */

/* cc-policies-hub START — legal styling + gradient for /policies/ hub (527537), cloned from Terms 39210 */
body.page-id-527537 [data-id="7b180c5a"] {
  padding-top: 40px !important;
  padding-bottom: 60px !important;
}

body.page-id-527537 .page-content .elementor-widget-container {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

body.page-id-527537 .page-content h3 {
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.95) !important;
  border-left: 3px solid var(--ccr-accent);
  padding-left: 12px !important;
  margin-top: 36px !important;
  margin-bottom: 14px !important;
}

body.page-id-527537 .page-content h3:first-of-type {
  margin-top: 0 !important;
}

body.page-id-527537 .page-content p {
  color: rgba(255,255,255,0.82) !important;
  line-height: 1.75 !important;
  margin-bottom: 12px !important;
}

body.page-id-527537 .page-content p:has(> strong:only-child) {
  font-weight: 700 !important;
  font-size: 0.72rem !important;
  color: rgba(255,255,255,0.5) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  margin-top: 24px !important;
  margin-bottom: 6px !important;
}

body.page-id-527537 .page-content ol {
  padding-left: 1.5em !important;
  margin-bottom: 12px !important;
}

body.page-id-527537 .page-content li {
  color: rgba(255,255,255,0.82) !important;
  line-height: 1.75 !important;
  margin-bottom: 5px !important;
}

body.page-id-527537 .page-content hr {
  border: none !important;
  border-top: 1px solid rgba(255,255,255,0.10) !important;
  margin: 32px 0 0 0 !important;
}

body.page-id-527537 .page-content h1.elementor-heading-title {
  margin-bottom: 0 !important;
}

body.page-id-527537 .elementor.elementor-527537{background-image:linear-gradient(180deg,#070614 0%,#0F172A 50%,#000000 100%) !important;}

body.page-id-527537 .elementor-527537 > .elementor-top-section{background-color:transparent !important;background-image:none !important;}

body.page-id-527537 .elementor-527537 > .elementor-top-section > .elementor-background-overlay{display:none !important;}
body.page-id-527537 .page-content h3 a{color:#ffffff !important;text-decoration:none !important;}
body.page-id-527537 .page-content h3 a:hover{color:var(--ccr-accent) !important;}

/* cc-policies-hub END */

/* cc-services-submenu-tighten : header regular dropdown (Services) rows were ~58px for 14px text (11px link padding + ~10px gap) — disproportionately airy; tighten to ~42px. Scoped to sub-menu lists so the category MEGA-menu is untouched. */
body .elementor-element-4f7a142 .jet-mega-menu-sub-menu .jet-mega-menu-item__link{padding-top:8px !important;padding-bottom:8px !important;}
body .elementor-element-4f7a142 .jet-mega-menu-sub-menu .jet-mega-menu-item{margin-top:0 !important;margin-bottom:0 !important;}
body .elementor-element-4f7a142 .jet-mega-menu-sub-menu__list{gap:0 !important;row-gap:0 !important;}
body .elementor-element-4f7a142 .jet-mega-menu-sub-menu .jet-mega-menu-item__inner{padding-top:0 !important;padding-bottom:0 !important;}
/* end cc-services-submenu-tighten */




/* ===== cc-footer-black START (2026-08-07) — footer solid black (was #070614); page gradients now end at #000 to match ===== */
.elementor-39572 .elementor-element-7ff60cb{background-color:#000000 !important;}
.elementor-39572 .elementor-element-7ff60cb > .elementor-background-overlay{background-color:#000000 !important;background-image:none !important;}
/* ===== cc-footer-black END ===== */


/* ===== end SITE TAIL migration ===== */

/* =============================================================================
   A11Y + AUTOFILL (final slice) — migrated 2026-08-10 (Phase 2, section 7).
   SD keyboard-focus outlines (wins by specificity/longhands per its own design
   notes) + cc-global-autofill-fix. Order-independent; appended last.
   ============================================================================= */
/* === SD keyboard focus outlines (added by Claude) === */
/* Keyboard-only visible focus ring; longhands + box-shadow fallback to beat theme/Elementor defaults */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
.elementor-button:focus-visible,
.elementor-icon:focus-visible,
a.elementor-icon:focus-visible,
.jet-mega-menu-item__link:focus-visible,
.jet-blocks-cart__heading-link:focus-visible,
.jet-wishlist-count-button__link:focus-visible,
header a:focus-visible,
header button:focus-visible {
  outline-style: solid !important;
  outline-width: 3px !important;
  outline-color: #0177e3 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 3px rgba(1,119,227,0.55) !important;
  border-radius: 2px;
}
/* SD checkout focus override — beats body.woocommerce-checkout input:focus reset (0,2,2) */
body.woocommerce-checkout input:focus-visible,
body.woocommerce-checkout select:focus-visible,
body.woocommerce-checkout textarea:focus-visible,
body.woocommerce input.input-text:focus-visible,
body.woocommerce select:focus-visible,
body.woocommerce textarea:focus-visible {
  outline: 3px solid #0177e3 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 3px rgba(1,119,227,0.55) !important;
}
/* === end SD keyboard focus outlines === */
/* cc-global-autofill-fix: dark-theme autofill for ALL fields (was shop-filter-only) */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-text-fill-color: rgba(255,255,255,0.85) !important;
  caret-color: rgba(255,255,255,0.85) !important;
  transition: background-color 99999s ease-in-out 0s !important;
}




/* ===== PHASE 2 COMPLETE — the Customizer post is now a tombstone. ===== */

/* =============================================================================
   PHASE 3.1 — STATIC PAGES (sd-page) — first DELIBERATE design block, 2026-08-10.
   The calm raffle register: tokens, card, flat accents. NO gradients/glow/motion —
   those stay exclusive to raffle surfaces per the Phase 3 design principles.
   Used by templates/sd-static-page.php. New classes → UCSS whitelist when UCSS
   returns (.sd-page*). Replaces the per-page Elementor legal/static builds as
   pages migrate onto the template; their old .elementor-* scoped rules retire in
   the same pass as their page's Elementor disassociation.
   ============================================================================= */
.sd-page {
	/* Seamless with the site continuum: black header -> slate mid -> black footer
	   (exact colors from the established cc-*-gradient system; footer is #000). */
	background: linear-gradient(180deg, #0b1120 0%, #0F172A 45%, #0b1120 100%);
	color: var(--ccr-text);
	font-family: 'DM Sans', sans-serif;
	padding: 56px 16px 80px;
	min-height: 40vh;
	position: relative;
}
.sd-page::before {
	/* faint blue hero glow — echoes the raffle hero's radial, quieter and blue */
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 320px;
	pointer-events: none;
	background: radial-gradient(ellipse 55% 75% at 50% 0%, rgba(56, 174, 232, .10), transparent 70%);
}
.sd-page__hero { max-width: 860px; margin: 0 auto 28px; text-align: center; }
.sd-page__crumb {
	/* kicker treatment (raffle-hero DNA, calm blue) — doubles as the parent link */
	display: inline-block;
	color: var(--ccr-blue);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .3em;
	text-transform: uppercase;
	text-decoration: none;
	margin-bottom: 16px;
	transition: color .2s ease, letter-spacing .2s ease;
}
.sd-page__crumb:hover { color: #fff; letter-spacing: .34em; }
.sd-page__title {
	font-size: clamp(2.1rem, 5vw, 3.1rem);
	text-wrap: balance;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: .01em;
	color: #fff;
	margin: 0;
}
.sd-page__bar {
	display: block;
	width: 66px;
	height: 3px;
	border-radius: 2px;
	background: var(--ccr-blue);
	margin: 16px auto 0;
}
.sd-page__card {
	max-width: 860px;
	margin: 0 auto;
	background: var(--ccr-card-bg);
	border: 1px solid var(--ccr-card-border);
	border-radius: 12px;
	padding: clamp(24px, 4vw, 48px);
	box-shadow: 0 12px 44px rgba(0, 0, 0, .38);
	position: relative;
}
.sd-page__card h2,
.sd-page__card h3 {
	color: #fff;
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: .02em;
	margin: 2.1em 0 .7em;
	padding-left: 14px;
	border-left: 3px solid var(--ccr-accent);
}
.sd-page__card h2:first-child,
.sd-page__card h3:first-child { margin-top: 0; }
.sd-page__card p { color: var(--ccr-text-dim); line-height: 1.75; margin: 0 0 1.1em; }
.sd-page__card p strong { color: var(--ccr-text); }
.sd-page__card ul, .sd-page__card ol { color: var(--ccr-text-dim); line-height: 1.7; padding-left: 1.4em; margin: 0 0 1.2em; }
.sd-page__card li { margin-bottom: .45em; }
.sd-page__card a { color: var(--ccr-blue); text-decoration: none; }
.sd-page__card a:hover { text-decoration: underline; }
.sd-page__card hr { border: 0; border-top: 1px solid var(--ccr-card-border); margin: 2em 0; }

