 :root{
    --green-dark:#47392E;
    --green-mid:#47392E;
    --green-pale:#DFD3C5;
    --saffron:#DD9E57;
    --saffron-dark:#DD9E57;
    --cream:#FFFFFF;
    --cream-2:#F7F2EC;
    --maroon:#541026;
    --gold:#DD9E57;
    --text-dark:#47392E;
    --text-mute:#7A6A5E;
    --white:#FFFFFF;
    --radius:14px;
    --shadow:0 10px 30px rgba(71,57,46,.08);
    --shadow-strong:0 14px 40px rgba(71,57,46,.16);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Poppins', sans-serif;
    color:var(--text-dark);
    background:var(--cream);
    overflow-x:hidden;
  }
  h1,h2,h3,h4{font-family:'Playfair Display', serif;}
  .tamil{font-family:'Noto Sans Tamil', sans-serif;}
  img,svg{display:block; max-width:100%;}
  a{text-decoration:none; color:inherit;}
  ul{list-style:none;}
  button{font-family:inherit; cursor:pointer; border:none; background:none;}
  .container{max-width:1240px; margin:0 auto; padding:0 24px;}
  section{position:relative;}
  ::selection{background:var(--saffron); color:#fff;}

  /* ---------- Scroll reveal ---------- */
  .reveal{opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ---------- Top bar ---------- */
  .topbar{
  background:#47392E;
  color:#DFD3C5;
  font-size:13px;
  letter-spacing:.3px;
  overflow:hidden;
  white-space:nowrap;
  position:sticky;
  top:0;
  z-index:1001;
  height:34px;
  display:flex;
  align-items:center;
}
  .topbar-track{display:inline-flex; gap:60px; animation:marquee 40s linear infinite; padding-left:100%;}
  .topbar-track span{display:inline-flex; align-items:center; gap:8px;}
  @keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-100%);} }

  /* ---------- Header ---------- */
header.site-header{
  background:#fff;
  position:sticky;
  top:0;
  z-index:200;
  box-shadow:0 2px 10px rgba(0,0,0,.05);
}

.nav-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  max-width:1240px;
  margin:0 auto;
  padding:0 20px;
  gap:28px;
}

/* Logo */
.logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  font-size:22px;
  color:var(--green-dark);
  flex-shrink:0;
}

.logo small{
  display:block;
  font-family:'Poppins',sans-serif;
  font-weight:500;
  font-size:10.5px;
  letter-spacing:2px;
  color:var(--saffron-dark);
}

/* Logo image */
.logo-image{
    height:90px;
    width:auto;
    object-fit:contain;
    transform:scale(1.20);
}

.foot-brand .logo-image{
  height:70px;
  width:auto;
  max-width:220px;
}
/* Main navigation */
nav.main-nav{
  flex:1;
  min-width:0;
  padding-left:50px;
}

nav.main-nav ul{
  display:flex;
  align-items:center;
  gap:24px;
}

nav.main-nav a{
  font-family:'Poppins',sans-serif;
  font-weight:400;
  font-size:14px;
  color:var(--text-dark);
  position:relative;
  padding:6px 0;
  transition:color .25s;
  white-space:nowrap;
}

nav.main-nav a::after{
  content:'';
  position:absolute;
  left:0;
  bottom:0;
  height:1.5px;
  width:0;
  background:var(--saffron);
  transition:width .25s;
}

nav.main-nav a:hover{
  color:var(--saffron-dark);
}

nav.main-nav a.active{
  color:#541026;
  font-weight:500;
}

nav.main-nav a.active::after{
  width:100%;
}

/* Right-side actions */
.nav-icons{
  display:flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}

.login-link{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:12.5px;
  font-weight:500;
  letter-spacing:.2px;
  color:var(--text-dark);
  padding:8px 6px;
  border-radius:8px;
  white-space:nowrap;
  transition:background .2s,color .2s;
}

.login-link i{
  font-size:15px;
}

.login-link:hover{
  background:var(--green-pale);
  color:var(--green-dark);
}

.icon-btn{
  position:relative;
  font-size:18px;
  line-height:1;
  color:#47392E;
  width:36px;
  height:36px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .2s,transform .2s;
}
.icon-btn i{ line-height:1; }

.icon-btn:hover{
  background:var(--green-pale);
  transform:translateY(-1px);
}

.cart-count{
  position:absolute;
  top:-1px;
  right:-1px;
  background:var(--saffron);
  color:#fff;
  font-size:9.5px;
  font-weight:700;
  width:17px;
  height:17px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid #fff;
}

.cart-link{
  display:flex;
  align-items:center;
  gap:3px;
  padding:2px 5px 2px 2px;
  border-radius:25px;
  transition:background .2s;
}

.cart-link:hover{
  background:var(--green-pale);
}

.cart-price{
  font-size:12.5px;
  font-weight:500;
  color:#444;
}

.burger{
  display:none;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  font-size:19px;
  line-height:1;
  color:var(--green-dark);
  border-radius:50%;
  transition:background .2s;
  flex-shrink:0;
}
.burger:hover{ background:var(--green-pale); }

/* Search panel */
.search-panel{
  max-height:0;
  overflow:hidden;
  background:#fff;
  border-top:1px solid #F7F2EC;
  transition:max-height .3s ease;
}

.search-panel.show{
  max-height:74px;
}

.search-inner{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px 24px;
  color:var(--text-mute);
  font-size:16px;
}

.search-inner input{
  flex:1;
  border:none;
  outline:none;
  font-size:15px;
  font-family:inherit;
  color:var(--text-dark);
  background:transparent;
}

.search-close{
  font-size:18px;
  color:var(--text-mute);
  width:32px;
  height:32px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

.search-close:hover{
  background:var(--green-pale);
}

/* ---------- Hero / offer banner ---------- */
.hero{
  padding:0;
  margin:0;
  overflow:hidden;
  position:relative;
}

.main-banner{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
}

  /* ---------- Section heading ---------- */
  .section-pad{ padding:64px 0; }
  /* Shop By Category section only — pulled up closer to the banner above it */
  #products.section-pad{ padding-top:14px; }
  .sec-head{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:32px; flex-wrap:wrap; gap:16px;}
  .eyebrow-label{ color:var(--saffron-dark); font-weight:700; letter-spacing:2px; font-size:12.5px; text-transform:uppercase; margin-bottom:6px; display:block;}
  .sec-title{ font-size:32px; color:var(--text-dark); font-weight:700; }
  .btn-outline{
    border:1.5px solid var(--green-dark); color:var(--green-dark); padding:10px 24px; border-radius:30px; font-weight:600; font-size:13.5px;
    letter-spacing:.5px; transition:all .25s; text-transform:uppercase;
  }
  .btn-outline:hover{ background:var(--green-dark); color:#fff; }
.btn-outline.insta-follow-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-width:230px;
    text-transform:none;
    font-size:13.5px;
    letter-spacing:.2px;
}
.btn-outline.insta-follow-btn i{
    font-size:16px;
    background:linear-gradient(45deg,#feda75 0%,#fa7e1e 25%,#d62976 55%,#962fbf 75%,#4f5bd5 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent;
}
.btn-outline.insta-follow-btn:hover i{
    -webkit-text-fill-color:#fff;
    color:#fff;
}


  /* ---------- Category filter bar ---------- */
  .category-filter-bar{
    display:flex; flex-wrap:wrap; gap:12px; margin-bottom:32px;
  }
  .cat-filter-btn{
    border:1.5px solid var(--green-dark); background:#fff; color:var(--green-dark);
    padding:10px 22px; border-radius:30px; font-weight:600; font-size:14px;
    letter-spacing:.2px; transition:all .25s; cursor:pointer; white-space:nowrap;
  }
  .cat-filter-btn:hover{ background:var(--green-pale); }
  .cat-filter-btn.active{ background:var(--green-dark); color:#fff; }
  @media (max-width:640px){
    .category-filter-bar{ flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:4px; }
  }

  /* ---------- Product grid ---------- */
  .grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
  .product-card{
    background:#fff; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
    transition:transform .3s, box-shadow .3s; display:flex; flex-direction:column; position:relative;
  }
  .product-card:hover{ transform:translateY(-8px); box-shadow:var(--shadow-strong); }
  .product-media{
    height:210px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden;
  }
  .product-media svg{ height:150px; transition:transform .4s; }
  .product-card:hover .product-media svg{ transform:scale(1.08) rotate(-1deg); }
  .off-badge{
    position:absolute; top:10px; left:10px; background:var(--maroon); color:#fff; font-size:11px; font-weight:700;
    padding:5px 10px; border-radius:20px; z-index:2;
  }
  .special-strip{
    position:absolute; top:10px; right:10px; background:var(--saffron); color:#fff; font-size:10.5px; font-weight:600;
    padding:5px 9px; border-radius:20px; z-index:2; letter-spacing:.3px;
  }
  .wish-btn{
    position:absolute; top:10px; right:10px; width:32px; height:32px; border-radius:50%; background:#fff; box-shadow:var(--shadow);
    display:flex; align-items:center; justify-content:center; color:var(--text-mute); z-index:2; transition:color .2s, transform .2s;
  }
  .wish-btn.on, .wish-btn:hover{ color:#541026; transform:scale(1.1); }
  .product-info{ padding:16px 18px 18px; display:flex; flex-direction:column; gap:8px; flex:1; }
  .product-info h4{ font-size:15px; font-weight:600; font-family:'Poppins',sans-serif; line-height:1.35; color:var(--text-dark); min-height:40px;}
  .price-row{ display:flex; align-items:baseline; gap:8px; }
  .price-now{ font-weight:700; color:var(--green-dark); font-size:17px; }
  .price-old{ text-decoration:line-through; color:#7A6A5E; font-size:13.5px; }
  .stars{ color:#DD9E57; font-size:12px; }
  .add-cart-btn{
    margin-top:auto; background:var(--saffron); color:#fff; padding:10px 14px; border-radius:8px; font-weight:600;
    font-size:13.5px; display:flex; align-items:center; justify-content:center; gap:8px; transition:background .25s, transform .2s;
  }
  .add-cart-btn:hover{ background:var(--saffron-dark); transform:translateY(-2px); }
  .add-cart-btn.added{ background:var(--green-mid); }
  .bundle-note{ font-size:11.5px; color:var(--text-mute); background:var(--cream-2); padding:6px 8px; border-radius:6px; }

  .see-more-wrap{ text-align:center; margin-top:45px; }
  .extra-grid{ display:none; margin-top:22px; }
  .extra-grid.show{ display:grid; }

  /* ---------- Combo section ---------- */
  .combo-section{ background:var(--green-pale); }
  .combo-section .sec-title{ color:var(--green-dark); }

  /* ---------- Why choose us ---------- */
  .why-grid{ display:grid; grid-template-columns:1.15fr 1fr; gap:50px; align-items:start; }
  .why-title{ font-size:36px; line-height:1.25; color:var(--text-dark); margin:8px 0 12px; font-weight:800;}
  .why-title em{ color:var(--green-mid); font-style:normal; border-bottom:3px solid var(--saffron); }
  .why-sub{ color:var(--text-mute); font-size:15px; max-width:480px; margin-bottom:30px; line-height:1.6;}
  .why-features{ display:grid; grid-template-columns:1fr 1fr; gap:26px; }
  .why-feat{ display:flex; gap:14px; }
  .why-feat .ico{
    width:44px; height:44px; border-radius:12px; flex-shrink:0; display:flex; align-items:center; justify-content:center;
    font-size:18px; color:#fff;
  }
  .why-feat:nth-child(1) .ico{ background:var(--saffron); }
  .why-feat:nth-child(2) .ico{ background:var(--green-mid); }
  .why-feat:nth-child(3) .ico{ background:#47392E; }
  .why-feat:nth-child(4) .ico{ background:var(--green-dark); }
  .why-feat h5{ font-size:15px; margin-bottom:4px; font-weight:700; }
  .why-feat p{ font-size:13.3px; color:var(--text-mute); line-height:1.55; }

  .quote-card{
  background:#ffffff; color:var(--text-dark); border-radius:20px; padding:36px 32px;
  box-shadow:var(--shadow-strong); position:relative; border:1.5px solid #f0ece2;
}
  .quote-card .qmark{ font-size:50px; color:var(--gold); font-family:'Playfair Display',serif; line-height:0; margin-bottom:10px; display:block;}
  .quote-card p.qtext{ font-family:'Playfair Display',serif; font-size:21px; line-height:1.5; margin-bottom:22px; font-weight:600;}
  .quote-tags{ display:flex; flex-wrap:wrap; gap:10px; }
  .quote-tags span{
    background:rgba(255,255,255,.12); padding:7px 13px; border-radius:20px; font-size:12px; display:flex; align-items:center; gap:6px;
  }

  /* ---------- Testimonials ---------- */
  .testi-section{ background:var(--cream-2); }
  .testi-head{ text-align:center; margin-bottom:36px; }
  .testi-head p{ color:var(--text-mute); margin-top:8px; }
  .testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .testi-card{
  background:#fff;
  border-radius:16px;
  padding:26px;
  box-shadow:var(--shadow);
  height:356px;
  display:flex;
  flex-direction:column;
}
  .testi-card .stars{ color:var(--saffron); font-size:14px; margin-bottom:10px; }
  .testi-card p.txt{ font-style:italic; color:#47392E; font-size:14.5px; line-height:1.6; margin-bottom:18px;flex:1; }
  .testi-person{ display:flex; align-items:center; gap:12px; }
  .avatar{
    width:42px; height:42px; border-radius:50%; background:var(--saffron); color:#fff; display:flex; align-items:center;
    justify-content:center; font-weight:600; font-size:16px;
  }
  .testi-person h6{ font-size:14px; font-weight:700; }
  .testi-person span{ font-size:12px; color:var(--text-mute); }

  /* ---------- Instagram ---------- */
  .insta-head{ text-align:center; margin-bottom:30px; display:flex; align-items:center; justify-content:center; gap:10px; }
  .insta-head h3{ font-size:22px; font-weight:600; font-family:'Poppins',sans-serif;}
  .insta-head i{
    font-size:23px;
    background:linear-gradient(45deg,#feda75 0%,#fa7e1e 25%,#d62976 55%,#962fbf 75%,#4f5bd5 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    color:transparent;
}
  /* ---------- Instagram — full poster format, no cropping ---------- */
  .insta-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    align-items:start;
  }

  .insta-tile{
    width:100%;
    aspect-ratio:568 / 1024 !important;
    height:auto !important;
    min-height:0 !important;
    border-radius:14px;
    overflow:hidden;
    position:relative;
    box-shadow:var(--shadow);
    display:flex;
    align-items:flex-end;
    justify-content:center;
    color:#fff;
    text-align:center;
    padding:16px;
    font-weight:600;
    border:none; cursor:pointer; background:#e9e2d3;
  }
  .insta-tile-video{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  }
  .insta-tile::before{
    content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.55), transparent 55%); z-index:1;
  }
  .insta-tile span{ position:relative; z-index:1; }
  .insta-play-icon{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:56px; height:56px; border-radius:50%; background:rgba(255,255,255,.9);
    display:flex; align-items:center; justify-content:center; z-index:2;
    box-shadow:0 4px 14px rgba(0,0,0,.25); transition:transform .2s;
  }
  .insta-play-icon i{ color:#541026; font-size:20px; margin-left:3px; }
  .insta-tile:hover .insta-play-icon{ transform:translate(-50%,-50%) scale(1.08); }
  .insta-views{
    position:absolute; left:16px; bottom:16px; z-index:2; color:#fff; font-weight:700; font-size:14px;
    display:flex; align-items:center; gap:7px; text-shadow:0 1px 4px rgba(0,0,0,.4);
  }
  .insta-views i{ font-size:12px; }

  /* ---- Instagram lightbox popup ---- */
  .insta-lightbox-overlay{
    position:fixed; inset:0; background:rgba(0,0,0,.72); z-index:1400;
    opacity:0; visibility:hidden; transition:opacity .25s;
  }
  .insta-lightbox-overlay.show{ opacity:1; visibility:visible; }
  .insta-lightbox{
    position:fixed; top:50%; left:50%; transform:translate(-50%,-50%) scale(.96);
    z-index:1401; width:min(400px, 92vw); opacity:0; visibility:hidden;
    transition:opacity .25s, transform .25s;
  }
  .insta-lightbox.show{ opacity:1; visibility:visible; transform:translate(-50%,-50%) scale(1); }
  .insta-lightbox-card{
    background:#000; border-radius:16px; overflow:hidden; box-shadow:0 20px 60px rgba(0,0,0,.5);
  }
  .insta-lightbox-head{
    display:flex; align-items:center; justify-content:space-between; padding:12px 16px;
    background:#fff;
  }
  .insta-lightbox-brand{ display:flex; align-items:center; gap:10px; font-weight:700; font-size:14px; color:var(--text-dark); }
  .insta-lightbox-avatar{ width:32px; height:32px; border-radius:50%; object-fit:cover; border:1px solid #eee; }
  .insta-lightbox-close{
    background:none; border:none; cursor:pointer; font-size:18px; color:var(--text-mute);
    width:32px; height:32px; display:flex; align-items:center; justify-content:center;
  }
  .insta-lightbox-media{
    width:100%; aspect-ratio:9/16; background:#000; display:flex; align-items:center; justify-content:center;
  }
  .insta-lightbox-media img, .insta-lightbox-media video{
    width:100%; height:100%; object-fit:cover; display:block;
  }
  .insta-lightbox-open-btn{
    display:flex; align-items:center; justify-content:center; gap:9px;
    background:#fff; color:var(--text-dark); font-weight:700; font-size:15px;
    padding:16px; text-decoration:none;
  }
  .insta-lightbox-open-btn i{
    font-size:17px;
    background:linear-gradient(45deg,#DD9E57,#541026); -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .insta-lightbox-open-btn:hover{ background:#faf6f0; }
  .gallery-tile{
    aspect-ratio:1/1.35; border-radius:14px; overflow:hidden; position:relative; box-shadow:var(--shadow);
    display:flex; align-items:flex-end; justify-content:center; color:#fff; text-align:center; padding:16px; font-weight:600;
    background-size:cover; background-position:center; background-repeat:no-repeat;
  }
  .gallery-tile::before{
    content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.55), transparent 55%);
  }
  .gallery-tile span{ position:relative; z-index:1; }

  /* ---------- Footer ---------- */
  footer{ background:#541026;color:#ffffff; padding:56px 0 0; margin-top:10px; }
  .foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.12);}
  .foot-brand .logo{ color:#F7F2EC; margin-bottom:14px; }
  .foot-brand p{ font-size:13.5px; line-height:1.7; color:#F7F2EC; max-width:300px; }
  footer h6{ color:#FFFFFF; font-size:15px; margin-bottom:16px; font-weight:600; }
  footer ul li{ margin-bottom:10px; }
  footer ul a{ font-size:13.5px; color:#F7F2EC; transition:color .2s, padding-left .2s; }
  footer ul a:hover{ color:#DD9E57; padding-left:4px; }
  .social-row{ display:flex; gap:10px; }
  .social-row a{
    width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center;
    justify-content:center; transition:background .2s, transform .2s; color:#fff;
  }
  .social-row a:hover{ background:var(--saffron); transform:translateY(-3px); }
  .foot-bottom{ display:flex; align-items:center; justify-content:space-between; padding:20px 0; font-size:12.5px; color:#ffffff; flex-wrap:wrap; gap:10px; }
  .foot-badges{ display:flex; gap:16px; }
  .foot-badges span{ display:flex; align-items:center; gap:6px; }
  .fssai-logo{
  width:45px;
  height:auto;
  object-fit:contain;
}

  /* ---------- WhatsApp logo (floating, no green circle) ---------- */
  .whatsapp-float{
    position:fixed; bottom:70px; right:22px; z-index:150;
    display:inline-flex; align-items:center; justify-content:center;
    filter:drop-shadow(0 4px 10px rgba(0,0,0,.3));
  }
  .whatsapp-float img{ width:56px !important; height:56px !important; }
  @media (max-width:600px){
    .whatsapp-float{ bottom:80px; right:14px; }
    .whatsapp-float img{ width:46px !important; height:46px !important; }
  }

  /* ---------- Toast ---------- */
  #toast{
    position:fixed; bottom:100px; right:26px; background:var(--green-dark); color:#fff; padding:13px 22px; border-radius:10px;
    font-size:14px; font-weight:500; box-shadow:var(--shadow-strong); z-index:400; opacity:0; transform:translateY(20px);
    transition:opacity .3s, transform .3s; display:flex; align-items:center; gap:10px;
  }
  #toast.show{ opacity:1; transform:translateY(0); }
  #toast i{ color:#DD9E57; }

  /* ---------- Cart Drawer ---------- */
  .overlay{ position:fixed; inset:0; background:rgba(20,25,15,.5); opacity:0; pointer-events:none; transition:opacity .3s; z-index:300; }
  .overlay.show{ opacity:1; pointer-events:auto; }
  .drawer{
    position:fixed; top:0; right:-420px; width:400px; max-width:92vw; height:100%; background:#fff; z-index:310;
    transition:right .35s cubic-bezier(.4,0,.2,1); display:flex; flex-direction:column; box-shadow:-10px 0 40px rgba(0,0,0,.2);
  }
  .drawer.show{ right:0; }
  .drawer-head{ display:flex; align-items:center; justify-content:space-between; padding:26px 24px 18px; }
  .drawer-head h4{ font-family:'Poppins',sans-serif; font-size:24px; font-weight:500; color:var(--text-dark); letter-spacing:.2px; }
  .drawer-close{ font-size:19px; color:var(--text-dark); width:32px; height:32px; display:flex; align-items:center; justify-content:center; background:none; }
  .drawer-close:hover{ opacity:.6; }

  .cart-table-head{ display:flex; justify-content:space-between; padding:0 24px 10px; border-bottom:1px solid #DFD3C5; }
  .cart-table-head span{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#7A6A5E; font-weight:600; }

  .drawer-body{ flex:1; overflow-y:auto; padding:0 24px; }
  .cart-item{ display:flex; gap:16px; padding:20px 0; border-bottom:1px solid #DFD3C5; align-items:flex-start; }
  .cart-item-media{ width:96px; height:96px; border-radius:12px; background:var(--cream-2); display:flex; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden;}
  .cart-item-media svg{ height:60px; }
  .cart-item-media img{ width:100%; height:100%; object-fit:cover; }
  .cart-item-info{ flex:1; min-width:0; }
  .cart-item-info h5{ font-size:15.5px; font-weight:500; line-height:1.35; margin-bottom:8px; color:var(--text-dark); }
  .cart-item-unit-price{ font-size:13.5px; color:var(--text-dark); margin-bottom:6px; }
  .cart-item-size{ font-size:13px; color:#7A6A5E; margin-bottom:14px; }
  .cart-variant{ font-weight:500; color:var(--text-mute); font-size:12px; }
  .cart-item-row-bottom{ display:flex; align-items:center; gap:10px; }
  .qty-ctrl{ display:flex; align-items:center; gap:0; border:1.5px solid #DFD3C5; border-radius:999px; padding:4px 6px; }
  .qty-ctrl button{ width:26px; height:26px; border-radius:50%; background:none; font-size:12px; color:var(--text-dark); display:flex; align-items:center; justify-content:center; }
  .qty-ctrl button:hover{ background:var(--cream-2); }
  .qty-ctrl span{ min-width:26px; text-align:center; font-size:14px; font-weight:500; }
  .remove-item{ width:34px; height:34px; border-radius:50%; color:#7A6A5E; font-size:14px; display:flex; align-items:center; justify-content:center; background:none; flex-shrink:0; }
  .remove-item:hover{ background:#F7F2EC; color:#541026; }
  .cart-item-price{ font-weight:400; color:var(--text-dark); font-size:15px; white-space:nowrap; text-align:right; flex-shrink:0; }
  .drawer-empty{ text-align:center; padding:60px 10px; color:var(--text-mute); }
  .drawer-empty i{ font-size:44px; color:#ddd; margin-bottom:14px; }
  .drawer-empty-title{ font-family:'Poppins', sans-serif; font-size:20px; font-weight:500; color:var(--text-dark); margin-bottom:26px; }
  .drawer-empty-btn{ display:inline-block; background:var(--saffron); color:#fff; padding:15px 44px; border-radius:999px; font-weight:600; font-size:15px; transition:background .2s; margin-bottom:30px; }
  .drawer-empty-btn:hover{ background:var(--saffron-dark); }
  .drawer-empty-account{ font-size:14.5px; color:var(--text-dark); }
  .drawer-empty-account a{ text-decoration:underline; font-weight:500; color:var(--text-dark); }
  .drawer-empty-account a:hover{ color:var(--saffron-dark); }
  .drawer-foot{ padding:20px 24px 26px; border-top:1px solid #eee; }
  .subtotal-row{ display:flex; justify-content:space-between; margin-bottom:8px; font-weight:500; font-size:16px; color:var(--text-dark); }
  .cart-tax-note{ font-size:12.5px; color:#7A6A5E; margin-bottom:18px; line-height:1.5; }
  .checkout-btn{ width:100%; background:var(--saffron); color:#fff; padding:16px; border-radius:999px; font-weight:600; font-size:15px; transition:background .2s; }
  .checkout-btn:hover{ background:var(--saffron-dark); }

  /* ---------- Login modal ---------- */
  .modal-overlay{ position:fixed; inset:0; background:rgba(20,25,15,.55); display:none; align-items:center; justify-content:center; z-index:320; }
  .modal-overlay.show{ display:flex; }
  .modal-box{ background:#fff; width:380px; max-width:90vw; border-radius:16px; padding:30px; box-shadow:var(--shadow-strong); position:relative; }
  .modal-close{ position:absolute; top:14px; right:14px; font-size:18px; color:var(--text-mute); width:32px;height:32px;border-radius:50%; display:flex;align-items:center;justify-content:center;}
  .modal-close:hover{ background:#f2f2f2; }
  .modal-tabs{ display:flex; gap:6px; background:var(--cream-2); border-radius:30px; padding:4px; margin-bottom:22px; }
  .modal-tabs button{ flex:1; padding:9px; border-radius:26px; font-size:13.5px; font-weight:600; color:var(--text-mute); transition:.2s; }
  .modal-tabs button.active{ background:var(--green-dark); color:#fff; }
  .modal-box h3{ font-size:20px; margin-bottom:18px; }
  .form-field{ margin-bottom:14px; }
  .form-field label{ font-size:12.5px; font-weight:600; display:block; margin-bottom:5px; color:var(--text-dark); }
  .form-field input{ width:100%; padding:11px 13px; border:1.5px solid #F7F2EC; border-radius:9px; font-size:13.5px; font-family:inherit; }
  .form-field input:focus{ outline:none; border-color:var(--saffron); }
  .modal-submit{ width:100%; background:var(--saffron); color:#fff; padding:12px; border-radius:9px; font-weight:600; font-size:14.5px; margin-top:6px; }
  .modal-submit:hover{ background:var(--saffron-dark); }
  .auth-pane{ display:none; }
  .auth-pane.active{ display:block; }

  /* ---------- Google Sign-In / Account view ---------- */
  .account-view{ text-align:center; padding-top:6px; }
  .account-view h3{ margin-bottom:6px; }
  .account-sub{ color:var(--text-mute); font-size:13.5px; margin-bottom:24px; line-height:1.5; }
  .account-email{ color:var(--text-mute); font-size:13px; margin-bottom:22px; }
  .account-avatar{ width:72px; height:72px; border-radius:50%; object-fit:cover; margin:0 auto 14px; display:block; box-shadow:var(--shadow); }
  .account-avatar-fallback{ display:flex; align-items:center; justify-content:center; background:var(--green-pale); color:var(--green-dark); font-size:26px; }
  .google-signin-btn{
    width:100%; display:flex; align-items:center; justify-content:center; gap:10px;
    background:#fff; border:1.5px solid #DFD3C5; color:var(--text-dark);
    padding:12px; border-radius:9px; font-weight:600; font-size:14.5px; transition:.2s;
  }
  .google-signin-btn:hover{ background:var(--green-pale); border-color:var(--green-dark); }

  /* ---------- Back to top ---------- */
  .top-btn{
    position:fixed; bottom:26px; left:26px; width:46px; height:46px; border-radius:50%; background:var(--green-dark); color:#fff;
    display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .3s, transform .2s; z-index:150; box-shadow:var(--shadow);
  }
  .top-btn.show{ opacity:1; pointer-events:auto; }
  .top-btn:hover{ transform:translateY(-4px); }

  /* ---------- Responsive ---------- */
  @media(max-width:1080px){
    .nav-wrap{gap:18px;}
    nav.main-nav ul{gap:16px;}
    nav.main-nav a{font-size:13px;}
    .nav-icons{gap:2px;}
    .login-link{font-size:11.5px;padding-left:3px;padding-right:3px;}
    .grid-4{ grid-template-columns:repeat(2,1fr); }
    .why-grid{ grid-template-columns:1fr; }
    .foot-grid{ grid-template-columns:1fr 1fr; }
    .insta-grid{ grid-template-columns:repeat(2,1fr); }
    .testi-grid{ grid-template-columns:1fr; }
  }
  @media(max-width:860px){
    .nav-wrap{padding:12px 20px;}
    nav.main-nav{ position:fixed; top:0; right:-100%; width:280px; height:100vh; background:#fff; flex-direction:column;
      padding:90px 30px; box-shadow:-6px 0 24px rgba(0,0,0,.1); transition:right .35s; z-index:250; }
    nav.main-nav.open{ right:0; }
    nav.main-nav ul{ flex-direction:column; gap:22px; }
    .burger{ display:flex; }
    .why-features{ grid-template-columns:1fr; }
  }
  @media(max-width:640px){
    .grid-4{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .foot-grid{ grid-template-columns:1fr; }
    .insta-grid{ grid-template-columns:repeat(2,1fr); }
    .sec-title{ font-size:26px; }
    .sec-head{ flex-direction:column; align-items:flex-start; }
    .why-title{ font-size:27px; }
  }
/* ---------- Separate banner images for each page ---------- */
.page-banner{
  position:relative;
  width:100%;
  min-height:390px;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  overflow:hidden;
}

/* Put these image files in the same folder as style.css */
.about-banner{
  background-image:url('assets/about-banner-bg.jpg.png');
}

.products-banner{
  background-image:url('assets/gallery-banner-bg.jpg.png');
}
.gallery-banner{
  background-image:url('assets/products-banner-bg.jpg.png');
}

.contact-banner{
  background-image:url('assets/contact-banner-bg.jpg.png');
}

.wishlist-banner{
  background-image:url('assets/wishlist-banner-bg.jpg.png');
}

.page-banner-overlay{
  min-height:390px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:rgba(0,0,0,.03);
}

.page-banner-content{
  margin-top:-4px;
  color:#fff;
}

.page-banner h1{
  margin:0 0 26px;
  font-family:'Poppins',sans-serif;
  font-size:68px;
  line-height:1;
  font-weight:800;
  color:#fff;
  text-transform:none;
  text-shadow:0 2px 5px rgba(0,0,0,.08);
}

.page-breadcrumb{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  font-family:'Poppins',sans-serif;
  font-size:16px;
  font-weight:600;
  color:#fff;
}

.page-breadcrumb a{
  color:#fff;
  transition:opacity .2s ease;
}

.page-breadcrumb a:hover{
  opacity:.75;
}

.page-breadcrumb span{
  color:#fff;
}

@media(max-width:800px){
  .page-banner,
  .page-banner-overlay{
    min-height:300px;
  }

  .page-banner h1{
    font-size:52px;
  }
}

@media(max-width:640px){
  .page-banner,
  .page-banner-overlay{
    min-height:240px;
  }

  .page-banner h1{
    font-size:40px;
    margin-bottom:18px;
  }

  .page-breadcrumb{
    font-size:13px;
    gap:9px;
  }
}

/* ---------- Quick links (home page) ---------- */
.quick-links{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.quick-link-card{
  background:#fff; border:1px solid #F7F2EC; border-radius:16px; padding:30px 22px; text-align:center;
  box-shadow:var(--shadow); transition:transform .25s, box-shadow .25s;
}
.quick-link-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-strong); }
.quick-link-card i{ font-size:30px; color:var(--saffron-dark); margin-bottom:14px; }
.quick-link-card h5{ font-family:'Playfair Display',serif; font-size:17px; margin-bottom:8px; color:var(--green-dark); }
.quick-link-card p{ font-size:13px; color:var(--text-mute); line-height:1.5; }
@media(max-width:1080px){ .quick-links{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px){ .quick-links{ grid-template-columns:1fr; } }

/* ---------- Contact page ---------- */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:start; }
.contact-item{ display:flex; gap:16px; align-items:flex-start; margin-top:22px; }
.contact-item i{
  width:42px; height:42px; border-radius:50%; background:var(--green-pale); color:var(--green-dark);
  display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0;
}
.contact-item h6{ font-size:14px; margin-bottom:4px; color:var(--text-dark); }
.contact-item p, .contact-item a{ font-size:13.5px; color:var(--text-mute); }
.contact-item a:hover{ color:var(--saffron-dark); }
@media(max-width:860px){ .contact-grid{ grid-template-columns:1fr; } }

/* ---------- Featured products on home page ---------- */
.featured-products-section{
  background:#fff;
}

.home-product-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:30px;
}

.home-product-grid .product-card{
  min-width:0;
}

.home-product-grid .product-media{
  height:330px;
  background:#F7F2EC;
}

.home-product-grid .product-media svg{
  height:260px;
}

.home-product-grid .product-info{
  padding:18px 16px 18px;
}

.home-product-grid .product-info h4{
  font-size:17px;
  min-height:48px;
}

.home-product-grid .price-now{
  color:var(--saffron);
  font-size:18px;
}

.home-product-grid .add-cart-btn{
  background:var(--saffron);
  border-radius:9px;
  padding:12px 14px;
  font-size:14px;
}

.home-product-grid .off-badge{
  background:var(--saffron);
  font-size:12px;
  padding:7px 13px;
  top:18px;
  left:12px;
}

@media(max-width:1080px){
  .home-product-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media(max-width:640px){
  .home-product-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .home-product-grid .product-media{ height:180px; }
}

/* ===== FINAL BENEFITS ALIGNMENT ===== */
.benefits-section{
  width:100%;
  background:#fff;
  padding:58px 0 70px;
  overflow:hidden;
}

.benefits-layout{
  width:100%;
  max-width:1320px;
  margin:20px auto 0;
  display:grid;
  grid-template-columns:1fr 420px 1fr;
  align-items:center;
  column-gap:45px;
}

.benefits-column{
  height:390px;
  display:grid;
  grid-template-rows:repeat(3,1fr);
  align-items:center;
  gap:0;
}

.benefit-item{
  width:100%;
  min-height:90px;
  display:flex;
  align-items:center;
  gap:18px;
  font-size:17px;
  line-height:1.35;
}

.benefits-left .benefit-item{
  justify-content:flex-end;
  text-align:right;
}

.benefits-left .benefit-item strong{
  order:1;
  width:230px;
}

.benefits-left .benefit-item .benefit-icon{
  order:2;
}

.benefits-right .benefit-item{
  justify-content:flex-start;
  text-align:left;
}

.benefits-right .benefit-item .benefit-icon{
  order:1;
}

.benefits-right .benefit-item strong{
  order:2;
  width:250px;
}

.benefit-icon{
  width:76px;
  height:76px;
  min-width:76px;
  flex:0 0 76px;
  border:2px solid #DD9E57;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#DD9E57;
  background:#fff;
  font-size:28px;
}

.benefits-product{
  width:420px;
  height:420px;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
}

.benefits-bottle{
  display:block;
  width:420px;
  max-width:420px;
  height:420px;
  object-fit:contain;
}

@media(max-width:1100px){
  .benefits-layout{
    grid-template-columns:1fr 340px 1fr;
    column-gap:20px;
  }
  .benefits-product,
  .benefits-bottle{
    width:340px;
    height:340px;
  }
  .benefits-column{height:340px;}
  .benefit-item{font-size:15px;}
  .benefits-left .benefit-item strong,
  .benefits-right .benefit-item strong{width:auto;}
}

@media(max-width:800px){
  .benefits-layout{
    grid-template-columns:1fr 1fr;
    gap:20px;
  }
  .benefits-product{
    grid-column:1 / -1;
    grid-row:1;
    justify-self:center;
  }
  .benefits-left{grid-column:1;grid-row:2;}
  .benefits-right{grid-column:2;grid-row:2;}
  .benefits-column{height:auto;display:flex;flex-direction:column;gap:20px;}
  .benefit-item{
    flex-direction:column !important;
    justify-content:center !important;
    text-align:center !important;
  }
  .benefits-left .benefit-item strong,
  .benefits-right .benefit-item strong{
    width:auto;
  }
}

@media(max-width:560px){
  .benefits-layout{display:flex;flex-direction:column;}
  .benefits-product{order:1;width:300px;height:300px;}
  .benefits-left{order:2;}
  .benefits-right{order:3;}
  .benefits-bottle{width:300px;height:300px;}
}

/* ============================================================
   MODERN PRODUCT CARD UI
============================================================ */
.home-product-grid .product-card-modern,
.grid-4 .product-card-modern{
  border:1px solid #e4e4e4;
  border-radius:18px;
  box-shadow:none;
  overflow:hidden;
  background:#fff;
}

.product-card-modern:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.product-card-modern .product-media{
  height:330px;
  margin:0;
  background:#fafafa;
  position:relative;
}

.product-card-modern .product-media svg{
  width:100%;
  height:285px;
  max-height:285px;
}

.product-card-modern .off-badge{
  top:16px;
  left:12px;
  background:var(--saffron);
  font-size:13px;
  padding:8px 14px;
  font-weight:700;
}

.product-card-modern .wish-btn{
  top:16px;
  right:12px;
  width:48px;
  height:48px;
  font-size:20px;
  color:#6d6d6d;
}

.product-card-modern .wish-btn.on,
.product-card-modern .wish-btn:hover{
  color:#541026;
}

.product-card-modern .product-info{
  padding:22px 12px 12px;
  gap:11px;
}

.product-card-modern .product-info h4{
  font-size:18px;
  line-height:1.35;
  min-height:50px;
  margin:0;
}

.rating-row{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:20px;
}

.product-card-modern .stars{
  color:#DD9E57;
  font-size:15px;
  letter-spacing:1px;
}

.review-count{
  color:#8b8b8b;
  font-size:12.5px;
}

.product-card-modern .price-row{
  gap:9px;
  margin-top:1px;
}

.product-card-modern .price-now{
  color:var(--green-dark);
  font-size:21px;
  font-weight:800;
}

.product-card-modern .price-old{
  color:#999;
  font-size:14px;
}

.size-options{
  display:flex;
  gap:10px;
  margin-top:4px;
  flex-wrap:wrap;
}

.size-option{
  border:1px solid #F7F2EC;
  border-radius:999px;
  background:#F7F2EC;
  color:#47392E;
  padding:9px 20px;
  font-family:'Poppins',sans-serif;
  font-weight:600;
  font-size:13px;
  line-height:1;
  cursor:pointer;
  transition:.2s ease;
}

.size-option.active{
  background:var(--green-dark);
  border-color:var(--green-dark);
  color:#fff;
}

.size-option:hover:not(.active){
  border-color:var(--green-mid);
  color:var(--green-dark);
}

.modern-add-btn{
  width:100%;
  min-height:44px;
  margin-top:5px;
  border-radius:10px;
  background:var(--saffron);
  font-size:14px;
}

@media(max-width:700px){
  .product-card-modern .product-media{
    height:290px;
  }
  .product-card-modern .product-media svg{
    height:245px;
  }
}

/* ============================================================
   HOME PAGE: ALL PRODUCTS + COMBO PRODUCTS
   Approved product UI without size selectors
============================================================ */
.featured-products-section{
  background:#fff;
}

.home-product-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px;
}

.home-product-grid .product-card-modern{
  min-width:0;
}

.home-product-grid .product-card-modern .product-media{
  height:280px;
}

.home-product-grid .product-card-modern .product-media svg{
  height:245px;
}

.home-product-grid .product-card-modern .product-info{
  padding:20px 12px 12px;
}

.home-product-grid .product-card-modern .product-info h4{
  font-size:17px;
  min-height:48px;
}

.home-product-grid .modern-add-btn{
  margin-top:8px;
}

.home-combo-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px;
}

.home-combo-grid .product-card{
  min-width:0;
}

@media(max-width:1100px){
  .home-product-grid,
  .home-combo-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:800px){
  .home-product-grid,
  .home-combo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:560px){
  .home-product-grid,
  .home-combo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
}

/* Ensure Home page product grids are always visible */
#homeProductGrid,
#homeComboGrid{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
}

/* ============================================================
   REFERENCE PRODUCT CARD UI
   Matched to the uploaded product-card design.
   Size selectors intentionally omitted.
============================================================ */
.home-product-grid,
.home-combo-grid{
  align-items:stretch;
}

.product-card-modern{
  position:relative;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #e2e2e2;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 3px 14px rgba(0,0,0,.04);
  transition:transform .22s ease, box-shadow .22s ease;
}

.product-card-modern:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 28px rgba(0,0,0,.09);
}

.product-card-modern .product-media{
  position:relative;
  height:280px;
  margin:0;
  padding:0;
  background:
    radial-gradient(ellipse at 25% 15%, rgba(255,247,225,.9) 0%, rgba(255,247,225,0) 55%),
    linear-gradient(160deg, #F7F2EC 0%, #DFD3C5 55%, #DFD3C5 100%);
  overflow:hidden;
  border-radius:17px 17px 0 0;
}

.product-card-modern .product-media img,
.product-card-modern .product-media svg{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.product-card-modern .off-badge{
  position:absolute;
  z-index:5;
  top:16px;
  left:12px;
  background:#DD9E57;
  color:#fff;
  border-radius:999px;
  padding:8px 14px;
  font-size:13px;
  line-height:1;
  font-weight:600;
  box-shadow:0 2px 5px rgba(0,0,0,.08);
}

.product-card-modern .wish-btn{
  position:absolute;
  z-index:5;
  top:12px;
  right:12px;
  width:46px;
  height:46px;
  border:0;
  border-radius:50%;
  background:#fff;
  color:#555;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  box-shadow:0 3px 14px rgba(0,0,0,.08);
  cursor:pointer;
  transition:.2s ease;
}
.product-card-modern .wish-btn.on{
  color:#541026;
  transform:scale(1.04);
}

.product-card-modern .product-info{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:20px 12px 12px;
  gap:10px;
}

.product-card-modern .product-info h4{
  margin:0;
  color:#111;
  font-family:'Poppins',sans-serif;
  font-size:18px;
  line-height:1.38;
  font-weight:400;
  min-height:50px;
}

.product-card-modern .rating-row{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:21px;
}

.product-card-modern .stars{
  color:#DD9E57;
  font-size:15px;
  letter-spacing:1px;
  line-height:1;
}

.product-card-modern .review-count{
  color:#8d8d8d;
  font-size:12px;
  white-space:nowrap;
}

.product-card-modern .price-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:1px;
}

.product-card-modern .price-now{
  color:var(--green-dark);
  font-size:20px;
  line-height:1;
  font-weight:600;
}

.product-card-modern .price-old{
  color:#7A6A5E;
  font-size:14px;
  text-decoration:line-through;
}

.product-card-modern .modern-add-btn{
  width:100%;
  min-height:48px;
  margin-top:auto;
  border:0;
  border-radius:12px;
  background:#541026;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-family:'Poppins',sans-serif;
  font-size:15.5px;
  font-weight:500;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}

.product-card-modern .modern-add-btn:hover{
   background:var(--green-dark);
  transform:translateY(-1px);
}

.product-card-modern .modern-add-btn i{
  font-size:14px;
}

@media(max-width:1100px){
  .product-card-modern .product-media{height:280px;}
}

@media(max-width:700px){
  .product-card-modern .product-media{height:300px;}
  .product-card-modern .product-info h4{font-size:17px;}
}

#homeProductGrid,
#homeComboGrid{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}


/* ============================================================
   REPAIRED OUR BENEFITS SECTION
   Center heading + description, with benefits/bottle centered
   ============================================================ */

.benefits-section > .container {
  text-align: center;
}

.benefits-section > .container > .sec-head {
  display: block;
  width: 100%;
  text-align: center;
  margin-bottom: 28px;
}

.benefits-section > .container > .sec-head .sec-title {
  width: 100%;
  text-align: center;
  margin: 0 auto;
}

.benefits-section > .container > p {
  max-width: 1100px;
  margin: 12px auto 0;
  text-align: center;
  line-height: 1.7;
}

.benefits-section .benefits-layout {
  width: 100%;
  max-width: 1180px;
  margin: 38px auto 0;
  display: grid;
  grid-template-columns: 1fr 420px 1fr;
  align-items: center;
  justify-content: center;
  column-gap: 35px;
}

.benefits-section .benefits-column {
  height: 390px;
}

.benefits-section .benefit-item strong {
  font-weight: 700;
}

@media (max-width: 1100px) {
  .benefits-section .benefits-layout {
    grid-template-columns: 1fr 340px 1fr;
    column-gap: 20px;
  }
}

@media (max-width: 800px) {
  .benefits-section .benefits-layout {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .benefits-section .benefits-layout {
    display: flex;
    flex-direction: column;
  }
}
/* ONLY Our Benefits heading */
.benefits-heading h2 {
    font-size: 52px !important;
    font-weight: 800 !important;
}

/* ---------- FIX: About Us banner gap ---------- */
.page-banner {
  margin: 0 !important;
  padding: 0 !important;
}
.page-banner + * {
  margin-top: 0;
}

/* ---------- FINAL FIX: remove white gap above About Us banner ---------- */
header.site-header + .page-banner {
  margin-top: -30px !important;
}

header.site-header ~ .page-banner {
  margin-top: -30px !important;
}

/* ============================================================
   GRAMCO COCONUT OIL SECTION
   ============================================================ */

.gramco-section{
  width:100%;
  background:#fff;
  padding:75px 0;
}

.gramco-container{
  width:86%;
  max-width:1320px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:start;
}

.gramco-image{
  width:100%;
}

.gramco-image img{
  width:100%;
  max-width:680px;
  height:auto;
  display:block;
  object-fit:contain;
  margin:0 auto;
}

.gramco-content{
  padding-top:20px;
}

.gramco-content h2{
  margin:0 0 28px;
  color:#111;
  font-family:'Poppins',sans-serif;
  font-size:30px;
  line-height:1.2;
  font-weight:800;
}

.gramco-content p{
  margin:0 0 12px;
  color:#777;
  font-family:'Poppins',sans-serif;
  font-size:13px;
  line-height:1.75;
  font-weight:500;
  text-align:justify;
}

.gramco-line{
  width:100%;
  height:1px;
  background:#ddd;
  margin-top:30px;
}

@media(max-width:900px){
  .gramco-container{
    width:90%;
    grid-template-columns:1fr;
    gap:40px;
  }

  .gramco-content{
    padding-top:0;
  }

  .gramco-content h2{
    font-size:34px;
  }
}

@media(max-width:600px){
  .gramco-section{
    padding:50px 0;
  }

  .gramco-container{
    width:92%;
    gap:30px;
  }

  .gramco-content h2{
    font-size:28px;
    margin-bottom:20px;
  }

  .gramco-content p{
    font-size:15px;
    line-height:1.65;
    text-align:left;
  }
}

/* ============================================================
   WHY GRAMCO NATURAL COCONUT OIL
   ============================================================ */

.why-gramco-section{
  width:100%;
  background:#fff;
  padding:70px 0 80px;
}

.why-gramco-container{
  width:94%;
  max-width:1400px;
  margin:0 auto;
}

.why-gramco-container > h2{
  margin:0 0 30px;
  text-align:center;
  color:#111;
  font-family:'Poppins',sans-serif;
  font-size:28px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.2px;
}

.why-gramco-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:55px;
  row-gap:48px;
}

.why-gramco-card h3{
  margin:0 0 20px;
  text-align:center;
  color:#111;
  font-family:'Poppins',sans-serif;
  font-size:18px;
  line-height:1.3;
  font-weight:700;
}

.why-gramco-card p{
  margin:0;
  color:#777;
  font-family:'Poppins',sans-serif;
  font-size:13px;
  line-height:1.85;
  font-weight:400;
  text-align:left;
}

@media(max-width:900px){
  .why-gramco-section{
    padding:55px 0 65px;
  }

  .why-gramco-grid{
    grid-template-columns:1fr;
    row-gap:40px;
  }

  .why-gramco-container > h2{
    font-size:29px;
  }

  .why-gramco-card h3{
    font-size:22px;
  }
}

@media(max-width:600px){
  .why-gramco-container{
    width:92%;
  }

  .why-gramco-container > h2{
    font-size:25px;
  }

  .why-gramco-card h3{
    font-size:20px;
  }

  .why-gramco-card p{
    font-size:15px;
    line-height:1.7;
  }
}


/* ============================================================
   PRODUCTS FILTER FAIL-SAFE
   Keep category filters visible even if another JS error occurs.
   ============================================================ */
#categoryFilterBar.reveal,
#categoryFilterBar {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* ============================================================
   PRODUCT DETAIL PAGE (product.html)
============================================================ */
.pdp-section{ padding:48px 0 20px; }
.pdp-breadcrumb{
  font-size:13px; color:var(--text-mute); margin-bottom:22px;
}
.pdp-breadcrumb a{ color:var(--text-mute); text-decoration:none; }
.pdp-breadcrumb a:hover{ color:var(--green-dark); }
.pdp-grid{
  display:grid; grid-template-columns:1.05fr 1fr; gap:52px; align-items:flex-start;
}
@media(max-width:900px){
  .pdp-grid{ grid-template-columns:1fr; gap:28px; }
}

/* ---- Gallery ---- */
.pdp-gallery-main{
  background:linear-gradient(160deg,#F7F2EC,#DFD3C5);
  border-radius:var(--radius); overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  aspect-ratio:1/1; box-shadow:var(--shadow);
}
.pdp-gallery-main img{ width:100%; height:100%; object-fit:cover; }
.pdp-gallery-main svg{ width:78%; height:78%; }
.pdp-thumbs{ display:flex; gap:12px; margin-top:14px; flex-wrap:wrap; }
.pdp-thumb{
  width:78px; height:78px; border-radius:10px; overflow:hidden; cursor:pointer;
  border:2px solid transparent; background:linear-gradient(160deg,#F7F2EC,#DFD3C5);
  display:flex; align-items:center; justify-content:center; transition:border-color .2s;
  padding:0;
}
.pdp-thumb img{ width:100%; height:100%; object-fit:cover; }
.pdp-thumb svg{ width:70%; height:70%; }
.pdp-thumb.active,
.pdp-thumb:hover{ border-color:var(--saffron); }

/* ---- Info column ---- */
.pdp-info h1{
  font-family:'Playfair Display', serif; font-size:34px; color:var(--text-dark);
  margin:0 0 10px; line-height:1.25;
}
.pdp-rating-row{ display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.pdp-rating-row .stars i{ color:var(--gold); font-size:15px; }
.pdp-rating-row .stars i.empty{ color:#DFD3C5; }
.pdp-review-link{
  font-size:13.5px; color:var(--text-mute); text-decoration:underline; cursor:pointer;
  background:none; border:none; padding:0; font-family:inherit;
}
.pdp-review-link:hover{ color:var(--green-dark); }

.pdp-price-row{ display:flex; align-items:baseline; gap:12px; margin-bottom:6px; flex-wrap:wrap; }
.pdp-price-now{ font-size:30px; font-weight:800; color:var(--saffron-dark); }
.pdp-price-old{ font-size:18px; color:var(--text-mute); text-decoration:line-through; }
.pdp-off-pill{
  background:#1e1e1e; color:#fff; font-size:12px; font-weight:700; letter-spacing:.3px;
  padding:4px 12px; border-radius:999px;
}
.pdp-tax-note{ font-size:13px; color:var(--text-mute); margin-bottom:22px; }

.pdp-block-label{ font-weight:700; font-size:14px; color:var(--text-dark); margin-bottom:10px; display:block; }

.pdp-size-options{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:24px; }
.pdp-size-option{
  border:1.5px solid #DFD3C5; background:#FFFFFF; border-radius:12px; padding:12px 20px;
  cursor:pointer; text-align:center; min-width:110px; transition:all .2s; font-family:inherit;
}
.pdp-size-option span{ display:block; }
.pdp-size-option .pso-label{ font-weight:700; color:var(--text-dark); font-size:14.5px; }
.pdp-size-option .pso-price{ color:var(--saffron-dark); font-weight:700; font-size:13.5px; margin-top:3px; }
.pdp-size-option.active{ border-color:var(--green-dark); background:var(--green-pale); }
.pdp-size-option:hover:not(.active){ border-color:var(--saffron); }

.pdp-qty-row{ display:flex; align-items:center; gap:22px; margin-bottom:24px; }
.pdp-qty-stepper{
  display:flex; align-items:center; border:1.5px solid #DFD3C5; border-radius:12px; overflow:hidden;
}
.pdp-qty-stepper button{
  width:42px; height:42px; border:none; background:#FFFFFF; cursor:pointer; font-size:15px;
  color:var(--green-dark); transition:background .2s;
}
.pdp-qty-stepper button:hover{ background:var(--green-pale); }
.pdp-qty-stepper span{ width:44px; text-align:center; font-weight:700; }

.pdp-actions{ display:flex; gap:14px; margin-bottom:26px; flex-wrap:wrap; }
.pdp-actions button{
  flex:1; min-width:180px; padding:16px 20px; border-radius:12px; font-weight:700; font-size:15.5px;
  cursor:pointer; border:none; display:flex; align-items:center; justify-content:center; gap:9px;
  transition:transform .15s, box-shadow .15s; font-family:inherit;
}
.pdp-add-btn{ background:var(--green-dark); color:#fff; }
.pdp-add-btn:hover{ transform:translateY(-2px); box-shadow:var(--shadow-strong); }
.pdp-buy-btn{ background:var(--saffron); color:#fff; }
.pdp-buy-btn:hover{ transform:translateY(-2px); box-shadow:var(--shadow-strong); }
.pdp-add-btn.added{ background:#47392E; }

.pdp-trust-row{
  display:flex; flex-wrap:wrap; gap:16px; padding-top:20px; border-top:1px solid #DFD3C5;
}
.pdp-trust-item{
  display:flex; align-items:center; gap:8px; font-size:13px; color:var(--text-mute); font-weight:600;
}
.pdp-trust-item i{ color:var(--green-dark); }

/* ---- Description ---- */
.pdp-desc-section{ padding:8px 0 44px; }
.pdp-desc-section h2, .pdp-related h2, .pdp-faq-section h2, .pdp-reviews-section h2{
  font-family:'Playfair Display', serif; font-size:26px; color:var(--text-dark); margin-bottom:22px;
}
.pdp-desc-section p{ color:var(--text-mute); line-height:1.85; margin-bottom:14px; max-width:820px; }
.pdp-highlights{ list-style:none; padding:0; margin:18px 0 0; display:grid; grid-template-columns:repeat(2,1fr); gap:10px 24px; max-width:820px; }
.pdp-highlights li{ display:flex; align-items:flex-start; gap:9px; color:var(--text-dark); font-size:14.5px; }
.pdp-highlights li i{ color:var(--green-dark); margin-top:3px; }
@media(max-width:600px){ .pdp-highlights{ grid-template-columns:1fr; } }

/* ---------- PDP rich description (per-product) ---------- */
.pdp-desc-body{ max-width:820px; }
.pdp-desc-body .desc-intro{ color:var(--text-mute); line-height:1.85; margin-bottom:14px; }
.pdp-desc-body .desc-intro strong{ color:var(--text-dark); }

.pdp-desc-heading{
  font-size:14.5px; font-weight:800; letter-spacing:.03em; text-transform:uppercase;
  color:var(--text-dark); margin:26px 0 12px;
}
.pdp-info-list{ list-style:none; padding:0; margin:0 0 8px; display:flex; flex-direction:column; gap:9px; }
.pdp-info-list li{ font-size:14.5px; line-height:1.6; color:var(--text-mute); }
.pdp-info-list li strong{ color:var(--text-dark); font-weight:700; }

.pdp-specs-table {
  width: 100%;
  max-width: 820px;
  border-collapse: collapse;
  margin-top: 4px;
}

.pdp-specs-table tr {
  border-bottom: none;
}

.pdp-specs-table td {
  padding: 4px 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--text-mute);
  vertical-align: top;
}

.pdp-specs-table td:first-child {
  width: 1%;
  white-space: nowrap;
  font-weight: 700;
  color: var(--text-dark);
}

.pdp-specs-table td:last-child {
  padding-left: 5px;
}

/* ---- FAQ accordion ---- */
.pdp-faq-section{ padding:8px 0 44px; }
.faq-list{ max-width:900px; }
.faq-item{ border-bottom:1px solid #DFD3C5; }
.faq-question{
  width:100%; text-align:left; background:none; border:none; padding:18px 4px; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  font-family:inherit; font-size:16px; font-weight:600; color:var(--text-dark);
}
.faq-question-label{ display:flex; align-items:center; gap:12px; }
.faq-question-label i{ color:#4a2e1a; font-size:16px; width:18px; text-align:center; flex-shrink:0; }
.faq-question .faq-chevron{ color:var(--text-mute); transition:transform .25s; flex-shrink:0; }
.faq-item.open .faq-question .faq-chevron{ transform:rotate(180deg); color:var(--green-dark); }
.faq-answer{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.faq-item.open .faq-answer{ max-height:600px; }
.faq-answer p{ padding:0 4px 14px; color:var(--text-mute); line-height:1.75; margin:0; }
.faq-answer p:last-child{ padding-bottom:18px; }

/* ---- Related products ---- */
.pdp-related{ padding:8px 0 44px; }

/* ---- Reviews ---- */
.pdp-reviews-section{ padding:8px 0 60px; }
.reviews-summary{
  display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  padding-bottom:26px; margin-bottom:26px; border-bottom:1px solid #DFD3C5;
}
.reviews-summary-left{ display:flex; align-items:center; gap:14px; }
.reviews-summary-left .stars i{ color:var(--gold); font-size:19px; }
.reviews-summary-left .stars i.empty{ color:#DFD3C5; }
.reviews-summary-text{ color:var(--text-mute); font-size:14.5px; }
.write-review-btn{
  background:var(--saffron); color:#fff; border:none; padding:14px 26px; border-radius:12px;
  font-weight:700; cursor:pointer; font-family:inherit; font-size:14.5px;
  transition:transform .15s;
}
.write-review-btn:hover{ transform:translateY(-2px); }

.pdp-section-head{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;
  margin-bottom:22px;
}
.pdp-related .pdp-section-head h2{ margin-bottom:0; }
.pdp-viewall-link{
  display:inline-flex; align-items:center; gap:15px;
  color:#761f3b; background:#fff; border:1px solid #761f3b;
  border-radius:999px; padding:7px 8px 7px 20px;
  font-weight:600; font-size:14px; white-space:nowrap;
  text-decoration:none; transition:background .2s ease, color .2s ease, box-shadow .2s ease;
}
.pdp-viewall-link span{
  display:grid; place-items:center; width:32px; height:32px;
  border-radius:50%; background:#761f3b; color:#fff;
  font-size:18px; line-height:1; transition:background .2s ease, color .2s ease;
}
.pdp-viewall-link:hover, .pdp-viewall-link:focus-visible{
  background:#761f3b; color:#fff;
  box-shadow:0 5px 16px rgba(118,31,59,.16);
}
.pdp-viewall-link:hover span, .pdp-viewall-link:focus-visible span{
  background:#fff; color:#761f3b;
}
@media(max-width:600px){
  .pdp-related .pdp-section-head{
    display:flex;
    flex-wrap:nowrap;
    justify-content:space-between;
    gap:8px;
  }
  .pdp-related .pdp-section-head h2{
    min-width:0;
    font-size:clamp(17px, 5vw, 21px);
    line-height:1.2;
  }
  .pdp-related .pdp-viewall-link{
    flex-shrink:0;
    gap:6px;
    padding:4px 5px 4px 10px;
    font-size:11px;
  }
  .pdp-related .pdp-viewall-link span{
    width:25px;
    height:25px;
    font-size:15px;
  }
}

.review-card{ padding:20px 0; border-bottom:1px solid #DFD3C5; }
.review-card .stars i{ color:var(--gold); font-size:14px; }
.review-card .stars i.empty{ color:#DFD3C5; }
.review-card-head{ display:flex; align-items:center; gap:10px; margin:8px 0 6px; }
.review-card-name{ font-weight:700; color:var(--text-dark); font-size:14.5px; }
.review-card-date{ font-size:12.5px; color:var(--text-mute); }
.review-card p{ color:var(--text-mute); line-height:1.7; margin:0; font-size:14.5px; }
.reviews-empty{ color:var(--text-mute); text-align:center; padding:30px 0; }

.write-review-form{
  display:none; background:var(--cream-2); border-radius:var(--radius); padding:24px; margin-top:22px;
  max-width:560px;
}
.write-review-form.show{ display:block; }
.write-review-form label{ display:block; font-weight:600; font-size:13.5px; margin-bottom:6px; color:var(--text-dark); }
.write-review-form input, .write-review-form textarea{
  width:100%; padding:11px 14px; border-radius:10px; border:1.5px solid #DFD3C5; font-family:inherit;
  font-size:14px; margin-bottom:16px; background:#FFFFFF;
}
.write-review-form textarea{ resize:vertical; min-height:90px; }
.star-input{ display:flex; gap:6px; margin-bottom:16px; }
.star-input i{ font-size:22px; color:#DFD3C5; cursor:pointer; transition:color .15s; }
.star-input i.on{ color:var(--gold); }
.write-review-form .form-actions{ display:flex; gap:12px; }
.write-review-form .form-actions button{
  border:none; padding:12px 22px; border-radius:10px; font-weight:700; cursor:pointer; font-family:inherit;
}
.write-review-form .submit-review-btn{ background:var(--green-dark); color:#fff; }
.write-review-form .cancel-review-btn{ background:transparent; color:var(--text-mute); }

/* Make catalog cards clickable through to the PDP without
   interfering with wish/size/add-to-cart buttons */
.product-card-modern .product-media,
.product-card-modern .product-info h4{ cursor:pointer; }

/* ---------- Gallery Page (gallery.html) ---------- */
.gallery-grid{
  column-count:4;
  column-gap:20px;
}
.gallery-item{
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  margin-bottom:20px;
  border-radius:14px;
  overflow:hidden;
  box-shadow:var(--shadow);
  background:var(--cream-2);
}
.gallery-item img{
  width:100%;
  height:auto;
  display:block;
  border-radius:14px;
  transition:transform .35s ease;
}
.gallery-item:hover img{
  transform:scale(1.05);
}
@media(max-width:1024px){
  .gallery-grid{ column-count:3; }
}
@media(max-width:768px){
  .gallery-grid{ column-count:2; column-gap:14px; }
  .gallery-item{ margin-bottom:14px; border-radius:10px; }
  .gallery-item img{ border-radius:10px; }
}
@media(max-width:480px){
  .gallery-grid{ column-count:1; }
}

/* ============================================================
   RESPONSIVE / MOBILE POLISH PATCH
   Added to tighten up phone, tablet, small-laptop and large-
   desktop behaviour across every page. Purely additive — every
   rule below only narrows/adjusts what already exists above.
============================================================ */

/* ---- Global safety net: never allow sideways scroll ---- */
html{ overflow-x:hidden; max-width:100vw; }
body{ max-width:100vw; }
img,svg,video,iframe,table{ max-width:100%; }

/* ---- Prevent iOS Safari auto-zoom on form focus ----
   Any input/select/textarea under 16px triggers an unwanted
   zoom-in on iPhone. Bump to 16px only at phone/tablet widths
   so desktop typography is untouched. ---- */
@media (max-width:900px){
  input, select, textarea{ font-size:16px !important; }
}

/* ---- Tighter side padding on small phones ---- */
@media (max-width:400px){
  .container{ padding:0 16px; }
  .nav-wrap{ padding-left:16px; padding-right:16px; }
}

/* ---- Extra type-scale step for small phones (≤480px) ----
   The existing 640px breakpoint gets most headings under
   control; this adds one more step down for 480px and below
   so nothing towers over a 320-390px screen. ---- */
@media (max-width:480px){
  .sec-title{ font-size:22px; }
  .why-title{ font-size:24px; }
  .page-banner h1{ font-size:32px; margin-bottom:14px; }
  .benefits-heading h2{ font-size:30px !important; }
  .benefits-intro{ font-size:14px; }
  .pdp-info h1{ font-size:26px; }
  .pdp-price-now{ font-size:24px; }
  .drawer-head h4{ font-size:20px; }
  .modal-box{ padding:22px; }
}

/* ---- Our Benefits block: fixed pixel bottle/column widths
   can slightly overrun very narrow screens; cap them ---- */
@media (max-width:400px){
  .benefits-product,
  .benefits-bottle{ width:min(260px,80vw) !important; height:min(260px,80vw) !important; }
}

/* ---- Admin dashboard: single-column stats + stacked
   controls + a stacked "Add order" form on phones ---- */
@media (max-width:480px){
  .admin-stats{ grid-template-columns:1fr 1fr; gap:10px; }
  .admin-stat-card{ padding:12px 14px; }
  .admin-controls{ flex-direction:column; align-items:stretch; }
  .admin-controls input,
  .admin-controls select,
  .admin-add-btn{ width:100%; min-width:0; }
  .admin-form-row{ flex-direction:column; gap:0; }
  .admin-item-row{ flex-wrap:wrap; }
  .admin-item-row .item-name{ flex:1 1 100%; }
  .admin-topbar{ padding:14px 16px; }
  .admin-body{ padding:16px; }
  .admin-modal{ padding:20px; }
}

/* ---- Track order page: keep step labels legible on very
   narrow phones ---- */
@media (max-width:400px){
  .track-step span.step-label{ font-size:9.5px; }
  .track-head-row{ flex-direction:column; align-items:stretch; }
  .admin-link-btn{ justify-content:center; }
}

/* ---- Checkout: a little breathing room back on small phones ---- */
@media (max-width:480px){
  .billing-card, .order-summary-card{ padding:20px; }
}

/* ---- Comfortable tap targets for primary buttons on touch
   screens, without changing their look ---- */
@media (max-width:768px){
  .btn-outline,
  .modal-submit,
  .checkout-btn,
  .place-order-btn,
  .pdp-actions button,
  .write-review-btn,
  .cat-filter-btn{ min-height:44px; }
}

/* ---- Landscape phones (short viewport height): keep the
   cart drawer and login modal fully reachable/scrollable ---- */
@media (max-height:480px) and (orientation:landscape){
  .drawer-body{ padding-top:8px; }
  .modal-box{ max-height:90vh; overflow-y:auto; }
}

/* ---- Large desktop / wide monitors: cap line-length-critical
   sections so text doesn't stretch uncomfortably wide ---- */
@media (min-width:1600px){
  .container{ max-width:1360px; }
  .pdp-desc-section p{ max-width:900px; }
}

/* =========================================================
   HOME PAGE - JEWELLERY PRODUCT CARD UI
   Matches the approved reference card
   ========================================================= */

/* Hide offer / special-offer badges on Home cards */
.product-card-modern .off-badge,
.product-card-modern .special-strip,
.product-card-modern .bundle-note {
  display: none !important;
}

/* Hide product options on Home cards */
.product-card-modern .size-options,
.product-card-modern .color-options,
.product-card-modern .variant-options,
.product-card-modern .product-options {
  display: none !important;
}

/* Card */
.product-card-modern {
  background: #fff !important;
  border: 1px solid #e5e5e5 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 3px 14px rgba(0,0,0,.05) !important;
}

/* Product image area */
.product-card-modern .product-media {
  height: 300px !important;
  border-radius: 17px 17px 0 0 !important;
  background: #F7F2EC !important;
}

.product-card-modern .product-media img,
.product-card-modern .product-media svg {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Wishlist */
.product-card-modern .wish-btn {
  top: 14px !important;
  right: 14px !important;
  width: 48px !important;
  height: 48px !important;
  background: #fff !important;
  color: #541026 !important;
  font-size: 21px !important;
  box-shadow: 0 3px 14px rgba(0,0,0,.08) !important;
}

.product-card-modern .wish-btn:hover,
.product-card-modern .wish-btn.on {
  color: #541026 !important;
}

/* Product information */
.product-card-modern .product-info {
  padding: 22px 18px 18px !important;
  gap: 11px !important;
}

.product-card-modern .product-info h4 {
  color: #222 !important;
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  min-height: 49px !important;
  margin: 0 !important;
}

/* Rating */
.product-card-modern .rating-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.product-card-modern .stars {
  color: #DD9E57 !important;
  font-size: 15px !important;
  letter-spacing: 1px !important;
}

.product-card-modern .review-count {
  color: #888 !important;
  font-size: 12.5px !important;
}

/* Price */
.product-card-modern .price-row {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  margin-top: 1px !important;
}

.product-card-modern .price-now {
  color: #541026 !important;
  font-size: 21px !important;
  font-weight: 800 !important;
}

.product-card-modern .price-old {
  color: #888 !important;
  font-size: 14px !important;
  text-decoration: line-through !important;
}

/* Add to cart */
.product-card-modern .modern-add-btn,
.product-card-modern .add-cart-btn {
  width: 100% !important;
  min-height: 48px !important;
  margin-top: 8px !important;
  border: none !important;
  border-radius: 12px !important;
  background: #541026 !important;
  color: #fff !important;
  font-size: 15.5px !important;
  font-weight: 600 !important;
}

.product-card-modern .modern-add-btn:hover,
.product-card-modern .add-cart-btn:hover {
  background: #541026 !important;
  color: #fff !important;
  transform: translateY(-1px);
}

/* Home grid */
.home-product-grid,
.home-combo-grid {
  gap: 28px !important;
  align-items: stretch !important;
}

.home-product-grid .product-card-modern,
.home-combo-grid .product-card-modern {
  min-width: 0 !important;
}

@media (max-width: 700px) {
  .product-card-modern .product-media {
    height: 290px !important;
  }
}


/* ============================================================
   HOME COLLECTION — CLEAN CENTERED HAIR ACCESSORIES HEADER
   ============================================================ */
.home-collection-head{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:155px;
  margin-bottom:34px;
  text-align:center;
}

.home-collection-title{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.home-collection-title .eyebrow-label{
  margin-bottom:7px;
  color:var(--saffron-dark);
  font-size:13px;
  letter-spacing:3px;
  font-weight:700;
}

.home-collection-title .sec-title{
  margin:0;
  font-size:42px;
  line-height:1.15;
  color:#47392E;
  font-weight:700;
}

.collection-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:150px;
  margin:10px auto 7px;
}

.collection-divider span{
  width:55px;
  height:1px;
  background:#DD9E57;
  display:block;
}

.collection-divider b{
  color:#DD9E57;
  font-size:15px;
  line-height:1;
  font-weight:500;
}

.home-collection-title p{
  margin:0;
  color:#7A6A5E;
  font-size:14px;
  line-height:1.5;
}

.home-view-all{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  gap:15px;
  color:#761f3b;
  background:#fff;
  border:1px solid #761f3b;
  border-radius:999px;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  white-space:nowrap;
  padding:7px 8px 7px 20px;
  transition:background .2s ease, color .2s ease, box-shadow .2s ease;
}

.home-view-all span{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#761f3b;
  color:#fff;
  font-size:18px;
  line-height:1;
  transition:background .2s ease, color .2s ease;
}

.home-view-all:hover, .home-view-all:focus-visible{
  background:#761f3b;
  color:#fff;
  box-shadow:0 5px 16px rgba(118,31,59,.16);
}

.home-view-all:hover span, .home-view-all:focus-visible span{
  background:#fff;
  color:#761f3b;
}

@media(max-width:700px){
  .home-collection-head{
    min-height:175px;
    margin-bottom:24px;
    padding-bottom:42px;
  }

  .home-collection-title .sec-title{
    font-size:30px;
  }

  .home-view-all{
    top:auto;
    bottom:0;
    right:50%;
    transform:translateX(50%);
  }

  .home-view-all:hover{
    transform:translateX(50%);
  }
}


/* ============================================================
   TESTIMONIALS — CLEAN REFERENCE STYLE
   No side flowers / no floral graphics
============================================================ */
.testi-section{
  background:#fff;
  padding:72px 0 78px;
}

.testi-head{
  text-align:center;
  margin-bottom:38px;
}

.testi-head .eyebrow-label{
  color:var(--saffron-dark);
  font-size:13px;
  letter-spacing:3px;
  margin-bottom:8px;
}

.testi-head .sec-title{
  color:#47392E;
  font-family:'Playfair Display',serif;
  font-size:42px;
  line-height:1.15;
  font-weight:700;
}

.testi-head p{
  color:#7A6A5E;
  margin-top:10px;
  font-size:15px;
}

/* Simple divider — intentionally no flower/icon */
.testi-divider{
  width:140px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:12px auto 8px;
}

.testi-divider span{
  display:block;
  width:58px;
  height:1px;
  background:#DD9E57;
}

.testi-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
}

.testi-card{
  background:#fff;
  border:1px solid #DFD3C5;
  border-radius:16px;
  padding:30px 30px 28px;
  box-shadow:0 5px 18px rgba(50,35,25,.04);
  min-height:360px;
  height:398px;
  display:flex;
  flex-direction:column;
}

.testi-card .stars{
  color:#DD9E57;
  font-size:19px;
  letter-spacing:1px;
  margin-bottom:20px;
}

.testi-card p.txt{
  font-family:'Poppins',sans-serif;
  font-style:italic;
  color:#47392E;
  font-size:15px;
  line-height:1.75;
  margin:0;
  flex:1;
}

.testi-person{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:auto;
}

.avatar{
  width:52px;
  height:52px;
  min-width:52px;
  border-radius:50%;
  background:var(--saffron);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:600;
  font-size:18px;
}

.testi-person h6{
  font-size:15px;
  font-weight:700;
  color:#47392E;
  margin-bottom:4px;
}

.testi-person span{
  font-size:12.5px;
  color:#7A6A5E;
}

.testi-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:30px;
  min-height:54px;
}

.testi-slider-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex:1;
}

.testi-slider-controls button{
  width:46px;
  height:46px;
  border:1px solid var(--maroon);
  border-radius:50%;
  color:var(--maroon);
  font-size:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.2s;
}

.testi-slider-controls button:hover{
  background:var(--maroon);
  color:#fff;
}

.testi-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#DFD3C5;
}

.testi-dot.active{
  background:var(--maroon);
}

.testi-view-all{
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:var(--maroon);
  color:#fff;
  padding:15px 28px;
  border-radius:28px;
  font-size:14px;
  font-weight:600;
  white-space:nowrap;
  transition:background .2s, transform .2s;
}

.testi-view-all span{
  font-size:19px;
  line-height:1;
}

.testi-view-all:hover{
  background:#541026;
  transform:translateY(-2px);
}

@media(max-width:1080px){
  .testi-grid{
    grid-template-columns:1fr;
  }
  .testi-card{
    height:auto;
    min-height:300px;
  }
}

@media(max-width:640px){
  .testi-section{
    padding:54px 0 60px;
  }

  .testi-head .sec-title{
    font-size:30px;
  }

  .testi-head p{
    font-size:13.5px;
  }

  .testi-card{
    padding:24px;
    min-height:310px;
  }

  .testi-card .stars{
    font-size:17px;
  }

  .testi-card p.txt{
    font-size:14px;
  }

  .testi-bottom{
    flex-direction:column;
    gap:22px;
  }

  .testi-view-all{
    align-self:center;
  }
}


/* Customer reviews: centered pagination dots only */
.testi-bottom{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:30px;
  min-height:30px;
}

.testi-slider-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex:none;
}

.testi-slider-controls button,
.testi-view-all{
  display:none !important;
}

.testi-dot{
  width:9px;
  height:9px;
  border-radius:50%;
  background:#DFD3C5;
  display:block;
}

.testi-dot.active{
  background:var(--maroon);
}


/* ============================================================
   CUSTOMER REVIEWS — FINAL REFERENCE DESIGN
   Clean, centered, no side decoration, no arrows, no CTA
============================================================ */
.testi-section{
  background:#fff !important;
  padding:72px 0 76px !important;
}

.testi-head{
  text-align:center !important;
  margin-bottom:38px !important;
}

.testi-head .eyebrow-label{
  display:block !important;
  color:#47392E !important;
  font-family:'Poppins',sans-serif !important;
  font-size:13px !important;
  font-weight:500 !important;
  letter-spacing:5px !important;
  text-transform:uppercase !important;
  margin-bottom:12px !important;
}

.testi-head .sec-title{
  font-family:'Playfair Display',serif !important;
  color:#541026 !important;
  font-size:50px !important;
  line-height:1.12 !important;
  font-weight:700 !important;
  margin:0 !important;
}

.testi-divider{
  width:280px !important;
  height:25px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
  margin:14px auto 8px !important;
}

.testi-divider span{
  width:105px !important;
  height:1px !important;
  display:block !important;
  background:#47392E !important;
}

.testi-divider b{
  display:block !important;
  color:#47392E !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:500 !important;
}

.testi-head p{
  color:#47392E !important;
  font-family:'Poppins',sans-serif !important;
  font-size:16px !important;
  margin-top:7px !important;
}

.testi-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:26px !important;
}

.testi-card{
  background:#fff !important;
  border:1px solid #DFD3C5 !important;
  border-radius:16px !important;
  padding:34px 34px 30px !important;
  box-shadow:0 5px 18px rgba(50,35,25,.035) !important;
  height:392px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
}

.testi-card .stars{
  color:#DD9E57 !important;
  font-size:21px !important;
  letter-spacing:1px !important;
  margin:0 0 20px !important;
  text-align:center !important;
}

.testi-card p.txt{
  width:100% !important;
  font-family:'Playfair Display',serif !important;
  font-style:italic !important;
  color:#47392E !important;
  font-size:18px !important;
  line-height:1.72 !important;
  margin:0 !important;
  flex:1 !important;
  text-align:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.testi-person{
  width:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  padding-top:16px !important;
  border-top:1px solid #DFD3C5 !important;
}

.testi-person .avatar{
  display:none !important;
}

.testi-person h6{
  font-family:'Playfair Display',serif !important;
  font-size:18px !important;
  font-weight:700 !important;
  color:#47392E !important;
  margin:0 0 5px !important;
}

.testi-person span{
  font-family:'Poppins',sans-serif !important;
  font-size:12px !important;
  font-weight:500 !important;
  color:#7b838b !important;
  letter-spacing:3px !important;
  text-transform:uppercase !important;
}

.testi-bottom{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-top:30px !important;
  min-height:20px !important;
}

.testi-slider-controls{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  flex:none !important;
}

.testi-slider-controls button,
.testi-view-all{
  display:none !important;
}

.testi-dot{
  display:block !important;
  width:9px !important;
  height:9px !important;
  border-radius:50% !important;
  background:#DFD3C5 !important;
}

.testi-dot.active{
  background:#541026 !important;
}

@media(max-width:1080px){
  .testi-grid{
    grid-template-columns:1fr !important;
    max-width:620px !important;
    margin:0 auto !important;
  }
  .testi-card{
    height:auto !important;
    min-height:340px !important;
  }
}

@media(max-width:640px){
  .testi-section{
    padding:52px 0 58px !important;
  }

  .testi-head .eyebrow-label{
    font-size:11px !important;
    letter-spacing:3px !important;
  }

  .testi-head .sec-title{
    font-size:32px !important;
  }

  .testi-divider{
    width:210px !important;
  }

  .testi-divider span{
    width:75px !important;
  }

  .testi-head p{
    font-size:13px !important;
  }

  .testi-card{
    padding:28px 22px 26px !important;
    min-height:330px !important;
  }

  .testi-card p.txt{
    font-size:16px !important;
  }
}



/* Customer reviews: exactly 3 reviews, no pagination dots */
.testi-bottom,
.testi-slider-controls,
.testi-dot{
  display:none !important;
}


/* ============================================================
   CUSTOMER REVIEWS — NEW COMPACT PREMIUM CARD
============================================================ */
.testi-card{
  position:relative !important;
  background:#fff !important;
  border:1px solid #DFD3C5 !important;
  border-radius:18px !important;
  padding:22px 26px 24px !important;
  box-shadow:0 5px 18px rgba(50,35,25,.045) !important;
  height:310px !important;
  min-height:310px !important;
  display:flex !important;
  flex-direction:column !important;
  text-align:center !important;
  overflow:hidden !important;
}

.testi-card-top{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  min-height:44px !important;
}

.quote-mark{
  width:44px !important;
  height:44px !important;
  border-radius:50% !important;
  background:#DFD3C5 !important;
  color:#47392E !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-family:Georgia,serif !important;
  font-size:37px !important;
  line-height:1 !important;
  padding-bottom:7px !important;
  font-weight:700 !important;
}

.testi-card .stars{
  color:#DD9E57 !important;
  font-size:18px !important;
  letter-spacing:1px !important;
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:2px !important;
}

.testi-card p.txt{
  width:100% !important;
  flex:1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:8px 4px 14px !important;
  font-family:'Playfair Display',Georgia,serif !important;
  font-style:italic !important;
  font-size:17px !important;
  line-height:1.6 !important;
  color:#47392E !important;
  text-align:center !important;
}

.testi-person{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:13px !important;
  padding-top:16px !important;
  border-top:1px solid #DFD3C5 !important;
  margin-top:auto !important;
}

.testi-person .avatar{
  display:flex !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  border-radius:50% !important;
  background:#DFD3C5 !important;
  color:#541026 !important;
  align-items:center !important;
  justify-content:center !important;
  font-family:'Playfair Display',Georgia,serif !important;
  font-size:20px !important;
  font-weight:600 !important;
}

.testi-person > div:last-child{
  text-align:left !important;
}

.testi-person h6{
  font-family:'Playfair Display',Georgia,serif !important;
  font-size:17px !important;
  font-weight:700 !important;
  color:#47392E !important;
  margin:0 0 4px !important;
}

.testi-person span{
  font-family:'Poppins',sans-serif !important;
  font-size:11px !important;
  font-weight:500 !important;
  color:#7A6A5E !important;
  letter-spacing:3px !important;
  text-transform:uppercase !important;
}

@media(max-width:640px){
  .testi-card{
    height:320px !important;
    min-height:320px !important;
    padding:20px 22px 22px !important;
  }

  .testi-card p.txt{
    font-size:15.5px !important;
  }

  .testi-card .stars{
    font-size:16px !important;
  }
}


/* FINAL ALIGNMENT FIX — customer details must stay in one horizontal row */
.testi-person{
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:left !important;
}

.testi-person .avatar{
  flex:0 0 48px !important;
  margin:0 !important;
}

.testi-person > div:last-child{
  flex:1 !important;
  min-width:0 !important;
  text-align:left !important;
}

.testi-person h6,
.testi-person span{
  text-align:left !important;
  display:block !important;
}

.testi-card-top{
  flex-direction:row !important;
}

.testi-card .stars{
  margin-left:auto !important;
}


/* FINAL CUSTOMER REVIEW ROW ALIGNMENT */
.testi-grid{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:30px !important;
  margin-left:0 !important;
  margin-right:0 !important;
  transform:none !important;
}

.testi-card{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  margin:0 !important;
  transform:none !important;
}

@media(max-width:900px){
  .testi-grid{
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:620px){
  .testi-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
}


/* ============================================================
   FINAL BRAND PALETTE — STRICT OVERRIDES
   Gold #DD9E57 | Beige #DFD3C5 | Brown #47392E | Maroon #541026
============================================================ */
:root{--green-dark:#47392E;--green-mid:#47392E;--green-pale:#DFD3C5;--saffron:#DD9E57;--saffron-dark:#DD9E57;--cream:#FFFFFF;--cream-2:#F7F2EC;--maroon:#541026;--gold:#DD9E57;--text-dark:#47392E;--text-mute:#7A6A5E;--white:#FFFFFF;}
.testi-section{background:#F7F2EC !important;}
.testi-head .eyebrow-label{color:#541026 !important;}
.testi-head .sec-title,.testi-person h6{color:#47392E !important;}
.testi-head p,.testi-person span{color:#7A6A5E !important;}
.testi-divider span{background:#DD9E57 !important;}
.testi-card{background:#FFFFFF !important;border-color:#DFD3C5 !important;}
.quote-mark{background:#DFD3C5 !important;color:#47392E !important;}
.testi-card .stars{color:#DD9E57 !important;}
.testi-card p.txt{color:#47392E !important;}
.testi-person{border-top-color:#DFD3C5 !important;}
.testi-person .avatar{background:#DFD3C5 !important;color:#541026 !important;}
.testi-slider-controls button,.testi-view-all{border-color:#541026 !important;color:#541026 !important;}
.testi-slider-controls button:hover,.testi-view-all,.testi-dot.active{background:#541026 !important;color:#FFFFFF !important;}
.testi-dot{background:#DFD3C5 !important;}
.benefit-icon{border-color:#DD9E57 !important;color:#DD9E57 !important;background:#FFFFFF !important;}
.benefits-section{background:#FFFFFF !important;}
.product-card-modern .wish-btn,.product-card-modern .wish-btn:hover,.product-card-modern .wish-btn.on{color:#541026 !important;}
.product-card-modern .stars{color:#DD9E57 !important;}
.product-card-modern .price-now{color:#541026 !important;}
.product-card-modern .modern-add-btn,.product-card-modern .add-cart-btn{background:#541026 !important;color:#FFFFFF !important;}
.product-card-modern .modern-add-btn:hover,.product-card-modern .add-cart-btn:hover{background:#541026 !important;color:#FFFFFF !important;}
.add-cart-btn,.checkout-btn,.drawer-empty-btn,.modal-submit,.pdp-buy-btn,.write-review-btn{background:#541026 !important;color:#FFFFFF !important;}
.add-cart-btn:hover,.checkout-btn:hover,.drawer-empty-btn:hover,.modal-submit:hover{background:#541026 !important;}
.pdp-add-btn,.modal-tabs button.active,.cat-filter-btn.active,.top-btn{background:#541026 !important;color:#FFFFFF !important;}
.stars,.rating-row .stars,.pdp-rating-row .stars i,.review-card .stars i,.reviews-summary-left .stars i,.star-input i.on{color:#DD9E57 !important;}
.topbar{background:#47392E !important;color:#DFD3C5 !important;}
.logo{color:#47392E !important;}
footer{background:#541026 !important;color:#FFFFFF !important;}
footer h6{color:#FFFFFF !important;}
footer ul a{color:#F7F2EC !important;}
footer ul a:hover{color:#DD9E57 !important;}
.account-avatar-fallback,.contact-item i,.cat-filter-btn:hover,.google-signin-btn:hover,.pdp-size-option.active,.pdp-qty-stepper button:hover{background:#DFD3C5 !important;color:#47392E !important;}
.pdp-size-option.active{border-color:#541026 !important;}
.quick-link-card i,.pdp-size-option .pso-price{color:#DD9E57 !important;}
.pdp-price-now{color:#541026 !important;}
.quick-link-card h5{color:#47392E !important;}
.pdp-trust-item i,.pdp-highlights li i,.pdp-review-link:hover,.contact-item a:hover{color:#541026 !important;}

/* ============ SUBCATEGORY IMAGE FILTER ============ */
.subcat-filter-bar{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:20px; margin:0 0 36px;
}
.subcat-btn{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  flex:0 0 112px; width:112px; padding:0; border:0; background:transparent;
  color:#47392E; font:600 12px/1.4 'Poppins',sans-serif;
  text-align:center; cursor:pointer;
}
.subcat-btn .subcat-image{
  width:100px; height:100px; border-radius:50%; overflow:hidden;
  display:block; background:#f8f2ef; border:3px solid transparent;
  box-shadow:0 2px 10px rgba(84,16,38,.10);
  transition:border-color .2s, transform .2s;
}
.subcat-btn .subcat-image img{ width:100%; height:100%; object-fit:cover; display:block; }
.subcat-btn:hover{ background:transparent !important; color:#47392E !important; }
.subcat-btn:hover .subcat-image{ transform:translateY(-2px); }
.subcat-btn.active{ background:transparent !important; color:#541026 !important; }
.subcat-btn.active .subcat-image{ border-color:#541026; }
.subcat-btn:focus-visible{ outline:2px solid #541026; outline-offset:5px; border-radius:4px; }
@media (max-width:640px){
  .subcat-filter-bar{ flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; gap:12px; -webkit-overflow-scrolling:touch; padding:4px 2px 12px; scrollbar-width:thin; }
  .subcat-btn{ flex-basis:92px; width:92px; font-size:11px; }
  .subcat-btn .subcat-image{ width:78px; height:78px; }
}

/* ============ SHOP BY CATEGORY - SECTION HEAD ============ */
.cat-section-head{
  text-align:center;
  max-width:640px;
  margin:0 auto 20px;
}
.cat-section-head .cat-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-family:'Poppins',sans-serif;
  font-weight:700;
  font-size:13px;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--saffron-dark);
  margin-bottom:6px;
}
.cat-section-head h2{
  font-family:'Playfair Display',serif;
  font-size:38px;
  font-weight:800;
  line-height:1.2;
  color:var(--text-dark);
  margin:0 0 4px;
}
.cat-section-head p{
  font-family:'Poppins',sans-serif;
  font-size:15px;
  line-height:1.6;
  color:var(--text-mute);
  margin:0;
}
@media (max-width:640px){
  .cat-section-head{ margin-bottom:14px; }
  .cat-section-head h2{ font-size:28px; }
}

/* ============ SHOP BY CATEGORY (circular filter tiles) ============ */
.cat-circle-bar{
  display:flex !important; flex-wrap:wrap; justify-content:center;
  gap:36px 28px; margin-bottom:40px !important; margin-top:0 !important;
}
.cat-circle-bar .cat-filter-btn{
  display:flex; flex-direction:column; align-items:center;
  width:130px; text-align:center;
  border:none !important; background:none !important; padding:0 !important;
  border-radius:0 !important; white-space:normal;
}
.cat-circle-bar .cat-circle-img{
  width:100px; height:100px; border-radius:50%;
  border:1.5px solid var(--saffron); padding:5px;
  display:block; overflow:hidden;
  transition:transform .25s ease, border-color .25s ease;
}
.cat-circle-bar .cat-filter-btn:hover .cat-circle-img,
.cat-circle-bar .cat-filter-btn.active .cat-circle-img{
  transform:translateY(-3px); border-color:var(--maroon);
}
.cat-circle-bar .cat-circle-img img{
  width:100%; height:100%; border-radius:50%; object-fit:cover; display:block;
}
.cat-circle-bar .cat-circle-icon{
  display:flex; align-items:center; justify-content:center;
  background:var(--cream-2); font-size:26px; color:var(--maroon);
}
.cat-circle-bar .cat-circle-label{
  margin-top:12px; font-family:'Playfair Display',serif;
  font-size:13.5px; letter-spacing:.5px;
  color:var(--text-dark) !important; font-weight:600;
  background:none !important;
}
.cat-circle-bar .cat-filter-btn.active .cat-circle-label{
  color:var(--maroon) !important;
}
@media (max-width:640px){
  .cat-circle-bar{ flex-wrap:nowrap; overflow-x:auto; justify-content:flex-start; -webkit-overflow-scrolling:touch; padding-bottom:6px; }
  .cat-circle-bar .cat-filter-btn{ width:96px; flex:0 0 auto; }
  .cat-circle-bar .cat-circle-img{ width:78px; height:78px; }
}

/* ============================================================
   CUSTOMER REVIEW CARD — MATCH REFERENCE SCREENSHOT
   (avatar + stars top row, left-aligned quote, "- Name" footer,
   compact height that hugs the content instead of a big fixed box)
============================================================ */
.testi-card{
  text-align:left !important;
  height:auto !important;
  min-height:0 !important;
  padding:16px 18px !important;
  border-radius:14px !important;
}

.testi-card-top{
  min-height:0 !important;
  margin-bottom:8px !important;
}

.testi-card-top .avatar{
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  border-radius:50% !important;
  background:#DFD3C5 !important;
  color:#541026 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-family:'Playfair Display',Georgia,serif !important;
  font-size:16px !important;
  font-weight:600 !important;
}

.testi-card .stars{
  font-size:14px !important;
}

.testi-card p.txt{
  flex:none !important;
  text-align:left !important;
  justify-content:flex-start !important;
  align-items:flex-start !important;
  font-size:13.5px !important;
  line-height:1.55 !important;
  padding:0 0 10px !important;
  margin:0 !important;
}

.testi-name{
  width:100% !important;
  color:#541026 !important;
  font-family:'Playfair Display',Georgia,serif !important;
  font-size:13.5px !important;
  font-weight:700 !important;
  margin-top:0 !important;
}

/* ============================================================
   SHOP BY STYLE + PROMO BANNER (replaces Our Benefits section)
============================================================ */
.shop-style-section{
  padding:60px 0 50px;
  background:var(--cream);
}

.shop-style-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:28px;
}
.shop-style-head .sec-title{
  font-size:26px;
  font-weight:800;
  color:var(--text-dark);
  margin:0;
}
.shop-style-head .shop-style-line{
  width:46px;
  height:3px;
  background:var(--maroon);
  border-radius:2px;
  display:inline-block;
}

.shop-style-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}
.shop-style-card{
  display:block;
  text-align:center;
}
.shop-style-card img{
  width:100%;
  aspect-ratio:1/0.95;
  object-fit:cover;
  border-radius:16px;
  margin-bottom:14px;
  background:var(--cream-2);
}
.shop-style-card h4{
  font-size:16px;
  font-weight:700;
  color:var(--text-dark);
  margin-bottom:3px;
}
.shop-style-card p{
  font-size:13px;
  color:var(--text-mute);
  margin:0;
}

.shop-style-icons{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  align-items:center;
  gap:30px;
  width:100%;
  margin-top:38px;
  padding-top:30px;
  border-top:1px solid #eee2d0;
}
.style-icon-item{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
}
.style-icon-item i{
  font-size:26px;
  color:#b58a2d;
  width:34px;
  min-width:34px;
  text-align:center;
  flex-shrink:0;
}
.style-icon-item h6{
  font-size:14.5px;
  font-weight:700;
  color:var(--text-dark);
  margin:0 0 2px;
}
.style-icon-item p{
  font-size:12.5px;
  color:var(--text-mute);
  margin:0;
}

.promo-banner-section{
  padding:0 0 60px;
  background:var(--cream);
}
.promo-banner{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  min-height:280px;
  display:flex;
  align-items:center;
}
.promo-banner img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.promo-banner-text{
  position:relative;
  z-index:1;
  padding:44px 48px;
  max-width:460px;
}
.promo-banner-text h2{
  font-family:'Playfair Display', serif;
  font-size:34px;
  line-height:1.25;
  color:var(--maroon);
  margin-bottom:20px;
}
.promo-banner-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:var(--maroon);
  color:#fff;
  font-size:14px;
  font-weight:600;
  padding:13px 26px;
  border-radius:8px;
}

@media (max-width:900px){
  .shop-style-grid{ grid-template-columns:repeat(2,1fr); }
  .promo-banner-text{ padding:32px; max-width:100%; }
  .promo-banner-text h2{ font-size:26px; }
}
@media (max-width:900px){
  .shop-style-icons{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:22px;
  }
}
@media (max-width:480px){
  .shop-style-icons{
    grid-template-columns:1fr;
    gap:18px;
  }
}

/* ============================================================
   FOOTER — CREAM/OFF-WHITE (instead of maroon) for logo visibility
   + remove gap so it sits flush against the trust strip above it
============================================================ */
footer{
  background:var(--cream-2) !important;
  color:var(--text-dark) !important;
  border-top:1px solid #eee2d0 !important;
  margin-top:0 !important;
}
.foot-grid{
  border-bottom:1px solid #e4d7c5 !important;
}
.foot-brand p{
  color:var(--text-mute) !important;
}
footer h6{
  color:var(--text-dark) !important;
}
footer ul a{
  color:var(--text-mute) !important;
}
footer ul a:hover{
  color:var(--maroon) !important;
}
.social-row a{
  background:#fff !important;
  color:var(--maroon) !important;
  border:1px solid #e4d7c5 !important;
}
.social-row a:hover{
  background:var(--saffron) !important;
  color:#fff !important;
  border-color:var(--saffron) !important;
}
.foot-bottom{
  color:var(--text-mute) !important;
}
.foot-badges span{
  color:var(--text-mute) !important;
}

/* ============ NEW ARRIVALS SECTION ============ */
.new-arrivals-section{
  background:var(--cream);
}
.new-arrivals-head{
  text-align:center;
  margin-bottom:36px;
}
.new-arrivals-head .sec-title{
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:30px;
  color:var(--maroon);
  margin:0;
}
.new-arrivals-divider{
  display:flex; align-items:center; justify-content:center;
  gap:14px; margin-top:12px;
}
.new-arrivals-divider span{
  width:60px; height:1px; background:var(--saffron);
  display:block;
}
.new-arrivals-divider b{
  font-size:8px; color:var(--saffron);
}

.new-arrivals-wrap{
  position:relative;
  display:flex; align-items:center;
  gap:12px;
}
.new-arrivals-track{
  display:flex;
  gap:24px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:6px 2px 16px;
  flex:1 1 auto;
  scrollbar-width:none;
}
.new-arrivals-track::-webkit-scrollbar{ display:none; }

.na-card{
  position:relative;
  flex:0 0 calc(25% - 18px);
  scroll-snap-align:start;
  background:var(--white);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:box-shadow .25s ease, transform .25s ease;
}
.na-card:hover{
  box-shadow:var(--shadow-strong);
  transform:translateY(-4px);
}
.na-card-media{
  position:relative;
  display:block;
  aspect-ratio:3/3.6;
  overflow:hidden;
  background:var(--cream-2);
}
.na-card-media img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .4s ease;
}
.na-card:hover .na-card-media img{
  transform:scale(1.05);
}
.na-wish-btn{
  position:absolute; top:14px; right:14px; z-index:2;
  width:38px; height:38px; border-radius:50%;
  background:var(--white);
  display:flex; align-items:center; justify-content:center;
  color:var(--maroon);
  box-shadow:0 4px 12px rgba(71,57,46,.18);
  transition:transform .2s ease;
}
.na-wish-btn:hover{ transform:scale(1.08); }
.na-wish-btn.on{ color:var(--maroon); }
.na-quickview{
  position:absolute; left:50%; bottom:18px;
  transform:translate(-50%, 12px);
  padding:11px 26px;
  border-radius:30px;
  background:var(--white);
  color:var(--maroon);
  font-family:'Poppins',sans-serif;
  font-size:13px; font-weight:600;
  letter-spacing:.3px;
  opacity:0;
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  transition:opacity .25s ease, transform .25s ease;
  white-space:nowrap;
}
.na-card:hover .na-quickview{
  opacity:1;
  transform:translate(-50%, 0);
}
.na-card-info{
  display:block;
  text-align:center;
  padding:18px 14px 22px;
}
.na-card-info h4{
  font-size:16px;
  font-weight:600;
  color:var(--text-dark);
  margin:0 0 8px;
  line-height:1.35;
}
.na-price{
  font-family:'Playfair Display', serif;
  font-size:16px;
  font-weight:700;
  color:var(--saffron);
}
.na-price .na-price-old{
  font-family:'Poppins',sans-serif;
  font-size:12.5px;
  font-weight:400;
  color:var(--text-mute);
  text-decoration:line-through;
  margin-left:8px;
}

.na-arrow{
  flex:0 0 auto;
  width:44px; height:44px; border-radius:50%;
  border:1.5px solid var(--saffron) !important;
  background:var(--white);
  color:var(--maroon);
  display:flex; align-items:center; justify-content:center;
  font-size:15px;
  transition:background .2s ease, color .2s ease;
}
.na-arrow:hover{
  background:var(--maroon);
  border-color:var(--maroon) !important;
  color:#fff;
}

@media (max-width:1024px){
  .na-card{ flex:0 0 calc(33.333% - 16px); }
}
@media (max-width:768px){
  .na-card{ flex:0 0 calc(50% - 12px); }
  .new-arrivals-head .sec-title{ font-size:24px; }
}
@media (max-width:480px){
  .na-card{ flex:0 0 78%; }
  .na-arrow{ width:38px; height:38px; font-size:13px; }
}


/* ===== VALAYAL PREMIUM HOME HERO — VYRAM-INSPIRED, ORIGINAL LAYOUT ===== */
.valayal-premium-hero{background:#fff;min-height:620px;border-bottom:1px solid #f0e5df;overflow:hidden;}
.valayal-premium-inner{max-width:1440px;min-height:620px;margin:0 auto;padding:52px 6%;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:48px;position:relative;}
.valayal-premium-copy{position:relative;z-index:4;max-width:600px;}
.valayal-premium-kicker{display:inline-flex;align-items:center;gap:14px;margin-bottom:22px;font-size:12px;font-weight:600;letter-spacing:.28em;color:#9b6d60;}
.valayal-premium-kicker:before{content:'';width:42px;height:1px;background:#b77b6a;display:block;}
.valayal-premium-copy h1{font-family:'Playfair Display',serif;font-size:clamp(54px,5.4vw,88px);line-height:.98;font-weight:700;color:#541026;margin:0 0 24px;letter-spacing:-.025em;}
.valayal-premium-copy p{max-width:535px;font-size:16px;line-height:1.8;color:#74635b;margin:0 0 32px;}
.valayal-premium-btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:#541026;color:#fff;padding:15px 30px;border-radius:999px;font-weight:600;font-size:14px;box-shadow:0 12px 28px rgba(84,16,38,.16);transition:.25s ease;}
.valayal-premium-btn:hover{background:#6d1532;transform:translateY(-2px);box-shadow:0 16px 34px rgba(84,16,38,.22);}
.valayal-premium-visual{height:520px;position:relative;isolation:isolate;}
.valayal-premium-visual:before{content:'';position:absolute;width:430px;height:430px;border-radius:48% 52% 45% 55% / 55% 42% 58% 45%;background:#f8efeb;right:8%;top:7%;z-index:-3;}
.hero-orbit{position:absolute;border:1px solid rgba(221,158,87,.48);border-radius:50%;z-index:-2;}
.hero-orbit-one{width:430px;height:430px;right:10%;top:5%;}
.hero-orbit-two{width:510px;height:510px;right:2%;top:-3%;border-color:rgba(84,16,38,.12);}
.hero-photo{position:absolute;overflow:hidden;background:#f8f2ee;box-shadow:0 18px 55px rgba(71,57,46,.12);}
.hero-photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease;}
.hero-photo:hover img{transform:scale(1.035);}
.hero-photo-main{width:390px;height:470px;right:10%;top:24px;border-radius:190px 190px 28px 28px;z-index:1;border:8px solid #fff;}
.hero-photo-top{width:190px;height:190px;right:0;top:8px;border-radius:50%;z-index:3;border:7px solid #fff;}
.hero-photo-bottom{width:210px;height:210px;left:2%;bottom:0;border-radius:50%;z-index:3;border:7px solid #fff;}
.hero-flower-mark{position:absolute;right:1%;bottom:4%;font-size:58px;color:#dd9e57;opacity:.25;z-index:-1;}
@media(max-width:980px){.valayal-premium-inner{grid-template-columns:1fr 1fr;padding:44px 4%;gap:18px}.valayal-premium-visual{height:450px}.hero-photo-main{width:320px;height:400px;right:6%}.hero-photo-top{width:150px;height:150px}.hero-photo-bottom{width:165px;height:165px}.hero-orbit-one{width:360px;height:360px}.hero-orbit-two{width:420px;height:420px}.valayal-premium-copy h1{font-size:clamp(48px,6.5vw,70px)}}
@media(max-width:760px){.valayal-premium-hero{min-height:auto}.valayal-premium-inner{grid-template-columns:1fr;padding:54px 24px 34px;text-align:center}.valayal-premium-copy{margin:0 auto}.valayal-premium-kicker{justify-content:center}.valayal-premium-copy p{margin-left:auto;margin-right:auto}.valayal-premium-visual{height:410px;max-width:520px;width:100%;margin:4px auto 0}.hero-photo-main{width:290px;height:350px;right:50%;transform:translateX(50%);top:25px}.hero-photo-main:hover img{transform:scale(1.035)}.hero-photo-top{width:135px;height:135px;right:2%;top:0}.hero-photo-bottom{width:145px;height:145px;left:1%;bottom:0}.hero-orbit-one{width:320px;height:320px;right:50%;transform:translateX(50%);top:18px}.hero-orbit-two{width:380px;height:380px;right:50%;transform:translateX(50%);top:-10px}}
@media(max-width:420px){.valayal-premium-inner{padding-left:18px;padding-right:18px}.valayal-premium-copy h1{font-size:48px}.valayal-premium-copy p{font-size:14px}.valayal-premium-visual{height:340px}.hero-photo-main{width:235px;height:300px}.hero-photo-top{width:105px;height:105px}.hero-photo-bottom{width:115px;height:115px}.hero-orbit-one{width:270px;height:270px}.hero-orbit-two{width:320px;height:320px}.valayal-premium-btn{padding:13px 26px}}


/* ===== MOBILE PRODUCT GRID FIX: 2 PRODUCTS PER ROW ===== */
@media (max-width:640px){
  .grid-4,
  .home-product-grid,
  .home-combo-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .grid-4 .product-card-modern,
  .home-product-grid .product-card-modern,
  .home-combo-grid .product-card-modern{
    min-width:0 !important;
    width:100% !important;
    border-radius:10px !important;
  }

  .product-card-modern .product-media,
  .home-product-grid .product-card-modern .product-media{
    height:180px !important;
  }

  .product-card-modern .product-info,
  .home-product-grid .product-card-modern .product-info{
    padding:10px 8px 9px !important;
    gap:6px !important;
  }

  .product-card-modern .product-info h4,
  .home-product-grid .product-card-modern .product-info h4{
    font-size:11px !important;
    line-height:1.35 !important;
    min-height:30px !important;
  }

  .product-card-modern .stars{font-size:10px !important;letter-spacing:0 !important;}
  .review-count{font-size:8px !important;}
  .product-card-modern .price-now{font-size:13px !important;}
  .product-card-modern .price-old{font-size:9px !important;}
  .product-card-modern .wish-btn{width:28px !important;height:28px !important;top:7px !important;right:7px !important;font-size:13px !important;}
  .product-card-modern .off-badge{font-size:9px !important;padding:5px 7px !important;top:7px !important;left:7px !important;}
  .product-card-modern .modern-add-btn,
  .product-card-modern .add-cart-btn{min-height:34px !important;padding:8px 5px !important;font-size:10px !important;border-radius:7px !important;}
}

/* ===== FIXED TOP HEADER — reliable sticky replacement ===== */
.topbar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:2001 !important;
}

header.site-header{
  position:fixed !important;
  top:34px !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:2000 !important;
}

/* 34px top bar + approximately 100px desktop navigation */
body{
  padding-top:134px !important;
}

@media(max-width:860px){
  body{padding-top:124px !important;}
}
/* ===== MOBILE SHOP BY STYLE BENEFITS ALIGNMENT ===== */
@media (max-width: 640px){

  .shop-style-icons{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 270px !important;
    margin: 28px auto 0 !important;
  }

  .style-icon-item{
    display: grid !important;
    grid-template-columns: 34px 1fr !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
  }

  .style-icon-item i{
    width: 34px !important;
    height: 34px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
  }

  .style-icon-item h6,
  .style-icon-item p{
    margin-left: 0 !important;
    text-align: left !important;
  }
}
/* ===== MOBILE SHOP BY CATEGORY: 3 + 3 ===== */
@media (max-width: 640px){

  .cat-circle-bar{
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px 10px !important;
    width: 100% !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  .cat-circle-item{
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .cat-circle-item img{
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* ===== ABOUT PAGE MOBILE STORY COLLAGE FIX ===== */
@media (max-width: 900px){
  .story-flex{
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .story-collage{
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 420px !important;
    aspect-ratio: 1 / 1 !important;
    min-height: 0 !important;
    margin: 0 auto 18px !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .story-collage .story-img-main,
  .story-collage .story-img-sub{
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    object-fit: cover !important;
  }
}

@media (max-width: 600px){
  .story-section{
    padding: 40px 0 44px !important;
  }

  .story-flex{
    width: 90% !important;
    gap: 20px !important;
  }

  .story-collage{
    width: 100% !important;
    max-width: 340px !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 auto 24px !important;
  }

  .story-collage .story-img-main{
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 82% !important;
    height: 72% !important;
    border-radius: 16px !important;
  }

  .story-collage .story-img-sub{
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 56% !important;
    height: 54% !important;
    border: 5px solid #fff !important;
    border-radius: 16px !important;
  }

  .story-flex .story-container{
    width: 100% !important;
    margin: 0 !important;
  }
}
/* ===== ABOUT STORY MOBILE ALIGNMENT FIX ===== */
@media (max-width: 600px){

  .story-flex .story-container{
    width: 100% !important;
    text-align: left !important;
  }

  .story-flex .story-eyebrow{
    text-align: left !important;
  }

  .story-flex h1{
    text-align: left !important;
    font-size: 28px !important;
    margin-bottom: 18px !important;
  }

  .story-flex p{
    text-align: left !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
  }
}
@media (max-width: 600px){
  .story-since{
    display: flex !important;
    width: 100% !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 24px auto 0 !important;
  }
}
/* ===== MOBILE MENU CLOSE BUTTON FIX ===== */
@media (max-width:860px){
  .burger{
    position:relative;
    z-index:400 !important;
  }

  nav.main-nav{
    z-index:300 !important;
  }
}
/* Mobile - header should scroll normally */
@media (max-width: 860px) {
  header.site-header {
    position: static !important;
    top: auto !important;
  }
}

/* ===== MOBILE BOTTOM NAVIGATION ===== */
.mobile-bottom-nav{
  display:none;
}

@media (max-width:860px){
  body{
    padding-top:34px !important;
    padding-bottom:calc(72px + env(safe-area-inset-bottom)) !important;
  }

  .mobile-bottom-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:2500;
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    min-height:68px;
    padding:4px 4px env(safe-area-inset-bottom);
    background:#fff;
    border-top:1px solid #eadfd5;
    box-shadow:0 -5px 20px rgba(71,57,46,.12);
  }

  .mobile-bottom-item{
    position:relative;
    min-width:0;
    min-height:64px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    padding:6px 2px;
    border:0;
    background:transparent;
    color:#7a6a5e;
    text-decoration:none;
    font-family:'Poppins',sans-serif;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }

  .mobile-bottom-item > i,
  .mobile-bottom-icon-wrap > i{
    font-size:19px;
    line-height:1;
  }

  .mobile-bottom-item > span:last-child{
    font-size:10px;
    line-height:1.1;
    font-weight:500;
  }

  .mobile-bottom-item.active,
  .mobile-bottom-item:active{
    color:#47392e;
  }

  .mobile-bottom-icon-wrap{
    position:relative;
    display:inline-flex;
  }

  .mobile-bottom-count{
    position:absolute;
    top:-9px;
    right:-12px;
    min-width:17px;
    height:17px;
    padding:0 4px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:#dd9e57;
    color:#fff;
    font-size:9px !important;
    font-weight:700 !important;
    line-height:1;
  }

  .mobile-bottom-count[hidden]{
    display:none !important;
  }
}
/* Cart drawer: keep its header and close button visible above every page header. */
html.cart-drawer-open,
html.cart-drawer-open body {
  overflow: hidden !important;
  overscroll-behavior: none;
}
.overlay { z-index: 3000 !important; }
.drawer {
  top: 0 !important;
  bottom: 0 !important;
  height: 100vh !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  z-index: 3001 !important;
}
.drawer-head,
.drawer-foot { flex-shrink: 0; background: #fff; }
.drawer-body {
  min-height: 0;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.drawer-body .cart-item { cursor: pointer; }
.drawer-body .cart-item-info h5 a { color: inherit; text-decoration: none; }
.drawer-body .cart-item-info h5 a:hover { text-decoration: underline; }
.drawer-body .cart-item a:focus-visible { outline: 2px solid #541026; outline-offset: 3px; }
@media (max-width: 860px) {
  .drawer-foot { padding-bottom: calc(18px + env(safe-area-inset-bottom)); }
}
/* Products, Gallery, Contact and Wishlist banners */
.products-banner,
.gallery-banner,
.contact-banner,
.wishlist-banner {
  width: 100%;
  overflow: hidden;
}

.products-banner img,
.gallery-banner img,
.contact-banner img,
.wishlist-banner img {
  display: block;
  width: 100%;
  height: 390px;
  object-fit: cover;
  object-position: center;
}

/* Mobile */
@media (max-width: 860px) {
  .products-banner img,
  .gallery-banner img,
  .contact-banner img,
  .wishlist-banner img {
    height: 180px;
  }
}
/* Normal heart */
.product-card-modern .wish-btn {
  color: #6d6d6d !important;
}

/* Hover stays grey */
.product-card-modern .wish-btn:hover {
  color: #6d6d6d !important;
}

/* Only selected heart becomes red */
.product-card-modern .wish-btn.on {
  color: #ff0000 !important;
}

/* Center desktop navigation across the full header width. */
@media (min-width:1081px){
  .nav-wrap{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:center;
  }
  .nav-wrap > .logo{justify-self:start;}
  .nav-wrap > nav.main-nav{flex:none; padding-left:0; justify-self:center;}
  .nav-wrap > .nav-icons{justify-self:end;}
}

/* PDP trust icons: match the large, centered reference layout. */
.pdp-trust-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  padding:28px 0 12px;
  text-align:center;
}
.pdp-trust-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  color:#333;
  font-size:17px;
  font-weight:600;
  line-height:1.35;
}
.pdp-trust-item i{
  display:block;
  font-size:30px;
  line-height:1;
  color:#b58a2d !important;
}
@media(max-width:600px){
  .pdp-trust-row{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
    padding-top:20px;
  }
  .pdp-trust-item{gap:7px;font-size:10px;text-align:center;}
  .pdp-trust-item i{font-size:22px;}
}

/* Updated Valayal footer */
footer.valayal-footer{background:#fbf8f5 !important;color:#51212e !important;padding:58px 0 0;margin:0 !important;border-top:0 !important}
.valayal-footer .foot-grid{grid-template-columns:1.5fr .8fr 1fr 1.2fr;gap:38px;padding-bottom:52px;border-bottom:0 !important}
.valayal-footer .footer-quote{font:700 25px/1.28 "Playfair Display",Georgia,serif;color:#47392E;margin:14px 0 19px}
.valayal-footer .footer-quote:after,.valayal-footer h6:after{content:"";display:block;width:37px;height:2px;background:#842e49;margin-top:12px}
.valayal-footer .foot-brand p{max-width:355px;color:#6d7279 !important;line-height:1.8}
.valayal-footer h6{font:700 20px/1.35 "Playfair Display",Georgia,serif;color:#47392E !important;margin-bottom:23px}
.valayal-footer ul a{color:#6d7279 !important;font-size:14px;line-height:1.7}
.valayal-footer ul a:hover{color:#47392E !important;padding-left:0}
.valayal-footer .footer-location{display:flex;gap:9px;align-items:flex-start;color:#6d7279;font-size:13.5px;line-height:1.7}
.valayal-footer .footer-location i{color:#47392E;margin-top:4px}
.valayal-footer .social-row a{background:#F2E8E5 !important;color:#47392E !important;border:0 !important}
.valayal-footer .social-row a:hover{background:#47392E !important;color:white !important}
.valayal-footer .footer-lower{background:#47392E ;color:white}
.valayal-footer .foot-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:center;min-height:77px;border:0;padding-top:17px;padding-bottom:17px;color:white !important}
.valayal-footer .footer-lower a{color:white;text-decoration:none}
.valayal-footer .footer-lower a:hover{text-decoration:underline}
.valayal-footer .footer-whatsapp-order{justify-self:center;white-space:nowrap;display:inline-flex;align-items:center;gap:10px;font-size:16px;font-weight:500}
.valayal-footer .footer-whatsapp-order i{color:#25d366;background:white;border-radius:50%;padding:4px;font-size:24px}
.valayal-footer .footer-legal{justify-self:end;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:11px;white-space:nowrap}
@media(max-width:1050px){.valayal-footer .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.valayal-footer .foot-bottom{grid-template-columns:1fr 1fr}.valayal-footer .footer-legal{grid-column:1/-1;justify-self:center}}
@media(max-width:600px){footer.valayal-footer{padding-top:38px}.valayal-footer .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px;padding-bottom:32px}.valayal-footer .foot-brand{grid-column:1/-1}.valayal-footer .foot-grid>div:last-child{grid-column:1/-1}.valayal-footer .foot-bottom{display:flex;flex-direction:column;text-align:center;gap:15px}.valayal-footer .footer-legal{white-space:normal;justify-content:center}.valayal-footer .footer-quote{font-size:23px}}

.valayal-footer .footer-location a{display:inline-flex;align-items:baseline;gap:9px;color:#6d7279 !important;text-decoration:none;transition:color .2s}
.valayal-footer .footer-location a:hover,.valayal-footer .footer-location a:focus-visible{color:#47392E !important;text-decoration:underline}
.valayal-footer .footer-location a i{color:inherit;margin:0}
@media (min-width: 601px) {
  .valayal-footer .foot-bottom {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.valayal-footer .foot-bottom > span:first-child {
  padding-left: 0;
  text-align: center;
}
.valayal-footer .foot-bottom {
  min-height: 60px;
  padding-top: 8px;
  padding-bottom: 8px;
}
}
/* Valayal product ratings and prices */
.product-card-modern .rating-row .stars i,
.pdp-rating-row .stars i {
  color: #D4A017 !important;
}
.product-card-modern .price-now,
.pdp-price-now {
  color: #541026 !important;
}
@media (max-width: 640px) {
  /* Keep product titles the same height */
  .product-card-modern .product-info h4,
  .home-product-grid .product-card-modern .product-info h4 {
    height: 45px !important;
    min-height: 45px !important;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
  }

  /* Stars on one line, reviews underneath */
  .product-card-modern .rating-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px !important;
  }

  .product-card-modern .stars {
    display: inline-flex !important;
    align-items: center;
    flex-wrap: nowrap;
    white-space: nowrap;
    gap: 1px;
    font-size: 10px !important;
    line-height: 1.2;
  }

  .product-card-modern .review-count {
    font-size: 9px !important;
    line-height: 1.3;
    white-space: nowrap;
  }
}
/* Customer account icon: shares the header search/wishlist styling. */
#customerAccountButton{flex-shrink:0;cursor:pointer;}
#customerAccountButton:focus-visible{outline:2px solid #681d35;outline-offset:3px;}
#customerAccountButton.is-signed-in{color:#681d35;}
@media(max-width:480px){
  .site-header .nav-wrap{gap:8px;padding-left:12px;padding-right:12px;}
  .site-header .nav-icons{gap:0;}
  .site-header .nav-icons .icon-btn,
  .site-header .nav-icons .burger{width:32px;height:36px;flex-shrink:0;}
  .site-header .nav-wrap > .logo{min-width:0;flex-shrink:1;max-width:calc(100% - 170px);}
  .site-header .nav-wrap > .logo .logo-image{max-width:100%;height:auto;max-height:90px;transform:none;}
}
/* Reduce mobile header height */
@media (max-width: 860px) {
  .site-header .nav-wrap {
    height: 64px;
    min-height: 64px;
    padding: 6px 12px;
    box-sizing: border-box;
  }

  .site-header .nav-wrap > .logo {
    height: 52px;
  }

  .site-header .nav-wrap > .logo .logo-image {
    height: 52px;
    width: auto;
    max-height: 52px;
    max-width: 100%;
    object-fit: contain;
    transform: none;
  }
}
#drawerBody .cart-item-row-bottom {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 8px;
}

#drawerBody .cart-item-row-bottom .qty-ctrl {
  flex-shrink: 1;
  min-width: 0;
}

#drawerBody .cart-item-row-bottom .remove-item,
#drawerBody .cart-item-row-bottom .cart-wishlist-btn {
  flex: 0 0 30px;
  width: 30px;
  margin: 0;
}
@media (max-width: 860px) {
  header.site-header ~ section.page-banner.contact-banner,
  header.site-header ~ section.page-banner.wishlist-banner {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 1200 / 390;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat;
  }
}
@media (max-width: 860px) {
  .topbar {
    position: fixed !important;
    top: 0 !important;
    height: 34px !important;
    z-index: 2001 !important;
  }

  header.site-header {
    position: fixed !important;
    top: 34px !important;
    left: 0;
    right: 0;
    width: 100%;
    background: #fff;
    z-index: 2000 !important;
  }

  body {
    padding-top: 98px !important;
  }
}
@media (max-width: 860px) {
  /* Hide repeated header buttons */
  .site-header #searchBtn,
  .site-header #wishBtn,
  .site-header #cartBtn {
    display: none !important;
  }

  /* Align Account and Menu on the right */
  .site-header .nav-icons {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
  }
}
.pdp-gallery-main {
  aspect-ratio: auto;
}

.pdp-gallery-main img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .grid-4 .product-card-modern,
  .home-product-grid .product-card-modern,
  .home-combo-grid .product-card-modern,
  .product-card-modern .product-media,
  .product-card-modern .product-media img {
    border-radius: 10px !important;
  }
}

/* Final footer alignment - Valayal */
.valayal-footer .footer-lower {
    background: #fbf8f5 !important;
    color: #596779 !important;
}

.valayal-footer .foot-bottom {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100%;
    min-height: 90px;
    padding: 20px 0 !important;
    border: none !important;
    text-align: left !important;
}

.valayal-footer .footer-left {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap;
    gap: 16px;
    margin: 0 !important;
    text-align: left !important;
}

.valayal-footer .footer-powered {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    margin-left: auto !important;
    gap: 2px;
    white-space: nowrap;
    text-align: left !important;
}

.valayal-footer .footer-left a,
.valayal-footer .footer-left span,
.valayal-footer .footer-powered,
.valayal-footer .footer-powered a {
    color: #596779 !important;
    text-decoration: none;
}

.valayal-footer .footer-powered a {
    font-size: 17px;
    font-weight: 500;
}

@media (max-width: 600px) {
    .valayal-footer .foot-bottom {
        flex-direction: column !important;
        gap: 18px;
        justify-content: center !important;
        text-align: center !important;
    }

    .valayal-footer .footer-left {
        justify-content: center !important;
        text-align: center !important;
        gap: 8px;
        font-size: 11px;
    }

    .valayal-footer .footer-powered {
        align-items: center !important;
        margin-left: 0 !important;
    }
}
.valayal-footer .footer-lower {
    border-top: 1px solid #e5dfda !important;
}