/* Grizzly Winch Shell — brand menu + footer + dark skin for theme-rendered pages.
   Generated by build_plugin.py from the static Grizzly Winch site; edit the sources, not this file. */

body.gw-shell, #gws-nav, #gws-footer{
  --red:#b31a1a; --red2:#e5231f; --amber:#f24a34;
  --ink:#f3efe9; --muted:#8f887f; --line:rgba(255,255,255,.09);
  --bg:#100e0c;
}

/* isolate the menu and footer from the theme: back to browser defaults, then the site's own reset */
#gws-nav, #gws-footer{
  all:revert; box-sizing:border-box; margin:0; padding:0;
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif; font-size:16px; line-height:1.6;
  color:var(--ink); -webkit-font-smoothing:antialiased;
  text-align:left; letter-spacing:normal; text-transform:none;
}
#gws-nav :is(h1,h2,h3,h4,h5,h6,p,ul,ol,li,a,img,button,small,strong,b,em,i,span,div,svg),
#gws-footer :is(h1,h2,h3,h4,h5,h6,p,ul,ol,li,a,img,button,small,strong,b,em,i,span,div,svg){
  all:revert; margin:0; padding:0; box-sizing:border-box;
}

/* ---- brand menu + footer (generated from the static site) ---- */
#gws-nav{ position:fixed; top:17.6px; left:50%; transform:translateX(-50%); z-index:100; width:max-content; max-width:92vw; border-radius:100px; border:1px solid rgba(255,255,255,.14); background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.015) 55%, rgba(0,0,0,.06)); backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%); box-shadow:inset 0 1px 0 rgba(255,255,255,.14), inset 0 -1px 0 rgba(0,0,0,.15), 0 10px 30px rgba(0,0,0,.32); transition:top .35s ease, background .35s ease, box-shadow .35s ease, border-color .35s ease; }
#gws-nav::before{ content:""; position:absolute; inset:0; border-radius:inherit; z-index:0; background:radial-gradient(150px circle at var(--mx,50%) var(--my,50%), rgba(229,35,31,.55), rgba(229,35,31,.14) 42%, transparent 70%); opacity:0; transition:opacity .4s ease; pointer-events:none; }
#gws-nav:hover::before{ opacity:1; }
#gws-nav.gws-scrolled{ top:11.2px; background:linear-gradient(180deg, rgba(30,24,21,.72), rgba(17,14,12,.62) 55%, rgba(10,8,7,.6)); box-shadow:inset 0 1px 0 rgba(255,255,255,.12), inset 0 -1px 0 rgba(0,0,0,.2), 0 14px 38px rgba(0,0,0,.45); border-color:rgba(255,255,255,.16); }
#gws-nav .gws-inner{ position:relative; z-index:1; max-width:none; margin:0; height:56px; display:flex; align-items:center; justify-content:center; gap:30.4px; padding:0 24px; }
#gws-nav .gws-nav-links{ display:flex; gap:32px; list-style:none; }
#gws-nav .gws-nav-logo{ flex:none; height:38px; aspect-ratio:651/351; display:block; background:url('/wp-content/uploads/2026/10/grizzly-logo-sticker.png') center/contain no-repeat; filter:drop-shadow(0 3px 8px rgba(0,0,0,.4)); transition:transform .25s ease; }
#gws-nav .gws-nav-logo:hover{ transform:translateY(-1px) scale(1.04); }
#gws-nav .gws-nav-links a{ position:relative; text-decoration:none; color:var(--muted); font-size:13.76px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:6.4px 0; transition:color .25s; }
#gws-nav .gws-nav-links a.gws-active{ color:var(--ink); }
#gws-nav .gws-nav-links a::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:linear-gradient(90deg,var(--red),var(--red2)); transform:scaleX(0); transform-origin:left; transition:transform .28s; border-radius:2px; }
#gws-nav .gws-nav-links a:hover{ color:var(--ink); }
#gws-nav .gws-nav-links a:hover::after, #gws-nav .gws-nav-links a.gws-active::after{ transform:scaleX(1); }
#gws-nav .gws-burger{ display:none; background:none; border:none; cursor:pointer; padding:8px; }
#gws-nav .gws-burger span{ display:block; width:22px; height:2px; background:var(--ink); margin:5px 0; border-radius:2px; transition:transform .3s,opacity .3s; }
#gws-nav.gws-open .gws-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
#gws-nav.gws-open .gws-burger span:nth-child(2){ opacity:0; }
#gws-nav.gws-open .gws-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
#gws-nav .gws-mobile-menu{ display:none; flex-direction:column; gap:3.2px; position:absolute; top:calc(100% + 9.6px); left:50%; transform:translateX(-50%); width:min(86vw, 300px); background:linear-gradient(180deg, rgba(30,24,21,.92), rgba(15,12,11,.94)); backdrop-filter:blur(20px) saturate(160%); -webkit-backdrop-filter:blur(20px) saturate(160%); border:1px solid rgba(255,255,255,.14); border-radius:22px; padding:9.6px 20.8px 16px; box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 14px 34px rgba(0,0,0,.4); }
#gws-nav .gws-mobile-menu a{ text-decoration:none; color:var(--muted); font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:14.4px; padding:12.8px 0; border-bottom:1px solid var(--line); }
#gws-nav .gws-mobile-menu a:last-child{ border-bottom:none; }
#gws-nav .gws-mobile-menu a:hover{ color:var(--red2); }
#gws-nav.gws-open .gws-mobile-menu{ display:flex; }
@media (max-width:760px){
#gws-nav .gws-nav-links{ display:none; }
#gws-nav .gws-burger{ display:block; }
#gws-nav .gws-nav-logo{ height:34px; }
}
#gws-nav .gws-mm-n[hidden]{ display:none; }
@media (max-width:760px){
#gws-nav{ top:auto; bottom:calc(9.6px + env(safe-area-inset-bottom, 0px)); width:min(calc(100vw - 19.2px), 460px); max-width:none; border-radius:24px; background:linear-gradient(180deg, rgba(30,24,21,.88), rgba(17,14,12,.86) 55%, rgba(10,8,7,.88)); box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 14px 38px rgba(0,0,0,.5); border-color:rgba(255,255,255,.16); }
#gws-nav.gws-scrolled{ top:auto; }
#gws-nav::before{ display:none; }
#gws-nav .gws-inner{ display:none; }
#gws-nav .gws-mobile-menu{ display:grid; grid-template-columns:1fr 1fr auto 1fr 1fr; align-items:center; gap:0; position:relative; z-index:1; top:auto; left:auto; transform:none; width:auto; background:none; backdrop-filter:none; -webkit-backdrop-filter:none; border:0; border-radius:0; box-shadow:none; padding:4.8px 8px; }
#gws-nav.gws-open .gws-mobile-menu{ display:grid; }
#gws-nav .gws-mobile-menu a{ position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:52.8px; padding:4.8px 0; border-bottom:none; font-size:9.28px; font-weight:700; letter-spacing:.08em; line-height:1; color:var(--muted); -webkit-tap-highlight-color:transparent; }
#gws-nav .gws-mobile-menu a:hover{ color:var(--muted); }
#gws-nav .gws-mobile-menu a svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
#gws-nav .gws-mobile-menu a[aria-current="page"]{ color:var(--ink); }
#gws-nav .gws-mobile-menu a[aria-current="page"] svg{ stroke:var(--red2); }
#gws-nav .gws-mobile-menu a.gws-mm-logo{ width:75.2px; height:40.8px; min-height:0; margin:0 7.2px; padding:0; background:url('/wp-content/uploads/2026/10/grizzly-logo-sticker.png') center/contain no-repeat; filter:drop-shadow(0 3px 8px rgba(0,0,0,.45)); }
#gws-nav .gws-mm-n{ position:absolute; top:3.2px; left:calc(50% + 4.8px); min-width:16.8px; height:16.8px; padding:0 4.48px; border-radius:100px; display:grid; place-items:center; background:linear-gradient(90deg,var(--red),var(--red2)); color:#fff; font-size:9.6px; font-weight:800; letter-spacing:0; line-height:1; }
}
#gws-footer .gws-brand{ display:inline-flex; align-items:center; gap:9.6px; text-decoration:none; color:var(--ink); }
#gws-footer .gws-brand-logo{ height:58px; width:auto; display:block; filter:drop-shadow(0 3px 8px rgba(0,0,0,.4)); }
#gws-footer{ border-top:1px solid var(--line); background:linear-gradient(180deg,#14110e,#0b0908); position:relative; }
#gws-footer::before{ content:""; position:absolute; top:-1px; left:50%; transform:translateX(-50%); width:min(420px,60vw); height:1px; background:linear-gradient(90deg,transparent,var(--red2),transparent); }
#gws-footer .gws-cols{ max-width:1200px; margin:0 auto; padding:72px 24px 48px; display:grid; grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:48px; }
#gws-footer h4{ font-size:11.52px; letter-spacing:.26em; text-transform:uppercase; color:var(--ink); margin-bottom:17.6px; font-weight:800; }
#gws-footer .gws-about p{ color:var(--muted); font-size:14.08px; line-height:1.65; max-width:34ch; margin-top:16px; }
#gws-footer .gws-socials{ display:flex; gap:11.2px; margin-top:20.8px; }
#gws-footer .gws-socials a{ width:38px; height:38px; border-radius:10px; display:grid; place-items:center; border:1px solid var(--line); color:var(--muted); transition:all .25s; }
#gws-footer .gws-socials a:hover{ border-color:var(--red2); color:var(--red2); transform:translateY(-2px); }
#gws-footer .gws-socials svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#gws-footer .gws-flist{ list-style:none; display:flex; flex-direction:column; gap:10.4px; }
#gws-footer .gws-flist a{ color:var(--muted); text-decoration:none; font-size:14.08px; transition:color .25s; }
#gws-footer .gws-flist a:hover{ color:var(--red2); }
#gws-footer .gws-fcontact li{ display:flex; gap:11.2px; align-items:flex-start; color:var(--muted); font-size:14.08px; margin-bottom:12px; list-style:none; }
#gws-footer .gws-fcontact svg{ width:16px; height:16px; flex:none; margin-top:3.2px; stroke:var(--red2); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#gws-footer .gws-fcontact a{ color:var(--muted); text-decoration:none; }
#gws-footer .gws-fcontact a:hover{ color:var(--red2); }
#gws-footer .gws-legalbar{ border-top:1px solid var(--line); }
#gws-footer .gws-legalbar .gws-inner{ max-width:1200px; margin:0 auto; padding:22.4px 24px; display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
#gws-footer .gws-legalbar p{ color:var(--muted); font-size:12.48px; }
#gws-footer .gws-anpc{ display:flex; gap:12.8px; flex-wrap:wrap; }
#gws-footer .gws-anpc a{ font-size:11.52px; font-weight:700; letter-spacing:.06em; text-decoration:none; color:var(--muted); border:1px solid var(--line); border-radius:8px; padding:7.2px 12.8px; transition:all .25s; }
#gws-footer .gws-anpc a:hover{ color:var(--ink); border-color:rgba(255,255,255,.25); }
@media (max-width:900px){
#gws-footer .gws-cols{ grid-template-columns:1fr 1fr; gap:35.2px; }
}
@media (max-width:560px){
#gws-footer .gws-cols{ grid-template-columns:1fr; }
#gws-footer .gws-legalbar .gws-inner{ justify-content:center; text-align:center; }
}
@media (max-width:760px){
#gws-footer .gws-legalbar{ padding-bottom:calc(73.6px + env(safe-area-inset-bottom, 0px)); }
}

/* ---- logged-in only: keep the floating menu clear of the WP admin bar ---- */
.admin-bar #gws-nav{ top:calc(32px + 17.6px); }
.admin-bar #gws-nav.gws-scrolled{ top:calc(32px + 11.2px); }
@media (max-width:760px){ .admin-bar #gws-nav{ top:auto; } .admin-bar #gws-nav.gws-scrolled{ top:auto; } }

/* ---- dark skin for the theme-rendered pages (shop, product, cart, checkout, account, text pages) ---- */
html:has(body.gw-shell){ background:#100e0c; }
body.gw-shell{
  /* XStore reads its palette from these variables: flip them to the brand's dark palette */
  --et_main-color:#8f887f; --et_dark-color:#f3efe9; --et_active-color:#e5231f;
  --et_border-color:#2b2520; --et_light-color:#191512; --et_light-color2:#211b16;
  --et_white-2-dark:#100e0c; --et_dark-2-white:#f3efe9;
  --et_white-2-light-dark:#191512; --et_dark-2-light-dark:#f3efe9;
  --et_font-color:#b7afa5; --et_container-bg-color:#100e0c;
  --et_dark-2-white-0:rgba(255,255,255,0); --et_dark-2-white-01:rgba(255,255,255,.1);
  --et_dark-2-white-02:rgba(255,255,255,.2); --et_dark-2-white-03:rgba(255,255,255,.3);
  --et_dark-2-white-08:rgba(255,255,255,.8); --et_dark-2-white-002:rgba(255,255,255,.02);
  --et_white-2-dark-0:rgba(16,14,12,0); --et_white-2-dark-01:rgba(16,14,12,.1);
  --et_white-2-dark-05:rgba(16,14,12,.5); --et_white-2-dark-07:rgba(16,14,12,.7);
  --et_white-2-dark-09:rgba(16,14,12,.9);
  --et_btn-color:#f3efe9; --et_btn-bg-color:#211b16; --et_btn-br-color:#2b2520;
  --et_btn-color-hover:#fff; --et_btn-bg-color-hover:#e5231f; --et_btn-br-color-hover:#e5231f;
  --et_btn-dark-color:#fff; --et_btn-dark-bg-color:#e5231f; --et_btn-dark-br-color:#e5231f;
  --et_btn-dark-color-hover:#fff; --et_btn-dark-bg-color-hover:#b31a1a; --et_btn-dark-br-color-hover:#b31a1a;
  --et_btn-bordered-color:#f3efe9; --et_btn-bordered-br-color:#3a322c;
  --et_btn-bordered-color-hover:#fff; --et_btn-bordered-bg-color-hover:#211b16; --et_btn-bordered-br-color-hover:#e5231f;
  --et_on-sale-bg-color:#e5231f; --et_on-sale-radius:7px;

  background:#100e0c !important; color:#b7afa5 !important;
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif !important;
  -webkit-font-smoothing:antialiased;
}

/* the theme's own header and footer make way for the brand menu and footer */
body.gw-shell #header,
body.gw-shell .et-footers-wrapper,
body.gw-shell footer.prefooter,
body.gw-shell #back-top{ display:none !important; }
body.gw-shell .template-container{ padding-top:112px; }

/* type: the brand's system font everywhere except icon fonts */
body.gw-shell .template-container :is(h1,h2,h3,h4,h5,h6,p,a,span,li,td,th,dt,dd,label,legend,button,input,select,textarea,div,bdi,small,strong,em):not(.et-icon):not(.et_b-icon):not(.fa):not(.dashicons):not([class*="swiper-button"]){
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif !important;
}
body.gw-shell .template-container :is(h1,h2,h3,h4,h5,h6){ color:var(--ink); letter-spacing:-.01em; }
body.gw-shell .template-container{ font-size:15px; line-height:1.6; }
body.gw-shell .page-heading{ background:transparent !important; border:0; }
body.gw-shell .page-heading .title{ font-weight:900; letter-spacing:-.02em; }

/* links and prices */
body.gw-shell .template-container a:hover{ color:var(--red2); }
body.gw-shell .price ins, body.gw-shell .price > .amount, body.gw-shell .price ins .amount{ color:var(--ink); text-decoration:none; font-weight:800; }
body.gw-shell .price del, body.gw-shell .price del .amount{ color:var(--muted); font-weight:400; }

/* buttons: the brand's pill shape and red gradient for the main action */
body.gw-shell .template-container :is(.button,.btn,button[type="submit"],input[type="submit"],.checkout-button,.wc-backward){
  border-radius:100px !important; font-weight:800 !important; letter-spacing:.1em; text-transform:uppercase;
  transition:box-shadow .25s ease, transform .25s ease, background .25s ease, border-color .25s ease;
}
body.gw-shell .template-container :is(.single_add_to_cart_button,.checkout-button,#place_order,.button.alt,.btn.active){
  background:linear-gradient(90deg,var(--red),var(--red2)) !important; border-color:transparent !important; color:#fff !important;
}
body.gw-shell .template-container :is(.single_add_to_cart_button,.checkout-button,#place_order,.button.alt,.btn.active):hover{
  box-shadow:0 10px 26px rgba(255,90,65,.3); transform:translateY(-1px);
}

/* product page */
body.gw-shell .product_title{ font-size:clamp(24px,2.6vw,34px) !important; font-weight:900 !important; letter-spacing:-.02em; line-height:1.15; }
body.gw-shell .single-product-page p.price{ font-size:26px; margin:10px 0 14px; }
body.gw-shell .product-images img, body.gw-shell .content-product .product-image-wrapper img, body.gw-shell .product-content-image img{ border-radius:16px; }
body.gw-shell .template-container *:has(> .post-nav-arrow){ display:none !important; }
body.gw-shell .template-container p.stock.out-of-stock{ background:rgba(16,14,12,.86) !important; color:var(--ink) !important; border-radius:10px; }
body.gw-shell .woocommerce-tabs .tabs .tab-title{ font-weight:800; letter-spacing:.08em; }
body.gw-shell .woocommerce-Tabs-panel table td, body.gw-shell .woocommerce-Tabs-panel table th, body.gw-shell .shop_attributes td, body.gw-shell .shop_attributes th{ border-color:var(--line); }
body.gw-shell .woocommerce-product-details__short-description video{ border-radius:14px; width:100%; height:auto; }

/* product grids (shop, category, related products) */
body.gw-shell .content-product{ background:linear-gradient(168deg, rgba(33,27,22,.85), rgba(19,16,13,.85)); border:1px solid var(--line); border-radius:18px; padding:12px 12px 18px; transition:transform .28s, border-color .28s, box-shadow .28s; }
body.gw-shell .content-product:hover{ transform:translateY(-4px); border-color:rgba(255,90,65,.35); box-shadow:0 24px 50px rgba(0,0,0,.5); }
body.gw-shell .content-product .product-title a{ color:var(--ink); font-weight:800; }
body.gw-shell .content-product .products-page-cats a{ color:var(--amber); font-size:11px; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
body.gw-shell .sidebar, body.gw-shell [class*="et-toggle-mob-sidebar"]{ display:none !important; }
body.gw-shell .content-page .content[class*="col-md-"]{ width:100% !important; left:0 !important; right:auto !important; float:none !important; }

/* forms */
body.gw-shell .template-container :is(input[type="text"],input[type="email"],input[type="tel"],input[type="password"],input[type="number"],input[type="search"],textarea,select){
  background:#191512 !important; border:1px solid #2b2520 !important; color:var(--ink) !important; border-radius:10px;
}
body.gw-shell .template-container :is(input,textarea,select):focus{ border-color:var(--red2) !important; outline:0; }
body.gw-shell .template-container ::placeholder{ color:var(--muted); }
body.gw-shell .quantity input[type="number"]{ border-radius:0; }
body.gw-shell .select2-container--default .select2-selection--single{ background:#191512; border:1px solid #2b2520; border-radius:10px; }
body.gw-shell .select2-container--default .select2-selection--single .select2-selection__rendered{ color:var(--ink); }
body.gw-shell .select2-dropdown{ background:#191512; border-color:#2b2520; color:var(--ink); }
body.gw-shell .select2-container--default .select2-results__option--highlighted[aria-selected], body.gw-shell .select2-container--default .select2-results__option--highlighted[data-selected]{ background:var(--red2); color:#fff; }
body.gw-shell .select2-container--default .select2-results__option[aria-selected="true"], body.gw-shell .select2-container--default .select2-results__option[data-selected="true"]{ background:#211b16; }
body.gw-shell .select2-search--dropdown .select2-search__field{ background:#100e0c; border-color:#2b2520; color:var(--ink); }

/* cart, checkout, account */
body.gw-shell .cart-checkout-nav{ background:transparent !important; padding:6px 0 30px; }
body.gw-shell .cart-checkout-nav a{ color:var(--muted); }
body.gw-shell .cart-checkout-nav a.active{ color:var(--ink); }
body.gw-shell table.cart .product-name a, body.gw-shell table.cart .product-title{ color:var(--ink); font-weight:700; }
body.gw-shell :is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-notice){ background:#191512 !important; color:var(--ink) !important; border:1px solid var(--line); border-left:3px solid var(--red2); border-radius:12px; }
body.gw-shell :is(.cart-collaterals,.cart_totals,.woocommerce-checkout-review-order,#order_review,.order-review,.woocommerce-MyAccount-navigation,.woocommerce-form-login,.woocommerce-form-register){ background:#151210 !important; border-color:var(--line) !important; border-radius:16px; }
body.gw-shell table.shop_table, body.gw-shell table.shop_table :is(td,th){ border-color:var(--line) !important; }
body.gw-shell #payment, body.gw-shell #payment div.payment_box{ background:#191512 !important; color:#b7afa5 !important; border-radius:12px; }
body.gw-shell #payment div.payment_box::before{ border-bottom-color:#191512 !important; }

/* text pages (terms, privacy, shipping) */
body.gw-shell .gw-legal{ max-width:820px; margin:0 auto 80px; font-size:16px; line-height:1.75; color:#b7afa5; }
body.gw-shell .gw-legal h1{ font-size:clamp(30px,4.4vw,48px); font-weight:900; letter-spacing:-.03em; line-height:1.1; margin:0 0 28px; }
body.gw-shell .gw-legal h2{ font-size:24px; font-weight:900; margin:44px 0 12px; scroll-margin-top:110px; }
body.gw-shell .gw-legal h3{ font-size:18px; font-weight:800; margin:30px 0 10px; scroll-margin-top:110px; }
body.gw-shell .gw-legal h4{ font-size:16px; font-weight:800; margin:22px 0 8px; }
body.gw-shell .gw-legal p{ margin:0 0 14px; }
body.gw-shell .gw-legal :is(ul,ol){ margin:0 0 16px 22px; }
body.gw-shell .gw-legal li{ margin-bottom:6px; }
body.gw-shell .gw-legal a{ color:var(--red2); }
body.gw-shell .gw-legal strong{ color:var(--ink); }
body.gw-shell:has(.gw-legal) .page-heading{ display:none; }

/* phones: the menu is a tab bar at the bottom, so the page starts near the top */
@media (max-width:760px){
  body.gw-shell .template-container{ padding-top:64px; }
}
