/*
Theme Name: B Care Shop
Theme URI: https://bcareshop.com/
Author: B Care Shop
Author URI: https://bcareshop.com/
Description: Custom WooCommerce theme for B Care Shop — herbs, seeds, herbal medicines and daily life accessories.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
WC requires at least: 8.0
WC tested up to: 9.0
Text Domain: bcare-shop
*/



:root{
  --red: #C60800;
  --red-dark: #940600;
  --cream: #FDF7EE;
  --cream-2: #FBF1E2;
  --ink: #2B2620;
  --ink-soft: #6b6459;
  --line: #ece3d4;
  --gold: #F5A623;
  --blue-bg: #EAF2F6;
  --white: #ffffff;
  --radius: 10px;
  --shadow: 0 6px 18px rgba(43,38,32,.08);
  --maxw: 1240px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body{
  margin:0;
  font-family:'Poppins', Arial, Helvetica, sans-serif;
  color:var(--ink);
  background:var(--white);
  font-size:15px;
  line-height:1.5;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
.container{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 22px; border-radius:999px; border:1.5px solid var(--red);
  background:var(--red); color:#fff; font-size:13px; font-weight:600;
  letter-spacing:.2px; transition:.2s ease; white-space:nowrap;
}
.btn:hover{ background:var(--red-dark); border-color:var(--red-dark); }
.btn-outline{ background:transparent; color:var(--red); }
.btn-outline:hover{ background:var(--red); color:#fff; }
.btn-sm{ padding:7px 16px; font-size:12px; }
.btn-block{ width:100%; }

.section-title{
  text-align:center; font-size:28px; font-weight:700; margin:0 0 32px;
  letter-spacing:.3px;
}

/* =========================================================
   TOP UTILITY BAR
   ========================================================= */
.topbar{
  background:var(--ink); color:#fff; font-size:12px;
}
.topbar .container{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:8px; padding-bottom:8px; gap:12px;
}
.topbar-social{ display:flex; align-items:center; gap:12px; }
.topbar-social a{ opacity:.85; font-size:13px; }
.topbar-social a:hover{ opacity:1; }
.topbar-msg{ flex:1; text-align:center; font-weight:500; letter-spacing:.2px; }
.topbar-msg b{ color:var(--gold); }
.topbar-lang{ display:flex; align-items:center; gap:4px; opacity:.9; }

/* =========================================================
   HEADER
   ========================================================= */
.site-header{ background:#fff; border-bottom:1px solid var(--line); }
.header-main{
  display:flex; align-items:center; gap:28px;
  padding:18px 0;
}
.logo{
  font-size:24px; font-weight:800; color:var(--red); line-height:1.15;
  display:flex; flex-direction:column; align-items:flex-start; gap:2px; letter-spacing:.3px;
  flex-shrink:0;
}
.logo span{ color:var(--ink-soft); font-weight:500; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; display:block; }
.header-search{
  flex:1; display:flex; align-items:center;
  border:1.5px solid var(--line); border-radius:999px; padding:9px 18px;
  max-width:460px; gap:10px; color:var(--ink-soft);
}
.header-search input{
  border:0; outline:0; flex:1; font-size:13px; background:transparent; font-family:inherit;
}
.header-actions{ display:flex; align-items:center; gap:22px; margin-left:auto; }
.header-icon-link{ display:flex; flex-direction:column; align-items:center; font-size:11px; gap:3px; color:var(--ink); }
.header-icon-link i{ font-size:18px; }
.header-cart{
  display:flex; align-items:center; gap:8px; background:var(--red); color:#fff;
  padding:9px 18px; border-radius:999px; font-size:13px; font-weight:600; position:relative;
}
.cart-count-badge{
  position:absolute; top:-6px; right:-6px; min-width:18px; height:18px; border-radius:999px;
  background:var(--ink); color:#fff; font-size:10px; font-weight:700; display:flex;
  align-items:center; justify-content:center; padding:0 4px; border:2px solid #fff;
}

.mobile-menu-toggle{
  display:none; border:0; background:none; font-size:19px; color:var(--ink);
  padding:6px; margin-right:2px; flex-shrink:0;
}

/* =========================================================
   MOBILE NAV DRAWER
   ========================================================= */
.mobile-nav-overlay{
  position:fixed; inset:0; background:rgba(20,15,10,.45); z-index:95; opacity:0; pointer-events:none;
  transition:opacity .25s ease;
}
.mobile-nav-overlay.open{ opacity:1; pointer-events:auto; }

.mobile-nav{
  position:fixed; top:0; left:0; bottom:0; width:320px; max-width:85vw; background:#fff; z-index:96;
  display:flex; flex-direction:column; transform:translateX(-100%); transition:transform .3s ease;
  box-shadow:8px 0 30px rgba(0,0,0,.15); overflow-y:auto;
}
.mobile-nav.open{ transform:translateX(0); }

.mobile-nav-head{
  display:flex; align-items:center; justify-content:space-between; padding:18px 20px;
  border-bottom:1px solid var(--line); flex-shrink:0;
}
.mobile-nav-logo{ font-size:19px; font-weight:800; color:var(--red); }
.mobile-nav-close{
  width:32px; height:32px; border-radius:50%; border:1px solid var(--line); background:#fff;
  color:var(--ink-soft); display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.mobile-nav-close:hover{ border-color:var(--red); color:var(--red); }

.mobile-nav-search{
  display:flex; align-items:center; gap:10px; margin:16px 20px; padding:10px 16px;
  border:1.5px solid var(--line); border-radius:999px; color:var(--ink-soft); flex-shrink:0;
}
.mobile-nav-search input{ border:0; outline:0; flex:1; font-size:13px; font-family:inherit; background:transparent; }

.mobile-nav-links{ display:flex; flex-direction:column; padding:6px 8px; }
.mobile-nav-links > a{
  padding:13px 12px; font-size:14.5px; font-weight:600; border-radius:8px;
}
.mobile-nav-links > a:hover{ background:var(--cream); color:var(--red); }

.mobile-nav-group-head{
  width:100%; display:flex; align-items:center; justify-content:space-between; border:0; background:none;
  padding:13px 12px; font-size:14.5px; font-weight:600; color:var(--ink); border-radius:8px;
}
.mobile-nav-group-head i{ font-size:11px; color:var(--ink-soft); transition:.2s; }
.mobile-nav-group.open .mobile-nav-group-head i{ transform:rotate(180deg); }
.mobile-nav-group-body{ display:none; flex-direction:column; padding-left:14px; }
.mobile-nav-group.open .mobile-nav-group-body{ display:flex; }
.mobile-nav-group-body a{ padding:11px 12px; font-size:13.5px; color:var(--ink-soft); border-radius:8px; }
.mobile-nav-group-body a:hover{ background:var(--cream); color:var(--red); }

.mobile-nav-footer{
  margin-top:auto; padding:16px 20px 24px; border-top:1px solid var(--line); display:flex;
  flex-direction:column; gap:4px; flex-shrink:0;
}
.mobile-nav-footer > a{
  display:flex; align-items:center; gap:10px; padding:10px 4px; font-size:13.5px; font-weight:600; color:var(--ink);
}
.mobile-nav-footer > a i{ width:16px; text-align:center; color:var(--red); }
.mobile-nav-contact{ margin-top:10px; display:flex; flex-direction:column; gap:8px; }
.mobile-nav-contact span{ display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--ink-soft); }
.mobile-nav-contact i{ color:var(--red); width:14px; text-align:center; }

/* =========================================================
   MINI CART DRAWER
   ========================================================= */
.cart-drawer-overlay{
  position:fixed; inset:0; background:rgba(20,15,10,.45); z-index:90; opacity:0; pointer-events:none;
  transition:opacity .25s ease;
}
.cart-drawer-overlay.open{ opacity:1; pointer-events:auto; }

.cart-drawer{
  position:fixed; top:0; right:0; bottom:0; width:400px; max-width:90vw; background:#fff; z-index:91;
  display:flex; flex-direction:column; transform:translateX(100%); transition:transform .3s ease;
  box-shadow:-8px 0 30px rgba(0,0,0,.15);
}
.cart-drawer.open{ transform:translateX(0); }

.cart-drawer-head{
  display:flex; align-items:center; justify-content:space-between; padding:20px 22px;
  border-bottom:1px solid var(--line);
}
.cart-drawer-head h3{ font-size:16px; font-weight:700; margin:0; }
.cart-drawer-close{
  width:32px; height:32px; border-radius:50%; border:1px solid var(--line); background:#fff;
  color:var(--ink-soft); display:flex; align-items:center; justify-content:center;
}
.cart-drawer-close:hover{ border-color:var(--red); color:var(--red); }

.cart-drawer-items{ flex:1; overflow-y:auto; padding:10px 22px; }
.cart-drawer-empty{ text-align:center; padding:60px 10px; color:var(--ink-soft); }
.cart-drawer-empty i{ font-size:36px; opacity:.4; margin-bottom:14px; display:block; }
.cart-drawer-empty p{ margin:0 0 18px; font-size:13px; }

.drawer-item{
  display:flex; align-items:center; gap:14px; padding:16px 0; border-bottom:1px solid var(--line);
}
.drawer-item-thumb{
  width:56px; height:56px; border-radius:8px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  font-size:24px;
}
.drawer-item-info{ flex:1; min-width:0; }
.drawer-item-name{ font-size:13px; font-weight:600; margin-bottom:2px; }
.drawer-item-meta{ font-size:12px; color:var(--ink-soft); }
.drawer-item-remove{
  border:0; background:none; color:var(--ink-soft); font-size:13px; flex-shrink:0; width:26px; height:26px;
  border-radius:50%; display:flex; align-items:center; justify-content:center;
}
.drawer-item-remove:hover{ color:var(--red); background:var(--cream); }

.cart-drawer-footer{ padding:18px 22px 22px; border-top:1px solid var(--line); }
.cart-drawer-subtotal{
  display:flex; justify-content:space-between; font-size:14px; font-weight:700; margin-bottom:16px;
}

.header-nav{ border-top:1px solid var(--line); }
.header-nav .container{ display:flex; align-items:center; justify-content:space-between; }
.nav-menu{ display:flex; gap:34px; }
.nav-menu a{
  display:block; padding:14px 0; font-size:14px; font-weight:600; position:relative;
}
.nav-menu a:hover, .nav-menu a.active{ color:var(--red); }
.nav-menu a.active::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--red);
}
.header-contact{ display:flex; gap:22px; font-size:12.5px; color:var(--ink-soft); }
.header-contact span{ display:flex; align-items:center; gap:6px; }

/* Nav dropdown (Products category menu) */
.nav-dropdown{ position:relative; display:flex; align-items:center; gap:4px; }
.nav-dropdown-toggle{
  border:0; background:none; padding:14px 2px; color:var(--ink-soft); font-size:10px;
  display:flex; align-items:center;
}
.nav-dropdown-toggle:hover{ color:var(--red); }
.dropdown-menu{
  position:absolute; top:100%; left:0; min-width:220px; background:#fff; border:1px solid var(--line);
  border-radius:10px; box-shadow:var(--shadow); padding:8px; margin:0; z-index:50;
  opacity:0; visibility:hidden; transform:translateY(8px); transition:.18s ease;
}
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown.open .dropdown-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.dropdown-menu li a{
  display:block; padding:10px 14px; font-size:13px; font-weight:500; border-radius:6px; white-space:nowrap;
}
.dropdown-menu li a:hover{ background:var(--cream); color:var(--red); }

/* =========================================================
   HERO SLIDER
   ========================================================= */
.hero-slider{
  position:relative; width:100%; aspect-ratio:16/5; overflow:hidden;
  transition:height .4s ease;
}
.hero-slide{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity .7s ease;
}
.hero-slide.active{ opacity:1; }
.slide-1{ background:linear-gradient(120deg,#3a2a1e,#5b4128 55%,#7a5a34); }
.slide-2{ background:linear-gradient(120deg,#1e3a2a,#41654a 55%,#5a8768); }
.slide-3{ background:linear-gradient(120deg,#3a2a1e,#8a6a3a 55%,#c79a4a); }
.hero-slide .placeholder-tag{
  color:rgba(255,255,255,.65); font-size:13px; letter-spacing:.5px;
}
.hero-slide img{ width:100%; height:100%; object-fit:cover; display:block; }
.hero-slide-link{ display:block; width:100%; height:100%; }
.slider-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:42px; height:42px; border-radius:50%; border:0; background:rgba(255,255,255,.85);
  color:var(--ink); display:flex; align-items:center; justify-content:center; font-size:15px;
  transition:.2s;
}
.slider-arrow:hover{ background:#fff; }
.slider-arrow.prev{ left:18px; }
.slider-arrow.next{ right:18px; }
.slider-dots{
  position:absolute; bottom:18px; left:50%; transform:translateX(-50%); z-index:5;
  display:flex; gap:8px;
}
.dot{
  width:9px; height:9px; border-radius:5px; border:0; padding:0; background:rgba(255,255,255,.5);
  transition:.2s;
}
.dot.active{ width:24px; background:#fff; }

/* Marquee ticker */
.ticker{
  background:var(--red); color:#fff; overflow:hidden; white-space:nowrap; position:relative;
  border-top:1px solid rgba(255,255,255,.2); border-bottom:1px solid rgba(255,255,255,.2);
}
.ticker-track{
  display:inline-flex; align-items:center; gap:48px; padding:11px 0;
  animation:scroll-left 26s linear infinite;
}
.ticker-track span{ font-size:13px; font-weight:600; letter-spacing:.3px; display:inline-flex; align-items:center; gap:10px; }
.ticker-track span::before{ content:"●"; font-size:8px; color:#f3c98a; }
@keyframes scroll-left{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}

/* =========================================================
   TRUST / USP BAR
   ========================================================= */
.usp-bar{ background:#fff; border-bottom:1px solid var(--line); padding:28px 0; }
.usp-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.usp-item{ display:flex; align-items:center; gap:14px; }
.usp-item i{ font-size:26px; color:var(--red); flex-shrink:0; width:34px; text-align:center; }
.usp-item h4{ font-size:13.5px; margin:0 0 2px; font-weight:700; }
.usp-item p{ font-size:11.5px; color:var(--ink-soft); margin:0; }

/* =========================================================
   STATS
   ========================================================= */
.stats-section{ background:linear-gradient(120deg,#3a2a1e,#5b4128 55%,#7a5a34); padding:46px 0; }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; }
.stat-item{ color:#fff; display:flex; flex-direction:column; gap:4px; }
.stat-num{ font-size:32px; font-weight:800; color:#f3c98a; }
.stat-label{ font-size:12px; letter-spacing:.5px; text-transform:uppercase; opacity:.85; }

/* =========================================================
   PROMO BANNER (Herbal Drinks etc.)
   ========================================================= */
.promo-banner{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.promo-media{
  aspect-ratio:4/3; border-radius:16px; background:linear-gradient(135deg,#eaf5ea,#c9e3c2);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; position:relative;
}
.promo-media .ic{ font-size:90px; }
.promo-text h2{ font-size:28px; font-weight:800; margin:8px 0 14px; line-height:1.25; }
.promo-text p{ color:var(--ink-soft); line-height:1.8; margin-bottom:22px; }

/* =========================================================
   TESTIMONIALS
   ========================================================= */
.testimonial-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.testimonial-card{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:26px; }
.testimonial-card .stars{ margin-bottom:14px; }
.testimonial-card p{ color:var(--ink-soft); font-size:13.5px; line-height:1.7; font-style:italic; margin:0 0 20px; }
.testimonial-author{ display:flex; align-items:center; gap:12px; }
.testimonial-avatar{
  width:38px; height:38px; border-radius:50%; background:var(--cream); color:var(--red);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex-shrink:0;
}
.testimonial-author b{ display:block; font-size:13px; }
.testimonial-author span{ font-size:11.5px; color:var(--ink-soft); }

/* =========================================================
   INTRO
   ========================================================= */
.intro-inner{
  display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;
}
.kicker-dark{
  font-size:13px; letter-spacing:3px; text-transform:uppercase; color:var(--red); font-weight:700;
  margin-bottom:8px;
}
.intro-text h2{ font-size:34px; line-height:1.2; font-weight:800; margin:0 0 18px; }
.intro-text p{ color:var(--ink-soft); line-height:1.8; margin-bottom:26px; }
.intro-media{
  aspect-ratio:4/3; border-radius:16px; background:linear-gradient(135deg,#eaf5ea,#c9e3c2);
  display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
}
.intro-media .ic{ font-size:100px; }
.intro-media .placeholder-tag{ position:absolute; bottom:14px; }
.intro-media img{ width:100%; height:100%; object-fit:cover; }

/* =========================================================
   CATEGORIES (square boxes)
   ========================================================= */
.category-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:22px;
}
.category-box{
  position:relative; aspect-ratio:1/1; border-radius:var(--radius); overflow:hidden;
  display:flex; align-items:center; justify-content:center; transition:.2s ease;
}
.category-box:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.category-icon{ font-size:64px; opacity:.85; }
.category-box-bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;
}
.category-dark-overlay{
  position:absolute; inset:0; background:rgba(0,0,0,.38); z-index:1;
}
.category-overlay{
  position:absolute; top:0; left:0; right:0; padding:18px 16px 26px;
  background:linear-gradient(to bottom, rgba(0,0,0,.55), rgba(0,0,0,0));
  color:#fff; text-align:left; z-index:2;
}
.category-overlay h3{ margin:0 0 6px; font-size:17px; font-weight:700; }
.category-overlay p{ margin:0; font-size:12px; line-height:1.5; opacity:.92; }
.cb-herbs{ background:linear-gradient(135deg,#dcefd6,#a9d59a); }
.cb-seeds{ background:linear-gradient(135deg,#f1e2bd,#dcb772); }
.cb-medicine{ background:linear-gradient(135deg,#d7e6f2,#9fc2dd); }
.cb-accessory{ background:linear-gradient(135deg,#f0d9e4,#dba6c1); }

/* =========================================================
   PRODUCT GRID (Featured Collection / Deals)
   ========================================================= */
.section{ padding:56px 0; }
.section.alt{ background:var(--cream); }

.product-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:22px;
}
.product-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; position:relative; transition:.2s; display:flex; flex-direction:column;
}
.product-card:hover{ box-shadow:var(--shadow); transform:translateY(-3px); }
.badge{
  position:absolute; top:12px; left:12px; background:var(--red); color:#fff;
  font-size:11px; font-weight:700; padding:4px 9px; border-radius:6px; z-index:2;
}
.wishlist{
  position:absolute; top:10px; right:10px; width:30px; height:30px; border-radius:50%;
  background:#fff; border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  font-size:13px; z-index:2; color:var(--ink-soft);
}
.product-media{
  aspect-ratio:1/1; display:flex; align-items:center; justify-content:center;
  font-size:44px; position:relative;
}
.pm-herb{ background:linear-gradient(135deg,#eaf5ea,#cfe8cf); }
.pm-seed{ background:linear-gradient(135deg,#f6ecd9,#ecd7ad); }
.pm-medicine{ background:linear-gradient(135deg,#eaf0f6,#cfe0ee); }
.pm-accessory{ background:linear-gradient(135deg,#f6eaf0,#eecfe0); }
.product-media .placeholder-tag{
  position:absolute; bottom:8px; font-size:10px; color:var(--ink-soft); opacity:.7; letter-spacing:.5px;
}
.product-body{ padding:14px 16px 18px; display:flex; flex-direction:column; gap:6px; flex:1; }
.product-title{ font-size:14px; font-weight:600; min-height:36px; }
.stars{ color:var(--gold); font-size:12px; }
.stars span{ color:var(--ink-soft); margin-left:4px; }
.price-row{ display:flex; align-items:baseline; gap:8px; font-weight:700; }
.price-row .old{ text-decoration:line-through; color:var(--ink-soft); font-weight:400; font-size:12px; }
.price-row .new{ color:var(--ink); font-size:15px; }
.sold-out{ color:var(--ink-soft); font-size:12px; font-weight:600; }

.view-all-wrap{ text-align:center; margin-top:34px; }


/* Deals grid: 5 items wrap 4+1 */
.deal-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.deal-card{
  border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff;
  display:flex; flex-direction:column;
}
.deal-media{
  aspect-ratio:4/3; background:linear-gradient(135deg,#3a2a1e,#7a5a34); position:relative;
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:40px;
}
.deal-media .badge{ background:var(--gold); color:#3a2a1e; }
.deal-body{ padding:14px 16px 18px; }

/* =========================================================
   PRODUCT SPOTLIGHT (Ghee -> Ashwagandha style spotlight)
   ========================================================= */
.spotlight{
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;
}
.spotlight-text h3{ font-size:26px; margin:6px 0 14px; font-weight:800; }
.spotlight-text p{ color:var(--ink-soft); line-height:1.7; margin-bottom:20px; }
.spotlight-features{ list-style:none; margin:0 0 26px; padding:0; display:flex; flex-direction:column; gap:11px; }
.spotlight-features li{ display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--ink-soft); }
.spotlight-features i{ color:#1e8e4c; font-size:15px; }
.spotlight-gallery{ display:flex; gap:16px; }
.spotlight-gallery .product-card{ flex:1; min-width:0; }
.spotlight-thumb{
  aspect-ratio:1/1; border-radius:var(--radius) var(--radius) 0 0; background:linear-gradient(135deg,#eaf0e6,#c9dfc2);
  display:flex; align-items:center; justify-content:center; font-size:70px;
}

/* =========================================================
   EMPIRE / STORY VIDEO BANNER
   ========================================================= */
.empire{
  position:relative; background:linear-gradient(135deg,#241a12,#4a3521);
  color:#fff; text-align:center; padding:0; display: none !important;
}
.empire-media{
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#2a1e14,#5b4128); position:relative; padding:100px 20px;
}
.empire-overlay{
  display:flex; flex-direction:column; align-items:center; gap:16px; max-width:600px; position:relative; z-index:2;
}
.empire-overlay h2{ font-size:30px; font-weight:800; margin:0; }
.empire-overlay p{ font-size:14px; opacity:.85; line-height:1.7; margin:0; }
.empire-link{
  color:#f3c98a; font-size:13px; font-weight:600; display:inline-flex; align-items:center; gap:8px;
}
.empire-link:hover{ text-decoration:underline; }
.play-btn{
  width:78px; height:78px; border-radius:50%; background:rgba(255,255,255,.92);
  color:var(--red); display:flex; align-items:center; justify-content:center; font-size:26px;
  border:0; box-shadow:0 8px 24px rgba(0,0,0,.35);
}

/* =========================================================
   BREADCRUMB
   ========================================================= */
.breadcrumb-bar{ background:var(--cream); border-bottom:1px solid var(--line); }
.breadcrumb{
  display:flex; align-items:center; gap:10px; padding:14px 0; font-size:12.5px; color:var(--ink-soft);
}
.breadcrumb a:hover{ color:var(--red); }
.breadcrumb i{ font-size:9px; opacity:.6; }
.breadcrumb span{ color:var(--ink); font-weight:600; }

/* =========================================================
   PRODUCT PAGE — gallery + info
   ========================================================= */
.product-main-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;
}
.product-gallery{ position:sticky; top:24px; }
.gallery-main{
  aspect-ratio:1/1; border-radius:var(--radius); display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:10px; position:relative;
}
.gallery-icon{ font-size:100px; }
.gallery-main .placeholder-tag{ position:absolute; bottom:14px; font-size:11px; color:var(--ink-soft); opacity:.7; }
.gallery-thumbs{ display:flex; gap:12px; margin-top:14px; flex-wrap:wrap; }
.gallery-thumb{
  width:74px; height:74px; border-radius:8px; border:2px solid transparent; font-size:26px;
  display:flex; align-items:center; justify-content:center; opacity:.7; transition:.2s;
}
.gallery-thumb.active, .gallery-thumb:hover{ border-color:var(--red); opacity:1; }

.product-cat-tag{
  display:inline-block; color:var(--red); font-size:12px; font-weight:700; text-transform:uppercase;
  letter-spacing:1px; margin-bottom:8px;
}
.product-title-lg{ font-size:30px; font-weight:800; margin:0 0 10px; line-height:1.25; }
.product-info .stars{ font-size:14px; margin-bottom:14px; }
.product-info .stars span a{ color:var(--ink-soft); font-weight:500; text-decoration:underline; }
.price-row-lg{ font-size:16px; margin-bottom:18px; gap:12px; }
.price-row-lg .old{ font-size:16px; }
.price-row-lg .new{ font-size:24px; }
.badge-static{ position:static; }
.product-desc{ color:var(--ink-soft); line-height:1.8; margin-bottom:22px; }

.variant-group{ margin-bottom:18px; }
.variant-label{ font-size:13px; color:var(--ink-soft); margin-bottom:8px; }
.variant-label b{ color:var(--ink); }
.variant-options{ display:flex; gap:10px; flex-wrap:wrap; }
.variant-pill{
  padding:9px 18px; border-radius:8px; border:1.5px solid var(--line); background:#fff;
  font-size:13px; font-weight:600; transition:.2s;
}
.variant-pill.active, .variant-pill:hover{ border-color:var(--red); color:var(--red); }

.stock-status{
  display:flex; align-items:center; gap:8px; color:#1e8e4c; font-size:13px; font-weight:600;
  margin-bottom:20px;
}
.stock-status i{ font-size:8px; }

.buy-row{ display:flex; gap:14px; }
.qty-stepper{
  display:flex; align-items:center; border:1.5px solid var(--line); border-radius:8px; overflow:hidden; flex-shrink:0;
}
.qty-stepper button{
  width:40px; height:44px; border:0; background:#fff; font-size:16px; font-weight:700; color:var(--ink);
}
.qty-stepper button:hover{ background:var(--cream); color:var(--red); }
.qty-input{
  width:44px; height:44px; border:0; border-left:1.5px solid var(--line); border-right:1.5px solid var(--line);
  text-align:center; font-size:14px; font-weight:600; font-family:inherit;
}
.qty-add{ flex:1; border-radius:8px; }
.btn-block.btn-outline{ border-radius:8px; }

.trust-badges{
  display:flex; flex-direction:column; gap:10px; margin:26px 0 18px; padding:18px;
  background:var(--cream); border-radius:var(--radius);
}
.trust-item{ display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600; }
.trust-item i{ color:var(--red); width:16px; text-align:center; }

.share-row{ display:flex; align-items:center; gap:12px; font-size:13px; color:var(--ink-soft); }
.share-row a{
  width:30px; height:30px; border-radius:50%; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; font-size:12px; color:var(--ink);
}
.share-row a:hover{ border-color:var(--red); color:var(--red); }

/* =========================================================
   PRODUCT PAGE — tabs
   ========================================================= */
.tabs-bar{ display:flex; gap:8px; justify-content:center; margin-bottom:28px; flex-wrap:wrap; }
.tab-btn{
  padding:11px 22px; border-radius:999px; border:1.5px solid var(--line); background:#fff;
  font-size:13px; font-weight:600; color:var(--ink-soft); transition:.2s;
}
.tab-btn.active, .tab-btn:hover{ border-color:var(--red); color:var(--red); }
.tab-panel{ display:none; max-width:720px; margin:0 auto; background:#fff; border-radius:var(--radius); padding:32px; }
.tab-panel.active{ display:block; }
.tab-panel h4{ font-size:14px; text-transform:uppercase; letter-spacing:.5px; margin:20px 0 10px; }
.tab-panel h4:first-child{ margin-top:0; }
.tab-panel ul{ margin:0 0 4px; padding-left:20px; list-style:disc; color:var(--ink-soft); }
.tab-panel li{ margin-bottom:6px; font-size:13.5px; line-height:1.6; }

/* =========================================================
   PRODUCT PAGE — reviews
   ========================================================= */
.reviews-head{
  display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:26px;
}
.reviews-summary{ display:flex; align-items:center; gap:14px; }
.reviews-score{ font-size:42px; font-weight:800; line-height:1; }
.reviews-count{ font-size:12.5px; color:var(--ink-soft); }

.rating-bars{ max-width:420px; margin:0 auto 40px; display:flex; flex-direction:column; gap:8px; }
.rating-bar-row{ display:grid; grid-template-columns:52px 1fr 24px; align-items:center; gap:10px; font-size:12.5px; color:var(--ink-soft); }
.rating-bar-row .bar{ height:8px; border-radius:4px; background:var(--line); overflow:hidden; }
.rating-bar-row .bar i{ display:block; height:100%; background:var(--gold); border-radius:4px; }

.review-list{ max-width:720px; margin:0 auto; display:flex; flex-direction:column; }
.review-card{ padding:22px 0; border-bottom:1px solid var(--line); }
.review-card:first-child{ padding-top:0; }
.review-top{ display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.review-avatar{
  width:38px; height:38px; border-radius:50%; background:var(--cream-2); color:var(--red);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex-shrink:0;
}
.review-name{ font-size:13.5px; font-weight:700; }
.verified-badge{
  display:inline-block; margin-left:6px; font-size:10px; font-weight:600; color:#1e8e4c;
  background:#e8f7ee; padding:2px 8px; border-radius:999px;
}
.review-date{ font-size:12px; color:var(--ink-soft); }
.review-card p{ margin:8px 0 0; color:var(--ink-soft); line-height:1.7; font-size:13.5px; }
.review-reply{
  margin-top:12px; padding:14px 16px; background:var(--cream); border-radius:8px;
  font-size:13px; color:var(--ink-soft); line-height:1.7;
}
.review-reply a{ color:var(--red); font-weight:600; }

.pagination{ display:flex; justify-content:center; gap:8px; margin-top:32px; }
.page-arrow, .page-num{
  width:34px; height:34px; border-radius:50%; border:1px solid var(--line); background:#fff;
  font-size:12.5px; font-weight:600; color:var(--ink-soft); display:flex; align-items:center; justify-content:center;
}
.page-num.active{ background:var(--red); border-color:var(--red); color:#fff; }
.page-arrow:hover{ border-color:var(--red); color:var(--red); }

/* =========================================================
   CONTACT PAGE
   ========================================================= */
.contact-hero{
  text-align:center; padding:50px 0 44px; background:var(--cream);
  border-bottom:1px solid var(--line);
}
.contact-hero h1{ font-size:36px; font-weight:800; margin:6px 0 12px; }
.contact-hero p{ color:var(--ink-soft); max-width:520px; margin:0 auto; line-height:1.7; }

.info-cards{
  display:grid; grid-template-columns:repeat(4,1fr); gap:22px; position:relative; z-index:2;
}
.info-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);
  padding:28px 20px; text-align:center;
}
.info-icon{
  width:52px; height:52px; border-radius:50%; background:var(--cream); color:var(--red);
  display:flex; align-items:center; justify-content:center; font-size:19px; margin:0 auto 14px;
}
.info-card h4{ font-size:15px; font-weight:700; margin:0 0 8px; }
.info-card p{ font-size:13px; color:var(--ink-soft); line-height:1.6; margin:0; }
.info-card p a{ color:var(--ink-soft); }
.info-card p a:hover{ color:var(--red); }

.contact-grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:48px; align-items:start; }
.form-heading{ font-size:24px; font-weight:800; margin:0 0 8px; }
.form-subtext{ color:var(--ink-soft); margin-bottom:26px; }

.contact-form{ display:flex; flex-direction:column; gap:18px; }
.contact-form label{
  display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:600; color:var(--ink);
}
.bcare-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-form input,
.contact-form select,
.contact-form textarea{
  border:1.5px solid var(--line); border-radius:8px; padding:12px 14px; font-family:inherit;
  font-size:13.5px; font-weight:400; color:var(--ink); background:#fff; resize:vertical;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{ outline:0; border-color:var(--red); }

.contact-side{ display:flex; flex-direction:column; gap:22px; }
.map-box{
  aspect-ratio:4/3; border-radius:var(--radius); background:linear-gradient(135deg,#eaf2f6,#c9dcea);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  color:var(--red); font-size:46px;
}
.map-box .placeholder-tag{ font-size:12px; color:var(--ink-soft); }
.contact-social-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:24px;
}
.contact-social-card h4{ font-size:15px; font-weight:700; margin:0 0 6px; }
.contact-social-card p{ font-size:13px; color:var(--ink-soft); margin:0 0 14px; }
.contact-social-card .footer-social a{ border-color:var(--line); color:var(--ink); }
.contact-social-card .footer-social a:hover{ border-color:var(--red); color:var(--red); }

/* Contact Directory (named contacts + landline) */
.contact-directory{
  max-width:640px; margin:0 auto; background:#fff; border:1px solid var(--line);
  border-radius:var(--radius); overflow:hidden;
}
.contact-directory-row{
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  padding:16px 22px; border-bottom:1px solid var(--line);
}
.contact-directory-row:last-child{ border-bottom:0; }
.cd-person{ font-size:14px; font-weight:700; display:flex; align-items:center; gap:10px; }
.cd-person i{ color:var(--red); width:18px; text-align:center; }
.cd-actions{ display:flex; align-items:center; gap:12px; }
.cd-phone{ font-size:13.5px; color:var(--ink-soft); font-weight:600; }
.cd-phone:hover{ color:var(--red); }
.cd-whatsapp{
  width:32px; height:32px; border-radius:50%; background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:14px; flex-shrink:0;
}

/* =========================================================
   FAQ PAGE
   ========================================================= */
.faq-search{
  max-width:420px; margin:24px auto 0; display:flex; align-items:center; gap:10px;
  border:1.5px solid var(--line); border-radius:999px; padding:11px 20px; background:#fff; color:var(--ink-soft);
}
.faq-search input{ border:0; outline:0; flex:1; font-family:inherit; font-size:13px; background:transparent; }

.faq-section .tabs-bar{ margin-bottom:36px; }
.faq-list{ max-width:760px; margin:0 auto; }
.faq-group-title{
  font-size:13px; text-transform:uppercase; letter-spacing:1px; color:var(--red);
  font-weight:700; margin:34px 0 12px;
}
.faq-group-title:first-child{ margin-top:0; }

.faq-item{ border:1px solid var(--line); border-radius:var(--radius); margin-bottom:12px; overflow:hidden; }
.faq-question{
  width:100%; text-align:left; background:#fff; border:0; padding:16px 20px; font-size:14px;
  font-weight:600; display:flex; align-items:center; justify-content:space-between; gap:14px;
}
.faq-question i{ font-size:12px; color:var(--ink-soft); transition:.2s; flex-shrink:0; }
.faq-item.open .faq-question i{ transform:rotate(180deg); color:var(--red); }
.faq-answer{ max-height:0; overflow:hidden; transition:max-height .25s ease; background:var(--cream); }
.faq-answer p{ margin:0; padding:0 20px 18px; color:var(--ink-soft); font-size:13.5px; line-height:1.7; }

.faq-cta{
  max-width:600px; margin:48px auto 0; text-align:center; background:var(--cream);
  border-radius:var(--radius); padding:36px 24px;
}
.faq-cta h3{ font-size:20px; margin:0 0 8px; font-weight:700; }
.faq-cta p{ color:var(--ink-soft); margin-bottom:18px; }

/* =========================================================
   OUR STORY PAGE
   ========================================================= */
.values-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.value-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px 20px; text-align:center;
}
.value-card h4{ font-size:15px; font-weight:700; margin:0 0 8px; }
.value-card p{ font-size:13px; color:var(--ink-soft); line-height:1.6; margin:0; }

.gallery-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.gallery-tile{
  aspect-ratio:1/1; border-radius:var(--radius); display:flex; align-items:center; justify-content:center;
  font-size:52px; position:relative;
}
.gallery-tile .placeholder-tag{ position:absolute; bottom:10px; font-size:10.5px; color:var(--ink-soft); opacity:.7; }

.team-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.team-card{
  background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px 20px; text-align:center;
}
.team-avatar{
  width:84px; height:84px; border-radius:50%; margin:0 auto 16px; background:var(--cream);
  display:flex; align-items:center; justify-content:center; font-size:36px;
}
.team-card h4{ font-size:15px; font-weight:700; margin:0 0 4px; }
.team-role{ font-size:12px; color:var(--ink-soft); display:block; margin-bottom:14px; }
.team-social{ display:flex; justify-content:center; gap:10px; }
.team-social a{
  width:30px; height:30px; border-radius:50%; border:1px solid var(--line); color:var(--ink);
  display:flex; align-items:center; justify-content:center; font-size:12px;
}
.team-social a:hover{ border-color:var(--red); color:var(--red); }

.slogan-banner{
  background:linear-gradient(120deg,#3a2a1e,#5b4128 55%,#7a5a34); color:#fff; text-align:center; padding:56px 0;
}
.slogan-banner h2{ font-size:30px; font-weight:800; margin:8px 0 0; }

/* =========================================================
   CART PAGE
   ========================================================= */
.cart-layout{ display:grid; grid-template-columns:1fr 340px; gap:44px; align-items:start; }

.cart-table{ width:100%; border-collapse:collapse; }
.cart-table thead th{
  text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.6px; color:var(--ink-soft);
  padding:0 12px 14px; border-bottom:1px solid var(--line); font-weight:600;
}
.cart-table .col-price, .cart-table .col-subtotal{ text-align:right; }
.cart-table .col-qty{ text-align:center; }

.cart-row td{ padding:18px 12px; border-bottom:1px solid var(--line); vertical-align:middle; }
.cart-thumb{
  width:64px; height:64px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:26px;
}
.cart-item-name{ font-size:14px; font-weight:600; margin-bottom:4px; }
.cart-item-variant{ font-size:12px; color:var(--ink-soft); }
.cart-table .col-price{ font-size:13.5px; color:var(--ink-soft); text-align:right; }
.cart-row-subtotal{ font-size:14px; font-weight:700; text-align:right; }
.cart-table .col-qty .qty-stepper{ margin:0 auto; width:max-content; }
.cart-remove{
  width:30px; height:30px; border-radius:50%; border:1px solid var(--line); background:#fff;
  color:var(--ink-soft); display:flex; align-items:center; justify-content:center; font-size:12px; margin:0 auto;
}
.cart-remove:hover{ border-color:var(--red); color:var(--red); }
.cart-remove-mobile{ display:none; }

.cart-actions-row{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px;
  margin-top:24px;
}
.coupon-form{ display:flex; gap:10px; }
.coupon-form input{
  border:1.5px solid var(--line); border-radius:8px; padding:10px 14px; font-family:inherit; font-size:13px; width:180px;
}
.continue-shopping{
  display:inline-flex; align-items:center; gap:8px; margin-top:22px; font-size:13px; font-weight:600; color:var(--ink-soft);
}
.continue-shopping:hover{ color:var(--red); }

.cart-totals{
  background:var(--cream); border-radius:var(--radius); padding:26px; position:sticky; top:24px;
}
.cart-totals h3{ font-size:17px; font-weight:700; margin:0 0 18px; }
.totals-row{
  display:flex; justify-content:space-between; font-size:13.5px; color:var(--ink-soft);
  padding:10px 0; border-bottom:1px solid var(--line);
}
.totals-free{ color:#1e8e4c; font-weight:600; }
.totals-grand{ border-bottom:0; font-size:16px; font-weight:800; color:var(--ink); padding-top:14px; }
.cart-totals .btn{ margin-top:18px; }

/* =========================================================
   CHECKOUT PAGE
   ========================================================= */
.checkout-steps{ background:var(--cream); border-bottom:1px solid var(--line); padding:16px 0; }
.checkout-steps-inner{ display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; }
.step{ display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600; color:var(--ink-soft); }
.step-num{
  width:26px; height:26px; border-radius:50%; background:#fff; border:1.5px solid var(--line);
  display:flex; align-items:center; justify-content:center; font-size:12px; color:var(--ink-soft);
}
.step.done .step-num{ background:#1e8e4c; border-color:#1e8e4c; color:#fff; }
.step.done{ color:#1e8e4c; }
.step.active .step-num{ background:var(--red); border-color:var(--red); color:#fff; }
.step.active{ color:var(--ink); }
.step-divider{ width:36px; height:1px; background:var(--line); }

.checkout-layout{ display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:start; }
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

.checkbox-label{
  display:flex !important; flex-direction:row !important; align-items:flex-start; gap:9px;
  font-weight:500 !important; color:var(--ink-soft) !important; font-size:13px !important;
}
.checkbox-label input{ margin-top:2px; accent-color:var(--red); width:15px; height:15px; flex-shrink:0; }
.checkbox-label a{ color:var(--red); font-weight:600; }

.order-review-table{ width:100%; border-collapse:collapse; margin-bottom:24px; }
.order-review-table thead th{
  text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.6px; color:var(--ink-soft);
  padding:0 0 12px; border-bottom:2px solid var(--line);
}
.order-review-table thead th:last-child, .order-review-table td:last-child{ text-align:right; }
.order-review-table tbody td{ padding:12px 0; border-bottom:1px solid var(--line); font-size:13.5px; }
.qty-x{ color:var(--ink-soft); font-size:12px; }
.order-review-table tfoot td{ padding:12px 0; border-bottom:1px solid var(--line); font-size:13.5px; }
.order-subtotal td{ color:var(--ink-soft); }
.order-shipping td{ color:var(--ink-soft); }
.shipping-option{ display:flex; align-items:center; gap:8px; justify-content:flex-end; font-size:13px; }
.shipping-option input{ accent-color:var(--red); }
.order-total{ font-size:16px; font-weight:800; }
.order-total td{ border-bottom:0; padding-top:14px; }

/* Order-received / "thank you" page */
.order-complete-wrap{ max-width:1000px; }
.order-complete-banner{
  text-align:center; background:var(--cream); border:1px solid var(--line); border-radius:var(--radius);
  padding:40px 24px; margin-bottom:32px;
}
.order-complete-icon{ font-size:44px; color:#1e8e4c; margin-bottom:14px; }
.order-complete-banner-failed .order-complete-icon{ color:var(--red); }
.order-complete-banner h2{ font-size:26px; font-weight:800; margin:0 0 10px; }
.order-complete-banner p{ font-size:14px; color:var(--ink-soft); max-width:520px; margin:0 auto 18px; }
.order-complete-banner .btn{ display:inline-flex; width:auto; padding-left:28px; padding-right:28px; }
.order-overview-cards{ margin-bottom:40px; }
.order-overview-cards .info-card p{ font-weight:700; color:var(--ink); font-size:14px; }
.order-complete-layout{ padding-bottom:8px; }
.order-address{ font-style:normal; font-size:13.5px; line-height:1.9; color:var(--ink-soft); }

.payment-methods{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; margin-bottom:20px; }
.payment-option{ display:block; border-bottom:1px solid var(--line); background:#fff; cursor:pointer; }
.payment-option:last-child{ border-bottom:0; }
.payment-option-head{ display:flex; align-items:center; gap:12px; padding:16px 18px; font-size:13.5px; font-weight:600; }
.payment-option-head input{ accent-color:var(--red); width:16px; height:16px; }
.payment-icon{ margin-left:auto; color:var(--ink-soft); font-size:16px; }
.payment-desc{ max-height:0; overflow:hidden; background:var(--cream); transition:max-height .2s ease; }
.payment-option.active .payment-desc{ max-height:120px; }
.payment-desc p{ margin:0; padding:0 18px 16px 46px; font-size:12.5px; color:var(--ink-soft); line-height:1.6; }

.checkout-privacy,
.woocommerce-privacy-policy-text{ font-size:11.5px; color:var(--ink-soft); line-height:1.6; margin-bottom:14px; }
.woocommerce-privacy-policy-text a{ color:var(--red); font-weight:600; }
.checkout-privacy a{ color:var(--red); }
.terms-label{ margin-bottom:20px; }
.place-order-btn{ padding:14px 22px; font-size:14px; }

/* =========================================================
   LEGAL PAGES (Privacy / Refund / Terms)
   ========================================================= */
.legal-layout{ display:grid; grid-template-columns:220px 1fr; gap:48px; align-items:start; }
.legal-toc{ position:sticky; top:24px; display:flex; flex-direction:column; }
.legal-toc a{
  padding:9px 0 9px 14px; font-size:13px; color:var(--ink-soft); border-left:2px solid var(--line);
}
.legal-toc a:hover{ color:var(--red); border-left-color:var(--red); }

.legal-content{ max-width:760px; }
.legal-updated{ font-size:12px; color:var(--ink-soft); margin-bottom:22px; }
.legal-content h2{
  font-size:19px; font-weight:700; margin:38px 0 12px; scroll-margin-top:24px;
}
.legal-content h2:first-of-type{ margin-top:0; }
.legal-content h3{ font-size:14.5px; font-weight:700; margin:20px 0 8px; }
.legal-content p{ color:var(--ink-soft); line-height:1.8; font-size:13.5px; margin:0 0 14px; }
.legal-content ul, .legal-content ol{ margin:0 0 16px; padding-left:20px; color:var(--ink-soft); }
.legal-content ul{ list-style:disc; }
.legal-content ol{ list-style:decimal; }
.legal-content li{ margin-bottom:8px; font-size:13.5px; line-height:1.7; }
.legal-content a{ color:var(--red); font-weight:600; }

/* =========================================================
   SHOP HEADING
   ========================================================= */
.shop-heading{ text-align:center; padding:36px 0 6px; }
.shop-heading h1{ font-size:32px; font-weight:800; margin:0; }

/* =========================================================
   SHOP LAYOUT — sidebar filters + product grid
   ========================================================= */
.shop-layout{ display:grid; grid-template-columns:260px 1fr; gap:40px; align-items:start; }

.shop-filters{ position:sticky; top:24px; }
.filter-title{ font-size:16px; font-weight:700; margin-bottom:18px; }

.filter-group{ border-bottom:1px solid var(--line); padding-bottom:16px; margin-bottom:16px; }
.filter-group-head{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  border:0; background:none; padding:0 0 12px; font-size:13px; font-weight:700;
  text-transform:uppercase; letter-spacing:.5px; color:var(--ink);
}
.filter-group-head i{ font-size:11px; color:var(--ink-soft); transition:.2s; }
.filter-group.collapsed .filter-group-head i{ transform:rotate(180deg); }
.filter-group.collapsed .filter-group-body{ display:none; }

.filter-group-body{ display:flex; flex-direction:column; gap:10px; }
.filter-check{ display:flex; align-items:center; gap:9px; font-size:13px; color:var(--ink-soft); cursor:pointer; }
.filter-check input{ accent-color:var(--red); width:15px; height:15px; }
.filter-check span{ margin-left:auto; color:var(--ink-soft); font-size:12px; }

.filter-cat-link{ display:flex; align-items:center; gap:9px; font-size:13px; color:var(--ink-soft); }
.filter-cat-link:hover{ color:var(--red); }
.filter-cat-link .cat-check{
  width:15px; height:15px; border:1.5px solid var(--line); border-radius:4px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; font-size:9px; color:#fff;
}
.filter-cat-link.active{ color:var(--ink); font-weight:600; }
.filter-cat-link.active .cat-check{ background:var(--red); border-color:var(--red); }
.filter-cat-link .cat-count{ margin-left:auto; color:var(--ink-soft); font-size:12px; font-weight:400; }

.price-hint{ font-size:12px; color:var(--ink-soft); margin-bottom:14px; }
.price-range-track{
  height:4px; background:var(--line); border-radius:4px; position:relative; margin-bottom:16px;
}
.price-range-track i{
  position:absolute; top:0; bottom:0; background:var(--red); border-radius:4px;
}
.price-inputs{ display:flex; gap:10px; }
.price-inputs label{
  flex:1; display:flex; align-items:center; gap:6px; font-size:12px; color:var(--ink-soft);
  border:1.5px solid var(--line); border-radius:8px; padding:8px 10px;
}
.price-inputs input{
  width:100%; border:0; outline:0; font-family:inherit; font-size:13px; color:var(--ink);
}

.filter-promo{
  display:block; position:relative; aspect-ratio:3/4; border-radius:var(--radius); overflow:hidden;
  margin-top:8px; background:linear-gradient(135deg,#3a2a1e,#7a5a34); text-align:center;
}
.filter-promo .ic{ font-size:60px; display:block; margin-top:60px; }
.filter-promo .placeholder-tag{ color:rgba(255,255,255,.55); font-size:11px; }
.filter-promo-text{
  position:absolute; left:0; right:0; bottom:0; padding:16px 14px; color:#fff; font-weight:700;
  font-size:13.5px; line-height:1.4; background:linear-gradient(to top, rgba(0,0,0,.65), rgba(0,0,0,0));
}

.shop-toolbar{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--line);
}
.view-toggle{ display:flex; gap:6px; }
.view-btn{
  width:36px; height:36px; border-radius:8px; border:1.5px solid var(--line); background:#fff;
  color:var(--ink-soft); display:flex; align-items:center; justify-content:center;
}
.view-btn.active, .view-btn:hover{ border-color:var(--red); color:var(--red); }
.toolbar-right{ display:flex; align-items:center; gap:18px; }
.sort-select{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink-soft); }
.sort-select select{
  border:1.5px solid var(--line); border-radius:8px; padding:8px 10px; font-family:inherit;
  font-size:13px; color:var(--ink); background:#fff;
}
.result-count{ font-size:13px; color:var(--ink-soft); }

/* List view */
.shop-grid.list-view{ grid-template-columns:1fr; gap:16px; }
.shop-grid.list-view .product-card{ flex-direction:row; align-items:stretch; }
.shop-grid.list-view .product-media{ width:160px; flex-shrink:0; aspect-ratio:auto; }
.shop-grid.list-view .product-body{ flex-direction:row; align-items:center; flex-wrap:wrap; gap:16px; padding:16px 20px; }
.shop-grid.list-view .product-title{ min-height:0; flex:1 1 220px; }
.shop-grid.list-view .btn-block{ width:auto; }

/* =========================================================
   NEWSLETTER
   ========================================================= */
.newsletter{ text-align:center; padding:60px 0; }
.newsletter h3{ font-size:24px; margin-bottom:6px; font-weight:700; }
.newsletter p{ color:var(--ink-soft); margin-bottom:22px; }
.newsletter-form{
  display:flex; max-width:420px; margin:0 auto; border:1.5px solid var(--line);
  border-radius:999px; overflow:hidden;
}
.newsletter-form input{
  flex:1; border:0; outline:0; padding:12px 20px; font-family:inherit; font-size:13px;
}
.newsletter-form button{
  border:0; background:var(--red); color:#fff; width:52px; display:flex; align-items:center; justify-content:center;
}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{ background:var(--red); color:#fff; padding-top:50px; }
.footer-grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:32px; padding-bottom:36px;
}
.footer-col h5{ font-size:14px; text-transform:uppercase; letter-spacing:1px; margin:0 0 16px; }
.footer-col p{ font-size:13px; opacity:.9; line-height:1.7; }
.footer-col ul li{ margin-bottom:10px; font-size:13px; opacity:.92; }
.footer-logo{ font-size:24px; font-weight:800; margin-bottom:12px; }
.footer-social{ display:flex; gap:12px; margin-top:16px; }
.footer-social a{
  width:32px; height:32px; border-radius:50%; border:1px solid rgba(255,255,255,.5);
  display:flex; align-items:center; justify-content:center; font-size:14px;
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.25); padding:16px 0; font-size:12.5px;
  display:flex; justify-content:space-between; align-items:center; opacity:.9; flex-wrap:wrap; gap:8px;
}

/* =========================================================
   WOOCOMMERCE COMPATIBILITY
   Maps WooCommerce's native markup/classes (price HTML, quantity
   inputs, notices, checkout fields, terms checkbox) onto this
   theme's design system, since the theme's own CSS was written
   for hand-authored markup that WooCommerce doesn't always emit.
   ========================================================= */

/* Price HTML: WooCommerce wraps prices in <del>/<ins>, not .old/.new spans. */
.price-row del, .price-row-lg del{ color:var(--ink-soft); font-weight:400; font-size:12px; text-decoration:line-through; }
.price-row ins, .price-row-lg ins{ color:var(--ink); font-weight:700; font-size:15px; text-decoration:none; }
.price-row-lg ins{ font-size:24px; }
.price-row bdi, .price-row-lg bdi{ font-style:normal; }

/* Quantity: woocommerce_quantity_input() wraps the <input class="qty"> in
   an extra <div class="quantity">; remove that box from flex layout so the
   stepper buttons sit flush against the input exactly as designed. */
.qty-stepper .quantity{ display:contents; }

/* WooCommerce notices (errors, success messages, info banners). */
.woocommerce-notices-wrapper{ max-width:1240px; margin:0 auto; padding:0 24px; }
.woocommerce-error, .woocommerce-message, .woocommerce-info{
  list-style:none; margin:20px 0 0; padding:16px 18px; border-radius:8px; font-size:13.5px;
}
.woocommerce-message, .woocommerce-info{
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
}
.woocommerce-error{ background:#fdeceb; color:var(--red-dark); border:1px solid #f3c2be; }
.woocommerce-message{ background:#eaf7ee; color:#1e8e4c; border:1px solid #bfe6cc; }
.woocommerce-info{ background:var(--cream); color:var(--ink); border:1px solid var(--line); }
/* A validation-error box is a *list* of problems — one per line, not a flex row. */
.woocommerce-error li{
  list-style:none; padding:8px 0; border-bottom:1px solid #f3c2be;
}
.woocommerce-error li:first-child{ padding-top:0; }
.woocommerce-error li:last-child{ border-bottom:0; padding-bottom:0; }
.woocommerce-error li a{ color:inherit; text-decoration:underline; }
.woocommerce-error .button, .woocommerce-message .button, .woocommerce-info .button{
  background:currentColor; color:#fff; border:0; border-radius:999px; padding:7px 16px; font-size:12px; font-weight:600;
}
/* When WooCommerce's checkout.js prepends this notice straight into our
   2-column form grid, make it span both columns as a full-width banner. */
.checkout-layout > .woocommerce-error,
.checkout-layout > .woocommerce-message,
.checkout-layout > .woocommerce-info,
.checkout-layout > .woocommerce-NoticeGroup-checkout{
  grid-column:1 / -1;
}

/* Per-field "this field is required" messages, shown live under an invalid
   field, and the red highlight on that field's border. */
.woocommerce-invalid-required-field-message,
.woocommerce-invalid-email-field-message{
  display:block; color:var(--red); font-size:12px; font-weight:500; margin-top:6px;
}
.checkout-billing .form-row.woocommerce-invalid input.input-text,
.checkout-billing .form-row.woocommerce-invalid select,
.checkout-billing .form-row.woocommerce-invalid .select2-selection{
  border-color:var(--red);
}

/* Any link WooCommerce injects inside the billing form or order review
   (e.g. field references in error text) should match our text color,
   never fall back to the browser's default blue. */
.checkout-billing a:not(.btn), .checkout-summary a:not(.btn), .order-review-table a:not(.btn){ color:inherit; }

/* Checkout billing fields (rendered by WooCommerce's native form-billing.php). */
.checkout-billing .woocommerce-billing-fields > h3{ display:none; }
.checkout-billing .form-row{ display:flex; flex-direction:column; gap:8px; margin-bottom:18px; }
.checkout-billing .form-row-first, .checkout-billing .form-row-last{ display:inline-flex; width:calc(50% - 9px); }
.checkout-billing .form-row-first{ margin-right:18px; }
.checkout-billing label{ font-size:13px; font-weight:600; color:var(--ink); }
.checkout-billing label .required{ color:var(--red); text-decoration:none; }
.checkout-billing label .optional{ font-weight:400; color:var(--ink-soft); }
.checkout-billing .woocommerce-input-wrapper{ display:block; margin-top:8px; }
.checkout-billing input.input-text,
.checkout-billing select,
.checkout-billing textarea,
.checkout-billing .select2-selection{
  width:100%; border:1.5px solid var(--line); border-radius:8px; padding:12px 14px; font-family:inherit;
  font-size:13.5px; color:var(--ink); background:#fff;
}
.checkout-billing .select2-selection{ display:flex; align-items:center; height:auto; }
.checkout-billing .select2-selection__arrow{ display:none; }
.checkout-billing .woocommerce-additional-fields{ margin-top:4px; }
.checkout-billing .woocommerce-additional-fields > h3{ font-size:15px; font-weight:700; margin:8px 0 14px; }

/* Terms & conditions checkbox on checkout. */
.woocommerce-terms-and-conditions-wrapper .form-row{ display:block; margin-bottom:20px; }
.woocommerce-form__label-for-checkbox{
  display:flex !important; align-items:flex-start; gap:9px; font-weight:500; color:var(--ink-soft); font-size:13px;
}
.woocommerce-form__input-checkbox{ margin-top:2px; accent-color:var(--red); width:15px; height:15px; flex-shrink:0; }
.woocommerce-terms-and-conditions-checkbox-text a{ color:var(--red); font-weight:600; }
.required{ color:var(--red); vertical-align:3px; text-decoration:none; }

/* "Have a coupon?" toggle + form on the checkout page. */
.checkout-coupon-wrap{ max-width:640px; margin:0 auto 30px; text-align:center; }
.checkout-coupon-wrap .woocommerce-info{ justify-content:center; text-align:center; }
.checkout-coupon-wrap .showcoupon{ color:var(--red); font-weight:700; text-decoration:underline; cursor:pointer; }
.checkout_coupon.woocommerce-form-coupon{
  margin-top:16px; padding:20px; background:var(--cream); border-radius:var(--radius); text-align:left;
}
.checkout_coupon.woocommerce-form-coupon p:first-child{ margin:0 0 14px; color:var(--ink-soft); font-size:13px; }
.checkout_coupon .form-row{ display:flex; gap:10px; flex-wrap:wrap; margin:0; }
.checkout_coupon input.input-text{
  flex:1; min-width:160px; border:1.5px solid var(--line); border-radius:8px; padding:11px 14px;
  font-family:inherit; font-size:13.5px; color:var(--ink); background:#fff;
}
.checkout_coupon .clear{ display:none; }

/* Loading overlay shown during AJAX cart/checkout updates. */
.blockUI.blockOverlay{ position:relative; pointer-events:none; opacity:.6; }
.blockUI.blockOverlay::after{
  content:""; position:absolute; top:50%; left:50%; width:26px; height:26px; margin:-13px 0 0 -13px;
  border:3px solid var(--line); border-top-color:var(--red); border-radius:50%; animation:bcare-spin .7s linear infinite;
}
@keyframes bcare-spin{ to{ transform:rotate(360deg); } }

/* Real WooCommerce product photos (once uploaded) sit inside the same
   icon-sized boxes the emoji/gradient placeholders use. object-fit:contain
   (not cover) so the full product/packaging photo is always visible —
   never cropped — with the category-tinted background showing as a
   soft frame around it. */
.product-media img, .gallery-main img, .gallery-thumb img, .cart-thumb img,
.drawer-item-thumb img, .spotlight-thumb img{
  width:100%; height:100%; object-fit:contain; padding:6%; box-sizing:border-box;
  border-radius:inherit; display:block;
}
.cart-thumb img, .drawer-item-thumb img{ padding:8%; }
.gallery-thumb{ padding:0; overflow:hidden; }
.gallery-thumb img{ padding:8%; }

/* AJAX add-to-cart loading state. */
.single_add_to_cart_button.loading{ opacity:.6; pointer-events:none; }

/* =========================================================
   WOOCOMMERCE ACCOUNT / ORDER PAGES
   Not part of the original design brief, but styled at a baseline level
   so My Account / order-received pages look intentional, not broken.
   ========================================================= */
.woocommerce-account .container,
.woocommerce-order-received .container,
.woocommerce-view-order .container{ max-width:900px; }
.woocommerce-MyAccount-navigation ul{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 28px; padding:0; list-style:none; }
.woocommerce-MyAccount-navigation li{ list-style:none; }
.woocommerce-MyAccount-navigation a{
  display:block; padding:9px 16px; border-radius:999px; border:1.5px solid var(--line); font-size:13px; font-weight:600;
}
.woocommerce-MyAccount-navigation li.is-active a{ background:var(--red); border-color:var(--red); color:#fff; }
.woocommerce-MyAccount-content > p:first-child{ color:var(--ink-soft); }
.woocommerce-MyAccount-content table, .woocommerce-orders-table, .shop_table{
  width:100%; border-collapse:collapse; margin:16px 0;
}
.woocommerce-MyAccount-content th, .woocommerce-orders-table th, .shop_table th{
  text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:var(--ink-soft);
  padding:0 10px 12px; border-bottom:2px solid var(--line);
}
.woocommerce-MyAccount-content td, .woocommerce-orders-table td, .shop_table td{
  padding:12px 10px; border-bottom:1px solid var(--line); font-size:13.5px;
}
.woocommerce-MyAccount-content form p,
.woocommerce-EditAccountForm p, .woocommerce-address-fields p, .woocommerce-ResetPassword p{
  display:flex; flex-direction:column; gap:8px; margin-bottom:16px;
}
.woocommerce-MyAccount-content input.input-text,
.woocommerce-EditAccountForm input, .woocommerce-address-fields input, .woocommerce-ResetPassword input,
.woocommerce-form-login input, .woocommerce-form-register input{
  border:1.5px solid var(--line); border-radius:8px; padding:11px 14px; font-family:inherit; font-size:13.5px;
}
.woocommerce-MyAccount-content .button, .woocommerce-form-login .button, .woocommerce-form-register .button,
.woocommerce-Button, button.button, input.button{
  display:inline-flex; align-items:center; justify-content:center; padding:10px 22px; border-radius:999px;
  border:1.5px solid var(--red); background:var(--red); color:#fff; font-size:13px; font-weight:600; cursor:pointer;
}
.woocommerce-Message a.button, a.woocommerce-Button{ margin-left:10px; }
.woocommerce-order-details, .woocommerce-customer-details{
  background:var(--cream); border-radius:var(--radius); padding:24px; margin:24px 0;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1024px){
  .product-grid, .deal-grid{ grid-template-columns:repeat(2,1fr); }
  .intro-inner{ grid-template-columns:1fr; }
  .intro-media{ order:-1; }
  .category-grid{ grid-template-columns:repeat(2,1fr); }
  .spotlight{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .product-main-grid{ grid-template-columns:1fr; }
  .product-gallery{ position:static; }
  .shop-layout{ grid-template-columns:1fr; }
  .shop-filters{ position:static; }
  .info-cards{ grid-template-columns:1fr 1fr; margin-top:0; }
  .contact-grid{ grid-template-columns:1fr; }
  .values-grid, .team-grid{ grid-template-columns:1fr 1fr; }
  .gallery-grid{ grid-template-columns:repeat(2,1fr); }
  .cart-layout{ grid-template-columns:1fr; }
  .cart-totals{ position:static; }
  .checkout-layout{ grid-template-columns:1fr; }
  .legal-layout{ grid-template-columns:1fr; }
  .legal-toc{ position:static; flex-direction:row; flex-wrap:wrap; gap:4px 16px; margin-bottom:24px; }
  .usp-grid{ grid-template-columns:1fr 1fr; }
  .stats-grid{ grid-template-columns:1fr 1fr; gap:28px 20px; }
  .promo-banner{ grid-template-columns:1fr; }
  .testimonial-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:860px){
  .mobile-menu-toggle{ display:flex; align-items:center; justify-content:center; }
  .header-main{ gap:10px; }
  .logo{ flex-shrink:1; min-width:0; }
  .header-search{ display:none; }
  .header-icon-link{ display:none; }
  .header-actions{ gap:10px; }
  .header-cart-amount{ display:none; }
  .header-cart{
    width:40px; height:40px; padding:0; border-radius:50%; justify-content:center; flex-shrink:0;
  }
  .header-nav{ display:none; }
  .empire-media{ padding:64px 20px; }
}
@media (max-width:640px){
  .topbar .container{ flex-direction:column; gap:6px; padding-bottom:10px; }
  .product-grid, .deal-grid{ grid-template-columns:1fr 1fr; gap:14px; }
  .intro-text h2{ font-size:26px; }
  .category-grid{ grid-template-columns:1fr 1fr; gap:14px; }
  .footer-grid{ grid-template-columns:1fr; }
  .buy-row{ flex-direction:column; }
  .qty-stepper{ width:100%; justify-content:space-between; }
  .reviews-head{ flex-direction:column; align-items:flex-start; }
  .tab-panel{ padding:22px; }
  .shop-toolbar{ flex-direction:column; align-items:flex-start; }
  .shop-grid.list-view .product-card{ flex-direction:column; }
  .shop-grid.list-view .product-media{ width:100%; aspect-ratio:1/1; }
  .shop-grid.list-view .product-body{ flex-direction:column; align-items:stretch; }
  .info-cards{ grid-template-columns:1fr; }
  .bcare-form-row{ grid-template-columns:1fr; }
  .contact-hero h1{ font-size:28px; }
  .values-grid, .team-grid{ grid-template-columns:1fr; }
  .faq-question{ font-size:13px; }
  .slogan-banner h2{ font-size:22px; }

  .cart-table thead{ display:none; }
  .cart-row{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 14px; padding:16px 0; position:relative; }
  .cart-row td{ border:0; padding:0; }
  .cart-row .col-thumb{ order:1; }
  .cart-row .col-product{ order:2; flex:1 1 140px; }
  .cart-row .col-price{ display:none; }
  .cart-row .col-qty{ order:3; }
  .cart-row .col-subtotal{ order:4; font-size:14px; }
  .cart-row .col-remove{ display:none; }
  .cart-remove-mobile{
    display:inline-block; border:0; background:none; color:var(--red); font-size:12px; font-weight:600;
    padding:0; margin-top:6px;
  }
  .cart-actions-row{ flex-direction:column; align-items:stretch; }
  .coupon-form{ flex-direction:column; }
  .coupon-form input{ width:100%; }

  .bcare-form-row{ grid-template-columns:1fr; }
  .checkout-billing .form-row-first, .checkout-billing .form-row-last{ width:100%; margin-right:0; }
  .checkout-steps-inner{ gap:8px; }
  .step span{ font-size:12px; }
  .step-divider{ width:18px; }
  .usp-grid{ grid-template-columns:1fr; gap:16px; }
  .stats-grid{ grid-template-columns:1fr 1fr; }
  .testimonial-grid{ grid-template-columns:1fr; }
  .spotlight-gallery{ flex-direction:column; }

  /* ---- Our Story video banner: box height now always follows its content
     (see base .empire-media rule) — this only trims padding for phones. ---- */
  .empire-media{ padding:32px 20px; }
  .empire-overlay{ gap:12px; max-width:100%; }
  .empire-overlay h2{ font-size:21px; }
  .empire-overlay p{ font-size:13px; }
  .play-btn{ width:58px; height:58px; font-size:20px; }

  /* ---- Section spacing tightened for mobile ---- */
  .section{ padding:36px 0; }
  .newsletter{ padding:40px 0; }
  .stats-section{ padding:30px 0; }
  .slogan-banner{ padding:36px 0; }
  .contact-hero{ padding:32px 0 26px; }
  .faq-cta{ padding:26px 18px; margin-top:32px; }
  .info-card{ padding:20px 14px; }
  .tab-panel{ padding:18px; }

  /* ---- Headings not previously covered by any breakpoint ---- */
  .section-title{ font-size:21px; margin-bottom:22px; }
  .promo-text h2{ font-size:22px; }
  .spotlight-text h3{ font-size:20px; }
  .shop-heading h1{ font-size:24px; }
  .shop-heading{ padding:24px 0 4px; }
  .product-title-lg{ font-size:22px; }
  .price-row-lg .new{ font-size:20px; }
  .form-heading{ font-size:19px; }
  .reviews-score{ font-size:30px; }
  .stat-num{ font-size:22px; }
  .order-complete-banner h2{ font-size:20px; }
  .order-complete-banner{ padding:28px 16px; }
  .order-complete-icon{ font-size:34px; }
  .order-complete-banner .btn{ width:100%; }

  /* ---- Our Story photo grid: 3 fixed columns were never adapted for phones ---- */
  .gallery-grid{ grid-template-columns:1fr 1fr; gap:12px; }

  /* ---- Product cards: tighter padding + smaller type on small grids ---- */
  .product-body{ padding:10px 12px 14px; gap:4px; }
  .product-title{ font-size:12.5px; min-height:32px; }
  .price-row .new{ font-size:14px; }
  .badge{ font-size:10px; padding:3px 8px; }

  /* ---- WooCommerce account / order tables: multi-column tables don't
     reflow like the cart table does, so let them scroll horizontally
     instead of squeezing text or breaking the page layout. ---- */
  .shop_table, .woocommerce-orders-table, .woocommerce-table--order-details,
  .order-review-table, .woocommerce-MyAccount-content table{
    display:block; overflow-x:auto; -webkit-overflow-scrolling:touch;
  }
  .shop_table th, .woocommerce-orders-table th, .woocommerce-table--order-details th,
  .order-review-table th,
  .shop_table td, .woocommerce-orders-table td, .woocommerce-table--order-details td,
  .order-review-table td{
    font-size:12.5px; padding:10px 8px; white-space:nowrap;
  }
  .order-review-table td:first-child, .order-review-table th:first-child{ white-space:normal; }
  .woocommerce-MyAccount-navigation ul{ gap:6px; margin-bottom:20px; }
  .woocommerce-MyAccount-navigation a{ padding:8px 13px; font-size:12.5px; }
  .woocommerce-order-details, .woocommerce-customer-details{ padding:16px; }
}

@media (max-width:480px){
  .container{ padding:0 16px; }
  .logo{ font-size:19px; }
  .logo span{ font-size:8.5px; }
  .topbar-msg{ font-size:10.5px; }
  .topbar-social{ gap:8px; }

  .empire-media{ padding:26px 16px; }
  .empire-overlay h2{ font-size:19px; }
  .empire-overlay p{ font-size:12.5px; line-height:1.6; }
  .play-btn{ width:50px; height:50px; font-size:17px; }
  .empire-link{ font-size:12px; }

  .section-title{ font-size:19px; }
  .intro-text h2{ font-size:22px; }
  .contact-hero h1{ font-size:23px; }
  .slogan-banner h2{ font-size:19px; }
  .product-title-lg{ font-size:20px; }
  .faq-cta h3{ font-size:18px; }

  .product-grid, .deal-grid, .category-grid{ gap:10px; }
  .product-media{ font-size:34px; }
  .btn{ font-size:12.5px; padding:9px 18px; }

  .cart-totals{ padding:18px; }
  .checkout-billing input.input-text, .checkout-billing select, .checkout-billing textarea,
  .contact-form input, .contact-form select, .contact-form textarea{ font-size:13px; padding:11px 12px; }
}
