﻿:root{
  --primary:#3bb77e;
  --primary-dark:#2d9f69;
  --secondary:#253d4e;
  --text:#4f5d77;
  --muted:#7e7e7e;
  --white:#ffffff;
  --line:#e9ecef;
  --bg:#f7f8fa;
  --soft-green:#ebfff5;
  --yellow:#fdc040;
  --red:#f74b81;
  --blue:#67bcee;
  --shadow:0 18px 45px rgba(0,0,0,.08);
  --radius:20px;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Inter', sans-serif;
  background:#fff;
  color:var(--secondary);
  overflow-x:hidden;
}

a{
  text-decoration:none;
  color:inherit;
}

img{
  max-width:100%;
  display:block;
}

.container{
  width:min(1280px, 94%);
  margin:auto;
}

.section{
  padding:70px 0;
}

/* Loader */
.page-loader{
  position:fixed;
  inset:0;
  background:#fff;
  z-index:9999;
  display:flex;
  justify-content:center;
  align-items:center;
  transition:.6s ease;
}

.page-loader.hide{
  opacity:0;
  visibility:hidden;
}

.loader-ring{
  width:70px;
  height:70px;
  border-radius:50%;
  border:6px solid #daf4e6;
  border-top-color:var(--primary);
  animation:spinLoader 1s linear infinite;
}

@keyframes spinLoader{
  to{ transform:rotate(360deg); }
}

/* Topbar */
.topbar{
  background:#f8faf9;
  border-bottom:1px solid var(--line);
  font-size:13px;
  color:var(--muted);
  position:relative;
  overflow:hidden;
}

.topbar::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg, rgba(59,183,126,.05), rgba(59,183,126,.22), rgba(59,183,126,.05));
  transform:translateX(-100%);
  animation:topbarFlash 5.4s ease-in-out infinite;
  pointer-events:none;
}

@keyframes topbarFlash{
  0%, 100%{ transform:translateX(-100%); opacity:.2; }
  45%{ transform:translateX(120%); opacity:.85; }
  60%{ transform:translateX(120%); opacity:.1; }
}

.topbar-inner{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:15px;
  padding:10px 0;
}

.topbar-left,
.topbar-right{
  display:flex;
  gap:16px;
  align-items:center;
  flex-wrap:wrap;
}

.topbar-right{
  justify-content:flex-end;
}

.topbar-left a,
.topbar-right span{
  transition:.3s ease;
}

.topbar-left a:hover{
  color:var(--primary);
}

.topbar-center{
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.topbar-right strong{
  color:var(--primary);
}

/* Header */
.header{
  position:sticky;
  top:0;
  z-index:500;
  background:#fff;
  box-shadow:0 5px 18px rgba(0,0,0,.04);
}

.header-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 0;
  flex-wrap:wrap;
}

.logo{
  display:flex;
  align-items:center;
  gap:14px;
  animation:fadeLeft .8s ease;
}

.logo-badge{
  width:58px;
  height:58px;
  border-radius:50%;
  background:linear-gradient(135deg, #47cf90, #2b9f68);
  color:#fff;
  display:flex;
  justify-content:center;
  align-items:center;
  font-family:'Quicksand', sans-serif;
  font-size:24px;
  font-weight:700;
  box-shadow:0 12px 25px rgba(59,183,126,.28);
  animation:floatBadge 3s ease-in-out infinite;
}

.logo-badge img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}

.logo-badge-image{
  padding:0;
  overflow:hidden;
  background:#fff;
}

@keyframes floatBadge{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-6px); }
}

.logo-text h1{
  font-size:27px;
  font-family:'Quicksand', sans-serif;
  line-height:1;
  background:linear-gradient(90deg, #1b4b33 0%, #3bb77e 35%, #7ce3a8 50%, #3bb77e 65%, #1b4b33 100%);
  background-size:220% auto;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  animation:logoFlash 3.2s linear infinite;
}

@keyframes logoFlash{
  0%{ background-position:0% 50%; filter:brightness(1); }
  50%{ background-position:100% 50%; filter:brightness(1.15); }
  100%{ background-position:0% 50%; filter:brightness(1); }
}

.logo-text p{
  color:var(--muted);
  margin-top:5px;
  font-size:13px;
}

.search-box{
  flex:1;
  min-width:340px;
  display:flex;
  align-items:center;
  border:2px solid #d8f1e4;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 24px rgba(59,183,126,.06);
  animation:fadeUp .9s ease;
}

.search-box select{
  border:none;
  outline:none;
  background:#f8fffb;
  padding:16px 14px;
  color:var(--secondary);
  min-width:180px;
  border-right:1px solid #ebf5ef;
}

.search-box input{
  flex:1;
  border:none;
  outline:none;
  padding:16px 16px;
  font-size:15px;
}

.search-box button{
  border:none;
  background:var(--primary);
  color:#fff;
  padding:16px 24px;
  font-weight:700;
  cursor:pointer;
  transition:.3s ease;
}

.search-box button:hover{
  background:var(--primary-dark);
}

.header-actions{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}

.action-item{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  transition:.35s ease;
  animation:fadeRight .9s ease;
}

.action-item:hover{
  background:#f6fff9;
  transform:translateY(-3px);
}

.action-icon{
  width:44px;
  height:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f2fff8;
  border:1px solid #dff3e8;
  font-size:18px;
}

.action-item strong{
  display:block;
  font-size:14px;
}

.action-item small{
  color:var(--muted);
  font-size:12px;
}

.cart-box{
  background:#f9fffb;
}

.cart-badge{
  position:absolute;
  top:3px;
  right:4px;
  min-width:20px;
  height:20px;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:11px;
  font-weight:700;
}

/* Nav */
.nav-wrap{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
}

.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:14px 0;
  flex-wrap:wrap;
}

.browse-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--primary);
  color:#fff;
  padding:13px 18px;
  border-radius:12px;
  font-weight:700;
  box-shadow:0 12px 28px rgba(59,183,126,.2);
  transition:.3s ease;
}

.browse-btn:hover{
  transform:translateY(-2px);
  background:var(--primary-dark);
}

.menu{
  flex:1;
}

.mobile-topbar{
  display:none;
}

.mobile-quick-panels{
  display:none;
}

.menu-toggle{
  display:none;
  width:46px;
  height:40px;
  border:1px solid #dce8e1;
  border-radius:10px;
  background:#fff;
  padding:8px 9px;
  cursor:pointer;
}

.menu-toggle span{
  display:block;
  height:2px;
  background:var(--secondary);
  border-radius:2px;
}

.menu-toggle span + span{
  margin-top:7px;
}

.menu-list{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  flex-wrap:wrap;
}

.menu-list > li{
  position:relative;
}

.menu-list > li > a{
  display:block;
  padding:12px 0;
  font-family:'Quicksand', sans-serif;
  font-weight:700;
  color:var(--secondary);
  position:relative;
  transition:.3s ease;
}

.menu-list > li > a.active,
.menu-list > li > a:hover{
  color:var(--primary);
}

.menu-list > li > a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:4px;
  width:0;
  height:2px;
  background:var(--primary);
  transition:.3s ease;
}

.menu-list > li > a:hover::after,
.menu-list > li > a.active::after{
  width:100%;
}

.dropdown-menu{
  position:absolute;
  top:100%;
  left:0;
  min-width:260px;
  background:#fff;
  border:1px solid #eef2f0;
  box-shadow:0 22px 40px rgba(0,0,0,.08);
  border-radius:16px;
  padding:12px 0;
  list-style:none;
  opacity:0;
  visibility:hidden;
  transform:translateY(14px);
  transition:.35s ease;
  z-index:20;
}

.dropdown:hover .dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.dropdown-menu li a{
  display:block;
  padding:12px 18px;
  color:var(--secondary);
  font-weight:600;
  transition:.3s ease;
}

.dropdown-menu li a:hover{
  background:#f5fff9;
  color:var(--primary);
  padding-left:24px;
}

.hotline{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--primary);
}

.hotline span{
  font-size:22px;
}

.hotline strong{
  display:block;
  font-size:14px;
}

.hotline small{
  color:var(--secondary);
  font-size:12px;
}

/* Hero */
.hero{
  padding:0 0 14px;
}

.hero-box{
  background:linear-gradient(135deg, #dff8ea, #c9efd8);
  border-radius:32px;
  min-height:620px;
  overflow:hidden;
  position:relative;
  box-shadow:var(--shadow);
  isolation:isolate;
}

.hero-slider{
  position:relative;
  min-height:620px;
}

.hero-slide{
  min-height:620px;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  padding:46px 4.5vw 80px;
  gap:20px;
  position:absolute;
  inset:0;
  z-index:2;
  opacity:0;
  pointer-events:none;
  transform:translateX(24px);
  transition:opacity .75s ease, transform .75s ease;
}

.hero-slide.active{
  opacity:1;
  pointer-events:auto;
  transform:translateX(0);
}

.hero-content{
  position:relative;
  z-index:2;
  animation:fadeLeft 1s ease;
}

.hero-tag{
  display:inline-block;
  padding:8px 14px;
  border-radius:30px;
  background:rgba(255,255,255,.7);
  color:var(--primary-dark);
  font-weight:700;
  font-size:13px;
  margin-bottom:18px;
  backdrop-filter:blur(8px);
}

.hero-content h2{
  font-family:'Quicksand', sans-serif;
  font-size:60px;
  line-height:1.08;
  margin-bottom:18px;
  color:var(--secondary);
}

.hero-content p{
  font-size:19px;
  color:#5e6d78;
  max-width:650px;
  margin-bottom:28px;
}

.hero-subscribe{
  max-width:470px;
  display:flex;
  align-items:center;
  background:#fff;
  border-radius:60px;
  overflow:hidden;
  box-shadow:0 16px 35px rgba(0,0,0,.08);
  margin-bottom:22px;
}

.hero-subscribe input{
  flex:1;
  border:none;
  outline:none;
  padding:19px 22px;
  font-size:15px;
}

.hero-subscribe button{
  border:none;
  background:var(--primary);
  color:#fff;
  padding:18px 28px;
  font-weight:700;
  cursor:pointer;
}

.hero-buttons{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  border-radius:12px;
  font-weight:700;
  transition:.3s ease;
}

.btn-primary{
  background:var(--primary);
  color:#fff;
  box-shadow:0 14px 28px rgba(59,183,126,.25);
}

.btn-primary:hover{
  background:var(--primary-dark);
  transform:translateY(-3px);
}

.btn-outline{
  border:2px solid rgba(37,61,78,.1);
  color:var(--secondary);
  background:rgba(255,255,255,.6);
}

.btn-outline:hover{
  background:#fff;
  transform:translateY(-3px);
}

.hero-media{
  position:relative;
  height:100%;
  min-height:460px;
  animation:fadeRight 1s ease;
  display:flex;
  align-items:center;
  justify-content:center;
}

.hero-media img{
  width:min(560px, 90%);
  max-height:520px;
  object-fit:contain;
  filter:drop-shadow(0 20px 30px rgba(0,0,0,.18));
  animation:floaty 5s ease-in-out infinite;
}

.floating-shape{
  position:absolute;
  border-radius:50%;
  animation:floaty 4s ease-in-out infinite;
}

.shape1{
  width:120px;
  height:120px;
  background:#ffe89c;
  top:40px;
  right:120px;
}

.shape2{
  width:90px;
  height:90px;
  background:#95e1b0;
  top:160px;
  right:30px;
  animation-delay:.6s;
}

.shape3{
  width:210px;
  height:210px;
  background:#fdf1b6;
  bottom:30px;
  left:30px;
  animation-delay:1s;
}

@keyframes floaty{
  0%,100%{ transform:translateY(0) translateX(0); }
  50%{ transform:translateY(-16px) translateX(8px); }
}

.basket-scene{
  position:absolute;
  inset:0;
}

.basket{
  position:absolute;
  bottom:45px;
  right:75px;
  width:320px;
  height:190px;
  border-radius:20px 20px 42px 42px;
  background:linear-gradient(180deg,#c89461,#9a683b);
  box-shadow:0 24px 40px rgba(90,60,28,.22);
}

.basket::before{
  content:"";
  position:absolute;
  left:54px;
  top:-68px;
  width:215px;
  height:110px;
  border:12px solid #9a683b;
  border-bottom:none;
  border-radius:160px 160px 0 0;
}

.fruit{
  position:absolute;
  border-radius:50%;
  box-shadow:0 14px 20px rgba(0,0,0,.15);
  animation:bounceFruit 4s ease-in-out infinite;
}

.fruit1{
  width:85px;
  height:85px;
  background:#ffb13d;
  top:105px;
  right:120px;
}

.fruit2{
  width:62px;
  height:62px;
  background:#ffe056;
  top:80px;
  right:205px;
  animation-delay:.5s;
}

.fruit3{
  width:72px;
  height:72px;
  background:#74c85f;
  top:125px;
  right:235px;
  animation-delay:.9s;
}

.fruit4{
  width:55px;
  height:55px;
  background:#ef5a4b;
  top:165px;
  right:305px;
}

.fruit5{
  width:95px;
  height:95px;
  background:#6aa63b;
  top:200px;
  right:145px;
  animation-delay:1.2s;
}

.fruit6{
  width:140px;
  height:52px;
  border-radius:40px;
  background:linear-gradient(90deg, #ffd44d, #ffe57b);
  top:176px;
  right:250px;
  transform:rotate(-16deg);
}

@keyframes bounceFruit{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-8px); }
}

.hero-dots{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  display:flex;
  gap:10px;
  z-index:4;
}

.hero-dots span{
  width:12px;
  height:12px;
  border-radius:50%;
  background:rgba(255,255,255,.65);
  transition:.3s ease;
}

.hero-dots span.active{
  width:30px;
  border-radius:20px;
  background:var(--primary);
}

/* Index hero redesign */
.hero-index{
  padding:26px 0 8px;
}

.hero-index .container{
  width:min(1280px, 94%);
  max-width:1280px;
}

.hero-showcase{
  display:grid;
  grid-template-columns:1.7fr 1fr;
  gap:18px;
}

.hero-card{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  min-height:195px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  box-shadow:0 18px 40px rgba(0,0,0,.15);
  isolation:isolate;
}

.hero-card-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, rgba(10,18,25,.38) 0%, rgba(10,18,25,.2) 50%, rgba(10,18,25,.08) 100%);
  z-index:1;
}

.hero-card-content{
  position:relative;
  z-index:2;
  color:#fff;
  padding:26px 28px;
}

.hero-card-content h2{
  font-family:'Quicksand', sans-serif;
  font-size:48px;
  line-height:1.08;
  margin-bottom:10px;
  max-width:540px;
}

.hero-card-content h3{
  font-family:'Quicksand', sans-serif;
  font-size:30px;
  line-height:1.15;
  margin-bottom:8px;
}

.hero-card-content p{
  color:rgba(255,255,255,.9);
  margin-bottom:20px;
}

.hero-card-main{
  min-height:415px;
  background-image:url('../images/hero-online-veg-market.jpg');
  animation:heroCardMainFloat 8s ease-in-out infinite;
}

.hero-card-main .hero-card-content{
  padding-top:clamp(52px, 7vw, 92px);
}

.hero-stack{
  display:grid;
  gap:18px;
}

.hero-card-top{
  background-image:url('../images/2.jpg');
  animation:heroCardTopTilt 7s ease-in-out infinite;
}

.hero-card-bottom{
  background-image:url('../images/3.jpg');
  animation:heroCardBottomPulse 6.2s ease-in-out infinite;
}

.hero-page-bg .hero-box-static{
  min-height:420px;
  border-radius:32px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  animation:heroBgShift 12s ease-in-out infinite;
}

.hero-static-content{
  min-height:420px;
  padding:56px 52px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#fff;
}

.hero-page-bg .hero-tag{
  background:rgba(255,255,255,.88);
  color:#1d5538;
}

.hero-static-content h2{
  font-family:'Quicksand', sans-serif;
  font-size:56px;
  line-height:1.08;
  margin:0 0 12px;
}

.hero-static-content p{
  color:rgba(255,255,255,.92);
  font-size:18px;
  max-width:760px;
  margin:0 0 22px;
}

.hero-page-bg .btn-outline{
  border-color:rgba(255,255,255,.7);
  color:#fff;
  background:rgba(0,0,0,.2);
}

@keyframes heroBgShift{
  0%,100%{ background-position:center; }
  50%{ background-position:center 47%; }
}

.hero-deal,
.hero-discount{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  font-weight:700;
  letter-spacing:.02em;
  font-size:12px;
  margin-bottom:14px;
}

.hero-deal{
  background:rgba(255,255,255,.88);
  color:#1f4832;
}

.hero-discount{
  background:#ffd54a;
  color:#142e1f;
}

.hero-discount.dark{
  background:#1f2932;
  color:#fff;
}

.hero-index .btn-outline{
  border-color:rgba(255,255,255,.6);
  color:#fff;
  background:rgba(20,34,27,.25);
}

.hero-index .btn-outline:hover{
  border-color:#fff;
  background:rgba(255,255,255,.15);
}

@keyframes heroCardMainFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-8px); }
}

@keyframes heroCardTopTilt{
  0%,100%{ transform:rotate(0deg) scale(1); }
  45%{ transform:rotate(-.8deg) scale(1.015); }
  65%{ transform:rotate(.45deg) scale(1.01); }
}

@keyframes heroCardBottomPulse{
  0%,100%{ transform:scale(1); filter:brightness(1); }
  50%{ transform:scale(1.02); filter:brightness(1.06); }
}

/* Section headings */
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:20px;
  flex-wrap:wrap;
  margin-bottom:26px;
}

.section-head h2{
  font-size:36px;
  font-family:'Quicksand', sans-serif;
  margin-bottom:8px;
}

.section-head p{
  color:var(--muted);
}

.section-links{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}

.section-links a{
  color:var(--muted);
  font-weight:700;
  transition:.3s ease;
}

.section-links a:hover{
  color:var(--primary);
  transform:translateY(-2px);
}

/* Categories */
.featured-categories,
.products,
.newsletter,
.daily,
.deals{
  position:relative;
  isolation:isolate;
}

#categories{
  position:relative;
  overflow:hidden;
}

.featured-categories > .container,
.products > .container,
.newsletter > .container,
.daily > .container,
.deals > .container{
  position:relative;
  z-index:2;
}

.categories-grid{
  display:grid;
  grid-template-columns:repeat(10, 1fr);
  gap:16px;
}

.categories-scroller{
  overflow:hidden;
  border-radius:20px;
}

.categories-grid.is-scroll{
  display:flex;
  gap:16px;
  overflow-x:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:4px 4px 12px;
}

.categories-grid.is-scroll::-webkit-scrollbar{
  display:none;
}

.categories-grid.is-scroll .category-card{
  flex:0 0 170px;
}

.category-card{
  text-align:center;
  border-radius:20px;
  padding:22px 10px;
  box-shadow:0 12px 30px rgba(0,0,0,.04);
  transition:.35s ease;
  border:1px solid rgba(0,0,0,.04);
  animation:zoomIn .7s ease;
  content-visibility:auto;
  contain-intrinsic-size:260px;
}

.category-card:hover{
  transform:translateY(-8px) scale(1.02);
  box-shadow:0 20px 35px rgba(0,0,0,.08);
}

.category-icon{
  width:70px;
  height:70px;
  margin:0 auto 14px;
  border-radius:50%;
  background:rgba(255,255,255,.6);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:30px;
  box-shadow:0 8px 18px rgba(0,0,0,.05);
}

.category-card h3{
  font-size:15px;
  font-family:'Quicksand', sans-serif;
  margin-bottom:5px;
}

.category-card p{
  color:var(--muted);
  font-size:13px;
}

.soft-yellow{ background:#fff8dd; }
.soft-green{ background:#e9fff3; }
.soft-pink{ background:#fff0f3; }
.soft-red{ background:#fff1ec; }
.soft-cream{ background:#fff7ef; }
.soft-blue{ background:#eef8ff; }
.soft-lime{ background:#f4ffe6; }
.soft-brown{ background:#fff5ea; }

/* Promo */
.promo-grid{
  margin-top:30px;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:20px;
}

.promo-card{
  position:relative;
  min-height:240px;
  border-radius:24px;
  overflow:hidden;
  padding:28px;
  box-shadow:var(--shadow);
  transition:.4s ease;
  background-size:cover;
  background-position:center;
}

.promo-card:hover{
  transform:translateY(-10px);
}

.promo-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(140deg, rgba(7,33,21,.66), rgba(7,33,21,.25));
}

.promo-1{ background-image:url('../images/2.jpg'); }
.promo-2{ background-image:url('../images/3.jpg'); }
.promo-3{ background-image:url('../images/4.jpg'); }

.promo-content{
  position:relative;
  z-index:2;
  max-width:240px;
  color:#fff;
}

.promo-content h3{
  font-size:30px;
  font-family:'Quicksand', sans-serif;
  line-height:1.2;
  margin-bottom:18px;
  text-shadow:0 4px 16px rgba(0,0,0,.45);
}

.mini-btn{
  display:inline-block;
  background:#fff;
  color:#134c33;
  padding:11px 16px;
  border-radius:10px;
  font-weight:700;
  transition:.3s ease;
}

.mini-btn:hover{
  transform:translateY(-2px);
  background:#effaf4;
}

.promo-emoji{
  position:absolute;
  right:20px;
  bottom:10px;
  font-size:86px;
  z-index:1;
  animation:floaty 4s ease-in-out infinite;
}

.promo-emoji svg{
  width:92px;
  height:92px;
  display:block;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.2));
}

/* Products */
.products-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:22px;
}

.product-card{
  position:relative;
  background:#fff;
  border:1px solid #edf0ee;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 12px 28px rgba(0,0,0,.04);
  transition:.35s ease;
  animation:fadeUp .8s ease;
  content-visibility:auto;
  contain-intrinsic-size:420px;
}

.product-card:hover{
  transform:translateY(-10px);
  box-shadow:0 24px 42px rgba(0,0,0,.08);
}

.badge{
  position:absolute;
  left:0;
  top:0;
  padding:9px 14px;
  border-radius:18px 0 18px 0;
  color:#fff;
  font-size:12px;
  font-weight:700;
  z-index:3;
}

.badge.hot{ background:var(--red); }
.badge.sale{ background:var(--blue); }
.badge.new{ background:var(--primary); }
.badge.best{ background:var(--yellow); }

.product-thumb{
  height:230px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#fff,#fafafa);
  padding:20px;
}

.prod-image{
  width:100%;
  height:100%;
  object-fit:contain;
}

.product-pack{
  width:128px;
  height:178px;
  border-radius:14px;
  position:relative;
  box-shadow:0 20px 28px rgba(0,0,0,.14);
  transition:.35s ease;
}

.product-card:hover .product-pack{
  transform:translateY(-6px) rotate(-2deg);
}

.product-pack::before{
  content:"ORGANIC";
  position:absolute;
  top:17px;
  left:50%;
  transform:translateX(-50%);
  color:#fff;
  font-size:14px;
  font-weight:700;
  letter-spacing:1px;
}

.product-pack::after{
  content:"";
  position:absolute;
  left:15px;
  right:15px;
  bottom:22px;
  height:50px;
  border-radius:12px;
  background:rgba(255,255,255,.22);
}

.pack-green{ background:linear-gradient(180deg,#94cf6d,#577d35); }
.pack-yellow{ background:linear-gradient(180deg,#ffe38b,#c99928); }
.pack-light{ background:linear-gradient(180deg,#d8f1d5,#7cb77b); }
.pack-orange{ background:linear-gradient(180deg,#ffc783,#c97125); }
.pack-red{ background:linear-gradient(180deg,#ff9d88,#cf5230); }

.product-body{
  padding:18px 18px 20px;
}

.product-cat{
  color:var(--muted);
  display:block;
  margin-bottom:8px;
}

.product-body h3{
  font-size:18px;
  font-family:'Quicksand', sans-serif;
  line-height:1.4;
  min-height:52px;
  margin-bottom:10px;
}

.rating{
  color:var(--yellow);
  font-size:14px;
  margin-bottom:10px;
}

.rating span{
  color:#a4a4a4;
}

.brand{
  font-size:14px;
  color:var(--muted);
  margin-bottom:12px;
}

.brand strong{
  color:var(--primary);
}

.price-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}

.price{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.price strong{
  font-size:22px;
  color:#8b5a2b;
  font-family:'Quicksand', sans-serif;
}

.price del{
  color:#b7b7b7;
}

.cart-btn{
  border:none;
  background:#def9ec;
  color:var(--primary);
  padding:11px 15px;
  border-radius:10px;
  font-weight:700;
  cursor:pointer;
  transition:.3s ease;
}

.cart-btn:hover{
  background:var(--primary);
  color:#fff;
  transform:translateY(-2px);
}

/* Daily */
.daily-grid{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr 1fr 1fr;
  gap:22px;
}

.daily-banner{
  position:relative;
  min-height:420px;
  border-radius:24px;
  background:linear-gradient(135deg,#d1f2db,#7dddab);
  overflow:hidden;
  box-shadow:var(--shadow);
}

.daily-banner-content{
  position:relative;
  z-index:2;
  padding:34px;
  max-width:260px;
}

.daily-banner-content h3{
  font-family:'Quicksand', sans-serif;
  font-size:42px;
  line-height:1.14;
  margin-bottom:20px;
}

.leaf-shape{
  position:absolute;
  right:-40px;
  bottom:-20px;
  width:260px;
  height:330px;
  background:radial-gradient(circle at 30% 30%, #9ee7b5, #55bb7b 65%, #2e8e56);
  border-radius:62% 12% 62% 12%;
  transform:rotate(-16deg);
  animation:leafMove 5s ease-in-out infinite;
}

@keyframes leafMove{
  0%,100%{ transform:rotate(-16deg) translateY(0); }
  50%{ transform:rotate(-12deg) translateY(-10px); }
}

.mini-product{
  background:#fff;
  border:1px solid #edf0ee;
  border-radius:22px;
  padding:20px;
  text-align:center;
  box-shadow:0 12px 28px rgba(0,0,0,.04);
  transition:.35s ease;
}

.mini-product:hover{
  transform:translateY(-8px);
  box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.mini-product-thumb{
  height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
}

.mini-product-image{
  width:100%;
  height:100%;
  object-fit:contain;
}

.mini-product h4{
  font-size:17px;
  line-height:1.4;
  font-family:'Quicksand', sans-serif;
  min-height:50px;
  margin-bottom:10px;
}

.mini-price{
  font-size:24px;
  color:var(--primary);
  font-family:'Quicksand', sans-serif;
  font-weight:700;
  margin-bottom:14px;
}

.wide-btn{
  width:100%;
  border:none;
  background:var(--primary);
  color:#fff;
  padding:13px 16px;
  border-radius:12px;
  font-weight:700;
  cursor:pointer;
  transition:.3s ease;
}

.wide-btn:hover{
  background:var(--primary-dark);
  transform:translateY(-2px);
}

/* Deals */
.deals-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:22px;
}

.deal-card{
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  border:1px solid #edf0ee;
  box-shadow:0 14px 32px rgba(0,0,0,.05);
  transition:.35s ease;
}

.deal-card:hover{
  transform:translateY(-8px);
}

.deal-image{
  height:240px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#ecfff4,#d4f5e2);
  font-size:72px;
}

.deal-image-img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.deal-body{
  padding:20px;
}

.deal-timer{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:-42px;
  margin-bottom:18px;
}

.deal-timer div{
  background:#fff;
  border-radius:16px;
  text-align:center;
  padding:12px 6px;
  box-shadow:0 12px 24px rgba(0,0,0,.08);
}

.deal-timer strong{
  display:block;
  font-size:22px;
  color:var(--primary);
  font-family:'Quicksand', sans-serif;
}

.deal-timer span{
  font-size:12px;
  color:var(--muted);
}

.deal-body h3{
  font-family:'Quicksand', sans-serif;
  font-size:20px;
  line-height:1.4;
  margin-bottom:10px;
}

/* Divers pages: image + texte simple */
.divers-pages{
  position:relative;
}

.divers-list{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.divers-item{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
  background:#fff;
  border:1px solid #e7ecea;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 14px 30px rgba(0,0,0,.06);
  transition:.35s ease;
  animation:fadeUp .7s ease;
  content-visibility:auto;
  contain-intrinsic-size:300px;
}

.divers-item.reverse{
  direction:rtl;
}

.divers-item.reverse .divers-body{
  direction:ltr;
}

.divers-item:hover{
  transform:translateY(-7px);
  box-shadow:0 20px 38px rgba(0,0,0,.1);
}

.divers-media{
  height:260px;
  overflow:hidden;
  background:#f1f8f4;
}

.divers-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.01);
  transition:transform .55s ease;
}

.divers-item:hover .divers-media img{
  transform:scale(1.08);
}

.divers-body{
  padding:24px 24px 26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.divers-body h3{
  font-size:26px;
  font-family:'Quicksand', sans-serif;
  margin:0 0 8px;
}

.divers-body p{
  margin:0;
  color:#5f6f7b;
  line-height:1.65;
}

.pagination-wrap{
  margin-top:26px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.page-link{
  display:inline-flex;
  min-width:42px;
  height:42px;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border-radius:10px;
  border:1px solid #dce8e1;
  background:#fff;
  color:var(--secondary);
  font-weight:700;
  transition:.25s ease;
}

.page-link:hover{
  border-color:var(--primary);
  color:var(--primary);
  transform:translateY(-2px);
}

.page-link.active{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
}

/* Partners */
.partners-marquee{
  overflow:hidden;
  border-radius:18px;
  border:1px solid #e5efe8;
  background:#fff;
  padding:14px 0;
}

.partners-track{
  display:flex;
  align-items:center;
  gap:16px;
  width:max-content;
  animation:partnersScroll 26s linear infinite;
}

.partner-card{
  width:190px;
  height:94px;
  border-radius:14px;
  background:#f6fbf8;
  border:1px solid #e3ece6;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.partner-card img{
  width:100%;
  height:100%;
  object-fit:contain;
}

@keyframes partnersScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

/* Contact social + donation */
.social-grid{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:14px;
}

.social-card{
  min-height:92px;
  border-radius:16px;
  border:1px solid #e4ece7;
  background:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:.28s ease;
  box-shadow:0 10px 22px rgba(0,0,0,.05);
}

.social-card i{
  font-size:24px;
  animation:socialFloat 2.4s ease-in-out infinite;
}

.social-card span{
  font-weight:700;
  font-size:14px;
}

.social-card:hover{
  transform:translateY(-6px);
}

.social-card.fb i{ color:#1877f2; }
.social-card.wa i{ color:#25d366; }
.social-card.ln i{ color:#0a66c2; }
.social-card.ig i{ color:#d62976; }
.social-card.tk i{ color:#111; }
.social-card.xx i{ color:#222; }

@keyframes socialFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-4px); }
}

.donation-box{
  background:linear-gradient(130deg, #f0fff6, #e6f7ee);
  border:1px solid #dceee2;
  border-radius:26px;
  padding:30px;
  box-shadow:0 16px 35px rgba(0,0,0,.06);
}

.donation-box h2{
  font-family:'Quicksand', sans-serif;
  font-size:34px;
  margin-bottom:16px;
}

.donation-points{
  margin:0 0 18px 0;
  padding-left:20px;
  color:#415c4e;
  display:grid;
  gap:8px;
}

.donation-btn{
  margin-top:6px;
}

/* Newsletter */
.newsletter-box{
  background:
    linear-gradient(135deg, rgba(17,63,39,.84), rgba(24,94,58,.74)),
    url('../images/telechargement-NOX-360x131.jpg') center/cover no-repeat;
  border-radius:30px;
  padding:45px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  align-items:center;
  gap:20px;
  box-shadow:var(--shadow);
  overflow:hidden;
  position:relative;
}

.newsletter-home .newsletter-box{
  background:#f8fff9;
  grid-template-columns:1fr 1fr;
  align-items:stretch;
  overflow:visible;
}

.contact-section .newsletter-box{
  background:
    linear-gradient(125deg, rgba(17,50,33,.72), rgba(17,50,33,.45)),
    url('../images/front-view-woman-carrying-box.jpg') center/cover no-repeat;
}

.newsletter-home .newsletter-box::before{
  content:"";
  position:absolute;
  width:240px;
  height:240px;
  border-radius:50%;
  left:-52px;
  top:-36px;
  background:radial-gradient(circle, #8fe0a9 0%, #8fe0a900 70%);
  z-index:0;
}

.newsletter-home .newsletter-box::after{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:50%;
  right:32%;
  bottom:-62px;
  background:radial-gradient(circle, #f7b497 0%, #f7b49700 72%);
  z-index:0;
}

.engagement-box .newsletter-content{
  background:#fff;
  border-radius:22px;
  padding:30px;
  box-shadow:0 14px 34px rgba(0,0,0,.08);
  min-height:320px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.engagement-box .newsletter-content h2{
  color:#1a2f24;
}

.engagement-box .newsletter-content p{
  color:#516861;
}

.engagement-media{
  position:relative;
  z-index:2;
  min-height:320px;
  max-height:320px;
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 22px 46px rgba(0,0,0,.18);
}

.engagement-media::before{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  border-radius:36px;
  background:#d8f0de;
  right:-26px;
  top:-18px;
  z-index:1;
}

.engagement-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.contact-section .newsletter-visual,
.newsletter-home .newsletter-visual{
  display:none;
}

.newsletter-content{
  position:relative;
  z-index:2;
}

.newsletter-content h2{
  font-size:48px;
  line-height:1.15;
  font-family:'Quicksand', sans-serif;
  margin-bottom:14px;
  color:#fff;
}

.newsletter-content p{
  color:rgba(255,255,255,.88);
  font-size:18px;
  margin-bottom:24px;
}

.newsletter-form{
  max-width:470px;
  display:flex;
  background:#fff;
  border-radius:60px;
  overflow:hidden;
  box-shadow:0 16px 35px rgba(0,0,0,.07);
}

.newsletter-form input{
  flex:1;
  border:none;
  outline:none;
  padding:18px 22px;
  font-size:15px;
}

.newsletter-form button{
  border:none;
  background:var(--primary);
  color:#fff;
  padding:18px 28px;
  font-weight:700;
  cursor:pointer;
}

.newsletter-visual{
  text-align:center;
  animation:floaty 4s ease-in-out infinite;
}

.newsletter-visual img{
  width:min(280px, 80%);
  margin:0 auto;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.3));
}

/* Footer */
.footer{
  background:#f8faf9;
  border-top:1px solid var(--line);
  margin-top:40px;
  position:relative;
  overflow:hidden;
}

.footer::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 22%, rgba(59,183,126,.16), transparent 42%),
    radial-gradient(circle at 86% 74%, rgba(59,183,126,.14), transparent 38%),
    linear-gradient(120deg, rgba(59,183,126,.06), rgba(59,183,126,.01));
  z-index:0;
  animation:footerFlash 6.2s ease-in-out infinite;
}

@keyframes footerFlash{
  0%,100%{ filter:brightness(1); opacity:.9; }
  50%{ filter:brightness(1.12); opacity:1; }
}

.footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:30px;
  padding:60px 0 35px;
  position:relative;
  z-index:1;
}

.footer-logo{
  margin-bottom:20px;
}

.footer-text{
  color:var(--muted);
  line-height:1.7;
  max-width:440px;
}

.footer-col h3{
  font-family:'Quicksand', sans-serif;
  margin-bottom:18px;
  font-size:22px;
}

.footer-col a,
.footer-col p{
  display:block;
  color:var(--muted);
  margin-bottom:12px;
  transition:.3s ease;
}

.footer-col a:hover{
  color:var(--primary);
  padding-left:6px;
}

.footer-bottom{
  border-top:1px solid var(--line);
  padding:18px 0;
  color:var(--muted);
  position:relative;
  z-index:1;
}

.footer-bottom-inner{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}

.footer-copy{
  display:block;
}

.footer-corner-image{
  width:min(340px, 38vw);
  max-height:190px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid var(--line);
}

/* Floating */
.whatsapp-float{
  position:fixed;
  right:18px;
  bottom:18px;
  width:62px;
  height:62px;
  border-radius:50%;
  background:#25d366;
  color:#fff;
  display:flex;
  justify-content:center;
  align-items:center;
  font-size:26px;
  box-shadow:0 16px 35px rgba(37,211,102,.35);
  z-index:50;
  animation:pulse 2s infinite;
}

.whatsapp-float svg{
  width:34px;
  height:34px;
}

@keyframes pulse{
  0%{ box-shadow:0 0 0 0 rgba(37,211,102,.45); }
  70%{ box-shadow:0 0 0 18px rgba(37,211,102,0); }
  100%{ box-shadow:0 0 0 0 rgba(37,211,102,0); }
}

/* Animations */
@keyframes fadeUp{
  from{
    opacity:0;
    transform:translateY(30px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes fadeLeft{
  from{
    opacity:0;
    transform:translateX(-40px);
  }
  to{
    opacity:1;
    transform:translateX(0);
  }
}

@keyframes fadeRight{
  from{
    opacity:0;
    transform:translateX(40px);
  }
  to{
    opacity:1;
    transform:translateX(0);
  }
}

@keyframes zoomIn{
  from{
    opacity:0;
    transform:scale(.94);
  }
  to{
    opacity:1;
    transform:scale(1);
  }
}

.reveal{
  opacity:1;
  transform:translateY(0);
}

.motion-ready .reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s ease, transform .8s ease;
}

.motion-ready .reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* Decorative floating elements requested */
.ambient-layer{
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
}

.ambient-blob,
.ambient-bubble,
.ambient-icon{
  position:absolute;
}

.ambient-blob{
  border-radius:999px;
  opacity:.45;
  animation:ambientFloatY 9s ease-in-out infinite;
}

.ambient-bubble{
  border-radius:50%;
  border:1px solid rgba(255,255,255,.55);
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.95), rgba(255,255,255,.12) 70%);
  animation:ambientFloatX 10s ease-in-out infinite;
}

.ambient-icon{
  width:70px;
  height:70px;
  opacity:.95;
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.2));
  animation:ambientRotate 16s linear infinite;
  z-index:3;
}

.blob-1{ width:220px; height:220px; right:-40px; top:-40px; background:radial-gradient(circle, rgba(255,223,144,.95), rgba(255,223,144,0) 70%); }
.blob-2{ width:180px; height:180px; left:-40px; bottom:-40px; background:radial-gradient(circle, rgba(133,236,188,.85), rgba(133,236,188,0) 72%); animation-delay:1.2s; }
.blob-3{ width:160px; height:160px; right:4%; top:8%; background:radial-gradient(circle, rgba(173,209,255,.75), rgba(173,209,255,0) 72%); }
.blob-4{ width:190px; height:190px; left:-30px; bottom:8%; background:radial-gradient(circle, rgba(255,196,173,.7), rgba(255,196,173,0) 72%); }
.blob-5{ width:170px; height:170px; right:3%; top:10%; background:radial-gradient(circle, rgba(255,236,166,.8), rgba(255,236,166,0) 72%); }

.bubble-1{ width:28px; height:28px; left:12%; top:20%; }
.bubble-2{ width:20px; height:20px; right:16%; bottom:22%; animation-delay:.8s; }
.bubble-3{ width:24px; height:24px; left:8%; bottom:16%; }
.bubble-4{ width:26px; height:26px; right:10%; top:14%; }
.bubble-5{ width:22px; height:22px; left:10%; top:18%; }

.icon-leaf{ right:6%; top:18%; }
.icon-fruit{ right:5%; bottom:12%; animation-duration:14s; }

@keyframes ambientFloatY{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-14px); }
}

@keyframes ambientFloatX{
  0%,100%{ transform:translateX(0); }
  50%{ transform:translateX(10px); }
}

@keyframes ambientRotate{
  from{ transform:rotate(0deg); }
  to{ transform:rotate(360deg); }
}

/* Responsive */
@media (max-width:1250px){
  .hero-showcase{
    grid-template-columns:1.45fr 1fr;
  }

  .hero-card-content h2{
    font-size:40px;
  }

  .categories-grid{
    grid-template-columns:repeat(5, 1fr);
  }

  .products-grid{
    grid-template-columns:repeat(3, 1fr);
  }

  .daily-grid{
    grid-template-columns:1fr 1fr;
  }

  .promo-grid{
    grid-template-columns:1fr;
  }

  .deals-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .social-grid{
    grid-template-columns:repeat(3, 1fr);
  }
}

@media (max-width:992px){
  .topbar{
    display:none;
  }

  .header-main{
    padding:14px 0;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:10px;
  }

  .header-main .search-box,
  .header-main .header-actions{
    display:none;
  }

  .menu-toggle{
    display:none;
  }

  .menu-toggle-main{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    place-items:center;
    width:44px;
    height:40px;
    border:1px solid #d9e4dd;
    border-radius:10px;
    background:#fff;
    box-shadow:0 6px 16px rgba(0,0,0,.06);
  }

  .menu-toggle-main span{
    display:block;
    width:24px;
    height:2.5px;
    background:#111111;
    border-radius:2px;
  }

  .menu-toggle-main span + span{
    margin-top:6px;
  }

  .nav-inner{
    padding:0 0 10px;
  }

  .menu{
    display:none;
    width:100%;
    background:#fff;
    border:1px solid #e5ece8;
    border-radius:14px;
    padding:12px 12px 8px;
    box-shadow:0 14px 30px rgba(31, 51, 45, .08);
  }

  .menu.is-open{
    display:block;
  }

  .mobile-topbar{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:4px 0 12px;
    border-bottom:1px solid var(--line);
    margin-bottom:8px;
  }

  .mobile-topbar-links{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .mobile-topbar-links a{
    font-size:13px;
    font-weight:600;
    color:#2a3b34;
    background:#f4f8f6;
    border:1px solid #dce8e1;
    border-radius:10px;
    padding:8px 10px;
    text-align:center;
  }

  .mobile-topbar-help{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
    font-size:12px;
    color:var(--muted);
  }

  .mobile-topbar-help strong{
    color:var(--primary);
  }

  .mobile-quick-panels{
    display:grid;
    gap:12px;
    margin-bottom:10px;
  }

  .mobile-action-links{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }

  .mobile-action-link{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    padding:11px 12px;
    border:1px solid #e4e9ee;
    border-radius:10px;
    background:#f7faf8;
  }

  .mobile-action-link small{
    color:var(--muted);
    text-align:right;
  }

  .menu-list{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    white-space:normal;
    overflow-x:visible;
    width:100%;
    justify-content:flex-start;
  }

  .menu-list > li{
    width:100%;
  }

  .menu-list > li > a{
    padding:11px 6px;
    width:100%;
    border-radius:8px;
  }

  .menu-list > li > a:hover{
    background:#f3f8f5;
  }

  .dropdown-menu{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    border:none;
    padding:4px 0 0 12px;
    display:none;
  }

  .dropdown:hover .dropdown-menu,
  .dropdown.open .dropdown-menu{
    display:block;
  }

  .hero-slide{
    grid-template-columns:1fr;
    padding:38px 28px 70px;
  }

  .hero-showcase{
    grid-template-columns:1fr;
  }

  .hero-card-main{
    min-height:350px;
  }

  .hero-stack{
    grid-template-columns:1fr 1fr;
  }

  .hero-card-content h2{
    font-size:36px;
  }

  .hero-card-content h3{
    font-size:24px;
  }

  .newsletter-home .newsletter-box{
    grid-template-columns:1fr;
  }

  .engagement-media{
    min-height:280px;
    max-height:280px;
  }

  .engagement-box .newsletter-content{
    min-height:280px;
  }

  .hero-page-bg .hero-box-static,
  .hero-static-content{
    min-height:360px;
  }

  .hero-static-content{
    padding:36px 30px;
  }

  .hero-static-content h2{
    font-size:40px;
  }

  .hero-content h2{
    font-size:48px;
  }

  .hero-slider,
  .hero-box,
  .hero-slide{
    min-height:640px;
  }

  .newsletter-box{
    grid-template-columns:1fr;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
  }

}

@media (max-width:768px){
  .header-main{
    padding:14px 0;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:10px;
  }

  .header-main .search-box,
  .header-main .header-actions{
    display:none;
  }

  .search-box{
    min-width:100%;
    flex-direction:column;
    align-items:stretch;
  }

  .search-box select,
  .search-box input,
  .search-box button{
    width:100%;
    border-radius:0;
  }

  .nav-inner{
    padding:0 0 10px;
  }

  .menu-toggle{
    display:none;
  }

  .menu-toggle-main{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    width:44px;
    height:40px;
    border:1px solid #d9e4dd;
    border-radius:10px;
    background:#fff;
    box-shadow:0 6px 16px rgba(0,0,0,.06);
  }

  .menu-toggle-main span{
    display:block;
    width:24px;
    height:2.5px;
    background:#111111;
    border-radius:2px;
  }

  .menu-toggle-main span + span{
    margin-top:6px;
  }

  .menu{
    display:none;
    width:100%;
    background:#fff;
    border:1px solid #e5ece8;
    border-radius:14px;
    padding:12px 12px 8px;
    box-shadow:0 14px 30px rgba(31, 51, 45, .08);
  }

  .menu.is-open{
    display:block;
  }

  .mobile-topbar{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:4px 0 12px;
    border-bottom:1px solid var(--line);
    margin-bottom:8px;
  }

  .mobile-topbar-links{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .mobile-topbar-links a{
    font-size:13px;
    font-weight:600;
    color:#2a3b34;
    background:#f4f8f6;
    border:1px solid #dce8e1;
    border-radius:10px;
    padding:8px 10px;
    text-align:center;
  }

  .mobile-topbar-help{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
    font-size:12px;
    color:var(--muted);
  }

  .mobile-topbar-help strong{
    color:var(--primary);
  }

  .mobile-quick-panels{
    display:grid;
    gap:12px;
    margin-bottom:10px;
  }

  .mobile-action-links{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }

  .mobile-action-link{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    padding:11px 12px;
    border:1px solid #e4e9ee;
    border-radius:10px;
    background:#f7faf8;
  }

  .mobile-action-link small{
    color:var(--muted);
    text-align:right;
  }

  .menu-list{
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    white-space:normal;
    overflow-x:visible;
    width:100%;
  }

  .menu-list > li{
    width:100%;
  }

  .menu-list > li > a{
    padding:11px 6px;
    width:100%;
    border-radius:8px;
  }

  .menu-list > li > a:hover{
    background:#f3f8f5;
  }

  .dropdown-menu{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    border:none;
    padding:4px 0 0 12px;
    display:none;
  }

  .dropdown:hover .dropdown-menu,
  .dropdown.open .dropdown-menu{
    display:block;
  }

  .hero-index{
    padding-top:16px;
  }

  .hero-index .container{
    width:min(1280px, 96%);
  }

  .hero-stack{
    grid-template-columns:1fr;
  }

  .hero-card-main{
    min-height:300px;
  }

  .hero-card{
    min-height:170px;
  }

  .hero-card-content{
    padding:18px 18px;
  }

  .hero-card-content h2{
    font-size:30px;
    max-width:none;
  }

  .hero-card-content h3{
    font-size:21px;
  }

  .hero-card-content p{
    font-size:14px;
    margin-bottom:14px;
  }

  .categories-grid.is-scroll .category-card{
    flex:0 0 150px;
  }

  .page-link{
    min-width:38px;
    height:38px;
    padding:0 10px;
    font-size:14px;
  }

  .partner-card{
    width:150px;
    height:76px;
  }

  .social-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .donation-box h2{
    font-size:26px;
  }

  .hero-page-bg .hero-box-static,
  .hero-static-content{
    min-height:310px;
  }

  .engagement-media{
    min-height:230px;
    max-height:230px;
  }

  .engagement-box .newsletter-content{
    min-height:230px;
  }

  .hero-static-content{
    padding:26px 18px;
  }

  .hero-static-content h2{
    font-size:30px;
  }

  .hero-static-content p{
    font-size:14px;
    margin-bottom:14px;
  }

  .categories-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .products-grid{
    grid-template-columns:1fr;
  }

  .daily-grid{
    grid-template-columns:1fr;
  }

  .deals-grid{
    grid-template-columns:1fr;
  }

  .divers-item{
    grid-template-columns:1fr;
  }

  .divers-item.reverse{
    direction:ltr;
  }

  .divers-media{
    height:220px;
  }

  .section-head h2{
    font-size:30px;
  }

  .hero-content h2{
    font-size:38px;
  }

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

  .footer-grid{
    grid-template-columns:1fr;
  }

  .footer-bottom-inner{
    flex-direction:column;
    align-items:flex-start;
  }

  .footer-corner-image{
    width:min(280px, 82vw);
  }

  .hero-subscribe,
  .newsletter-form{
    flex-direction:column;
    border-radius:20px;
  }

  .hero-subscribe button,
  .newsletter-form button{
    width:100%;
  }

  .ambient-icon,
  .blob-3,
  .blob-4,
  .bubble-4{
    display:none;
  }
}

@media (prefers-reduced-motion: reduce){
  .ambient-blob,
  .ambient-bubble,
  .ambient-icon,
  .floating-shape,
  .fruit,
  .promo-emoji,
  .newsletter-visual,
  .logo-badge,
  .whatsapp-float{
    animation:none !important;
  }
}
