/* ══════════════════════════════════════════════════════════
   RESET & DESIGN TOKENS
══════════════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#1A1A2E;
  --navy-mid:#16213E;
  --navy-deep:#0F3460;
  --red:#C0392B;
  --red-bright:#E74C3C;
  --white:#FFFFFF;
  --off-white:#F7F7F7;
  --gray-light:#EFEFEF;
  --gray-mid:#D0D0D0;
  --gray-dark:#888;
  --text:#1A1A2E;
  --text-soft:#5A5A6A;
  --container:1400px;
  --gutter:80px;
  --radius:4px;
  --tr:.35s cubic-bezier(.25,.46,.45,.94);
  --font-h:'Barlow Condensed',sans-serif;
  --font-b:'Barlow',sans-serif;
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--font-b);color:var(--text);background:var(--white)}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:var(--font-b)}
input,select{font-family:var(--font-b)}

/* ══ LAYOUT ══════════════════════════════════════════════ */
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}

/* ══ SCROLL REVEAL ════════════════════════════════════════ */
.sr{opacity:0;transform:translateY(44px);transition:opacity .65s ease,transform .65s ease}
.sr.on{opacity:1;transform:translateY(0)}
.sr-l{opacity:0;transform:translateX(-56px);transition:opacity .7s ease,transform .7s ease}
.sr-l.on{opacity:1;transform:translateX(0)}
.sr-r{opacity:0;transform:translateX(56px);transition:opacity .7s ease,transform .7s ease}
.sr-r.on{opacity:1;transform:translateX(0)}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}
.d4{transition-delay:.32s}.d5{transition-delay:.40s}.d6{transition-delay:.48s}
.d7{transition-delay:.56s}.d8{transition-delay:.64s}

/* ══ BUTTONS ═════════════════════════════════════════════ */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-h);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius);padding:13px 26px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease,border-color .25s ease;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn-red{background:var(--red);color:var(--white)}
.btn-red:hover{background:var(--red-bright);box-shadow:0 0 24px rgba(192,57,43,.45)}
.btn-outline-white{border:2px solid rgba(255,255,255,.5);color:var(--white)}
.btn-outline-white:hover{border-color:var(--white);background:rgba(255,255,255,.1)}
.btn-outline-red{border:2px solid var(--red);color:var(--red)}
.btn-outline-red:hover{background:var(--red);color:var(--white)}
.btn-dark{background:var(--navy);color:var(--white)}
.btn-dark:hover{background:var(--navy-deep);box-shadow:0 8px 24px rgba(26,26,46,.3)}
.btn-sm{padding:9px 18px;font-size:11px}

/* ══════════════════════════════════════════════════════════
   ANNOUNCEMENT BAR
══════════════════════════════════════════════════════════ */
.announce{
  background:var(--red);color:var(--white);
  text-align:center;padding:11px 20px;
  font-family:var(--font-h);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  transform:translateY(-100%);animation:slideDown .5s .05s ease forwards;
  position:relative;z-index:1000;
}
.announce a{text-decoration:underline;color:var(--white)}.announce a:hover{opacity:.75}
.announce span{margin:0 16px}
@keyframes slideDown{to{transform:translateY(0)}}

/* Mobile announcement bar - match homepage exactly */
@media(max-width:768px){
  .announce{
    font-size:11px;
    padding:9px var(--gutter);
    letter-spacing:.08em;
  }
  .announce span{
    margin:0 8px;
    display:inline-block;
  }
  
  /* Mobile category nav - becomes fixed when stuck */
  .cat-quick.is-stuck{
    position:fixed !important;
    top:56px !important;
    left:0;
    right:0;
    z-index:998 !important;
    width:100%;
  }
  
  /* Mobile sort/filter bar - becomes fixed when stuck */
  .sort-bar.is-stuck{
    position:fixed !important;
    top:112px !important;
    left:0;
    right:0;
    z-index:997 !important;
    width:100%;
  }
}

/* ══════════════════════════════════════════════════════════
   HEADER - Using theme header styles (not overriding)
══════════════════════════════════════════════════════════ */
/* Header styles are in theme.css - shop page should not override them */


/* ══════════════════════════════════════════════════════════
   1. SHOP HERO
══════════════════════════════════════════════════════════ */
.shop-hero{
  position:relative;height:52vh;min-height:400px;
  display:flex;align-items:center;overflow:hidden;
}
.shop-hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center 35%;
  will-change:transform;
}
.shop-hero-ov{
  position:absolute;inset:0;
  background:linear-gradient(110deg,rgba(10,10,20,.96) 0%,rgba(10,10,20,.82) 55%,rgba(10,10,20,.35) 100%);
}
.shop-hero-inner{position:relative;z-index:2;max-width:var(--container);margin:0 auto;padding:0 var(--gutter);width:100%}
.breadcrumb{display:flex;align-items:center;gap:8px;font-family:var(--font-h);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:22px;opacity:0;transform:translateY(14px);animation:fadeUp .5s .1s ease forwards}
.breadcrumb a{color:rgba(255,255,255,.4);transition:color .2s}.breadcrumb a:hover{color:var(--red)}
.breadcrumb-sep{color:rgba(255,255,255,.2)}
.breadcrumb .cur{color:rgba(255,255,255,.65)}
.shop-hero-h1{font-family:var(--font-h);font-size:clamp(52px,7vw,88px);font-weight:900;text-transform:uppercase;color:var(--white);line-height:.93;margin-bottom:18px;opacity:0;transform:translateY(36px);animation:fadeUp .6s .25s ease forwards}
.shop-hero-h1 em{font-style:normal;color:var(--red)}
.shop-hero-sub{font-size:17px;font-weight:300;color:rgba(255,255,255,.68);max-width:480px;line-height:1.7;opacity:0;transform:translateY(24px);animation:fadeUp .6s .4s ease forwards}
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}

/* ══════════════════════════════════════════════════════════
   CATEGORY QUICK LINKS (below hero)
══════════════════════════════════════════════════════════ */
.cat-quick{background:var(--navy);padding:0;border-bottom:1px solid rgba(255,255,255,.06)}
.cat-quick-inner{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.cat-quick-inner::-webkit-scrollbar{display:none}
.cq-item{flex-shrink:0;padding:16px 24px;font-family:var(--font-h);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5);cursor:pointer;border-bottom:2px solid transparent;transition:color .25s,border-color .25s;white-space:nowrap}
.cq-item:hover,.cq-item.active{color:var(--white);border-bottom-color:var(--red)}

/* ══════════════════════════════════════════════════════════
   2. FILTER + SORT BAR
══════════════════════════════════════════════════════════ */
.sort-bar{
  position:sticky;top:70px;z-index:90;
  background:var(--white);border-bottom:1px solid var(--gray-light);
  padding:0;
}
.sort-bar-inner{
  max-width:var(--container);margin:0 auto;padding:0 var(--gutter);
  display:flex;align-items:center;justify-content:space-between;
  height:56px;
}
.sort-left{display:flex;align-items:center;gap:20px}
.prod-count{font-family:var(--font-h);font-size:13px;font-weight:700;color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase}
.prod-count strong{color:var(--navy)}
.filter-toggle,.filter-toggle-btn{display:none;align-items:center;gap:7px;font-family:var(--font-h);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);padding:8px 14px;border:1px solid var(--gray-mid);border-radius:var(--radius);cursor:pointer;transition:background .2s,border-color .2s;background:transparent}
.filter-toggle:hover,.filter-toggle-btn:hover{background:var(--off-white);border-color:var(--navy)}
.filter-toggle:active,.filter-toggle-btn:active{background:var(--off-white);color:var(--navy)!important}
.filter-toggle:focus,.filter-toggle-btn:focus{outline:none;border-color:var(--navy)}
.active-filters{display:flex;gap:8px;flex-wrap:wrap}
.af-tag{display:flex;align-items:center;gap:6px;background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.2);color:var(--red);padding:4px 10px;border-radius:20px;font-size:12px;font-family:var(--font-h);font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:background .2s}
.af-tag:hover{background:rgba(192,57,43,.15)}
.af-tag svg{width:12px;height:12px}
.af-remove{display:flex;align-items:center;color:var(--red);transition:opacity .2s}
.af-remove:hover{opacity:.7}
.sort-right{display:flex;align-items:center;gap:14px}
.sort-label{font-family:var(--font-h);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-soft)}
.woocommerce .woocommerce-ordering{margin:0!important}
.sort-select{
  appearance:none;border:1px solid var(--gray-mid);border-radius:var(--radius);
  padding:8px 34px 8px 12px;
  font-family:var(--font-h);font-size:13px;font-weight:600;color:var(--navy);
  background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%231A1A2E' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E") no-repeat right 10px center;
  cursor:pointer;transition:border-color .2s;
}
.sort-select:hover,.sort-select:focus{border-color:var(--navy);outline:none}
.view-toggle{display:none!important}
.vt-btn{width:34px;height:34px;border-radius:var(--radius);border:1px solid var(--gray-mid);display:flex;align-items:center;justify-content:center;color:var(--gray-dark);cursor:pointer;transition:all .2s}
.vt-btn:hover,.vt-btn.active{border-color:var(--navy);color:var(--navy);background:var(--off-white)}

/* ══════════════════════════════════════════════════════════
   3. MAIN SHOP LAYOUT
══════════════════════════════════════════════════════════ */
.shop-main{padding:48px 0 100px}
.shop-layout{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:280px 1fr;gap:40px;align-items:start}

/* ── FILTER SIDEBAR ──────────────────────────────────────── */
.filter-sidebar{position:sticky;top:136px}
.fs-title{font-family:var(--font-h);font-size:11px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--text-soft);margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--gray-light)}
.filter-group{border-bottom:1px solid var(--gray-light);overflow:hidden}
.fg-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 0;cursor:pointer;user-select:none;
}
.fg-label{font-family:var(--font-h);font-size:14px;font-weight:700;text-transform:uppercase;color:var(--navy);letter-spacing:.06em}
.fg-arrow{width:16px;height:16px;color:var(--gray-dark);transition:transform .3s}
.filter-group.open .fg-arrow{transform:rotate(180deg)}
.fg-body{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease}
.filter-group.open .fg-body{max-height:400px;padding-bottom:18px}

/* checkboxes */
.fc-list{display:flex;flex-direction:column;gap:10px}
.fc-item{display:flex;align-items:center;gap:10px;cursor:pointer}
.fc-item input[type=checkbox]{display:none}
.fc-box{
  width:18px;height:18px;border:2px solid var(--gray-mid);border-radius:3px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;
}
.fc-item input:checked ~ .fc-box{background:var(--red);border-color:var(--red)}
.fc-item input:checked ~ .fc-box::after{
  content:'';display:block;width:4px;height:8px;
  border:2px solid white;border-top:none;border-left:none;
  transform:rotate(45deg) translateY(-1px);
}
.fc-text{font-size:14px;color:var(--text-soft);transition:color .2s}
.fc-item:hover .fc-text{color:var(--navy)}
.fc-count{margin-left:auto;font-size:12px;color:var(--gray-dark);font-family:var(--font-h);font-weight:600}

/* color swatches */
.color-swatches{display:flex;flex-wrap:wrap;gap:8px}
.cs{
  width:26px;height:26px;border-radius:50%;cursor:pointer;
  border:2px solid transparent;transition:transform .2s,border-color .2s;
  position:relative;
}
.cs:hover{transform:scale(1.15)}
.cs.active{border-color:var(--navy)}
.cs-inner{position:absolute;inset:3px;border-radius:50%}

/* price range */
.price-range-wrap{padding-top:4px}
.price-labels{display:flex;justify-content:space-between;font-family:var(--font-h);font-size:13px;font-weight:700;color:var(--navy);margin-bottom:12px}
.price-slider{
  width:100%;height:3px;border-radius:2px;
  background:#ddd;
  appearance:none;cursor:pointer;
  transition:background .2s ease;
}
.price-slider::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border-radius:50%;background:var(--white);border:2px solid var(--red);box-shadow:0 2px 6px rgba(0,0,0,.15);cursor:pointer;transition:transform .2s}
.price-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}
.price-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--white);border:2px solid var(--red);box-shadow:0 2px 6px rgba(0,0,0,.15);cursor:pointer}

/* type toggle */
.type-btns{display:flex;gap:8px}
.type-btn{
  flex:1;padding:10px 8px;border:1px solid var(--gray-mid);border-radius:var(--radius);
  font-family:var(--font-h);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-soft);cursor:pointer;text-align:center;transition:all .2s;
}
.type-btn:hover{border-color:var(--navy);color:var(--navy)}
.type-btn.active{background:var(--navy);border-color:var(--navy);color:var(--white)}
.type-btn.active-red{background:var(--red);border-color:var(--red);color:var(--white)}

.filter-clear{
  margin-top:20px;width:100%;padding:10px;border:1px solid var(--gray-mid);border-radius:var(--radius);
  font-family:var(--font-h);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-soft);cursor:pointer;transition:all .2s;text-align:center;
}
.filter-clear:hover{border-color:var(--red);color:var(--red)}

/* ── PRODUCT GRID ────────────────────────────────────────── */
.prod-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.prod-grid.four-col{grid-template-columns:repeat(4,minmax(0,1fr))}

/* product card */
.pc{
  background:var(--white);border-radius:6px;overflow:hidden;cursor:pointer;
  border:1px solid var(--gray-light);width:100%;max-width:291px;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.pc:hover{box-shadow:0 20px 50px rgba(0,0,0,.12);border-color:transparent}
.pc-img{position:relative;overflow:hidden;background:var(--off-white)}
.pc-img-inner{height:280px;overflow:hidden}
.pc-img-inner img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.pc:hover .pc-img-inner img{transform:scale(1.06)}
/* badges */
.pc-badges{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:5px;z-index:2}
.pc-badge{padding:4px 9px;border-radius:2px;font-family:var(--font-h);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;width:fit-content}
.badge-red{background:var(--red);color:var(--white)}
.badge-navy{background:var(--navy);color:var(--white)}
.badge-gold{background:#B8860B;color:var(--white)}
/* quick overlay */
.pc-overlay{
  position:absolute;inset:0;background:rgba(26,26,46,.6);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  opacity:0;transition:opacity .3s ease;
}
.pc:hover .pc-overlay{opacity:1}
.pc-overlay-btn{
  padding:9px 20px;border-radius:var(--radius);
  font-family:var(--font-h);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  cursor:pointer;transition:transform .2s;width:160px;text-align:center;
}
.pc-overlay-btn:hover{transform:scale(1.04)}
.pcob-cart{background:var(--white);color:var(--navy)}
.pcob-custom{background:var(--red);color:var(--white)}
/* wishlist */
.pc-wish{
  position:absolute;top:12px;right:12px;z-index:3;
  width:32px;height:32px;background:rgba(255,255,255,.9);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .3s,transform .2s;color:var(--gray-dark);
}
.pc:hover .pc-wish{opacity:1}
.pc-wish:hover{transform:scale(1.15);color:var(--red)}
/* card body */
.pc-body{padding:16px}
.pc-cat{font-family:var(--font-h);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-soft);margin-bottom:5px}
.pc-name{font-family:var(--font-h);font-size:18px;font-weight:800;text-transform:uppercase;color:var(--navy);margin-bottom:6px;line-height:1.1}
.pc-stars{display:flex;align-items:center;gap:5px;margin-bottom:10px}
.stars{color:var(--red);font-size:12px;letter-spacing:1px}
.star-count{font-size:12px;color:var(--text-soft)}
.pc-foot{display:flex;align-items:center;justify-content:space-between}
.pc-price{font-family:var(--font-h);font-size:20px;font-weight:800;color:var(--navy)}
.pc-old{font-size:13px;color:var(--gray-dark);text-decoration:line-through;margin-right:5px;font-weight:400}
.pc-add{
  width:36px;height:36px;background:var(--navy);border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;color:var(--white);
  transition:background var(--tr);flex-shrink:0;transform:none!important;
}
.pc-add:hover{background:var(--red);transform:none!important}
.pc-quick{
  position:absolute;bottom:18px;right:18px;
  width:36px;height:36px;background:var(--navy);border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;color:var(--white);
  transition:background var(--tr),opacity var(--tr),transform var(--tr);
  opacity:0;transform:translateY(6px);z-index:2;
}
.pc:hover .pc-quick{opacity:1;transform:translateY(0)}
.pc-quick:hover{background:var(--red)}
/* color variants */
.pc-variants{display:flex;gap:5px;margin-bottom:10px}
.pv-dot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.1);cursor:pointer;transition:transform .2s}
.pv-dot:hover{transform:scale(1.2)}

/* ══════════════════════════════════════════════════════════
   4. PAGINATION
══════════════════════════════════════════════════════════ */
.pagination-wrap{margin-top:56px;display:flex;flex-direction:column;align-items:center;gap:24px}
.load-more-btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-h);font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  border-radius:var(--radius);padding:15px 30px;
  background:var(--navy);color:var(--white);
  cursor:pointer;border:none;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}
.load-more-btn:hover{
  transform:translateY(-2px);
  background:var(--navy-deep);
  box-shadow:0 8px 24px rgba(26,26,46,.3);
}
.load-more-btn span{color:var(--white)}
.pagination-nums{display:flex;gap:6px;align-items:center}
.pg-num{
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  border-radius:var(--radius);border:1px solid var(--gray-mid);
  font-family:var(--font-h);font-size:14px;font-weight:700;color:var(--text-soft);
  cursor:pointer;transition:all .2s;
}
.pg-num:hover{border-color:var(--navy);color:var(--navy)}
.pg-num.active{background:var(--navy);border-color:var(--navy);color:var(--white)}
.pg-sep{color:var(--gray-mid);font-size:14px;padding:0 4px}

/* ══════════════════════════════════════════════════════════
   5. READY vs CUSTOM SPLIT
══════════════════════════════════════════════════════════ */
.type-split{display:grid;grid-template-columns:1fr 1fr}
.ts-panel{
  position:relative;overflow:hidden;height:440px;
  display:flex;align-items:flex-end;cursor:pointer;
}
.ts-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.ts-panel:hover img{transform:scale(1.05)}
.ts-ov-navy{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,52,96,.93) 0%,rgba(15,52,96,.45) 60%,transparent 100%)}
.ts-ov-red{position:absolute;inset:0;background:linear-gradient(to top,rgba(120,15,8,.93) 0%,rgba(120,15,8,.45) 60%,transparent 100%)}
.ts-body{position:relative;z-index:2;padding:36px 40px;width:100%}
.ts-tag{font-family:var(--font-h);font-size:10px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:8px}
.ts-title{font-family:var(--font-h);font-size:clamp(26px,3vw,38px);font-weight:900;text-transform:uppercase;color:var(--white);line-height:1;margin-bottom:12px}
.ts-desc{font-size:15px;color:rgba(255,255,255,.68);line-height:1.6;margin-bottom:22px}
.ts-btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-h);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--white);border:1px solid rgba(255,255,255,.4);padding:10px 20px;border-radius:var(--radius);
  transition:background .25s,border-color .25s,transform .25s;
}
.ts-btn:hover{background:rgba(255,255,255,.14);border-color:var(--white);transform:translateX(4px)}

/* ══════════════════════════════════════════════════════════
   6. PROMO STRIP
══════════════════════════════════════════════════════════ */
.promo-strip{
  background:var(--navy);padding:56px 0;
  position:relative;overflow:hidden;
}
.promo-strip::before{content:'';position:absolute;right:-100px;top:50%;transform:translateY(-50%);width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(192,57,43,.12) 0%,transparent 65%);pointer-events:none}
.promo-inner{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;z-index:1}
.promo-text{}
.promo-tag{font-family:var(--font-h);font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.promo-title{font-family:var(--font-h);font-size:clamp(28px,3.5vw,44px);font-weight:900;text-transform:uppercase;color:var(--white);line-height:1;margin-bottom:10px}
.promo-title em{font-style:normal;color:var(--red)}
.promo-sub{font-size:15px;color:rgba(255,255,255,.55);line-height:1.6;max-width:480px}
.promo-btns{display:flex;gap:14px;flex-shrink:0}

/* ══════════════════════════════════════════════════════════
   7. SEO SECTION
══════════════════════════════════════════════════════════ */
.seo-sec{padding:80px 0;background:var(--off-white)}
.seo-inner{max-width:900px;margin:0 auto;padding:0 var(--gutter);text-align:center}
.seo-h{font-family:var(--font-h);font-size:clamp(36px,4vw,54px);font-weight:900;text-transform:uppercase;color:var(--navy);line-height:1.05;margin-bottom:20px}
.seo-p{font-size:15px;color:var(--text-soft);line-height:1.9;margin-bottom:16px}
.seo-p a{color:var(--red);font-weight:600}
.seo-kws{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:28px}
.skw{background:var(--white);border:1px solid var(--gray-mid);padding:6px 14px;border-radius:20px;font-size:13px;color:var(--text-soft);transition:background .2s,color .2s,border-color .2s;cursor:default}
.skw:hover{background:var(--red);color:var(--white);border-color:var(--red)}

/* ══════════════════════════════════════════════════════════
   8. BLOG STRIP
══════════════════════════════════════════════════════════ */
.blog-strip{padding:80px 0;background:var(--white)}
.blog-strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.bs-card{border-radius:6px;overflow:hidden;cursor:pointer;border:1px solid var(--gray-light);transition:transform .3s,box-shadow .3s}
.bs-card:hover{transform:translateY(-5px);box-shadow:0 14px 36px rgba(0,0,0,.09)}
.bs-img{height:180px;overflow:hidden}
.bs-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.bs-card:hover .bs-img img{transform:scale(1.06)}
.bs-body{padding:20px}
.bs-tag{font-family:var(--font-h);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.bs-title{font-family:var(--font-h);font-size:17px;font-weight:800;text-transform:uppercase;color:var(--navy);line-height:1.2;margin-bottom:8px}
.bs-meta{font-size:13px;color:var(--gray-dark)}

/* ══════════════════════════════════════════════════════════
   MOBILE FILTER PANEL
══════════════════════════════════════════════════════════ */
.filter-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:800;opacity:0;pointer-events:none;transition:opacity .3s}
.filter-overlay.open{opacity:1;pointer-events:all}
.filter-panel{
  position:fixed;left:0;top:0;bottom:0;width:300px;
  background:var(--white);z-index:801;padding:24px;overflow-y:auto;
  transform:translateX(-100%);transition:transform .4s cubic-bezier(.25,.46,.45,.94);
}
.filter-panel.open{transform:translateX(0)}
.fp-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.fp-title{font-family:var(--font-h);font-size:20px;font-weight:800;text-transform:uppercase;color:var(--navy)}
.fp-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--navy);border-radius:50%;transition:background .2s}
.fp-close:hover{background:var(--gray-light)}

/* ══════════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════════ */
.footer{background:var(--navy);padding:80px 0 0}
.footer-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:48px}
.f-logo{font-family:var(--font-h);font-size:22px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--white);margin-bottom:14px}
.f-logo em{font-style:normal;color:var(--red)}
.f-desc{font-size:14px;color:rgba(255,255,255,.4);line-height:1.7;margin-bottom:22px}
.f-social{display:flex;gap:10px}
.f-soc{width:38px;height:38px;border-radius:6px;background:rgba(255,255,255,.07);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);transition:background .25s,color .25s,transform .25s}
.f-soc:hover{background:var(--red);color:var(--white);transform:translateY(-2px)}
.f-col-title{font-family:var(--font-h);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--white);margin-bottom:18px}
.f-col ul li{margin-bottom:11px}
.f-col ul li a{font-size:13px;color:rgba(255,255,255,.4);transition:color .2s}
.f-col ul li a:hover{color:var(--red)}
.f-bottom{border-top:1px solid rgba(255,255,255,.06);margin-top:56px;max-width:var(--container);margin-left:auto;margin-right:auto;padding:22px var(--gutter);display:flex;align-items:center;justify-content:space-between}
.f-copy{font-size:13px;color:rgba(255,255,255,.28)}
.f-links{display:flex;gap:18px}
.f-links a{font-size:13px;color:rgba(255,255,255,.28);transition:color .2s}
.f-links a:hover{color:var(--red)}

/* ══════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════ */
@media(max-width:1200px){
  :root{--gutter:40px}
  .shop-layout{grid-template-columns:240px 1fr;gap:28px}
  .prod-grid{grid-template-columns:repeat(2,1fr)}
  .prod-grid.four-col{grid-template-columns:repeat(3,1fr)}
  .footer-cols{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:900px){
  .shop-layout{grid-template-columns:1fr}
  /* Filter sidebar is handled by mobile styles below - don't hide it here */
  .filter-toggle{display:flex}
  .prod-grid,.prod-grid.four-col{grid-template-columns:repeat(2,1fr)}
  .type-split{grid-template-columns:1fr}
  .promo-inner{flex-direction:column;text-align:center}
  .promo-title{font-size:clamp(24px,7vw,34px)}
  .promo-sub{font-size:15px}
  .promo-btns{display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:12px !important;justify-content:center;width:100% !important;flex-shrink:1 !important}
  .promo-btns .btn{width:100% !important;max-width:none !important;min-width:0 !important;text-align:center;justify-content:center}
  .blog-strip-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  :root{--gutter:20px}
  .seo-h{font-size:clamp(22px,6vw,30px)}
  .nav-links{display:none}
  
  /* Category nav - stick at 56px */
  .cat-quick{
    position:sticky !important;
    top:56px !important;
    z-index:998 !important;
    margin-top:0!important;
  }
  
  /* Sort bar - stick at 112px */
  .sort-bar{
    position:sticky !important;
    top:112px !important;
    z-index:997 !important;
    background:var(--white);
    border-bottom:1px solid var(--gray-light);
  }
  
  /* Single row grid - no second row needed! */
  .sort-bar-inner{
    display:grid;
    grid-template-columns:auto 1fr;
    grid-template-rows:auto;
    padding:0;
    gap:0;
    background:var(--white);
  }
  
  /* ROW 1: Filter button + product count (left column) */
  .sort-left{
    grid-column:1;
    grid-row:1;
    padding:12px 0 12px var(--gutter);
    display:flex;
    flex-direction:column;
    gap:12px;
    align-items:flex-start;
    background:var(--white);
    align-self:stretch;
  }
  
  /* ROW 1: Dropdown (right column) */
  .sort-right{
    grid-column:2;
    grid-row:1;
    padding:12px var(--gutter) 12px 0;
    display:flex!important;
    justify-content:flex-end;
    align-items:flex-start;
    background:var(--white);
    align-self:stretch;
  }
  
  /* Ensure dropdown select is aligned to top */
  .sort-right .woocommerce-ordering,
  .sort-right form,
  .sort-right select{
    margin:0 !important;
    align-self:flex-start !important;
  }
  
  /* Show filter button */
  .filter-toggle,.filter-toggle-btn{
    display:flex!important;
  }
  
  /* Show product count in sort-left */
  .sort-left .prod-count{
    display:block !important;
    margin:0 !important;
  }
  
  .active-filters{
    display:none!important;
  }
  
  /* Remove mobile-prod-count since we don't need it anymore */
  .mobile-prod-count{
    display:none !important;
  }
  
  /* Remove all pseudo-element dividers (except sort-bar-inner::after placeholder) */
  .sort-bar::before,
  .sort-bar::after,
  .sort-bar-inner::before,
  .sort-left::after,
  .sort-right::after{
    display:none !important;
  }
  
  /* Hide SORT BY label */
  .sort-right .sort-label{display:none}
  
  /* Smaller dropdown */
  .sort-select,.orderby{font-size:12px;padding:6px 28px 6px 10px}
  
  /* Product cards full width */
  .prod-grid{grid-template-columns:1fr!important;gap:24px!important}
  .prod-grid.four-col{grid-template-columns:1fr!important}
  .pc{width:100%!important;max-width:100%!important}
  
  /* Product images full width */
  .pc-img{width:100%!important;padding-bottom:100%!important}
  .pc-img img{width:100%;height:100%;object-fit:cover}
  
  /* Fix button positions */
  .pc-quick{right:16px!important;bottom:16px!important}
  .pc-add{right:16px!important;bottom:16px!important}
  .pc:hover .pc-quick{right:16px!important}
  
  /* Other adjustments */
  .blog-strip-grid{grid-template-columns:1fr}
  .footer-cols{grid-template-columns:1fr}
  .f-bottom{flex-direction:column;gap:12px;text-align:center}
}

/* ISSUE 3: Mobile filter sidebar - SLIDES FROM LEFT, FULL WIDTH, NO OVERLAY */
@media(max-width:900px){
  /* Show filter toggle button on tablet/mobile */
  .filter-toggle,.filter-toggle-btn{display:flex!important}
  
  /* Filter sidebar - SLIDES FROM LEFT, FULL WIDTH, WHITE BACKGROUND */
  aside.filter-sidebar,
  .filter-sidebar,
  #filter-sidebar{
    display:block!important;
    visibility:visible!important;
    position:fixed!important;
    left:-100%!important;
    right:auto!important;
    top:0!important;
    bottom:0!important;
    width:100%!important;
    max-width:100%!important;
    background:var(--white)!important;
    z-index:99999!important;
    overflow-y:auto!important;
    padding:80px 24px 24px!important;
    transition:left .3s ease!important;
    box-shadow:4px 0 12px rgba(0,0,0,.15)!important;
    transform:none!important;
    opacity:1!important;
  }
  
  aside.filter-sidebar.open,
  .filter-sidebar.open,
  #filter-sidebar.open{
    left:0!important;
  }
  
  /* NO dark overlay - removed completely */
  div.filter-overlay,
  .filter-overlay{
    display:none!important;
  }
  
  /* Close button - EXACTLY like cart close button */
  button.filter-close,
  .filter-close{
    background:none!important;
    border:none!important;
    width:36px!important;
    height:36px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:var(--text-soft)!important;
    cursor:pointer!important;
    transition:color .2s, background .2s!important;
    border-radius:var(--radius)!important;
    position:absolute!important;
    top:20px!important;
    right:20px!important;
    z-index:100000!important;
    visibility:visible!important;
    opacity:1!important;
    padding:0!important;
  }
  button.filter-close:hover,
  .filter-close:hover{
    background:var(--off-white)!important;
    color:var(--red)!important;
  }
  button.filter-close svg,
  .filter-close svg{
    width:24px!important;
    height:24px!important;
  }
  
  /* Product grid on tablet - 2 columns */
  .prod-grid,.prod-grid.four-col{grid-template-columns:repeat(2,1fr)}
}

@media(min-width:901px){
  .filter-overlay,.filter-close{display:none!important}
}


/* ══════════════════════════════════════════════════════════
   SHOP INTRO
══════════════════════════════════════════════════════════ */
.shop-intro{padding:80px 0;background:var(--white)}
.si-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.si-left{}
.si-title{
  font-family:var(--font-h);font-size:42px;font-weight:900;
  line-height:1.15;color:var(--navy);margin-bottom:20px;text-transform:uppercase;
}
.si-title em{color:var(--red);font-style:normal}
.si-subtitle{font-size:15px;color:var(--text-soft);line-height:1.7}
.si-right{}
.si-stats{display:flex;gap:30px}
.si-stat{
  text-align:center;padding:30px 20px;background:var(--off-white);
  border-radius:8px;flex:1;border-bottom:2px solid var(--red);
}
.si-num{
  font-family:var(--font-h);font-size:56px;font-weight:900;
  color:var(--navy);margin-bottom:12px;line-height:1;
}
.si-suffix{color:var(--red);margin-left:2px}
.si-label{
  font-family:var(--font-h);font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;color:var(--text-soft);
  margin-top:4px;
}

@media(max-width:900px){
  .shop-intro{padding:60px 0}
  .si-grid{grid-template-columns:1fr;gap:40px}
  .si-title{font-size:clamp(26px,7vw,36px)}
  .si-stats{justify-content:center}
}
@media(max-width:600px){
  .shop-intro{padding:50px 0}
  .si-title{font-size:clamp(22px,6vw,28px)}
  .si-num{font-size:42px}
  .si-stats{flex-wrap:wrap;gap:24px}
  .si-stat{flex:1 1 auto;min-width:120px}
}

/* ══════════════════════════════════════════════════════════
   USP SECTION
══════════════════════════════════════════════════════════ */
.usp-section{padding:100px 0;background:var(--off-white)}
.usp-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.usp-left{}
.usp-img{width:100%;height:auto;border-radius:8px;display:block}
.usp-right{}
.usp-features{margin-top:40px;display:flex;flex-direction:column;gap:24px}
.usp-feature{display:flex;gap:20px;align-items:flex-start;transition:all .3s ease}
.usp-num{
  width:56px;height:56px;flex-shrink:0;border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-h);font-size:18px;font-weight:700;
  background:rgba(192,57,43,.1);color:var(--red);
  transition:all .3s ease;
}
.usp-feature:hover .usp-num{background:var(--red);color:var(--white)}
.usp-content{}
.usp-title{
  font-family:var(--font-h);font-size:16px;font-weight:700;
  text-transform:uppercase;color:var(--navy);margin-bottom:8px;
}
.usp-desc{font-size:15px;color:var(--text-soft);line-height:1.7}

@media(max-width:900px){
  .usp-section{padding:80px 0}
  .usp-grid{grid-template-columns:1fr;gap:40px}
}
@media(max-width:600px){
  .usp-section{padding:60px 0}
  .usp-features{gap:20px}
}

/* Final product card action button consistency */
.pc-quick,
.pc-add{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    max-width:36px !important;
    min-height:36px !important;
    max-height:36px !important;
    border-radius:4px !important;
    box-sizing:border-box !important;
}
.pc-quick{right:18px !important;bottom:18px !important;}
@media (max-width:767px){
    .pc-quick{right:16px !important;bottom:16px !important;opacity:0 !important;transform:translateY(6px) !important;}
    .pc:hover .pc-quick,.pc:focus-within .pc-quick{opacity:1 !important;transform:translateY(0) !important;}
}


/* =========================================================
   Real Reviews shared layout (Home + Shop)
   Matches single product reviews section
   ========================================================= */
.reviews-section.ffg-product-reviews {
    padding: 90px 0 !important;
    background: #ffffff !important;
    overflow: hidden !important;
}

.reviews-section.ffg-product-reviews > .wrap,
.reviews-section.ffg-product-reviews .wrap {
    max-width: var(--container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--gutter) !important;
    padding-right: var(--gutter) !important;
    box-sizing: border-box !important;
}

.reviews-section.ffg-product-reviews .ffg-reviews-heading {
    margin-bottom: 56px !important;
    text-align: center !important;
}

.reviews-section.ffg-product-reviews .section-tag {
    display: block !important;
    margin-bottom: 14px !important;
    color: var(--red) !important;
    font-family: var(--font-h) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .35em !important;
    text-transform: uppercase !important;
}

.reviews-section.ffg-product-reviews .section-title {
    margin: 0 !important;
    color: var(--navy) !important;
    font-family: var(--font-h) !important;
    font-size: clamp(34px, 4vw, 56px) !important;
    line-height: .95 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

.reviews-section.ffg-product-reviews .section-sub {
    margin: 18px auto 0 !important;
    max-width: 720px !important;
    color: var(--text-soft) !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

.reviews-section.ffg-product-reviews .ffg-review-summary-row,
.reviews-section.ffg-product-reviews .reviews-header.ffg-review-summary-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 80px !important;
    max-width: 940px !important;
    margin: 0 auto 56px !important;
}

.reviews-section.ffg-product-reviews .rh-summary {
    min-width: 240px !important;
}

.reviews-section.ffg-product-reviews .rh-big-num {
    font-family: var(--font-h) !important;
    font-size: 86px !important;
    line-height: .9 !important;
    font-weight: 900 !important;
    color: var(--navy) !important;
}

.reviews-section.ffg-product-reviews .rh-stars {
    margin-top: 18px !important;
    color: var(--red) !important;
    font-size: 20px !important;
    letter-spacing: 4px !important;
    line-height: 1 !important;
}

.reviews-section.ffg-product-reviews .rh-total {
    margin-top: 8px !important;
    color: var(--text-soft) !important;
    font-size: 14px !important;
}

.reviews-section.ffg-product-reviews .rh-bars {
    width: 380px !important;
    max-width: 100% !important;
}

.reviews-section.ffg-product-reviews .rh-bar-row {
    display: grid !important;
    grid-template-columns: 42px 1fr 42px !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 8px !important;
}

.reviews-section.ffg-product-reviews .rh-bar-label {
    font-family: var(--font-h) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    color: var(--navy) !important;
}

.reviews-section.ffg-product-reviews .rh-bar-track {
    height: 9px !important;
    background: #ececec !important;
    border-radius: 999px !important;
    overflow: hidden !important;
}

.reviews-section.ffg-product-reviews .rh-bar-fill {
    display: block !important;
    height: 100% !important;
    background: var(--red) !important;
    border-radius: 999px !important;
}

.reviews-section.ffg-product-reviews .rh-bar-pct {
    font-size: 12px !important;
    color: var(--text-soft) !important;
    text-align: right !important;
}

.reviews-section.ffg-product-reviews .ffg-review-carousel-wrap,
.reviews-section.ffg-product-reviews .ttrack-wrap.ffg-review-carousel-wrap {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: hidden !important;
}

.reviews-section.ffg-product-reviews .ffg-review-carousel,
.reviews-section.ffg-product-reviews .ttrack.ffg-review-carousel {
    display: flex !important;
    gap: 22px !important;
    width: max-content !important;
    animation: scrollT 32s linear infinite !important;
    will-change: transform !important;
}

.reviews-section.ffg-product-reviews .ffg-review-carousel:hover,
.reviews-section.ffg-product-reviews .ttrack.ffg-review-carousel:hover {
    animation-play-state: paused !important;
}

.reviews-section.ffg-product-reviews .ffg-review-card,
.reviews-section.ffg-product-reviews .tc.ffg-review-card {
    background: #f7f7f7 !important;
    border: 1px solid var(--gray-light) !important;
    border-radius: 6px !important;
    padding: 30px !important;
    width: 390px !important;
    min-height: 240px !important;
    flex: 0 0 390px !important;
    transition: box-shadow .3s, transform .3s !important;
}

.reviews-section.ffg-product-reviews .ffg-review-card:hover,
.reviews-section.ffg-product-reviews .tc.ffg-review-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 14px 40px rgba(0,0,0,.08) !important;
}

.reviews-section.ffg-product-reviews .tc-stars-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 16px !important;
}

.reviews-section.ffg-product-reviews .tc-stars {
    color: var(--red) !important;
    font-size: 15px !important;
    letter-spacing: 3px !important;
    line-height: 1 !important;
}

.reviews-section.ffg-product-reviews .tc-verified {
    color: #22a33b !important;
    font-family: var(--font-h) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.reviews-section.ffg-product-reviews .tc-text {
    color: var(--text-soft) !important;
    font-size: 15px !important;
    font-style: italic !important;
    line-height: 1.75 !important;
    margin: 0 0 22px !important;
}

.reviews-section.ffg-product-reviews .tc-author {
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
}

.reviews-section.ffg-product-reviews .tc-av {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    background: var(--gray-mid) !important;
    overflow: hidden !important;
    flex: 0 0 44px !important;
}

.reviews-section.ffg-product-reviews .tc-av img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.reviews-section.ffg-product-reviews .tc-name {
    font-family: var(--font-h) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    color: var(--navy) !important;
}

.reviews-section.ffg-product-reviews .tc-role {
    color: var(--gray-dark) !important;
    font-size: 12px !important;
    margin-top: 2px !important;
}

@media (max-width: 768px) {
    .reviews-section.ffg-product-reviews {
        padding: 60px 0 !important;
    }

    .reviews-section.ffg-product-reviews .ffg-review-summary-row,
    .reviews-section.ffg-product-reviews .reviews-header.ffg-review-summary-row {
        display: flex !important;
        flex-direction: column !important;
        gap: 34px !important;
        max-width: 100% !important;
        text-align: center !important;
        margin-bottom: 42px !important;
    }

    .reviews-section.ffg-product-reviews .rh-summary {
        min-width: 0 !important;
        width: 100% !important;
        text-align: center !important;
    }

    .reviews-section.ffg-product-reviews .rh-big-num {
        font-size: 68px !important;
    }

    .reviews-section.ffg-product-reviews .rh-bars {
        width: 100% !important;
        max-width: 360px !important;
        margin: 0 auto !important;
    }

    .reviews-section.ffg-product-reviews .ffg-review-card,
    .reviews-section.ffg-product-reviews .tc.ffg-review-card {
        width: 320px !important;
        flex-basis: 320px !important;
        min-height: 230px !important;
        padding: 26px !important;
    }
}

/* FFG Fix: make shop/archive product cards match homepage cards exactly */
.woocommerce .prod-grid .pc,
.woocommerce-page .prod-grid .pc,
.archive.woocommerce .prod-grid .pc,
.post-type-archive-product .prod-grid .pc,
.tax-product_cat .prod-grid .pc {
    background: var(--off-white) !important;
    border: 0 !important;
    max-width: none !important;
    width: 100% !important;
    overflow: hidden !important;
}

.woocommerce .prod-grid .pc-img,
.woocommerce-page .prod-grid .pc-img,
.archive.woocommerce .prod-grid .pc-img,
.post-type-archive-product .prod-grid .pc-img,
.tax-product_cat .prod-grid .pc-img {
    position: relative !important;
    width: 100% !important;
    height: 280px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: var(--off-white) !important;
}

.woocommerce .prod-grid .pc-img > a,
.woocommerce-page .prod-grid .pc-img > a,
.archive.woocommerce .prod-grid .pc-img > a,
.post-type-archive-product .prod-grid .pc-img > a,
.tax-product_cat .prod-grid .pc-img > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.woocommerce .prod-grid .pc-img img,
.woocommerce-page .prod-grid .pc-img img,
.archive.woocommerce .prod-grid .pc-img img,
.post-type-archive-product .prod-grid .pc-img img,
.tax-product_cat .prod-grid .pc-img img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    margin: 0 !important;
}

/* Final fix: center the quick-view eye icon inside product cards */
.pc .pc-quick,
a.pc-quick {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    padding: 0 !important;
    text-align: center !important;
}

.pc .pc-quick svg,
a.pc-quick svg {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    flex: 0 0 auto !important;
}

/* FFG Final Fix: keep shop/archive quick-view eye button centered (override generic .pc-img > a full-size image link rule) */
.woocommerce .prod-grid .pc-img > a.pc-quick,
.woocommerce-page .prod-grid .pc-img > a.pc-quick,
.archive.woocommerce .prod-grid .pc-img > a.pc-quick,
.post-type-archive-product .prod-grid .pc-img > a.pc-quick,
.tax-product_cat .prod-grid .pc-img > a.pc-quick,
.pc-img > a.pc-quick {
    position: absolute !important;
    right: 18px !important;
    bottom: 18px !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    max-width: 36px !important;
    max-height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.woocommerce .prod-grid .pc-img > a.pc-quick svg,
.woocommerce-page .prod-grid .pc-img > a.pc-quick svg,
.archive.woocommerce .prod-grid .pc-img > a.pc-quick svg,
.post-type-archive-product .prod-grid .pc-img > a.pc-quick svg,
.tax-product_cat .prod-grid .pc-img > a.pc-quick svg,
.pc-img > a.pc-quick svg {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    flex: 0 0 16px !important;
}


/* FFG Final Fix: make product category/archive card images fill the full card width */
.prod-grid .pc .pc-img,
.woocommerce .products .pc .pc-img,
.woocommerce-page .products .pc .pc-img,
.archive.woocommerce .products .pc .pc-img,
.tax-product_cat .products .pc .pc-img,
.tax-product_tag .products .pc .pc-img,
.tax-product_cat .prod-grid .pc .pc-img,
.tax-product_tag .prod-grid .pc .pc-img {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 280px !important;
    max-width: none !important;
    padding: 0 !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    background: var(--off-white) !important;
}

.prod-grid .pc .pc-img > a:not(.pc-quick),
.woocommerce .products .pc .pc-img > a:not(.pc-quick),
.woocommerce-page .products .pc .pc-img > a:not(.pc-quick),
.archive.woocommerce .products .pc .pc-img > a:not(.pc-quick),
.tax-product_cat .products .pc .pc-img > a:not(.pc-quick),
.tax-product_tag .products .pc .pc-img > a:not(.pc-quick),
.tax-product_cat .prod-grid .pc .pc-img > a:not(.pc-quick),
.tax-product_tag .prod-grid .pc .pc-img > a:not(.pc-quick) {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.prod-grid .pc .pc-img img,
.woocommerce .products .pc .pc-img img,
.woocommerce-page .products .pc .pc-img img,
.archive.woocommerce .products .pc .pc-img img,
.tax-product_cat .products .pc .pc-img img,
.tax-product_tag .products .pc .pc-img img,
.tax-product_cat .prod-grid .pc .pc-img img,
.tax-product_tag .prod-grid .pc .pc-img img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 700px) {
    .prod-grid .pc .pc-img,
    .woocommerce .products .pc .pc-img,
    .woocommerce-page .products .pc .pc-img,
    .archive.woocommerce .products .pc .pc-img,
    .tax-product_cat .products .pc .pc-img,
    .tax-product_tag .products .pc .pc-img,
    .tax-product_cat .prod-grid .pc .pc-img,
    .tax-product_tag .prod-grid .pc .pc-img {
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
    }
}


/* FFG Fix: product category archive cards - force image to fill full card like homepage */
.shop-layout .pc .pc-img,
.woocommerce .shop-layout .pc .pc-img,
.woocommerce-page .shop-layout .pc .pc-img,
.archive.woocommerce .shop-layout .pc .pc-img,
.post-type-archive-product .shop-layout .pc .pc-img,
.tax-product_cat .shop-layout .pc .pc-img,
.tax-product_tag .shop-layout .pc .pc-img {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 280px !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: var(--off-white) !important;
    aspect-ratio: auto !important;
}

.shop-layout .pc .pc-img > a:not(.pc-quick),
.woocommerce .shop-layout .pc .pc-img > a:not(.pc-quick),
.woocommerce-page .shop-layout .pc .pc-img > a:not(.pc-quick),
.archive.woocommerce .shop-layout .pc .pc-img > a:not(.pc-quick),
.post-type-archive-product .shop-layout .pc .pc-img > a:not(.pc-quick),
.tax-product_cat .shop-layout .pc .pc-img > a:not(.pc-quick),
.tax-product_tag .shop-layout .pc .pc-img > a:not(.pc-quick) {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.shop-layout .pc .pc-img > a:not(.pc-quick) img,
.woocommerce .shop-layout .pc .pc-img > a:not(.pc-quick) img,
.woocommerce-page .shop-layout .pc .pc-img > a:not(.pc-quick) img,
.archive.woocommerce .shop-layout .pc .pc-img > a:not(.pc-quick) img,
.post-type-archive-product .shop-layout .pc .pc-img > a:not(.pc-quick) img,
.tax-product_cat .shop-layout .pc .pc-img > a:not(.pc-quick) img,
.tax-product_tag .shop-layout .pc .pc-img > a:not(.pc-quick) img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 700px) {
    .shop-layout .pc .pc-img,
    .woocommerce .shop-layout .pc .pc-img,
    .woocommerce-page .shop-layout .pc .pc-img,
    .archive.woocommerce .shop-layout .pc .pc-img,
    .post-type-archive-product .shop-layout .pc .pc-img,
    .tax-product_cat .shop-layout .pc .pc-img,
    .tax-product_tag .shop-layout .pc .pc-img {
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
    }
}
