/* Flex Industries Storefront: design tokens, fonts and shared components.
   Every selector is prefixed with `body.fis-on.fis-on` by build.js, so these rules out-rank theme and Elementor kit rules. */

@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2-variations"),url(../fonts/inter-latin-wght-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/barlow-condensed-latin-700-normal.woff2) format("woff2")}

:root{
  --fis-bg:#EBEBEB;
  --fis-bg-2:#E2E2E2;
  --fis-surface:#FFFFFF;
  --fis-ink:#1E1E1E;
  --fis-ink-2:#141414;
  --fis-text:#2B2B2B;
  --fis-muted:#5D5D5D;
  --fis-line:#D3D3D3;
  --fis-line-2:#E3E3E3;
  --fis-olive:#1A1A1A;
  --fis-olive-d:#000000;
  --fis-olive-l:#E9E9E6;
  --fis-gold:#D0282A;
  --fis-gold-l:#E5484A;
  --fis-gold-d:#A81D1F;
  --fis-red:#B3261E;
  --fis-red-l:#F8E1E0;
  --fis-green:#2F6B3A;
  --fis-amber:#9A6A00;
  --fis-r:5px;
  --fis-r-lg:10px;
  --fis-shadow:0 1px 2px rgba(12,12,12,.06),0 8px 24px rgba(12,12,12,.08);
  --fis-shadow-lg:0 12px 40px rgba(12,12,12,.22);
  --fis-font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --fis-head:"Barlow Condensed","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --fis-max:1240px;
  --fis-gut:clamp(16px,4vw,32px);
  --fis-hdr:68px;
}

/* ---------- Page ---------- */
body.fis-on.fis-on{background:var(--fis-bg);color:var(--fis-text);font-family:var(--fis-font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.fis-on.fis-on.fis-lock{overflow:hidden}
body.fis-on.fis-on [hidden]{display:none!important}
body.fis-on.fis-on *,body.fis-on.fis-on *::before,body.fis-on.fis-on *::after{box-sizing:border-box}
body.fis-on.fis-on img{max-width:100%;height:auto}
body.fis-on.fis-on ::selection{background:var(--fis-gold);color:#fff}
html{scroll-padding-top:calc(var(--fis-hdr) + 56px)}

body.fis-on.fis-on .screen-reader-text{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);border:0;white-space:nowrap}
body.fis-on.fis-on .fis-wrap{width:100%;max-width:calc(var(--fis-max) + var(--fis-gut) * 2);margin-inline:auto;padding-inline:var(--fis-gut)}

body.fis-on.fis-on a{color:inherit}
body.fis-on.fis-on :is(.fis-btn,.fis-iconbtn,.fis-link,.fis-card a,.fis-faq summary,.fis-chip,.fis-qty button,.fis-mnav a,.fis-nav a,.fis-ftr a):focus-visible,body.fis-on.fis-on :is(input,select,textarea,button,summary,a):focus-visible{outline:2px solid var(--fis-olive);outline-offset:2px;box-shadow:0 0 0 4px rgba(208,40,42,.55)}

/* ---------- Typography ---------- */
/* :where() keeps this rule at zero extra specificity, so any component rule below can override it. */
body.fis-on.fis-on :where(.fis-pagehead,.fis-home,.fis-pdp,.fis-shop,.fis-ftr,.fis-drawer,.fis-menu) :where(h1,h2,h3,h4){font-family:var(--fis-head);font-weight:700;text-transform:uppercase;letter-spacing:.012em;line-height:1.05;color:var(--fis-ink);margin:0}
body.fis-on.fis-on .fis-eyebrow{margin:0 0 8px;font:700 12.5px/1.2 var(--fis-font);letter-spacing:.14em;text-transform:uppercase;color:var(--fis-gold-d)}
body.fis-on.fis-on .fis-link{display:inline-flex;align-items:center;gap:6px;padding:0;margin:0;border:0;background:none;color:var(--fis-olive);font:600 14px/1.4 var(--fis-font);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;cursor:pointer;border-radius:2px}
body.fis-on.fis-on .fis-link:hover{color:var(--fis-olive-d);background:none;text-decoration-thickness:2px}
body.fis-on.fis-on .fis-link--arrow{text-decoration:none;font-weight:700}
body.fis-on.fis-on .fis-link--arrow:hover{text-decoration:underline}
body.fis-on.fis-on .fis-muted{color:var(--fis-muted)}
body.fis-on.fis-on .fis-free{color:var(--fis-green);font-weight:700}

/* ---------- Buttons ---------- */
body.fis-on.fis-on .fis-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 22px;border:1.5px solid transparent;border-radius:var(--fis-r);font:600 15px/1.2 var(--fis-font);letter-spacing:.01em;text-align:center;text-decoration:none;white-space:normal;cursor:pointer;-webkit-appearance:none;appearance:none;transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s}
body.fis-on.fis-on .fis-btn svg{flex:none}
body.fis-on.fis-on .fis-btn--primary{background:var(--fis-olive);border-color:var(--fis-olive);color:#fff}
body.fis-on.fis-on .fis-btn--primary:hover,body.fis-on.fis-on .fis-btn--primary:focus{background:var(--fis-olive-d);border-color:var(--fis-olive-d);color:#fff}
body.fis-on.fis-on .fis-btn--ghost{background:transparent;border-color:var(--fis-ink);color:var(--fis-ink)}
body.fis-on.fis-on .fis-btn--ghost:hover,body.fis-on.fis-on .fis-btn--ghost:focus{background:var(--fis-ink);border-color:var(--fis-ink);color:#fff}
body.fis-on.fis-on .fis-btn--accent{background:var(--fis-gold);border-color:var(--fis-gold);color:#fff}
body.fis-on.fis-on .fis-btn--accent:hover,body.fis-on.fis-on .fis-btn--accent:focus{background:var(--fis-gold-d);border-color:var(--fis-gold-d);color:#fff}
body.fis-on.fis-on .fis-btn--outline-light{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}
body.fis-on.fis-on .fis-btn--outline-light:hover,body.fis-on.fis-on .fis-btn--outline-light:focus{background:#fff;border-color:#fff;color:var(--fis-ink)}
body.fis-on.fis-on .fis-btn--block{display:flex;width:100%}
body.fis-on.fis-on .fis-btn--sm{min-height:40px;padding:9px 14px;font-size:14px}
body.fis-on.fis-on .fis-btn--lg{min-height:52px;padding:14px 28px;font-size:16px}
body.fis-on.fis-on .fis-btn.is-busy,body.fis-on.fis-on .fis-btn.loading{opacity:.65;pointer-events:none}
body.fis-on.fis-on .fis-btn[disabled],body.fis-on.fis-on .fis-btn.disabled{opacity:.5;pointer-events:none}

body.fis-on.fis-on .fis-iconbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;margin:0;border:0;border-radius:var(--fis-r);background:transparent;color:var(--fis-ink);cursor:pointer;text-decoration:none;transition:background-color .15s}
body.fis-on.fis-on .fis-iconbtn:hover,body.fis-on.fis-on .fis-iconbtn:focus{background:rgba(22,22,22,.08);color:var(--fis-ink)}

/* ---------- Form fields ---------- */
body.fis-on.fis-on .fis-input,body.fis-on.fis-on .fis-search input[type=search],body.fis-on.fis-on .fis-price input,body.fis-on.fis-on .fis-sort select,body.fis-on.fis-on .fis-qty input{font-family:var(--fis-font)}
body.fis-on.fis-on .fis-input{width:100%;min-height:44px;padding:10px 12px;border:1.5px solid var(--fis-line);border-radius:var(--fis-r);background:#fff;color:var(--fis-ink);font-size:16px;line-height:1.3}
body.fis-on.fis-on .fis-input:focus{border-color:var(--fis-olive);outline:none;box-shadow:0 0 0 3px rgba(208,40,42,.5)}

/* ---------- Tags and stock ---------- */
body.fis-on.fis-on .fis-tag{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:3px;background:var(--fis-ink);color:#fff;font:700 11.5px/1.1 var(--fis-font);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
body.fis-on.fis-on .fis-tag--sale{background:var(--fis-red)}
body.fis-on.fis-on .fis-tag--new{background:var(--fis-olive)}
body.fis-on.fis-on .fis-tag--best{background:var(--fis-gold);color:#fff}
body.fis-on.fis-on .fis-tag--out{background:#DADADA;color:#454545}
body.fis-on.fis-on .fis-stock{display:flex;align-items:center;gap:7px;margin:0;font-size:13px;line-height:1.3;color:var(--fis-muted)}
body.fis-on.fis-on .fis-stock i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--fis-green)}
body.fis-on.fis-on .fis-stock--outofstock i{background:var(--fis-red)}
body.fis-on.fis-on .fis-stock--onbackorder i{background:var(--fis-amber)}

/* ---------- Notes, lists, hex ---------- */
body.fis-on.fis-on .fis-note{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;border:1px solid var(--fis-line);border-left:3px solid var(--fis-gold);border-radius:var(--fis-r);background:rgba(255,255,255,.7);color:var(--fis-text);font-size:13.5px;line-height:1.5}
body.fis-on.fis-on .fis-note svg{flex:none;margin-top:1px;color:var(--fis-gold-d)}
body.fis-on.fis-on .fis-note--wide{max-width:900px;margin:28px auto 0}
body.fis-on.fis-on .fis-checklist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
body.fis-on.fis-on .fis-checklist li{display:flex;align-items:flex-start;gap:10px;margin:0;line-height:1.55}
body.fis-on.fis-on .fis-checklist svg{flex:none;margin-top:3px;color:var(--fis-olive)}
body.fis-on.fis-on .fis-hex{display:block;color:var(--fis-olive)}
body.fis-on.fis-on .fis-noimg{display:grid;place-items:center;width:100%;height:100%;min-height:120px;background:#fff;color:var(--fis-line)}
body.fis-on.fis-on .fis-i{flex:none;vertical-align:middle}

/* ---------- Breadcrumbs ---------- */
body.fis-on.fis-on .fis-crumbs{margin:0 0 14px;font-size:13px;line-height:1.4;color:var(--fis-muted)}
body.fis-on.fis-on .fis-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;padding:0;list-style:none}
body.fis-on.fis-on .fis-crumbs li{display:flex;align-items:center;gap:8px;margin:0;min-width:0}
body.fis-on.fis-on .fis-crumbs li+li::before{content:"/";color:var(--fis-line)}
body.fis-on.fis-on .fis-crumbs a{color:var(--fis-muted);text-decoration:none}
body.fis-on.fis-on .fis-crumbs a:hover{color:var(--fis-ink);text-decoration:underline}
body.fis-on.fis-on .fis-crumbs [aria-current]{color:var(--fis-ink);font-weight:600;overflow-wrap:anywhere}

/* ---------- Product grid and cards ---------- */
body.fis-on.fis-on .fis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:720px){body.fis-on.fis-on .fis-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
@media(min-width:1100px){body.fis-on.fis-on .fis-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}

body.fis-on.fis-on .fis-card{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--fis-surface);border:1px solid var(--fis-line-2);border-radius:var(--fis-r-lg);overflow:hidden;transition:box-shadow .2s,border-color .2s,transform .2s}
body.fis-on.fis-on .fis-card:hover{border-color:var(--fis-line);box-shadow:var(--fis-shadow)}
body.fis-on.fis-on .fis-card__media{display:block;aspect-ratio:1/1;background:#fff;overflow:hidden}
body.fis-on.fis-on .fis-card__img{display:block;width:100%;height:100%;object-fit:contain;padding:8px;transition:transform .3s}
body.fis-on.fis-on .fis-card:hover .fis-card__img{transform:scale(1.03)}
body.fis-on.fis-on .fis-card.is-out .fis-card__img{opacity:.55}
body.fis-on.fis-on .fis-card__badges{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;z-index:1}
body.fis-on.fis-on .fis-card__body{display:flex;flex-direction:column;gap:5px;padding:12px 14px 6px;flex:1}
body.fis-on.fis-on .fis-card__cat{margin:0;font:600 11.5px/1.2 var(--fis-font);letter-spacing:.1em;text-transform:uppercase;color:var(--fis-gold-d)}
body.fis-on.fis-on .fis-card__title{margin:0;font:600 15.5px/1.3 var(--fis-font);text-transform:none;letter-spacing:0;color:var(--fis-ink);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
body.fis-on.fis-on .fis-card__title a{text-decoration:none;color:inherit}
body.fis-on.fis-on .fis-card__title a:hover{text-decoration:underline;text-underline-offset:3px}
body.fis-on.fis-on .fis-card__price{margin-top:auto;padding-top:4px;font:700 17px/1.25 var(--fis-font);color:var(--fis-ink)}
body.fis-on.fis-on .fis-card__price del{color:var(--fis-muted);font-weight:500;font-size:14px;margin-right:4px}
body.fis-on.fis-on .fis-card__price ins{text-decoration:none;color:var(--fis-ink)}
body.fis-on.fis-on .fis-card__price .fis-from{font-weight:500;font-size:13px;color:var(--fis-muted)}
body.fis-on.fis-on .fis-card__price .woocommerce-price-suffix{font-size:12px;font-weight:500;color:var(--fis-muted)}
body.fis-on.fis-on .fis-card__stock{padding-top:2px}
body.fis-on.fis-on .fis-card__actions{padding:10px 14px 14px}
@media(max-width:480px){
  body.fis-on.fis-on .fis-card__body{padding:10px 10px 4px}
  body.fis-on.fis-on .fis-card__actions{padding:8px 10px 12px}
  body.fis-on.fis-on .fis-card__title{font-size:14.5px}
  body.fis-on.fis-on .fis-card__price{font-size:16px}
  body.fis-on.fis-on .fis-card__badges{top:8px;left:8px}
}

/* ---------- Overlay scrim ---------- */
body.fis-on.fis-on .fis-scrim{position:fixed;inset:0;z-index:2147482998;background:rgba(12,12,12,.58);opacity:0;transition:opacity .25s}
body.fis-on.fis-on .fis-scrim.is-on{opacity:1}

/* ---------- Accordion (FAQ) ---------- */
body.fis-on.fis-on .fis-faq{display:grid;gap:0;border-top:1px solid var(--fis-line)}
body.fis-on.fis-on .fis-faq__item{border-bottom:1px solid var(--fis-line)}
body.fis-on.fis-on .fis-faq__item summary{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 0;margin:0;list-style:none;cursor:pointer;font:600 16.5px/1.4 var(--fis-font);color:var(--fis-ink);white-space:normal;text-align:left;background:none;border:0;-webkit-user-select:auto;user-select:auto}
body.fis-on.fis-on .fis-faq__item summary::-webkit-details-marker{display:none}
body.fis-on.fis-on .fis-faq__item summary::marker{content:""}
body.fis-on.fis-on .fis-faq__item summary span{min-width:0;overflow-wrap:anywhere;white-space:normal}
body.fis-on.fis-on .fis-faq__item summary svg{flex:none;margin-top:2px;color:var(--fis-olive);transition:transform .2s}
body.fis-on.fis-on .fis-faq__item[open] summary svg{transform:rotate(180deg)}
body.fis-on.fis-on .fis-faq__item summary:hover{background:none;color:var(--fis-ink)}
body.fis-on.fis-on .fis-faq__a{padding:0 0 20px;color:var(--fis-text);max-width:70ch}
body.fis-on.fis-on .fis-faq__a p{margin:0;overflow-wrap:anywhere}

/* ---------- Quantity stepper (drawer, product, cart) ---------- */
body.fis-on.fis-on .fis-qty,body.fis-on.fis-on .fis-stepper{display:inline-flex;align-items:stretch;height:44px;border:1.5px solid var(--fis-line);border-radius:var(--fis-r);background:#fff;overflow:hidden}
body.fis-on.fis-on .fis-qty button,body.fis-on.fis-on .fis-stepper button{display:grid;place-items:center;width:40px;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:var(--fis-ink);cursor:pointer;min-height:0}
body.fis-on.fis-on .fis-qty button:hover,body.fis-on.fis-on .fis-stepper button:hover{background:var(--fis-bg);color:var(--fis-ink)}
body.fis-on.fis-on .fis-qty input,body.fis-on.fis-on .fis-stepper input{width:46px;min-width:0;padding:0;margin:0;border:0;border-radius:0;background:transparent;color:var(--fis-ink);font:600 16px/1 var(--fis-font);text-align:center;-moz-appearance:textfield;appearance:textfield;box-shadow:none}
body.fis-on.fis-on .fis-qty input::-webkit-outer-spin-button,body.fis-on.fis-on .fis-qty input::-webkit-inner-spin-button,body.fis-on.fis-on .fis-stepper input::-webkit-outer-spin-button,body.fis-on.fis-on .fis-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ---------- Preview notice (preview visitors only) ---------- */
body.fis-on.fis-on .fis-previewbar{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:100000;max-width:calc(100vw - 24px);padding:8px 14px;border-radius:99px;background:var(--fis-ink);color:#fff;font:500 13px/1.3 var(--fis-font);box-shadow:var(--fis-shadow-lg);text-align:center}
body.fis-on.fis-on .fis-previewbar a{color:var(--fis-gold);font-weight:700}

@media(prefers-reduced-motion:reduce){
  body.fis-on.fis-on *,body.fis-on.fis-on *::before,body.fis-on.fis-on *::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ---------- WooCommerce notices (all storefront pages) ---------- */
body.fis-on.fis-on .woocommerce-notices-wrapper:empty{display:none}
body.fis-on.fis-on .woocommerce-message,body.fis-on.fis-on .woocommerce-info,body.fis-on.fis-on .woocommerce-error,body.fis-on.fis-on .woocommerce-NoticeGroup .woocommerce-error{position:relative;display:block;list-style:none;margin:0 0 18px;padding:14px 16px 14px 44px;border:1px solid var(--fis-line);border-left:4px solid var(--fis-olive);border-radius:var(--fis-r);background:#fff;color:var(--fis-text);font-size:14.5px;line-height:1.55}
body.fis-on.fis-on .woocommerce-message::before,body.fis-on.fis-on .woocommerce-info::before,body.fis-on.fis-on .woocommerce-error::before{content:"";position:absolute;left:15px;top:16px;width:16px;height:16px;border-radius:50%;background:var(--fis-olive)}
body.fis-on.fis-on .woocommerce-info{border-left-color:var(--fis-gold)}
body.fis-on.fis-on .woocommerce-info::before{background:var(--fis-gold)}
body.fis-on.fis-on .woocommerce-error{border-left-color:var(--fis-red);background:#FDF6F6}
body.fis-on.fis-on .woocommerce-error::before{background:var(--fis-red)}
body.fis-on.fis-on .woocommerce-error li{margin:0 0 4px}
body.fis-on.fis-on .woocommerce-message a:not(.button),body.fis-on.fis-on .woocommerce-info a:not(.button),body.fis-on.fis-on .woocommerce-error a:not(.button){color:var(--fis-olive);font-weight:600;text-decoration:underline}
body.fis-on.fis-on .woocommerce-message .button,body.fis-on.fis-on .woocommerce-info .button{float:right;margin-left:12px;padding:8px 14px;border:1.5px solid var(--fis-olive);border-radius:var(--fis-r);background:var(--fis-olive);color:#fff;font:600 13.5px/1.2 var(--fis-font);text-decoration:none}
@media(max-width:560px){body.fis-on.fis-on .woocommerce-message .button,body.fis-on.fis-on .woocommerce-info .button{float:none;display:inline-flex;margin:10px 0 0}}

/* ---------- Free-shipping bar and trust strip from the store's bwl plugin (cart and checkout) ----------
   The plugin draws them itself; only its palette is swapped for the storefront colors. */
body.fis-on.fis-on .bwl-shipping-bar-wrap,body.fis-on.fis-on .bwl-trust-badges{--bwl-red:var(--fis-olive);--bwl-red-dark:var(--fis-olive-d);--bwl-dark:var(--fis-ink);--bwl-muted:var(--fis-muted);--bwl-border:var(--fis-line-2);--bwl-soft:var(--fis-bg);--bwl-green:var(--fis-green)}
body.fis-on.fis-on .bwl-shipping-bar-wrap{margin:0 0 16px}
body.fis-on.fis-on .bwl-shipping-bar{padding:13px 16px;border:1px solid var(--fis-line-2);border-radius:var(--fis-r-lg);background:#fff;box-shadow:none}
body.fis-on.fis-on .bwl-shipping-bar__message{margin:0 0 9px;color:var(--fis-text);font-size:14px;line-height:1.4}
body.fis-on.fis-on .bwl-shipping-bar__message strong,body.fis-on.fis-on .bwl-shipping-bar__message .amount{color:var(--fis-ink)}
body.fis-on.fis-on .bwl-shipping-bar__track{height:6px;border-radius:99px;background:#D5D5D5;overflow:hidden}
body.fis-on.fis-on .bwl-shipping-bar__fill{height:100%;border-radius:inherit;background-color:var(--fis-olive);background-image:none}
body.fis-on.fis-on .bwl-trust-badges{border-radius:var(--fis-r-lg);box-shadow:none}
body.fis-on.fis-on.fis-hide-bwl .bwl-trust-badges{display:none}
