/* ==========================================================================
   Falling Skies Corp — "Dark Ops" restyle for The7 14.x (+ WooCommerce, WPBakery)
   MOCKUP — not deployed. Load AFTER The7's generated CSS (child theme or Additional CSS).
   Fonts: Barlow Condensed (headings/nav) + Inter (body) from Google Fonts:
   @import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

:root {
  /* ---- palette ---- */
  --fsc-bg:        #0e0f11;   /* page */
  --fsc-surface:   #16181b;   /* cards, header, panels */
  --fsc-surface-2: #1d2024;   /* inputs, hover */
  --fsc-border:    #2a2e33;
  --fsc-border-2:  #3a3f45;
  --fsc-text:      #ebe8e3;   /* 15.7:1 on bg */
  --fsc-muted:     #a7aab0;   /* 8.2:1 on bg */
  --fsc-dim:       #8c9097;   /* 6.0:1 on bg */
  --fsc-tile:      #e9e7e2;   /* light image well for white-background product photos */
  /* ---- accent (A: coyote tan) ---- */
  --fsc-accent:       #c9a46c;  /* fills */
  --fsc-accent-hover: #d8b682;
  --fsc-accent-ink:   #111214;  /* text on accent: 8.0:1 */
  --fsc-accent-text:  #c9a46c;  /* accent as text on dark: 8.2:1 */
  --fsc-accent-soft:  rgba(201,164,108,.14);
  --fsc-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --fsc-font-head: "Barlow Condensed", "Roboto Condensed", "Arial Narrow", sans-serif;
  --fsc-radius: 4px;

  /* ---- remap The7 variables ---- */
  --the7-body-bg-color: var(--fsc-bg);
  --the7-body-bg-image: none;
  --the7-page-bg-color: var(--fsc-bg);
  --the7-base-color: var(--fsc-muted);
  --the7-secondary-text-color: var(--fsc-dim);
  --the7-title-color: var(--fsc-text);
  --the7-page-title-color: var(--fsc-text);
  --the7-links-color: var(--fsc-accent-text);
  --the7-accent-color: var(--fsc-accent);
  --the7-accent-bg-color: var(--fsc-accent);
  --the7-accent-bg-2: var(--fsc-accent);
  --the7-accent-gradient: 135deg, var(--fsc-accent) 0%, var(--fsc-accent) 100%;
  --the7-accent-bg-color-2: 135deg, var(--fsc-accent) 0%, var(--fsc-accent) 100%;
  --the7-accent-text-color-2: left, var(--fsc-accent-text) 0%, var(--fsc-accent-text) 100%;
  --the7-divider-color: var(--fsc-border);
  --the7-content-boxes-bg: var(--fsc-surface);
  --the7-header-bg-color: var(--fsc-surface);
  --the7-float-menu-bg: rgba(14,15,17,.96);
  --the7-mobile-header-bg-color: var(--fsc-surface);
  --the7-mobile-menu-bg-color: var(--fsc-surface);
  --the7-navigation-bg-color: var(--fsc-bg);
  --the7-footer-bg-color: #0a0b0c;
  --the7-bottom-bg-color: #070808;
  --the7-widget-footer-color: var(--fsc-muted);
  --the7-widget-sidebar-bg-color: transparent;
  --the7-widget-sidebar-color: var(--fsc-muted);
  --the7-widget-sidebar-header-color: var(--fsc-text);
  --the7-sidebar-outline-color: var(--fsc-border);
  --the7-submenu-bg-color: var(--fsc-surface);
  --the7-submenu-color: var(--fsc-text);
  --the7-sub-cart-bg: var(--fsc-surface);
  --the7-sub-cart-color: var(--fsc-text);
  --the7-input-bg-color: var(--fsc-surface-2);
  --the7-input-border-color: var(--fsc-border-2);
  --the7-input-color: var(--fsc-text);
  --the7-input-border-radius: var(--fsc-radius);
  --the7-mw-search-bg-color: var(--fsc-surface-2);
  --the7-mw-search-color: var(--fsc-muted);
  --the7-btn-bg-color: var(--fsc-accent);
  --the7-btn-border-color: var(--fsc-accent);
  --the7-btn-hover-bg-color: var(--fsc-accent-hover);
  --the7-btn-border-hover-color: var(--fsc-accent-hover);
  --the7-btn-color: var(--fsc-accent-ink);
  --the7-btn-hover-color: var(--fsc-accent-ink);
  --the7-btn-bg-color-2: 135deg, var(--fsc-accent) 0%, var(--fsc-accent) 100%;
  --the7-btn-hover-bg-color-2: 135deg, var(--fsc-accent-hover) 0%, var(--fsc-accent-hover) 100%;
  --the7-btn-s-border-radius: var(--fsc-radius);
  --the7-btn-m-border-radius: var(--fsc-radius);
  --the7-btn-l-border-radius: var(--fsc-radius);
  --the7-menu-color: var(--fsc-text);
  --the7-menu-hover-color: var(--fsc-accent-text);
  --the7-menu-active-color: var(--fsc-accent-text);
  --the7-menu-hover-color-2: left, var(--fsc-accent-text) 0%, var(--fsc-accent-text) 100%;
  --the7-menu-active-color-2: left, var(--fsc-accent-text) 0%, var(--fsc-accent-text) 100%;
  --the7-menu-decor-color: var(--fsc-accent);
  --the7-menu-decor-color-2: to left, var(--fsc-accent) 0%, var(--fsc-accent) 100%;
  --the7-floating-menu-color-hover: var(--fsc-accent-text);
  --the7-floating-menu-color-active: var(--fsc-accent-text);
  --the7-floating-menu-color-hover-2: left, var(--fsc-accent-text) 0%, var(--fsc-accent-text) 100%;
  --the7-floating-menu-color-active-2: left, var(--fsc-accent-text) 0%, var(--fsc-accent-text) 100%;
  --the7-submenu-hover-color: var(--fsc-accent-text);
  --the7-submenu-active-color: var(--fsc-accent-text);
  --the7-submenu-hover-color-2: left, var(--fsc-accent-text) 0%, var(--fsc-accent-text) 100%;
  --the7-submenu-active-color-2: left, var(--fsc-accent-text) 0%, var(--fsc-accent-text) 100%;
  --the7-submenu-hover-bg: rgba(255,255,255,.04);
  --the7-submenu-active-bg: rgba(255,255,255,.04);
  --the7-mobile-menu-hover-color: var(--fsc-accent-text);
  --the7-mobile-menu-active-color: var(--fsc-accent-text);
  --the7-mobile-menu-hover-color-2: left, var(--fsc-accent-text) 0%, var(--fsc-accent-text) 100%;
  --the7-mobile-menu-active-color-2: left, var(--fsc-accent-text) 0%, var(--fsc-accent-text) 100%;
  --the7-product-counter-bg: var(--fsc-accent);
  --the7-product-counter-bg-2: left, var(--fsc-accent) 0%, var(--fsc-accent) 100%;
  --the7-product-counter-color: var(--fsc-accent-ink);
  --the7-soc-ico-hover-color: var(--fsc-accent);
  --the7-top-icons-bg-color: transparent;
  --the7-top-icons-bg-color-2: 135deg, transparent 0%, transparent 100%;
  --the7-wc-steps-color: var(--fsc-text);
  --the7-base-font-family: var(--fsc-font-body);
  --the7-woo-content-font-family: var(--fsc-font-body);
  --the7-widget-content-font-family: var(--fsc-font-body);
  --the7-woo-title-font-family: var(--fsc-font-body);
  --the7-menu-font-family: var(--fsc-font-head);
  --the7-mobile-menu-font-family: var(--fsc-font-head);
  --the7-submenu-font-family: var(--fsc-font-body);
  --the7-widget-title-font-family: var(--fsc-font-head);
  --the7-h1-font-family: var(--fsc-font-head);
  --the7-h2-font-family: var(--fsc-font-head);
  --the7-h3-font-family: var(--fsc-font-head);
  --the7-h4-font-family: var(--fsc-font-head);
  --the7-h5-font-family: var(--fsc-font-head);
  --the7-h6-font-family: var(--fsc-font-head);
  --the7-page-title-font-family: var(--fsc-font-head);
  --the7-filter-font-family: var(--fsc-font-head);
  --the7-btn-s-font-family: var(--fsc-font-body);
  --the7-btn-m-font-family: var(--fsc-font-body);
  --the7-btn-l-font-family: var(--fsc-font-body);
  --the7-breadcrumbs-font-family: var(--fsc-font-body);
  --the7-top-bar-font-family: var(--fsc-font-body);
  --the7-additional-menu-elements-font-family: var(--fsc-font-body);
}

/* ---------- base ---------- */
html, body, #page, #main, .page-inner, #the7-body, .content-bg-on, .wf-container-main { background: var(--fsc-bg) !important; }
body { color: var(--fsc-muted); font-family: var(--fsc-font-body); -webkit-font-smoothing: antialiased; }
body, p, li, td, .woocommerce-product-details__short-description { line-height: 1.65; }
#main { padding-top: 40px; }
.main-gradient { display: none !important; }
h1, h2, h3, h4, h5, h6, .h1-size, .h2-size, .h3-size, .h4-size, .h5-size, .h6-size,
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: var(--fsc-text) !important; font-family: var(--fsc-font-head) !important; letter-spacing: .01em; }
#content h1 { font-size: clamp(30px, 3.2vw, 44px); line-height: 1.1; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
#content h2 { font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
a { color: var(--fsc-accent-text); transition: color .15s ease; }
a:hover { color: var(--fsc-accent-hover); }
::selection { background: var(--fsc-accent); color: var(--fsc-accent-ink); }
hr, .hr-thin, .wpb_separator, .vc_separator .vc_sep_line { border-color: var(--fsc-border) !important; }
/* The7 "accent-gradient" mode paints link/menu text with background-clip; flatten it */
.accent-gradient .text-primary, .accent-gradient .color-accent { background: none !important; -webkit-text-fill-color: currentColor !important; color: var(--fsc-accent-text) !important; }

/* ---------- top bar + header ---------- */
.masthead, .masthead:not(.side-header):not(.side-header-menu-icon) .header-bar,
.masthead .top-bar, .masthead .top-bar .top-bar-bg, .top-bar-bg,
.dt-mobile-header, .mobile-header-bar, .mobile-header-space, #phantom, #phantom .ph-wrap,
.masthead.shadow-mobile-header-decoration.fixed-mobile-header, .sticky-mobile-on .masthead {
  background-color: var(--fsc-surface) !important; background-image: none !important;
}
.masthead .top-bar, .masthead .top-bar .top-bar-bg { background-color: var(--fsc-bg) !important; }
.masthead .top-bar { border-bottom: 1px solid var(--fsc-border) !important; }
.masthead:not(.side-header) { border-bottom: 1px solid var(--fsc-border) !important; box-shadow: 0 8px 24px rgba(0,0,0,.35) !important; }
.top-bar, .top-bar a, .top-bar .mini-contacts, .top-bar .text-area, .top-bar .text-area * { color: var(--fsc-muted) !important; font-size: 12.5px !important; letter-spacing: .02em; }
.top-bar a:hover { color: var(--fsc-accent-text) !important; }
.top-bar .mini-contacts i, .top-bar svg, .top-bar .mini-contacts:before { color: var(--fsc-accent-text) !important; fill: var(--fsc-accent-text) !important; }
.top-bar .soc-ico a { background: transparent !important; border: 1px solid var(--fsc-border-2) !important; }
.top-bar .soc-ico a:before, .top-bar .soc-ico a:after { background: transparent !important; }
.top-bar .soc-ico a .soc-font-icon, .top-bar .soc-ico a svg { color: var(--fsc-muted) !important; fill: var(--fsc-muted) !important; }
.top-bar .soc-ico a:hover { border-color: var(--fsc-accent) !important; }
.top-bar .soc-ico a:hover .soc-font-icon, .top-bar .soc-ico a:hover svg { color: var(--fsc-accent-text) !important; fill: var(--fsc-accent-text) !important; }

/* main nav */
.main-nav > li > a .menu-text, .main-nav > li > a, #phantom .main-nav > li > a .menu-text {
  font-family: var(--fsc-font-head) !important; font-weight: 600 !important; font-size: 17px !important;
  letter-spacing: .08em !important; text-transform: uppercase; color: var(--fsc-text) !important;
  background: none !important; -webkit-text-fill-color: currentColor !important;
}
.main-nav > li:hover > a .menu-text, .main-nav > li.act > a .menu-text, .main-nav > li > a:hover .menu-text { color: var(--fsc-accent-text) !important; }
.main-nav > li.act > a .decoration-line, .main-nav > li > a .decoration-line,
.main-nav > li > a:after, .main-nav > li > a:before { background: var(--fsc-accent) !important; }
/* dropdowns / mega menu */
.main-nav .sub-nav, .main-nav .sub-nav ul, .mega-full-width > .sub-nav, .mega-auto-width > .sub-nav, .shopping-cart-inner, .popup-search .popup-search-wrap {
  background: var(--fsc-surface) !important; border: 1px solid var(--fsc-border) !important; box-shadow: 0 16px 40px rgba(0,0,0,.55) !important; border-radius: var(--fsc-radius);
}
.main-nav .sub-nav > li > a, .main-nav .sub-nav > li > a .menu-text, .main-nav .sub-nav li a span { color: var(--fsc-text) !important; background: none !important; -webkit-text-fill-color: currentColor !important; font-family: var(--fsc-font-body) !important; }
.main-nav .sub-nav > li:hover > a .menu-text, .main-nav .sub-nav > li.act > a .menu-text { color: var(--fsc-accent-text) !important; }
.main-nav .sub-nav > li:hover > a { background: rgba(255,255,255,.04) !important; }
/* header icons: cart, search, hamburger */
.masthead .shopping-cart .wc-ico-cart, .masthead .shopping-cart a, .masthead .mini-search .submit, .masthead .mini-search svg,
.masthead .shopping-cart svg, .masthead .wc-ico-cart, .masthead .mini-search i { color: var(--fsc-text) !important; fill: var(--fsc-text) !important; }
.masthead .shopping-cart .counter, .wc-ico-cart .counter, .shopping-cart .counter, .counter.custom-bg {
  background: var(--fsc-accent) !important; color: var(--fsc-accent-ink) !important; font-weight: 700; border-radius: 3px !important;
}
.dt-mobile-menu-icon .lines, .dt-mobile-menu-icon .lines:before, .dt-mobile-menu-icon .lines:after,
.menu-line, .mobile-header-bar .dt-mobile-menu-icon .menu-line { background: var(--fsc-text) !important; }
.dt-mobile-menu-icon, .mobile-header-bar .dt-mobile-menu-icon { background: transparent !important; }
/* off-canvas mobile menu */
.dt-mobile-header, .dt-mobile-header .mobile-main-nav { background: var(--fsc-surface) !important; }
.mobile-main-nav > li > a .menu-text, .mobile-main-nav li a { color: var(--fsc-text) !important; font-family: var(--fsc-font-head) !important; letter-spacing: .06em; text-transform: uppercase; }
.mobile-main-nav > li { border-color: var(--fsc-border) !important; }

/* ---------- page title band (replaces the blue gradient) ---------- */
.page-title, .page-title.gradient-bg, .page-title.solid-bg, .page-title.bg-img-enabled {
  background: linear-gradient(180deg, #121417 0%, #0e0f11 100%) !important;
  border-bottom: 1px solid var(--fsc-border) !important; min-height: 0 !important;
}
.page-title:before, .page-title:after { display: none !important; }
.page-title .wf-wrap { min-height: 150px !important; padding-top: 36px !important; padding-bottom: 36px !important; }
.page-title h1, .page-title .h1-size, .page-title h1 * {
  color: var(--fsc-text) !important; font-family: var(--fsc-font-head) !important; font-weight: 700 !important;
  text-transform: uppercase; letter-spacing: .04em; font-size: clamp(26px, 3vw, 40px) !important; line-height: 1.1 !important;
}
.page-title h1:after { content: ""; display: block; width: 56px; height: 3px; background: var(--fsc-accent); margin: 14px auto 0; }
.title-left.page-title h1:after { margin-left: 0; }
.page-title .breadcrumbs, .page-title .breadcrumbs li, .page-title .breadcrumbs a {
  background: transparent !important; color: var(--fsc-dim) !important; font-style: normal !important; font-size: 12px !important;
  letter-spacing: .08em; text-transform: uppercase;
}
.page-title .breadcrumbs a:hover { color: var(--fsc-accent-text) !important; }
.page-title .breadcrumbs li:before { color: var(--fsc-border-2) !important; background: none !important; }
/* Yoast breadcrumb inside content duplicates the band's breadcrumbs */
.woo-breadcrumbs, .woo-breadcrumbs a { color: var(--fsc-dim) !important; font-size: 13px; }
.woo-breadcrumbs a:hover { color: var(--fsc-accent-text) !important; }

/* ---------- RevSlider (images are baked; just frame them) ---------- */
#main-slideshow, .rev_slider_wrapper, rs-module-wrap { background: var(--fsc-bg) !important; }
#main-slideshow { padding: 0 !important; border-bottom: 1px solid var(--fsc-border); }
rs-bullets rs-bullet, .tp-bullet { background: rgba(255,255,255,.35) !important; border: 0 !important; }
rs-bullets rs-bullet.selected, .tp-bullet.selected { background: var(--fsc-accent) !important; }

/* ---------- WPBakery rows / Ultimate addons ---------- */
.upb_row_bg, .upb_color { background-color: var(--fsc-surface) !important; }
.vc_row.vc_row-has-fill, .vc_col-has-fill > .vc_column-inner { background-color: transparent !important; }
.wpb_text_column, .wpb_text_column p { color: var(--fsc-muted); }
.vc_separator .vc_icon_element-inner, .vc_separator i, .dt-fancy-separator, .vc_sep_holder .vc_sep_line { color: var(--fsc-accent-text) !important; border-color: var(--fsc-border) !important; }
/* the "FEATURED PRODUCTS" star divider image/line */
.wpb_wrapper img[src*="divider"], .wpb_wrapper img[src*="separator"] { filter: invert(1) brightness(.6); }
/* call-out boxes (NRA / Law Shield / Transfer) */
.call-out-box, .call-out-box-retrax {
  background: var(--fsc-surface-2) !important; border: 1px solid var(--fsc-border) !important; box-shadow: none !important;
  border-radius: var(--fsc-radius); overflow: hidden; transition: transform .2s ease, border-color .2s ease !important;
}
.call-out-box:hover, .call-out-box-retrax:hover { transform: translateY(-3px) !important; border-color: var(--fsc-accent) !important; }
.call-out-box .aio-icon-img img[src*="nra"] { background: var(--fsc-tile); border-radius: 50%; padding: 6px; }
.aio-icon-title, .call-out-box h3, .call-out-box-retrax h3 {
  color: var(--fsc-text) !important; font-family: var(--fsc-font-head) !important; font-weight: 600 !important; letter-spacing: .08em; text-transform: uppercase; font-size: 18px !important;
}
.aio-icon.none, .aio-icon i { color: var(--fsc-accent-text) !important; }

/* ---------- buttons (flat) ---------- */
.dt-btn, .button, button.button, a.button, input[type="submit"], input[type="button"], button[type="submit"],
.woocommerce .button, .wc-block-components-button, .wcpf-button, .add_to_cart_button, .single_add_to_cart_button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .checkout-button, .wc-forward {
  background: var(--fsc-accent) !important; background-image: none !important; color: var(--fsc-accent-ink) !important;
  border: 1px solid var(--fsc-accent) !important; border-radius: var(--fsc-radius) !important; box-shadow: none !important;
  font-family: var(--fsc-font-body) !important; font-weight: 600 !important; letter-spacing: .06em !important; text-transform: uppercase;
  -webkit-text-fill-color: currentColor !important; transition: background-color .15s ease, border-color .15s ease, color .15s ease !important;
}
.dt-btn:hover, .button:hover, button.button:hover, a.button:hover, input[type="submit"]:hover, button[type="submit"]:hover,
.add_to_cart_button:hover, .single_add_to_cart_button:hover, .wcpf-button:hover, .wc-forward:hover {
  background: var(--fsc-accent-hover) !important; border-color: var(--fsc-accent-hover) !important; color: var(--fsc-accent-ink) !important;
}
.dt-btn *, .button *, .add_to_cart_button * { color: inherit !important; -webkit-text-fill-color: currentColor !important; }
/* secondary / ghost buttons */
.wcpf-button-action-reset, .button.view-cart, .woocommerce-mini-cart__buttons .button:not(.checkout) {
  background: transparent !important; color: var(--fsc-text) !important; border-color: var(--fsc-border-2) !important;
}
.wcpf-button-action-reset:hover, .button.view-cart:hover { border-color: var(--fsc-accent) !important; color: var(--fsc-accent-text) !important; background: transparent !important; }

/* ---------- forms ---------- */
input[type="text"], input[type="search"], input[type="tel"], input[type="url"], input[type="email"], input[type="number"],
input[type="password"], input[type="date"], select, textarea, .select2-container--default .select2-selection--single,
.woocommerce-ordering select, .orderby, .wcpf-input, .searchform .field, .mini-search .field, .popup-search .field {
  background-color: var(--fsc-surface-2) !important; color: var(--fsc-text) !important; border: 1px solid var(--fsc-border-2) !important;
  border-radius: var(--fsc-radius) !important; box-shadow: none !important; font-family: var(--fsc-font-body) !important;
}
input:focus, select:focus, textarea:focus { border-color: var(--fsc-accent) !important; outline: 2px solid var(--fsc-accent-soft) !important; outline-offset: 0; }
::placeholder { color: var(--fsc-dim) !important; opacity: 1; }
select, .woocommerce-ordering select { color-scheme: dark; }
.woocommerce-ordering:after, .orderby + .select-arrow { color: var(--fsc-muted) !important; }
.searchform .submit, .searchform svg { color: var(--fsc-muted) !important; fill: var(--fsc-muted) !important; background: transparent !important; }
/* quantity stepper */
.quantity, .quantity.buttons_added { border: 0 !important; }
.quantity .qty, .quantity input.qty { background: var(--fsc-surface-2) !important; color: var(--fsc-text) !important; border-color: var(--fsc-border-2) !important; }
.quantity .minus, .quantity .plus, .quantity button.is-form {
  background: var(--fsc-surface-2) !important; color: var(--fsc-text) !important; border: 1px solid var(--fsc-border-2) !important; box-shadow: none !important;
}
.quantity .minus svg, .quantity .plus svg { fill: var(--fsc-text) !important; }

/* ---------- product cards (shop grid + carousels) ---------- */
.products .wf-cell article.product, .dt-css-grid .wf-cell article, .products-carousel-shortcode article.product, .owl-carousel article.product {
  background: var(--fsc-surface) !important; border: 1px solid var(--fsc-border) !important; border-radius: 6px !important;
  overflow: hidden; height: 100%; display: flex; flex-direction: column;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.products .wf-cell article.product:hover, .dt-css-grid .wf-cell article:hover, .products-carousel-shortcode article.product:hover, .owl-carousel article.product:hover {
  border-color: var(--fsc-accent) !important; transform: translateY(-3px); box-shadow: 0 14px 30px rgba(0,0,0,.45);
}
article.product figure.woocom-project { margin: 0 !important; display: flex; flex-direction: column; height: 100%; }
/* light image well so baked-in white backgrounds read as intentional */
article.product .woo-buttons-on-img, .products-carousel-shortcode article.product .woo-buttons-on-img {
  background: var(--fsc-tile) !important; aspect-ratio: 4 / 3; display: flex !important; align-items: center; justify-content: center;
  padding: 14px; position: relative; overflow: hidden; margin: 0 !important;
}
article.product .woo-buttons-on-img > a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
article.product .woo-buttons-on-img img { mix-blend-mode: multiply; max-height: 100% !important; width: auto !important; max-width: 100% !important; object-fit: contain; }
article.product .woo-buttons-on-img img.back-image { position: absolute; inset: 14px; margin: auto; }
.woocom-list-content, figcaption.woocom-list-content {
  padding: 16px 16px 18px !important; text-align: left !important; display: flex; flex-direction: column; gap: 6px; flex: 1;
  background: transparent !important;
}
article.product .entry-title, article.product .entry-title a, .woocom-list-content .entry-title a, .product-title a {
  font-family: var(--fsc-font-body) !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.35 !important;
  color: var(--fsc-text) !important; text-transform: none; letter-spacing: 0; margin: 0 !important;
}
article.product .entry-title a:hover { color: var(--fsc-accent-text) !important; }
.price, .price .amount, .woocom-list-content .price, span.price, p.price, .woocommerce-Price-amount {
  color: var(--fsc-accent-text) !important; font-family: var(--fsc-font-head) !important; font-weight: 700 !important; font-size: 20px; letter-spacing: .02em;
}
.price del, .price del .amount { color: var(--fsc-dim) !important; font-weight: 500 !important; font-size: .8em; }
.price ins { text-decoration: none; }
/* carousel layout: button below card text */
.products-carousel-shortcode .woo-buttons, .cart-btn-below-img .woo-buttons { margin-top: auto; padding-top: 8px; }
.cart-btn-below-img .woo-buttons .button, .woocom-list-content .add_to_cart_button { width: 100%; text-align: center; padding: 10px 14px !important; font-size: 12px !important; }
/* round "cart on image" icon buttons used on the shop grid */
.cart-btn-on-img .woo-buttons-on-img .woo-buttons { position: absolute; left: 0; right: 0; bottom: 0; top: auto !important; padding: 10px; display: flex; justify-content: flex-end; z-index: 3; }
.cart-btn-on-img .woo-buttons .button, .cart-btn-on-img .woo-buttons a.add_to_cart_button {
  border-radius: var(--fsc-radius) !important; width: auto !important; height: auto !important; padding: 9px 12px !important; font-size: 11px !important;
}
/* out-of-stock badge + back-in-stock prompt (was overlapping the photo) */
.out-stock-label, span.out-stock-label {
  background: #26292d !important; color: var(--fsc-text) !important; border: 1px solid var(--fsc-border-2); font-family: var(--fsc-font-body) !important;
  font-size: 11px !important; font-weight: 600 !important; letter-spacing: .08em; text-transform: uppercase; padding: 5px 9px !important; line-height: 1 !important;
  position: absolute !important; top: 10px !important; left: 10px !important; right: auto !important; bottom: auto !important; transform: none !important; margin: 0 !important; width: auto !important; height: auto !important; border-radius: 3px; z-index: 4;
}
.wc-grid .wc_bis_loop_signup_prompt_container, .products-carousel-shortcode .wc_bis_loop_signup_prompt_container {
  background: rgba(14,15,17,.92); color: var(--fsc-muted) !important; font-size: 12px; line-height: 1.4; padding: 8px 10px; border-radius: 3px;
  width: 100%; text-align: left; opacity: 0; transition: opacity .2s ease;
}
.wc-grid article.product:hover .wc_bis_loop_signup_prompt_container { opacity: 1; }
.wc_bis_loop_signup_prompt_container a { color: var(--fsc-accent-text) !important; font-weight: 600; }
/* onsale badge */
.onsale, span.onsale { background: var(--fsc-accent) !important; color: var(--fsc-accent-ink) !important; border-radius: 3px !important; font-weight: 700; }
/* carousel arrows */
.owl-carousel .owl-nav div, .owl-carousel .owl-nav button, .dt-owl-carousel-call .owl-nav > div, .owl-prev, .owl-next {
  background: var(--fsc-surface) !important; border: 1px solid var(--fsc-border-2) !important; border-radius: var(--fsc-radius) !important;
}
.owl-prev i, .owl-next i, .owl-nav i, .owl-prev:before, .owl-next:before { color: var(--fsc-text) !important; }
.owl-prev:hover, .owl-next:hover { border-color: var(--fsc-accent) !important; }
.owl-dots .owl-dot span { background: var(--fsc-border-2) !important; box-shadow: none !important; }
.owl-dots .owl-dot.active span { background: var(--fsc-accent) !important; }

/* ---------- shop toolbar / pagination / sidebar ---------- */
.switcher-wrap, .woocommerce-result-count { color: var(--fsc-dim) !important; }
.view-mode-switcher > a { background: var(--fsc-surface-2) !important; border-color: var(--fsc-border-2) !important; }
.view-mode-switcher > a svg, .view-mode-switcher > a i { fill: var(--fsc-muted) !important; color: var(--fsc-muted) !important; }
.view-mode-switcher > a.switcher-active { background: var(--fsc-accent) !important; border-color: var(--fsc-accent) !important; }
.view-mode-switcher > a.switcher-active svg, .view-mode-switcher > a.switcher-active i { fill: var(--fsc-accent-ink) !important; color: var(--fsc-accent-ink) !important; }
.paginator a, .paginator .page-numbers, .paginator span {
  background: var(--fsc-surface) !important; color: var(--fsc-text) !important; border: 1px solid var(--fsc-border) !important;
  border-radius: var(--fsc-radius) !important; min-width: 38px; text-align: center;
}
.paginator a.act, .paginator a:hover, .paginator .current { background: var(--fsc-accent) !important; border-color: var(--fsc-accent) !important; color: var(--fsc-accent-ink) !important; }
.paginator .disabled { opacity: .35; }
.sidebar-divider-vertical.sidebar-left .sidebar, .sidebar-divider-vertical.sidebar-right .sidebar,
.sidebar-divider-vertical .sidebar .sidebar-content, .sidebar-divider-vertical .sidebar { border-color: var(--fsc-border) !important; }
.sidebar-divider-vertical.sidebar-left .sidebar:after, .sidebar-divider-vertical.sidebar-right .sidebar:after, .sidebar:after { background: var(--fsc-border) !important; border-color: var(--fsc-border) !important; }
.sidebar .widget, .sidebar-content .widget { border-color: var(--fsc-border) !important; color: var(--fsc-muted); }
.widget-title, .sidebar .widget-title, .wcpf-field-title, .wcpf-heading-label, .wcpf-heading-label .text {
  color: var(--fsc-text) !important; font-family: var(--fsc-font-head) !important; font-weight: 600 !important; letter-spacing: .1em !important; text-transform: uppercase; font-size: 16px !important;
}
.wcpf-field-item { border-color: var(--fsc-border) !important; }
.wcpf-item-label, .wcpf-item-label *, .wcpf-filter label, .wcpf-filter .wcpf-item-count, .priceLabel, .priceLabel * { color: var(--fsc-muted) !important; }
.wcpf-input-container, .wcpf-radio-item .wcpf-input-container:before, .wcpf-checkbox-item .wcpf-input-container:before { background: var(--fsc-surface-2) !important; border-color: var(--fsc-border-2) !important; }
.wcpf-radio-item.checked .wcpf-input-container:after, .wcpf-radio-item.checked .wcpf-input-container:before { background: var(--fsc-accent) !important; border-color: var(--fsc-accent) !important; }
.box-toggle { background: transparent !important; border: 0 !important; }
.box-toggle, .box-toggle:before, .box-toggle:after { color: var(--fsc-muted) !important; }
.ui-slider, .noUi-target, .wcpf-price-slider .ui-widget-content { background: var(--fsc-border-2) !important; border: 0 !important; box-shadow: none !important; }
.ui-slider-range, .noUi-connect { background: var(--fsc-accent) !important; }
.ui-slider-handle, .noUi-handle { background: var(--fsc-text) !important; border-color: var(--fsc-accent) !important; box-shadow: none !important; }
.product_list_widget li, .widget_products li, .widget_top_rated_products li { border-color: var(--fsc-border) !important; }
.product_list_widget a, .product_list_widget .product-title { color: var(--fsc-text) !important; font-weight: 500; }
.product_list_widget img { background: var(--fsc-tile); border-radius: 3px; mix-blend-mode: normal; }

/* ---------- single product ---------- */
.woocommerce-product-gallery, .woocommerce-product-gallery__wrapper, .woocommerce-product-gallery .flex-viewport {
  background: var(--fsc-tile) !important; border-radius: 6px; overflow: hidden;
}
.woocommerce-product-gallery__image img { mix-blend-mode: multiply; }
.woocommerce-product-gallery .flex-control-thumbs { background: var(--fsc-bg); padding-top: 10px !important; gap: 8px; display: flex; flex-wrap: wrap; }
.woocommerce-product-gallery .flex-control-thumbs li { width: calc(25% - 6px) !important; margin: 0 !important; }
.woocommerce-product-gallery .flex-control-thumbs img { background: var(--fsc-tile); border: 1px solid var(--fsc-border); border-radius: 4px; opacity: .7 !important; }
.woocommerce-product-gallery .flex-control-thumbs img.flex-active, .woocommerce-product-gallery .flex-control-thumbs img:hover { opacity: 1 !important; border-color: var(--fsc-accent); }
.woocommerce-product-gallery__trigger { background: var(--fsc-surface) !important; border: 1px solid var(--fsc-border-2); }
.woocommerce-product-gallery__trigger:before, .woocommerce-product-gallery__trigger:after { border-color: var(--fsc-text) !important; background-color: var(--fsc-text) !important; }
.summary .product_title, .hide-product-title .summary .product_title { color: var(--fsc-text) !important; }
.summary p.price, .summary .price, .summary .price .amount { font-size: 34px !important; line-height: 1.1; }
.summary p.price:after, .summary .price:after, .summary .price + hr { background: var(--fsc-accent) !important; border-color: var(--fsc-accent) !important; }
.summary .woocommerce-product-details__short-description, .summary .woocommerce-product-details__short-description p { color: var(--fsc-muted) !important; font-size: 15.5px; }
.summary .stock.in-stock { color: #8fc28a !important; font-weight: 600; }   /* 9:1 */
.summary .stock.out-of-stock { color: #e0846b !important; font-weight: 600; }
.summary form.cart { padding: 18px 0; border-top: 1px solid var(--fsc-border); border-bottom: 1px solid var(--fsc-border); }
.single_add_to_cart_button { padding: 14px 34px !important; font-size: 14px !important; }
.product_meta, .product_meta a, .product_meta span { color: var(--fsc-dim) !important; }
.product_meta a:hover { color: var(--fsc-accent-text) !important; }
.single-share-box .share-link-description, .single-share-box .share-link-description * { color: var(--fsc-text) !important; fill: var(--fsc-text) !important; }
.share-buttons a { background: var(--fsc-surface-2) !important; border: 1px solid var(--fsc-border) !important; }
.share-buttons a svg, .share-buttons a .soc-font-icon { fill: var(--fsc-muted) !important; color: var(--fsc-muted) !important; }
.share-buttons a:hover { border-color: var(--fsc-accent) !important; }
.share-buttons a:hover svg { fill: var(--fsc-accent-text) !important; }
.woocommerce-tabs, .wc-tabs-wrapper { border-color: var(--fsc-border) !important; }
.woocommerce-tabs .tabs, .woocommerce-tabs ul.tabs { border-color: var(--fsc-border) !important; }
.woocommerce-tabs .tabs li a, .woocommerce-tabs ul.tabs li a { color: var(--fsc-muted) !important; font-family: var(--fsc-font-head) !important; letter-spacing: .08em; text-transform: uppercase; font-weight: 600 !important; }
.woocommerce-tabs .tabs li.active a { color: var(--fsc-text) !important; }
.woocommerce-tabs .tabs li.active, .woocommerce-tabs ul.tabs li.active:after { border-color: var(--fsc-accent) !important; background-color: transparent !important; }
.woocommerce-tabs .panel, .woocommerce-Tabs-panel { color: var(--fsc-muted) !important; }
.related.products > h2, .upsells.products > h2, .cross-sells > h2 { text-transform: uppercase; letter-spacing: .06em; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice, .wc-block-components-notice-banner {
  background: var(--fsc-surface) !important; color: var(--fsc-text) !important; border: 1px solid var(--fsc-border-2) !important; border-left: 3px solid var(--fsc-accent) !important;
}
table, .shop_table, .woocommerce table.shop_table { border-color: var(--fsc-border) !important; color: var(--fsc-muted); }
table td, table th, .shop_table td, .shop_table th { border-color: var(--fsc-border) !important; }
.shop_table th, table th { color: var(--fsc-text) !important; }
.wc_bis_form, .wc_bis_form_title { color: var(--fsc-muted) !important; }

/* ---------- footer ---------- */
#footer, #footer.solid-bg, #footer .wf-wrap { background: #0a0b0c !important; }
#footer { border-top: 1px solid var(--fsc-border); }
#footer .widget-title { color: var(--fsc-text) !important; font-size: 15px !important; }
#footer, #footer .widget, #footer p, #footer li, #footer .amount { color: var(--fsc-muted) !important; }
#footer a, #footer .widget a { color: var(--fsc-muted) !important; }
#footer a:hover, #footer .widget a:hover { color: var(--fsc-accent-text) !important; }
#footer .product_list_widget a, #footer .product_list_widget .product-title { color: var(--fsc-text) !important; }
#footer .price .amount, #footer .product_list_widget .amount { color: var(--fsc-accent-text) !important; font-size: 15px !important; }
#footer .product_list_widget del .amount { color: var(--fsc-dim) !important; }
#footer .widget_nav_menu li, #footer .menu li, #footer .custom-menu li, #footer li { border-color: var(--fsc-border) !important; }
#footer .custom-menu a:before, #footer .custom-menu li:before { background: var(--fsc-border-2) !important; }
#bottom-bar, #bottom-bar.solid-bg { background: #070808 !important; border-top: 1px solid var(--fsc-border) !important; }
#bottom-bar, #bottom-bar a, #bottom-bar .wf-float-left, #bottom-bar .wf-float-right { color: var(--fsc-dim) !important; font-size: 12.5px; }
#bottom-bar .wf-container-bottom { border-color: var(--fsc-border) !important; }

/* ---------- misc widgets ---------- */
.scroll-top { background: var(--fsc-surface-2) !important; border: 1px solid var(--fsc-border-2); }
.scroll-top:hover { background: var(--fsc-accent) !important; }
.pswp__bg { background: #050505 !important; }
/* Popup Maker age gate: keep on-brand when it loads */
.pum-theme-default-theme .pum-container, .pum-container { background: var(--fsc-surface) !important; color: var(--fsc-text) !important; border: 1px solid var(--fsc-border-2) !important; border-radius: 6px !important; }
.pum-container .pum-title, .pum-container .pum-content { color: var(--fsc-text) !important; font-family: var(--fsc-font-body) !important; }
.pum-overlay { background-color: rgba(5,6,7,.88) !important; }
button.pum-age-button.pum-age-enter.age-enter { background: var(--fsc-accent) !important; color: var(--fsc-accent-ink) !important; border: 1px solid var(--fsc-accent) !important; border-radius: var(--fsc-radius); }
button.pum-age-button.pum-age-exit.age-exit { background: transparent !important; color: var(--fsc-text) !important; border: 1px solid var(--fsc-border-2) !important; border-radius: var(--fsc-radius); }

/* ---------- mobile ---------- */
@media (max-width: 778px) {
  #main { padding-top: 24px; }
  .page-title .wf-wrap { min-height: 96px !important; padding-top: 22px !important; padding-bottom: 22px !important; }
  .main-nav > li > a .menu-text { font-size: 16px !important; }
  .woocom-list-content { padding: 14px !important; }
  .summary p.price, .summary .price .amount { font-size: 28px !important; }
  .sidebar-divider-vertical .sidebar, #sidebar { border-top: 1px solid var(--fsc-border) !important; }
}

/* ---------- fixes after first render ---------- */
body .owl-carousel .owl-nav div, body .products-carousel-shortcode .owl-nav div {
  background: var(--fsc-surface) !important; border-radius: var(--fsc-radius) !important;
}
body .owl-carousel .owl-nav div:before, body .owl-carousel .owl-nav div:after { border-color: var(--fsc-border-2) !important; background: transparent !important; }
body .owl-carousel .owl-nav div:hover:after { border-color: var(--fsc-accent) !important; }
body .owl-carousel .owl-nav div i, body .owl-carousel .owl-nav div i:before { color: var(--fsc-text) !important; background: none !important; -webkit-text-fill-color: currentColor !important; }
body .owl-carousel .owl-nav div:hover i, body .owl-carousel .owl-nav div:hover i:before { color: var(--fsc-accent-text) !important; }
.woocom-list-content, .woocom-list-content .price, .woocom-list-content .entry-title, .woocom-list-content .woo-buttons { text-align: left !important; justify-content: flex-start; }
ins, .price ins, #footer ins { text-decoration: none !important; background: none; }
#bottom-bar .wf-wrap, #bottom-bar .wf-container-bottom, #bottom-bar #branding-bottom { background: transparent !important; }

.woocommerce-product-search button[type="submit"], .widget_product_search button[type="submit"] {
  background: transparent !important; border: 0 !important; color: var(--fsc-muted) !important; box-shadow: none !important;
}
.woocommerce-product-search button[type="submit"]:hover { color: var(--fsc-accent-text) !important; background: transparent !important; }
figcaption.woocom-list-content { align-items: stretch !important; }
.woocom-list-content .price, .woocom-list-content .star-rating { margin-left: 0 !important; margin-right: 0 !important; }
/* mobile shop sidebar (off-canvas filters) */
.wc-sidebar-toggle { background: var(--fsc-surface-2) !important; background-image: none !important; border: 1px solid var(--fsc-border-2) !important; border-radius: var(--fsc-radius) !important; color: var(--fsc-text) !important; }
.wc-sidebar-toggle:before, .wc-sidebar-toggle:after, .wc-sidebar-toggle i, .wc-sidebar-toggle svg { color: var(--fsc-text) !important; fill: var(--fsc-text) !important; background-image: none !important; }
.dt-wc-sidebar-collapse #sidebar, .dt-wc-sidebar-collapse .sidebar, .dt-wc-sidebar-collapse .sidebar-content { background: var(--fsc-surface) !important; }
/* nav underline (The7 "l-to-r-line" decoration is a hardcoded gradient) */
.main-nav i.underline, .main-nav > li > a .underline, #phantom .main-nav i.underline { background: var(--fsc-accent) !important; background-image: none !important; height: 2px !important; }
.gradient-hover .sub-nav > li:hover > a .menu-text, .gradient-hover .sub-nav > li.act > a .menu-text { background: none !important; -webkit-text-fill-color: currentColor !important; color: var(--fsc-accent-text) !important; }
