:root{
  --bg:#F3F1EA; --ink:#15140F; --ink-soft:#5B5748;
  --amber:#FFB600; --blue:#0090FF; --navy:#000D33; --teal:#29C4A9; --line:#E2DECE;
}
*,*::before,*::after{box-sizing:border-box;}
a{color:inherit;text-decoration:none;}
html{height:100%;}
body{font-family:'Figtree',system-ui,sans-serif;margin:0;min-height:100vh;display:flex;flex-direction:column;}
.site-footer{margin-top:auto;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;}
.wrap{max-width:1280px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem);}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:200;background:rgba(15,12,10,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08);}
.site-header .wrap{display:flex;align-items:center;gap:2.5rem;height:76px;position:relative;}
.logo{display:flex;align-items:center;gap:.5rem;}
.logo img{height:24px;width:auto;filter:brightness(0) invert(1);}
.main-nav{display:flex;gap:2rem;flex:1;height:100%;}
.nav-item{position:relative;display:flex;align-items:center;height:100%;}
.nav-item > a,.nav-plain{font-size:.88rem;font-weight:500;color:rgba(255,255,255,.75);transition:color .15s ease;display:flex;align-items:center;height:100%;}
.nav-item > a:hover,.nav-plain:hover,.nav-item:focus-within > a{color:#fff;}

/* ---------- Mega-menu (real 3-level category tree) ---------- */
.mega-panel{position:fixed;top:76px;left:0;right:0;width:100%;background:#100D0A;border:0;border-top:1px solid rgba(255,255,255,.08);padding:2.25rem clamp(1.25rem,4vw,3rem);display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.75rem;justify-content:center;box-shadow:0 30px 60px -20px rgba(0,0,0,.55);z-index:70;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease,visibility .2s;max-width:1280px;margin:0 auto;left:50%;transform:translateX(-50%) translateY(-8px);}
.mega-panel.is-open{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.mega-col{display:flex;flex-direction:column;gap:.15rem;}
.mega-col-title{font-family:'Sora';font-weight:700;font-size:.92rem;color:var(--amber);margin-bottom:.5rem;letter-spacing:-.01em;}
.mega-col-title:hover{text-decoration:underline;}
.mega-col-link{font-size:.82rem;color:rgba(255,255,255,.68);padding:.3rem 0;transition:color .15s ease;}
.mega-col-link:hover{color:#fff;}
.mega-side{background:#1B1712;border-radius:12px;padding:1.1rem 1.2rem;align-self:start;}
.mega-side h5{color:#fff;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .8rem;font-family:'IBM Plex Mono',monospace;font-weight:500;}
.mega-side a{display:block;color:rgba(255,255,255,.7);font-size:.86rem;padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.08);transition:color .15s ease;}
.mega-side a:last-child{border-bottom:0;}
.mega-side a:hover{color:var(--amber);}
.page-dim{position:fixed;top:76px;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);backdrop-filter:blur(2px);z-index:55;pointer-events:none;opacity:0;transition:opacity .2s ease;}
body.mega-open .page-dim{opacity:1;}

.header-actions{display:flex;align-items:center;gap:.6rem;}
.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:#fff;}
.icon-btn:hover{background:rgba(255,255,255,.1);}
.icon-btn svg{width:19px;height:19px;}
/* Fast product search (FiboSearch icon-flexible layout), replacing the wishlist icon.
   Deliberately minimal: only centers the plugin's own icon and matches its size to the other
   header icons. Do NOT add display/width/overflow rules on .dgwt-wcas-search-wrapp or
   .dgwt-wcas-search-form — the plugin's own CSS/JS already handles collapse (max-width:20px)
   and expand-on-click; overriding it caused a real overflow bug live on 2026-07-30, see
   project_fitmed_staging_search_attempt_reverted.md. */
.wcas-header-search{display:flex;align-items:center;justify-content:center;}
.wcas-header-search .dgwt-wcas-ico-magnifier-handler{width:19px;height:19px;}
.cart-count-badge{position:absolute;top:2px;right:2px;background:var(--blue);color:#fff;font-size:.6rem;font-weight:700;min-width:15px;height:15px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.pill-btn{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(100deg,var(--amber) 0%,var(--amber) 32%,var(--navy) 50%,var(--blue) 68%,var(--blue) 100%);color:#fff;padding:.7rem 1.4rem;border-radius:999px;font-size:.88rem;font-weight:700;background-size:220% auto;animation:gradientShift 5s ease-in-out infinite;transition:transform .2s ease;}
.pill-btn:hover{transform:translateY(-2px);}
@keyframes gradientShift{0%,100%{background-position:0% center;}50%{background-position:100% center;}}
.hamburger{display:none;flex-direction:column;gap:4px;width:38px;height:38px;align-items:center;justify-content:center;border:0;background:none;cursor:pointer;}
.hamburger span{width:18px;height:2px;background:#fff;}
.mobile-nav{display:none;position:fixed;inset:76px 0 0 0;background:#15120E;z-index:199;padding:1.5rem;overflow-y:auto;}
.mobile-nav a{display:block;padding:.9rem 0;font-size:1.05rem;font-weight:500;color:#fff;border-bottom:1px solid rgba(255,255,255,.1);}
body.nav-open .mobile-nav{display:block;}
body.nav-open{overflow:hidden;}
.mobile-nav-group{border-bottom:1px solid rgba(255,255,255,.1);}
.mobile-nav-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;padding:.9rem 0;font-family:inherit;font-size:1.05rem;font-weight:500;color:#fff;text-align:left;cursor:pointer;}
.mobile-nav-toggle .chevron{font-size:1.3rem;line-height:1;color:rgba(255,255,255,.5);transition:transform .2s ease;}
.mobile-nav-toggle[aria-expanded="true"] .chevron{transform:rotate(45deg);}
.mobile-nav-sub{padding:0 0 .75rem 1rem;}
.mobile-nav .mobile-nav-col-title{display:block;padding:.55rem 0;font-weight:700;font-size:.92rem;color:var(--amber);border-bottom:0;}
.mobile-nav .mobile-nav-leaf{display:block;padding:.45rem 0 .45rem .9rem;font-size:.9rem;font-weight:400;color:rgba(255,255,255,.72);border-bottom:0;}
@media (max-width:900px){.main-nav{display:none;}.hamburger{display:flex;}.page-dim{display:none;}}
@media (max-width:1100px){.mega-panel{grid-template-columns:repeat(2,1fr);}.mega-side{display:none;}}

/* ---------- Footer ---------- */
.site-footer{background:#0F0C0A;color:rgba(246,241,228,.75);position:relative;}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--amber),var(--navy),var(--blue));}
.footer-main{padding-top:clamp(3rem,6vw,4.5rem);padding-bottom:clamp(2rem,4vw,3rem);display:grid;grid-template-columns:1.3fr 1fr 1fr 1.15fr;gap:clamp(2rem,4vw,3rem);}
.footer-brand .footer-logo{display:inline-block;margin-bottom:1.1rem;}
.footer-brand .footer-logo img{height:26px;width:auto;display:block;}
.footer-brand p{font-size:.9rem;line-height:1.65;color:rgba(246,241,228,.55);max-width:30ch;margin:0 0 1.4rem;}
.footer-social{display:flex;gap:.6rem;}
.footer-social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#fff;transition:background .15s ease,color .15s ease;}
.footer-social a svg{width:16px;height:16px;}
.footer-social a:hover{background:var(--amber);color:#1A1200;}.footer-region-link{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.1rem;font-size:.85rem;font-weight:500;color:rgba(246,241,228,.68);transition:color .15s ease;}.footer-region-link span{font-size:1.05rem;line-height:1;}.footer-region-link:hover{color:#fff;}
.footer-col h5{font-family:'IBM Plex Mono',monospace;font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--amber);margin:0 0 1.15rem;}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem;}
.footer-col a{color:rgba(246,241,228,.68);font-size:.88rem;transition:color .15s ease;}
.footer-col a:hover{color:#fff;}
.footer-contact li{display:flex;gap:.65rem;font-size:.85rem;color:rgba(246,241,228,.68);line-height:1.5;align-items:flex-start;}
.footer-contact svg{flex:0 0 auto;width:16px;height:16px;margin-top:.15rem;color:var(--teal);}
.footer-contact a{color:rgba(246,241,228,.68);}
.footer-contact a:hover{color:#fff;}
.footer-apps{display:flex;flex-direction:column;gap:.6rem;margin-top:1.3rem;align-items:flex-start;}
.footer-apps img{height:40px;width:auto;border-radius:6px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:1.5rem;padding-bottom:1.5rem;font-size:.8rem;color:rgba(246,241,228,.4);}
.footer-bottom a{text-decoration:underline;text-underline-offset:2px;}
.footer-bottom a:hover{color:rgba(246,241,228,.7);}
@media (max-width:900px){
  .footer-main{grid-template-columns:1fr 1fr;}
  .footer-brand{grid-column:1 / -1;}
}
@media (max-width:560px){
  .footer-main{grid-template-columns:1fr;}
}

@media (prefers-reduced-motion:reduce){
  .mega-panel{transition:none;}
}

/* ---------- Brand-color overrides for WooCommerce's default styling ---------- */
body:not(.et_pb_pagebuilder_layout) { font-family:'Figtree',system-ui,sans-serif; }
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce-page a.button,
.woocommerce-page button.button,.woocommerce-page input.button,
.woocommerce #payment #place_order,.woocommerce-checkout #payment #place_order {
  background:var(--amber) !important;
  color:#1A1200 !important;
  border-radius:8px !important;
  font-weight:700 !important;
  border:0 !important;
  transition:transform .15s ease !important;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce #payment #place_order:hover {
  background:var(--navy) !important;
  color:#fff !important;
  transform:translateY(-2px);
}
.woocommerce span.onsale {
  background:var(--blue) !important;
  border-radius:6px !important;
}
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color:var(--navy);
  font-weight:700;
}
.woocommerce ul.products li.product .price ins,.woocommerce div.product p.price ins {
  color:var(--blue);
}
.woocommerce a.added_to_cart,.woocommerce-message,.woocommerce-info {
  border-top-color:var(--amber) !important;
}
.woocommerce-message::before,.woocommerce-info::before {
  color:var(--amber) !important;
}
.select2-container--default .select2-selection--single:focus,
input:focus,select:focus,textarea:focus {
  outline-color:var(--blue);
  border-color:var(--blue) !important;
}
.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background:var(--amber) !important;
  color:#1A1200 !important;
}

/* ---------- Content area side padding (was edge-to-edge) ---------- */
.container{max-width:1280px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem);}

/* ---------- Shop/category sidebar (price filter + category browse) ---------- */
#content-area{display:flex;gap:2.5rem;align-items:flex-start;}
#left-area{flex:1;min-width:0;}
#left-sidebar{flex:0 0 260px;width:260px;}
#left-sidebar .et_pb_widget{margin-bottom:2rem;}
#left-sidebar .wp-block-heading{
  font-family:'Sora';font-weight:700;font-size:1.05rem;color:var(--ink);
  margin:0 0 1rem;letter-spacing:-.01em;
}
#left-sidebar ul{list-style:none;margin:0;padding:0;}
#left-sidebar .wc-block-product-categories-list--depth-1,
#left-sidebar .wc-block-product-categories-list--depth-2{padding-left:1rem;margin-top:.35rem;}
#left-sidebar .wc-block-product-categories-list-item{
  padding:.35rem 0;font-size:.88rem;border-bottom:1px solid var(--line);
}
#left-sidebar .wc-block-product-categories-list-item a{color:var(--ink-soft);transition:color .15s ease;}
#left-sidebar .wc-block-product-categories-list-item a:hover{color:var(--amber);}
#left-sidebar .wc-block-product-categories-list-item-count{color:var(--ink-soft);font-size:.78rem;margin-left:.3rem;}
#left-sidebar .wc-block-components-filter-submit-button,
#left-sidebar .wc-block-price-filter__range-input-progress{accent-color:var(--amber);}
@media (max-width:900px){
  #content-area{flex-direction:column;}
  #left-sidebar{width:100%;flex:none;}
}

/* ---------- Breadcrumb ---------- */
.woocommerce-breadcrumb{
  font-family:'IBM Plex Mono',monospace;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-soft);
  padding:1rem 0;
  margin:0 0 1rem;
  border-bottom:1px solid var(--line);
}
.woocommerce-breadcrumb a{color:var(--ink-soft);transition:color .15s ease;}
.woocommerce-breadcrumb a:hover{color:var(--amber);}

/* ---------- Product grid: equal-height cards, price/cart pinned to bottom ---------- */
.woocommerce ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,1fr);
  gap:1.75rem 1.5rem;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none !important;content:none !important;}
.woocommerce ul.products li.product{
  float:none !important;width:auto !important;margin:0 !important;
  display:flex;flex-direction:column;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product > a{flex-shrink:0;}
.woocommerce ul.products li.product .rscb-price-row{margin-top:auto;padding-top:.6rem;}
@media (max-width:860px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.woocommerce ul.products{grid-template-columns:1fr;}}

/* ---------- Product card: wishlist heart + price/add-to-cart row ---------- */
.woocommerce ul.products li.product{position:relative;}
.rscb-wishlist-btn{
  position:absolute;top:.7rem;right:.7rem;z-index:3;
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.9);border:0;cursor:pointer;
  color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.15);
  transition:transform .15s ease;
}
.rscb-wishlist-btn:hover{transform:scale(1.08);}
.rscb-wishlist-btn svg{width:18px;height:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
.rscb-wishlist-btn .heart-filled{opacity:0;color:var(--amber);}
.rscb-wishlist-btn .heart-outline{opacity:1;}
.rscb-wishlist-btn.is-active .heart-filled{opacity:1;}
.rscb-wishlist-btn.is-active .heart-outline{opacity:0;}
.rscb-wishlist-btn.is-loading{opacity:.6;pointer-events:none;}

.woocommerce ul.products li.product .rscb-price-row{
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
}
.woocommerce ul.products li.product .rscb-price-row .price{margin:0;}
.woocommerce .rscb-price-row a.add_to_cart_button{
  width:36px;height:36px;min-width:36px;flex:0 0 auto;
  border-radius:50% !important;
  background:var(--amber) !important;
  display:inline-flex;align-items:center;justify-content:center;
  padding:0 !important;font-size:0 !important;line-height:1;
  position:relative;
}
.woocommerce .rscb-price-row a.add_to_cart_button::after{
  content:"+";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-size:1.3rem;font-weight:700;color:#1A1200;line-height:1;
}
.woocommerce .rscb-price-row a.add_to_cart_button:hover::after{color:#fff;}
.woocommerce .rscb-price-row a.add_to_cart_button.added::after{
  content:"\2713" !important;font-family:inherit !important;
  margin:0 !important;vertical-align:baseline !important;
  color:#1A1200 !important;
}
.woocommerce .rscb-price-row a.add_to_cart_button.added:hover::after{color:#fff !important;}
.woocommerce .rscb-price-row a.add_to_cart_button.loading{
  opacity:1 !important;padding:0 !important;
}
.woocommerce .rscb-price-row a.add_to_cart_button.loading::after{
  content:"" !important;font-family:inherit !important;
  position:absolute !important;top:50%;left:50%;transform:translate(-50%,-50%);
  width:14px;height:14px;border:2px solid #1A1200;border-top-color:transparent;
  border-radius:50%;animation:rscbSpin .6s linear infinite;
}
@keyframes rscbSpin{to{transform:rotate(360deg);}}
.rscb-price-row .added_to_cart{
  font-size:.72rem;font-weight:600;color:var(--ink-soft);margin-left:.4rem;
}

/* ---------- Variable-product picker modal ---------- */
.rscb-modal{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:1.5rem;}
.rscb-modal[hidden]{display:none;}
.rscb-modal-backdrop{position:absolute;inset:0;background:rgba(15,12,10,.6);}
.rscb-modal-box{
  position:relative;background:#fff;border-radius:16px;padding:2rem;width:100%;max-width:400px;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.4);
}
.rscb-modal-close{
  position:absolute;top:.9rem;right:.9rem;width:32px;height:32px;border-radius:50%;
  border:0;background:var(--bg);font-size:1.3rem;line-height:1;cursor:pointer;color:var(--ink-soft);
}
.rscb-modal-close:hover{background:var(--line);}
.rscb-modal-title{font-family:'Sora';font-weight:700;font-size:1.15rem;margin:0 2rem 1.25rem 0;color:var(--ink);}
.rscb-modal-attr{margin-bottom:1rem;}
.rscb-modal-attr label{display:block;font-size:.78rem;font-weight:600;color:var(--ink-soft);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.04em;}
.rscb-modal-attr select{
  width:100%;padding:.7rem .9rem;border:1px solid var(--line);border-radius:8px;
  font-size:.92rem;font-family:inherit;background:#fff;color:var(--ink);
}
.rscb-modal-attr select:focus{outline:2px solid var(--blue);outline-offset:1px;}
.rscb-modal-price{font-family:'Sora';font-weight:700;font-size:1.2rem;color:var(--navy);min-height:1.6rem;margin:.5rem 0 1rem;}
.rscb-modal-error{color:#B3261E;font-size:.85rem;margin:0 0 1rem;}
.rscb-modal-add-btn{
  width:100%;padding:.9rem;border:0;border-radius:8px;background:var(--amber);color:#1A1200;
  font-weight:700;font-size:.95rem;cursor:pointer;transition:background .15s ease,color .15s ease;
}
.rscb-modal-add-btn:disabled{background:var(--line);color:var(--ink-soft);cursor:not-allowed;}
.rscb-modal-add-btn:not(:disabled):hover{background:var(--navy);color:#fff;}

/* ---------- Single product gallery zoom icon (was overlapping SALE/BESTSELLER badges top-right) ---------- */
.woocommerce-product-gallery__trigger{
  top:auto !important;
  bottom:.6em !important;
  right:.6em !important;
}

/* ---------- Bestseller / Sale badges (native WooCommerce data, custom-styled) ---------- */
.rscb-bestseller-badge{
  position:absolute;top:.7rem;left:.7rem;z-index:3;
  background:var(--navy);color:#fff;
  font-family:'IBM Plex Mono',monospace;font-size:.66rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.04em;
  padding:.35rem .6rem;border-radius:4px;line-height:1;
}
.woocommerce span.onsale{
  position:absolute !important;bottom:auto !important;left:.7rem !important;right:auto !important;
  top:2.6rem !important;
  margin:0 !important;min-width:0 !important;min-height:0 !important;width:auto !important;height:auto !important;
  border-radius:4px !important;line-height:1 !important;
  background:var(--blue) !important;color:#fff !important;
  font-family:'IBM Plex Mono',monospace;font-size:.66rem !important;font-weight:600;
  text-transform:uppercase;letter-spacing:.04em;
  padding:.35rem .6rem !important;z-index:3;
}
.woocommerce div.product .rscb-bestseller-badge{top:1rem;left:1rem;}
.woocommerce div.product span.onsale{top:3.2rem !important;left:1rem !important;}
