
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --green:#2d6a2d;
  --light-green:#4a9e4a;
  --pale:#f0f7f0;
  --cream:#fdfaf5;
  --gold:#c9a84c;
  --dark:#1a2e1a;
  --text:#333;
  --gray:#666;
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:999;
  display:flex;justify-content:space-between;align-items:center;
  padding:0.8rem 3rem;
  background:rgba(253,250,245,0.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(45,106,45,0.12);
  box-shadow:0 2px 20px rgba(0,0,0,0.06);
}
.nav-logo img{height:50px;width:50px;object-fit:contain;border-radius:50%}
.nav-links{display:flex;gap:2rem;list-style:none}
.nav-links a{font-size:0.8rem;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;color:var(--dark);font-weight:500;transition:color 0.3s}
.nav-links a:hover{color:var(--light-green)}
.nav-wa{
  display:flex;align-items:center;gap:0.5rem;
  background:var(--green);color:white;
  padding:0.6rem 1.2rem;border-radius:50px;
  font-size:0.75rem;font-weight:500;letter-spacing:0.1em;
  text-decoration:none;transition:background 0.3s,transform 0.2s;
  white-space:nowrap;
}
.nav-wa:hover{background:var(--light-green);transform:translateY(-1px)}
@media(max-width:600px){
  .nav-wa .nav-wa-full{display:none}
  .nav-wa .nav-wa-short{display:inline}
  .nav-wa{padding:0.6rem 0.9rem}
  .cart-icon-btn{padding:0.5rem 0.8rem;font-size:0.72rem}
}

/* HERO SLIDESHOW */
.hero-slideshow{
  position:relative;min-height:100vh;padding-top:70px;
  overflow:hidden;display:flex;align-items:center;
}
.hero-slides{position:absolute;inset:0;z-index:0}
.hero-slide{
  position:absolute;inset:0;
  background-size:70%;background-position:center;background-repeat:no-repeat;
  opacity:0;transition:opacity 1.2s ease;
}
.hero-slide.active{opacity:1}
.hero-slide-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(110deg,rgba(20,30,20,0.62) 0%,rgba(20,30,20,0.25) 60%,rgba(20,30,20,0.10) 100%);
}
.hero-slide-content{
  position:relative;z-index:2;
  padding:4rem 3rem 4rem 5rem;
  max-width:600px;
  opacity:1;transform:none;
  animation:fadeUp 1s ease 0.2s forwards;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:0.6rem;
  background:rgba(255,255,255,0.15);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,0.3);
  padding:0.4rem 1rem;border-radius:50px;
  font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;
  color:#fff;font-weight:500;margin-bottom:1.5rem;width:fit-content;
}
.hero-badge::before{content:'🌿'}
.hero-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(2.8rem,4.5vw,5rem);
  font-weight:700;line-height:1.1;
  color:#fff;margin-bottom:0.5rem;
}
.hero-title span{color:var(--gold);font-style:italic}
.hero-tagline{
  font-family:'Playfair Display',serif;
  font-size:1.4rem;font-style:italic;
  color:var(--gold);margin-bottom:1.5rem;font-weight:400;
}
.hero-desc{
  font-size:0.95rem;line-height:1.9;color:rgba(255,255,255,0.85);
  font-weight:300;max-width:420px;margin-bottom:2.5rem;
}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap}
.btn-green{
  background:var(--green);color:white;
  padding:0.9rem 2rem;border-radius:50px;
  font-size:0.8rem;font-weight:500;letter-spacing:0.1em;
  text-decoration:none;transition:all 0.3s;display:inline-flex;align-items:center;gap:0.5rem;
  border:none;cursor:pointer;
}
.btn-green:hover{background:var(--light-green);transform:translateY(-2px);box-shadow:0 10px 30px rgba(45,106,45,0.3)}
.btn-outline{
  background:rgba(255,255,255,0.15);backdrop-filter:blur(8px);color:#fff;
  padding:0.9rem 2rem;border-radius:50px;
  font-size:0.8rem;font-weight:500;letter-spacing:0.1em;
  text-decoration:none;border:2px solid rgba(255,255,255,0.6);transition:all 0.3s;
}
.btn-outline:hover{background:white;color:var(--green)}
.hero-slide-floating{
  position:absolute;bottom:2.5rem;right:2.5rem;z-index:3;
  background:rgba(253,250,245,0.92);backdrop-filter:blur(10px);
  border:1px solid rgba(45,106,45,0.15);border-radius:12px;
  padding:1rem 1.5rem;
  box-shadow:0 10px 40px rgba(0,0,0,0.2);
}
.hero-floating-title{font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--green);margin-bottom:0.3rem}
.hero-floating-text{font-family:'Playfair Display',serif;font-size:1rem;color:var(--dark)}
.slide-arrow{display:none}
/* Inline hero arrows between tagline and desc */
.hero-inline-arrows{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;max-width:420px;margin:1rem 0;
}
.hero-inline-spacer{flex:1}
.slide-arrow-inline{
  background:rgba(255,255,255,0.18);backdrop-filter:blur(6px);
  border:1.5px solid rgba(255,255,255,0.6);color:#fff;
  width:44px;height:44px;border-radius:50%;
  font-size:1.1rem;cursor:pointer;transition:all 0.3s;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.slide-arrow-inline:hover{background:rgba(255,255,255,0.35)}
.slide-dots{
  position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);
  z-index:4;display:flex;gap:0.5rem;
}
.slide-dot{
  width:8px;height:8px;border-radius:50%;
  background:rgba(255,255,255,0.45);border:none;cursor:pointer;
  transition:all 0.3s;padding:0;
}
.slide-dot.active{background:#fff;width:22px;border-radius:4px}

/* MARQUEE */
.marquee-wrap{background:var(--green);padding:0.85rem 0;overflow:hidden}
.marquee-track{display:flex;gap:2.5rem;animation:marquee 20s linear infinite;white-space:nowrap}
.marquee-item{
  font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;
  color:rgba(255,255,255,0.75);flex-shrink:0;display:flex;align-items:center;gap:1rem;
}
.marquee-dot{color:var(--gold);font-size:0.8rem}

/* SECTION HEADER */
.sec-head{text-align:center;padding:5rem 2rem 3rem}
.sec-tag{font-size:0.7rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--light-green);display:block;margin-bottom:0.8rem}
.sec-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3rem);color:var(--dark);line-height:1.2}
.sec-title em{font-style:italic;color:var(--green)}
.sec-line{width:45px;height:2px;background:linear-gradient(90deg,var(--green),var(--gold));margin:1.2rem auto 0;border-radius:2px}

/* PRODUCTS */
.products{background:var(--pale);padding:0 4rem 5rem}
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.product-card{
  background:white;border-radius:16px;overflow:hidden;
  box-shadow:0 4px 20px rgba(0,0,0,0.06);
  transition:transform 0.3s,box-shadow 0.3s;
  opacity:1;transform:none;
  cursor:pointer;
}
.product-card.visible{opacity:1;transform:translateY(0)}
.product-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(45,106,45,0.15)}
.product-img-wrap{height:250px;overflow:hidden;position:relative}
.product-img-wrap img{width:100%;height:100%;object-fit:cover;filter:brightness(1.02) contrast(1.02);}
.product-img-wrap img.normalize-img{filter:brightness(1.08) saturate(0.8) contrast(1.05);}
.product-img-wrap .img-hover{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;}
.product-img-wrap .img-main{transition:opacity 1.2s ease;}
.product-img-wrap img.mini-set-fit{object-fit:contain;background:#fff;}
.product-img-wrap img.face-set-fit{object-fit:contain;background:#fff;}
/* Product second-image hover */
.product-img-wrap:hover .img-main{opacity:0;}
.product-img-wrap:hover .img-hover{opacity:1;}
.product-img-wrap.show-second .img-main{opacity:0;}
.product-img-wrap.show-second .img-hover{opacity:1;}
.product-badge{
  position:absolute;top:0.8rem;left:0.8rem;
  background:var(--green);color:white;
  font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;
  padding:0.3rem 0.7rem;border-radius:50px;font-weight:500;
}
.product-info{padding:1.2rem 1.2rem 1.5rem}
.product-cat{font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--light-green);margin-bottom:0.3rem}
.product-name{font-family:'Playfair Display',serif;font-size:1.05rem;color:var(--dark);margin-bottom:0.5rem;line-height:1.3}
.product-desc{font-size:0.78rem;color:var(--gray);line-height:1.65;margin-bottom:1rem;font-weight:300}
.product-footer{display:flex;justify-content:flex-start;align-items:center;margin-bottom:0.8rem}
.product-price{font-family:'Playfair Display',serif;font-size:1.15rem;color:var(--green);font-weight:700}
.order-btn{
  background:var(--green);color:white;border:none;
  padding:0.5rem 1rem;border-radius:50px;
  font-size:0.68rem;font-weight:500;letter-spacing:0.1em;
  cursor:pointer;transition:background 0.25s;text-transform:uppercase;
}
.order-btn:hover{background:var(--light-green)}
.normalize-img{filter:brightness(1.05) saturate(0.85) contrast(1.05);}

/* ABOUT */
.about{display:grid;grid-template-columns:1fr 1fr;min-height:80vh}
.about-img{position:relative;overflow:hidden;min-height:80vh}
.about-img-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(45,106,45,0.3),transparent);pointer-events:none;z-index:1}
/* Founder slideshow */
.founder-slideshow{position:relative;width:100%;height:100%;min-height:80vh}
.founder-slides{display:flex;width:100%;height:100%;min-height:80vh;position:relative}
.founder-slide{
  position:absolute;inset:0;opacity:0;transition:opacity 0.8s ease;min-height:80vh;
}
.founder-slide.active{opacity:1}
.founder-slide img{width:100%;height:100%;min-height:80vh;object-fit:cover;object-position:top center;display:block}
.founder-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  background:rgba(255,255,255,0.2);backdrop-filter:blur(6px);
  border:1.5px solid rgba(255,255,255,0.4);color:#fff;
  width:40px;height:40px;border-radius:50%;
  font-size:1rem;cursor:pointer;transition:all 0.3s;
  display:flex;align-items:center;justify-content:center;
}
.founder-arrow:hover{background:rgba(255,255,255,0.4)}
.founder-prev{left:1rem}
.founder-next{right:1rem}
.founder-dots{
  position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);
  z-index:4;display:flex;gap:0.4rem;
}
.about-content{
  background:white;
  padding:5rem 4rem;display:flex;flex-direction:column;justify-content:center;
  opacity:0;transform:translateX(40px);transition:all 0.8s ease;
}
.about-content.visible{opacity:1;transform:translateX(0)}
.about-tag{font-size:0.7rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--green);margin-bottom:1.5rem}
.about-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.5rem);color:var(--dark);line-height:1.25;margin-bottom:1.5rem}
.about-title em{font-style:italic;color:var(--gold)}
.about-text{font-size:0.9rem;line-height:2;color:var(--gray);font-weight:300;margin-bottom:2rem}
.about-name{font-family:'Playfair Display',serif;font-size:1.1rem;font-style:italic;color:var(--green)}
.about-stats{display:flex;gap:2.5rem;border-top:1px solid rgba(0,0,0,0.1);padding-top:1.8rem;margin-top:1.8rem}
.stat-num{font-family:'Playfair Display',serif;font-size:2.2rem;color:var(--gold)}
.stat-lbl{font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gray);margin-top:0.2rem}

/* RESULTS */
.results{padding:5rem 4rem;background:var(--cream);position:relative}
.results-slider{position:relative;max-width:760px;margin:2rem auto 0;overflow:hidden}
.results-slides{display:flex;width:100%;transition:transform .55s ease}
.results-slide{flex:0 0 100%;width:100%;padding:0 .1rem;box-sizing:border-box}
.results-slide .result-card{max-width:760px;margin:0 auto}
.results-dots{position:static;transform:none;justify-content:center;margin:1rem auto 0}
.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.result-card{
  border-radius:16px;overflow:hidden;
  box-shadow:0 8px 30px rgba(0,0,0,0.1);
  position:relative;
}
.result-card img{width:100%;display:block;object-fit:contain;background:#000;max-height:520px;}
.result-label{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(transparent,rgba(26,46,26,0.9));
  padding:3rem 1.5rem 1.5rem;color:white;
}
.result-label-title{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;font-style:normal;margin-bottom:0.4rem}
.result-label-sub{font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.7)}
.results-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  background:rgba(255,255,255,0.18);backdrop-filter:blur(6px);
  border:1.5px solid rgba(255,255,255,0.4);color:#fff;
  width:48px;height:48px;border-radius:50%;
  font-size:1.2rem;cursor:pointer;transition:all 0.3s;
  display:flex;align-items:center;justify-content:center;
}
.results-arrow:hover{background:rgba(255,255,255,0.35)}
.results-prev{left:1.5rem}
.results-next{right:1.5rem}
.results-dots{
  position:absolute;bottom:1.2rem;left:50%;transform:translateX(-50%);
  z-index:4;display:flex;gap:0.5rem;
}
.results-dot{
  width:8px;height:8px;border-radius:50%;
  background:rgba(255,255,255,0.45);border:none;cursor:pointer;
  transition:all 0.3s;padding:0;
}
.results-dot.active{background:#fff;width:22px;border-radius:4px}

/* DELIVERY */
.delivery{background:var(--pale);padding:4rem}
.map-container{
  margin-top:3rem;
  padding:0 0 1rem;
}
.map-label{
  display:flex;align-items:center;gap:1rem;
  margin-bottom:1.2rem;flex-wrap:wrap;
}
.map-label-title{
  font-family:'Playfair Display',serif;
  font-size:1.1rem;font-weight:600;color:var(--dark);
}
.map-label-sub{
  font-size:0.8rem;color:var(--gray);margin-top:0.1rem;
}
.map-directions-btn{
  margin-left:auto;
  background:var(--green);color:white;
  padding:0.6rem 1.2rem;border-radius:50px;
  font-size:0.8rem;font-weight:500;
  text-decoration:none;transition:all 0.3s;white-space:nowrap;
}
.map-directions-btn:hover{background:var(--light-green);transform:translateY(-1px)}
.map-card{
  display:block;text-decoration:none;
  border-radius:16px;overflow:hidden;
  border:2px solid rgba(45,106,45,0.15);
  background:white;
  box-shadow:0 8px 30px rgba(0,0,0,0.08);
  transition:all 0.3s;position:relative;
  margin-top:0;
}
.map-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,0.12);border-color:var(--green)}
.map-card-inner{
  display:flex;align-items:center;gap:1.5rem;
  padding:2rem;position:relative;z-index:1;
}
.map-card-icon{font-size:3rem;flex-shrink:0}
.map-card-title{
  font-family:'Playfair Display',serif;
  font-size:1.3rem;font-weight:700;color:var(--dark);margin-bottom:0.3rem;
}
.map-card-addr{font-size:0.85rem;color:var(--gray);margin-bottom:0.6rem}
.map-card-cta{
  display:inline-flex;align-items:center;gap:0.4rem;
  background:var(--green);color:white;
  padding:0.45rem 1rem;border-radius:50px;
  font-size:0.75rem;font-weight:500;
}
.map-card-bg{
  position:absolute;right:0;top:0;bottom:0;width:45%;
  background:linear-gradient(135deg,var(--pale),rgba(45,106,45,0.08));
  clip-path:polygon(15% 0,100% 0,100% 100%,0% 100%);
}
.delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}
.delivery-card{
  background:white;border-radius:16px;padding:2.5rem 2rem;text-align:center;
  box-shadow:0 4px 20px rgba(0,0,0,0.05);
  transition:transform 0.3s;
}
.delivery-card:hover{transform:translateY(-5px)}
.delivery-icon{font-size:2.5rem;margin-bottom:1rem}
.delivery-title{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--dark);margin-bottom:0.6rem}
.delivery-text{font-size:0.85rem;color:var(--gray);line-height:1.7;font-weight:300}

/* CTA STRIP */
.cta-strip{
  background:linear-gradient(135deg,var(--green),var(--dark));
  padding:5rem 4rem;text-align:center;color:white;
}
.cta-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,4vw,3rem);margin-bottom:1rem}
.cta-title em{font-style:italic;color:var(--gold)}
.cta-sub{font-size:0.95rem;color:rgba(255,255,255,0.75);margin-bottom:2.5rem;font-weight:300}
.wa-big-btn{
  display:inline-flex;align-items:center;gap:0.8rem;
  background:white;color:var(--green);
  padding:1.1rem 2.5rem;border-radius:50px;
  font-size:0.9rem;font-weight:600;letter-spacing:0.05em;
  text-decoration:none;transition:all 0.3s;
  box-shadow:0 10px 40px rgba(0,0,0,0.2);
}
.wa-big-btn:hover{transform:translateY(-3px);box-shadow:0 20px 50px rgba(0,0,0,0.3)}
.wa-big-btn svg{width:22px;height:22px;fill:#25d366}

/* FOOTER */
footer{background:white;padding:4rem 4rem 6rem;color:var(--gray);border-top:1px solid rgba(0,0,0,0.08)}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}.footer-cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.footer-logo{display:flex;align-items:center;gap:0.8rem;margin-bottom:1rem}
.footer-logo img{height:45px;width:45px;object-fit:contain;border-radius:50%}
.footer-logo-name{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--dark)}
.footer-desc{font-size:0.83rem;line-height:1.8;font-weight:300;max-width:270px;margin-bottom:1.5rem;color:var(--gray)}
.footer-social-row{
  display:flex;gap:0.8rem;flex-wrap:wrap;
  margin-top:1.5rem;padding-top:1.5rem;
  border-top:1px solid rgba(0,0,0,0.06);
}
.social-btn{
  width:42px!important;height:42px!important;
  border-radius:50%!important;
  border:none!important;
  background:rgba(0,0,0,0.06);
  display:flex;align-items:center;justify-content:center;
  text-decoration:none;color:var(--dark);
  transition:all 0.3s;flex-shrink:0;
  padding:0!important;box-sizing:border-box!important;
  outline:none;-webkit-appearance:none;
  overflow:hidden;
}
.social-btn:hover{background:var(--pale);color:var(--green);}
.social-btn svg{display:block;flex-shrink:0;}
.footer-col-title{font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--dark);margin-bottom:1.2rem}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:0.7rem}
.footer-links a{font-size:0.83rem;font-weight:300;color:var(--gray);text-decoration:none;transition:color 0.3s}
.footer-shop-links a{color:var(--green);font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;cursor:pointer}
.footer-shop-links a:hover{color:#145a2d;text-decoration-thickness:2px}
.footer-links a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid rgba(0,0,0,0.08);padding-top:1.8rem;display:flex;justify-content:space-between;align-items:center;font-size:0.75rem;color:var(--gray);white-space:nowrap;gap:1rem}
.footer-credit{
  text-align:center;
  font-size:0.72rem;
  color:rgba(0,0,0,0.35);
  padding-top:0.5rem;
  font-style:italic;
  letter-spacing:0.03em;
}
.footer-credit-link{
  color:var(--green);
  text-decoration:none;
  font-weight:500;
  font-style:normal;
}
.footer-credit-link:hover{text-decoration:underline;}

/* WHATSAPP FLOAT */
.wa-float{
  position:fixed;bottom:2rem;right:2rem;z-index:998;
  width:58px;height:58px;border-radius:50%;
  background:#25d366;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 30px rgba(37,211,102,0.5);
  text-decoration:none;transition:transform 0.3s,box-shadow 0.3s;
  animation:pulse 2.5s ease-in-out infinite;
}
.wa-float:hover{transform:scale(1.1);box-shadow:0 12px 40px rgba(37,211,102,0.6)}
.wa-float svg{width:30px;height:30px;fill:white}

/* ANIMATIONS */
@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{to{opacity:1}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes pulse{0%,100%{box-shadow:0 8px 30px rgba(37,211,102,0.5)}50%{box-shadow:0 8px 50px rgba(37,211,102,0.8)}}

/* RESPONSIVE */
@media(max-width:1024px){
  nav{padding:0.8rem 1.5rem}.nav-links{display:none}
  .hero-slideshow{min-height:70vh}.hero-slide{background-size:cover}.hero-slide-content{padding:2rem 1.5rem}.hero-slide-floating{display:none}
  .hero-right{height:380px}
  .products{padding:0 1.5rem 4rem}.products-grid{grid-template-columns:repeat(2,1fr)}
  .about{grid-template-columns:1fr}.about-img{min-height:500px;height:500px}.about-content{padding:3rem 2rem}
  .results{padding:4rem 1.5rem}.results-grid{grid-template-columns:1fr}
  .delivery{padding:4rem 1.5rem}.delivery-grid{grid-template-columns:1fr}
  .cta-strip{padding:4rem 1.5rem}
  footer{padding:3rem 1.5rem 1.5rem}.footer-cols{grid-template-columns:1fr 1fr}
}

/* CART */
.cart-icon-wrap{
  cursor:pointer;
}
.cart-icon-btn{
  background:var(--green);color:white;
  border:none;border-radius:50px;
  padding:0.55rem 1.1rem;
  display:flex;align-items:center;gap:0.5rem;
  font-family:'DM Sans',sans-serif;
  font-size:0.78rem;font-weight:500;
  cursor:pointer;transition:background 0.3s;
  box-shadow:0 4px 15px rgba(45,106,45,0.3);
}
.cart-icon-btn:hover{background:var(--light-green)}
.cart-count{
  background:var(--gold);color:white;
  border-radius:50%;width:18px;height:18px;
  display:flex;align-items:center;justify-content:center;
  font-size:0.65rem;font-weight:700;
  display:none;
}
.cart-count.show{display:flex}

/* CART DRAWER */
.cart-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,0.5);
  z-index:1001;opacity:0;pointer-events:none;transition:opacity 0.3s;
}
.cart-overlay.open{opacity:1;pointer-events:all}
.cart-drawer{
  position:fixed;right:0;top:0;bottom:0;
  width:380px;max-width:95vw;
  background:white;z-index:1002;
  transform:translateX(100%);transition:transform 0.35s ease;
  display:flex;flex-direction:column;
  box-shadow:-10px 0 40px rgba(0,0,0,0.15);
}
.cart-drawer.open{transform:translateX(0)}
.cart-header{
  padding:1.5rem;border-bottom:1px solid rgba(0,0,0,0.08);
  display:flex;justify-content:space-between;align-items:center;
}
.cart-header-title{
  font-family:'Playfair Display',serif;
  font-size:1.3rem;color:var(--dark);
}
.cart-close{
  background:none;border:none;font-size:1.4rem;
  cursor:pointer;color:var(--gray);padding:0.3rem;
  line-height:1;
}
.cart-items{flex:1;overflow-y:auto;padding:1rem 1.5rem}
.cart-empty{
  text-align:center;padding:3rem 1rem;
  font-family:'Playfair Display',serif;
  font-size:1rem;color:var(--gray);font-style:italic;
}
.cart-item{
  display:flex;gap:1rem;align-items:center;
  padding:1rem 0;border-bottom:1px solid rgba(0,0,0,0.06);
}
.cart-item-info{flex:1}
.cart-item-name{font-size:0.88rem;font-weight:500;color:var(--dark);margin-bottom:0.2rem}
.cart-item-price{font-family:'Playfair Display',serif;font-size:1rem;color:var(--green);font-weight:700}
.cart-item-remove{
  background:none;border:none;color:#ccc;
  font-size:1.1rem;cursor:pointer;padding:0.3rem;
  transition:color 0.2s;
}
.cart-item-remove:hover{color:#e55}
.cart-qty{
  display:flex;align-items:center;gap:0.5rem;
  margin-top:0.4rem;
}
.qty-btn{
  background:var(--pale);border:none;
  width:24px;height:24px;border-radius:50%;
  font-size:0.9rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:var(--green);font-weight:700;transition:background 0.2s;
}
.qty-btn:hover{background:var(--light-green);color:white}
.qty-num{font-size:0.85rem;font-weight:600;color:var(--dark);min-width:20px;text-align:center}
.cart-footer{
  padding:1.5rem;border-top:1px solid rgba(0,0,0,0.08);
  background:var(--pale);
}
.cart-total-row{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:1.2rem;
}
.cart-total-label{font-size:0.85rem;color:var(--gray);text-transform:uppercase;letter-spacing:0.1em}
.cart-total-amount{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--green);font-weight:700}
.checkout-btn{
  width:100%;background:var(--green);color:white;
  border:none;padding:1rem;border-radius:50px;
  font-family:'DM Sans',sans-serif;
  font-size:0.85rem;font-weight:600;letter-spacing:0.1em;
  text-transform:uppercase;cursor:pointer;
  transition:background 0.3s;
  display:flex;align-items:center;justify-content:center;gap:0.6rem;
}
.checkout-btn:hover{background:var(--light-green)}
.cart-clear{
  width:100%;background:none;border:none;
  color:var(--gray);font-size:0.75rem;
  margin-top:0.8rem;cursor:pointer;text-decoration:underline;
  font-family:'DM Sans',sans-serif;
}

/* ORDER OPTIONS MODAL */
.order-options-overlay{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,0.5);z-index:2000;
}
.order-options-modal{
  display:none;position:fixed;
  bottom:0;left:50%;transform:translateX(-50%);
  width:100%;max-width:480px;
  background:white;border-radius:24px 24px 0 0;
  padding:2rem 1.5rem 2.5rem;
  flex-direction:column;gap:1rem;
  z-index:2001;
}
.order-options-title{
  font-family:'Playfair Display',serif;
  font-size:1.3rem;font-weight:700;color:var(--dark);
  text-align:center;
}
.order-options-sub{
  font-size:0.8rem;color:var(--gray);
  text-align:center;margin-top:-0.5rem;
}
.order-option-btn{
  width:100%;padding:1rem 1.5rem;border-radius:14px;
  border:2px solid transparent;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:0.3rem;
  font-size:1rem;font-weight:600;transition:all 0.3s;
}
.order-wa{background:#25d366;color:white;border-color:#25d366;}
.order-wa:hover{background:#1ebe5d;}
.order-pay{background:white;color:var(--dark);border-color:rgba(0,0,0,0.15);}
.order-pay:hover{border-color:var(--green);color:var(--green);}
.order-option-desc{font-size:0.72rem;font-weight:400;opacity:0.85;}
.order-options-cancel{
  background:none;border:none;color:var(--gray);
  font-size:0.8rem;cursor:pointer;text-decoration:underline;
  margin-top:0.3rem;
}

/* Add to cart feedback */
.added-toast{
  position:fixed;bottom:6rem;left:50%;transform:translateX(-50%) translateY(20px);
  background:var(--green);color:white;
  padding:0.7rem 1.5rem;border-radius:50px;
  font-size:0.8rem;font-weight:500;
  opacity:0;transition:all 0.3s;z-index:1003;
  pointer-events:none;white-space:nowrap;
}
.added-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── CHECKOUT MODAL ── */
.checkout-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,0.6);
  z-index:1010;opacity:0;pointer-events:none;transition:opacity 0.3s;
}
.checkout-overlay.open{opacity:1;pointer-events:all}

.checkout-modal{
  position:fixed;top:50%;left:50%;
  transform:translate(-50%,-60%);
  width:90%;max-width:480px;max-height:90vh;overflow-y:auto;
  background:white;border-radius:20px;z-index:1011;
  opacity:0;pointer-events:none;transition:all 0.35s ease;
  box-shadow:0 30px 80px rgba(0,0,0,0.2);
}
.checkout-modal.open{opacity:1;pointer-events:all;transform:translate(-50%,-50%)}

.checkout-modal-header{
  padding:1.5rem 1.5rem 1rem;
  border-bottom:1px solid rgba(0,0,0,0.08);
  display:flex;justify-content:space-between;align-items:center;
  position:sticky;top:0;background:white;z-index:1;border-radius:20px 20px 0 0;
}
.checkout-modal-title{
  font-family:'Playfair Display',serif;
  font-size:1.3rem;color:var(--dark);
}
.checkout-modal-close{
  background:none;border:none;font-size:1.4rem;
  cursor:pointer;color:var(--gray);padding:0.3rem;
}

.checkout-modal-body{padding:1.5rem}

.checkout-order-summary{
  background:var(--pale);border-radius:12px;
  padding:1rem 1.2rem;margin-bottom:1.5rem;
}
.checkout-order-title{
  font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--green);margin-bottom:0.8rem;font-weight:500;
}
.checkout-order-item{
  display:flex;justify-content:space-between;
  font-size:0.85rem;color:var(--dark);padding:0.3rem 0;
}
.checkout-order-total{
  display:flex;justify-content:space-between;
  font-family:'Playfair Display',serif;
  font-size:1.1rem;color:var(--green);font-weight:700;
  border-top:1px solid rgba(0,0,0,0.1);margin-top:0.5rem;padding-top:0.5rem;
}

.checkout-form-group{margin-bottom:1.1rem}
.checkout-label{
  display:block;font-size:0.75rem;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--gray);margin-bottom:0.4rem;font-weight:500;
}
.checkout-input{
  width:100%;padding:0.85rem 1rem;
  border:1.5px solid #e8e8e8;border-radius:10px;
  font-family:'DM Sans',sans-serif;font-size:0.9rem;
  outline:none;transition:border 0.3s;color:var(--dark);
}
.checkout-input:focus{border-color:var(--green)}
.checkout-input.error{border-color:#e53e3e}

.checkout-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

.checkout-submit-btn{
  width:100%;background:var(--green);color:white;
  border:none;padding:1rem;border-radius:50px;
  font-family:'DM Sans',sans-serif;font-size:0.9rem;
  font-weight:600;cursor:pointer;transition:all 0.3s;
  margin-top:1rem;display:flex;align-items:center;
  justify-content:center;gap:0.6rem;letter-spacing:0.05em;
}
.checkout-submit-btn:hover{background:var(--light-green);transform:translateY(-1px)}

.checkout-wa-btn{
  width:100%;background:#25d366;color:white;
  border:none;padding:1rem;border-radius:50px;
  font-family:'DM Sans',sans-serif;font-size:0.9rem;
  font-weight:600;cursor:pointer;transition:all 0.3s;
  margin-top:0.8rem;display:flex;align-items:center;
  justify-content:center;gap:0.6rem;letter-spacing:0.05em;
}
.checkout-wa-btn:hover{background:#20b858}

.checkout-divider{
  text-align:center;font-size:0.78rem;color:var(--gray);
  margin:0.5rem 0;position:relative;
}
.checkout-divider::before,.checkout-divider::after{
  content:'';position:absolute;top:50%;width:42%;height:1px;
  background:#e8e8e8;
}
.checkout-divider::before{left:0}
.checkout-divider::after{right:0}

.checkout-note{
  font-size:0.75rem;color:var(--gray);text-align:center;
  margin-top:0.8rem;line-height:1.6;
}

@media(max-width:480px){
  .checkout-row{grid-template-columns:1fr}
}

/* CART BUBBLE ANIMATION */
.cart-bubble{
  position:fixed;
  pointer-events:none;
  z-index:9999;
  width:30px;height:30px;
  border-radius:50%;
  background:var(--green);
  display:flex;align-items:center;justify-content:center;
  font-size:0.8rem;
  box-shadow:0 4px 15px rgba(45,106,45,0.4);
}
.cart-icon-btn{transition:transform 0.2s ease!important;}

/* Product category groups */
.product-group-heading {
  grid-column: 1 / -1;
  margin: 28px 0 4px;
  padding: 16px 22px;
  border-radius: 14px;
  background: var(--pale);
  border-left: 5px solid var(--green);
}
.product-group-heading h3 {
  margin: 0;
  font-family: var(--font-display, inherit);
  font-size: 1.35rem;
  color: var(--green-dark, var(--green));
  letter-spacing: .02em;
}
.product-group-heading span { font-family: sans-serif; }
.product-group-heading:first-child { margin-top: 0; }

.birthday-page{background:linear-gradient(180deg,#fff9f2 0%,#fff 38%);min-height:100vh}
.birthday-hero{padding:7rem 1.5rem 3.5rem;text-align:center;position:relative;overflow:hidden;background:radial-gradient(circle at 15% 20%,rgba(255,196,210,.55),transparent 25%),radial-gradient(circle at 85% 15%,rgba(255,224,150,.6),transparent 25%),linear-gradient(135deg,#fff4f7,#fffaf0)}
.birthday-hero:before,.birthday-hero:after{content:'🎈';position:absolute;font-size:3rem;opacity:.75;animation:floatBalloon 4s ease-in-out infinite}
.birthday-hero:before{left:8%;top:30%;}.birthday-hero:after{right:8%;top:18%;animation-delay:1s}
.birthday-kicker{display:inline-block;background:#fff;border:1px solid rgba(45,106,45,.15);color:var(--green);padding:.45rem 1rem;border-radius:50px;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
.birthday-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,6vw,4.2rem);margin:1rem 0 .6rem;color:var(--dark)}
.birthday-hero h1 span{color:var(--green)}
.birthday-hero p{max-width:620px;margin:0 auto;color:var(--gray);font-size:1rem;line-height:1.7}
.birthday-offer{display:inline-flex;align-items:center;gap:.7rem;margin:1.5rem 0 0;background:var(--green);color:#fff;padding:.75rem 1.2rem;border-radius:50px;font-weight:700;box-shadow:0 10px 30px rgba(45,106,45,.18)}
.birthday-products{max-width:1200px;margin:0 auto;padding:3rem 1.5rem 5rem}
.birthday-section-title{text-align:center;margin-bottom:2rem}.birthday-section-title h2{font-family:'Playfair Display',serif;font-size:2rem;color:var(--dark);margin:.2rem 0}.birthday-section-title p{color:var(--gray);font-size:.9rem}
.birthday-student-wide{grid-column:span 2}.birthday-student-wide .product-img-wrap{min-height:300px}.birthday-student-wide .product-img-wrap .img-main{object-fit:contain}
.birthday-price{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.birthday-original{text-decoration:line-through;color:#999;font-size:.85rem}.birthday-sale-price{color:var(--green);font-size:1.05rem;font-weight:800}.birthday-badge{position:absolute;left:.8rem;top:.8rem;background:#176b35;color:#fff;border:2px solid #fff;border-radius:999px;padding:.42rem .75rem;font-size:.7rem;letter-spacing:.08em;font-weight:900;z-index:2;box-shadow:0 8px 18px rgba(23,107,53,.28);text-transform:uppercase}
.birthday-float{position:fixed;right:22px;bottom:25px;z-index:1200;text-decoration:none;color:#fff;filter:drop-shadow(0 12px 22px rgba(0,0,0,.2));animation:birthdayPulse 2.6s ease-in-out infinite}
.birthday-float-inner{position:relative;background:linear-gradient(135deg,#176b35,#2d8a4a);border-radius:24px;padding:.95rem 1.05rem 1.05rem;min-width:170px;text-align:center;border:3px solid #fff;box-shadow:0 12px 28px rgba(23,107,53,.3)}
.birthday-float-inner:before{content:'🎈';position:absolute;left:-12px;top:-22px;font-size:1.7rem}.birthday-float-inner:after{content:'✨';position:absolute;right:-8px;top:-16px;font-size:1.3rem}
.birthday-float-small{display:block;font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;opacity:.9}.birthday-float-big{display:block;font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:800;margin:.12rem 0;color:#fff}.birthday-float-cta{display:block;font-size:.65rem;background:#fff;color:#176b35;border-radius:50px;padding:.4rem .7rem;margin-top:.4rem;font-weight:900}
@keyframes birthdayPulse{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-1deg)}}
@keyframes floatBalloon{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@media(max-width:600px){.birthday-float{right:12px;bottom:15px}.birthday-float-inner{min-width:125px;padding:.7rem .75rem}.birthday-hero{padding-top:6.2rem}.birthday-hero:before{left:2%;}.birthday-hero:after{right:2%}}


/* BIRTHDAY FLYER POPUP */
.birthday-flyer-modal{position:fixed;inset:0;z-index:5000;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(12,42,18,.72);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.birthday-flyer-modal.is-open{display:flex;animation:bdayModalIn .22s ease-out}
.birthday-flyer-dialog{position:relative;width:min(92vw,470px);max-height:94vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.32);padding:10px 10px 14px}
.birthday-flyer-close{position:absolute;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#155b2a;font-size:1.25rem;font-weight:800;cursor:pointer;z-index:2;box-shadow:0 5px 18px rgba(0,0,0,.16)}
.birthday-flyer-img{display:block;width:100%;height:auto;max-height:76vh;object-fit:contain;border-radius:15px}
.birthday-flyer-note{text-align:center;color:#49634f;font-size:.78rem;margin:10px 8px 7px;line-height:1.45}
.birthday-flyer-cta{display:flex;align-items:center;justify-content:center;width:calc(100% - 16px);margin:0 8px;padding:.88rem 1rem;border:0;border-radius:999px;background:#126b2f;color:#fff;text-decoration:none;font-weight:800;font-size:.9rem;letter-spacing:.02em;box-shadow:0 10px 24px rgba(18,107,47,.2);cursor:pointer}
.birthday-flyer-cta:hover{transform:translateY(-1px);filter:brightness(1.04)}
.birthday-flyer-secondary{text-align:center;margin:8px 0 2px;color:#6b786e;font-size:.72rem}
@keyframes bdayModalIn{from{opacity:0}to{opacity:1}}
@media(max-width:600px){.birthday-flyer-modal{padding:10px}.birthday-flyer-dialog{width:min(96vw,430px);border-radius:18px;padding:7px 7px 11px}.birthday-flyer-img{max-height:72vh}.birthday-flyer-close{right:9px;top:9px;width:34px;height:34px}.birthday-flyer-note{font-size:.72rem;margin:7px 5px}.birthday-flyer-cta{width:calc(100% - 10px);margin:0 5px;padding:.8rem}}

.birthday-float{border:0;cursor:pointer;font:inherit;padding:0;background:transparent}.birthday-float:focus-visible{outline:3px solid rgba(18,107,47,.35);outline-offset:4px}.birthday-modal-open{overflow:hidden}


/* Cosmetics Academy — modal overlay */
.academy-overlay{
  position:fixed;inset:0;
  background:rgba(26,46,26,0.65);
  opacity:0;
  pointer-events:none;
  transition:opacity .3s;
  z-index:1990;
}
.academy-overlay.is-open{opacity:1;pointer-events:auto}
.academy-modal{
  position:fixed;
  top:0;right:0;
  height:100vh;
  width:min(720px,100vw);
  background:var(--cream);
  z-index:2000;
  overflow-y:auto;
  transform:translateX(100%);
  transition:transform .35s ease;
}
.academy-modal.is-open{transform:translateX(0)}
.academy-modal-close{
  position:sticky;
  top:1rem;
  left:calc(100% - 3.2rem);
  width:42px;height:42px;
  border-radius:50%;
  background:var(--cream);
  border:1px solid rgba(45,106,45,0.14);
  color:var(--green);
  font-size:1.6rem;
  line-height:1;
  cursor:pointer;
  z-index:20;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 2px 8px rgba(0,0,0,0.15);
}
.academy-page.is-hidden{display:none}

/* Step 1: Landing */
.academy-landing{
  margin-top:0;
  padding:0.5rem 6vw 4rem;
  text-align:center;
}
.academy-landing-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.6rem,4vw,2.2rem);
  color:var(--green);
  margin-bottom:0.9rem;
}
.academy-landing-sub{
  color:var(--gray);
  font-size:0.95rem;
  line-height:1.6;
  max-width:44ch;
  margin:0 auto 1.8rem;
}
.academy-landing-cover{
  border-radius:14px 14px 4px 14px;
  overflow:hidden;
  border:1px solid rgba(45,106,45,0.14);
  margin-bottom:1.8rem;
}
.academy-landing-cover img{width:100%;display:block}
.academy-enroll-enter-btn{
  background:var(--green);
  color:var(--cream);
  border:none;
  padding:0.9rem 2.4rem;
  font-family:'DM Sans',sans-serif;
  font-weight:600;
  font-size:0.95rem;
  border-radius:20px 20px 4px 20px;
  cursor:pointer;
  transition:background .2s;
}
.academy-enroll-enter-btn:hover{background:var(--light-green)}

/* Step 2: Detail */
.academy-back-btn{
  position:sticky;
  top:1rem;
  margin:0 0 0 1.2rem;
  background:none;
  border:none;
  color:var(--light-green);
  font-family:'DM Sans',sans-serif;
  font-size:0.88rem;
  cursor:pointer;
  z-index:15;
}
.academy-gallery-main{
  position:relative;
  width:100%;
  aspect-ratio:4/5;
  max-height:440px;
  overflow:hidden;
  margin-top:0;
  background:var(--cream);
}
.academy-gallery-main img{width:100%;height:100%;object-fit:cover;object-position:center top}
.academy-gallery-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:6;
  width:38px;height:38px;
  border-radius:50%;
  background:rgba(26,46,26,0.4);
  border:1px solid rgba(246,238,242,0.5);
  color:var(--cream);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .2s;
}
.academy-gallery-arrow:hover{background:rgba(26,46,26,0.65)}
.academy-gallery-prev{left:0.8rem}
.academy-gallery-next{right:0.8rem}
.academy-gallery-thumbs{
  display:flex;
  gap:0.6rem;
  padding:0.9rem 5vw;
  overflow-x:auto;
}
.academy-gallery-thumbs img{
  width:64px;height:64px;
  object-fit:cover;
  border-radius:8px 8px 3px 8px;
  cursor:pointer;
  border:2px solid transparent;
  opacity:0.7;
  flex-shrink:0;
}
.academy-gallery-thumbs img.is-active{border-color:var(--light-green);opacity:1}

.academy-detail-body{padding:0.5rem 6vw 4rem}
.academy-detail-title{
  font-family:'Playfair Display',serif;
  font-size:clamp(1.5rem,3.4vw,2rem);
  color:var(--green);
  margin-bottom:0.5rem;
  line-height:1.25;
}
.academy-cat{
  font-size:0.8rem;
  color:var(--gray);
  letter-spacing:0.04em;
  margin-bottom:1.4rem;
}
.academy-cat span{color:var(--light-green);font-weight:600}

.academy-pricing{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin-bottom:1.8rem;
}
.academy-price-card{
  background:var(--cream);
  border:1px solid rgba(45,106,45,0.14);
  border-radius:14px 14px 4px 14px;
  padding:1.2rem 1.6rem;
  flex:1;
  min-width:150px;
}
.academy-price-label{
  font-size:0.75rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--light-green);
  margin-bottom:0.4rem;
}
.academy-price{
  font-family:'Playfair Display',serif;
  font-size:1.4rem;
  color:var(--green);
  margin-bottom:0.8rem;
}
.academy-enroll-btn{
  display:inline-block;
  background:var(--green);
  color:var(--cream);
  padding:0.5rem 1.2rem;
  font-size:0.82rem;
  border-radius:12px 12px 3px 12px;
  transition:background .2s;
}
.academy-enroll-btn:hover{background:var(--light-green)}

.academy-desc-block{margin-bottom:2rem}
.academy-desc-block p{
  color:var(--gray);
  font-size:0.95rem;
  line-height:1.65;
  margin-bottom:1rem;
}

.academy-outline-heading{
  font-family:'Playfair Display',serif;
  font-style:italic;
  color:var(--green);
  font-size:1.2rem;
  margin-bottom:1.2rem;
  border-top:1px solid rgba(45,106,45,0.14);
  padding-top:1.6rem;
}
.academy-mod-title{
  font-family:'Playfair Display',serif;
  color:var(--green);
  font-size:1.02rem;
  margin:1.3rem 0 0.5rem;
}
.academy-mod-list{
  color:var(--gray);
  font-size:0.92rem;
  line-height:1.85;
  padding-left:1.3rem;
}
.academy-cta{
  display:block;
  text-align:center;
  margin:2.2rem auto 0;
}



/* Birthday bubble is for the main page only; hide it while Academy is open. */
body.academy-open .birthday-float{display:none !important}

/* Mobile navigation: keep the header compact and put WhatsApp first, then Cart, then the menu button. */
.nav-actions{display:flex;align-items:center;gap:.55rem;flex-shrink:0}
.nav-wa-short{display:none}
.nav-menu-btn{
  display:none;
  width:42px;height:42px;
  border:1px solid rgba(45,106,45,.16);
  border-radius:50%;
  background:var(--cream);
  align-items:center;justify-content:center;flex-direction:column;gap:4px;
  cursor:pointer;padding:0;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
.nav-menu-btn span{display:block;width:17px;height:2px;background:var(--green);border-radius:2px;transition:transform .2s,opacity .2s}
.nav-menu-btn.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-menu-btn.is-open span:nth-child(2){opacity:0}
.nav-menu-btn.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mobile-nav-panel{
  display:none;
  position:absolute;
  top:calc(100% + 8px);
  right:.75rem;
  width:min(290px,calc(100vw - 1.5rem));
  padding:.45rem;
  background:rgba(253,250,245,.98);
  border:1px solid rgba(45,106,45,.12);
  border-radius:16px;
  box-shadow:0 18px 45px rgba(0,0,0,.14);
  backdrop-filter:blur(12px);
}
.mobile-nav-panel.is-open{display:flex;flex-direction:column}
.mobile-nav-panel a{padding:.85rem 1rem;border-radius:11px;color:var(--dark);text-decoration:none;font-size:.9rem;font-weight:500}
.mobile-nav-panel a:hover{background:var(--pale);color:var(--green)}

/* Keep the birthday promo on the opposite side from the floating WhatsApp button. */
.birthday-float{left:22px;right:auto;bottom:24px;width:118px;height:118px}
.birthday-float-inner{width:118px;height:118px;min-width:0;padding:.65rem;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border-width:4px;box-shadow:0 16px 34px rgba(23,107,53,.42)}
.birthday-float-small{font-size:.58rem}
.birthday-float-big{font-size:1.28rem;line-height:1.05}
.birthday-float-cta{font-size:.52rem;padding:.28rem .48rem;margin-top:.3rem;white-space:nowrap}

/* Academy modal: the top controls overlay the content instead of consuming scroll space. */
.academy-modal{scroll-behavior:auto;overscroll-behavior:contain}
.academy-modal-close{position:absolute;top:1rem;right:1rem;left:auto}
.academy-landing{padding-top:4.2rem}
.academy-detail{position:relative;padding-top:3.8rem}
.academy-back-btn{position:absolute;top:1rem;left:1.2rem;margin:0}

@media(max-width:1024px){
  nav{padding:.65rem .9rem}
  .nav-links{display:none}
  .nav-menu-btn{display:flex}
  .nav-actions{gap:.4rem}
  .nav-wa{padding:.55rem .75rem;font-size:.7rem;letter-spacing:.04em}
}
@media(max-width:600px){
  nav{padding:.55rem .7rem}
  .nav-logo img{height:44px;width:44px}
  .nav-wa-full{display:none}
  .nav-wa-short{display:inline}
  .nav-wa{padding:.52rem .7rem}
  .cart-icon-btn{padding:.5rem .72rem;font-size:.7rem}
  .nav-menu-btn{width:40px;height:40px}
  .mobile-nav-panel{right:.65rem;width:min(285px,calc(100vw - 1.3rem))}
  .birthday-float{left:10px;right:auto;bottom:18px;width:108px;height:108px}
  .birthday-float-inner{width:108px;height:108px;padding:.5rem;border-width:4px;box-shadow:0 14px 30px rgba(23,107,53,.42)}
  .birthday-float-small{font-size:.52rem}
  .birthday-float-big{font-size:1.12rem}
  .birthday-float-cta{font-size:.47rem;padding:.24rem .38rem}
  .academy-landing{padding-top:3.8rem}
}

/* Final Academy refinements */
.academy-whatsapp-enroll{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  width:min(100%,360px);
  margin:2.2rem auto 0;
  padding:.85rem 1.25rem;
  border-radius:999px;
  background:#25D366;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  font-size:.92rem;
  letter-spacing:.01em;
  box-shadow:0 8px 20px rgba(37,211,102,.22);
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.academy-whatsapp-enroll:hover{background:#1fb85a;transform:translateY(-1px);box-shadow:0 10px 24px rgba(37,211,102,.28)}
.academy-whatsapp-icon{font-size:1.05rem;line-height:1}

/* Keep the academy gallery image fully visible and make the second course image easy to select. */
.academy-gallery-main img{object-fit:contain;background:var(--cream)}
.academy-gallery-thumbs img{object-fit:cover}

/* Mobile header: WhatsApp, Cart, then menu without creating an empty gap. */
@media(max-width:600px){
  .nav-actions{gap:.35rem}
  .nav-wa{padding:.52rem .72rem}
  .nav-wa-short{display:inline}
  .cart-icon-btn{padding:.5rem .68rem}
}

/* Final product presentation refinements */
.products-grid .product-card.wide-set{grid-column:1 / -1}
.products-grid .product-card.wide-set .product-img-wrap{height:clamp(340px, 48vw, 560px)}
.products-grid .product-card.wide-set .product-img-wrap img{object-fit:contain;background:#fff}
.products-grid .product-card.wide-set .product-info{max-width:900px;margin:0 auto}

/* Birthday promo: first three are full-width; everything after them is two per row. */
#birthday-products .products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
#birthday-products .product-card.birthday-student-wide{grid-column:1 / -1}
#birthday-products .birthday-student-wide .product-img-wrap{height:clamp(360px,55vw,620px)}
#birthday-products .birthday-student-wide .product-img-wrap .img-main{object-fit:contain;background:#fff}

/* Make the birthday promo unmistakably clickable: animated ring + TAP HERE callout. */
.birthday-float{bottom:42px;left:18px;right:auto;width:142px;height:142px;position:fixed;z-index:1200;display:flex;align-items:center;justify-content:center;isolation:isolate}
.birthday-float:before{content:"";position:absolute;inset:-8px;border:3px solid rgba(45,138,74,.42);border-radius:50%;animation:birthdayRing 1.8s ease-out infinite;z-index:-1}
.birthday-float:after{content:"";position:absolute;inset:-2px;border:2px dashed rgba(255,255,255,.9);border-radius:50%;animation:birthdaySpin 9s linear infinite;pointer-events:none}
.birthday-float-hint{position:absolute;top:-28px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff;color:#176b35;border:2px solid #176b35;border-radius:999px;padding:.3rem .62rem;font-size:.62rem;font-weight:900;letter-spacing:.06em;box-shadow:0 8px 20px rgba(23,107,53,.2);animation:birthdayHint 1.5s ease-in-out infinite;z-index:3}
.birthday-float-hint:after{content:"";position:absolute;left:50%;bottom:-7px;width:11px;height:11px;background:#fff;border-right:2px solid #176b35;border-bottom:2px solid #176b35;transform:translateX(-50%) rotate(45deg)}
.birthday-float-inner{width:142px;height:142px;min-width:0;padding:.72rem;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:4px solid #fff;background:linear-gradient(145deg,#176b35,#39a95d);box-shadow:0 16px 38px rgba(23,107,53,.45);animation:birthdayPulse 1.8s ease-in-out infinite}
.birthday-float-small{font-size:.62rem;letter-spacing:.12em;font-weight:900}
.birthday-float-big{font-size:1.42rem;line-height:1.05;margin:.15rem 0;color:#fff;font-weight:900}
.birthday-float-cta{font-size:.56rem;padding:.32rem .52rem;margin-top:.28rem;white-space:nowrap;background:#fff;color:#176b35;border-radius:50px;font-weight:900}
@keyframes birthdayRing{0%{transform:scale(.92);opacity:.8}70%,100%{transform:scale(1.18);opacity:0}}
@keyframes birthdaySpin{to{transform:rotate(360deg)}}
@keyframes birthdayHint{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-5px)}}
/* Keep the birthday bubble clearly above the bottom edge. */
.birthday-float{bottom:42px}
@media(max-width:600px){
  .products-grid .product-card.wide-set .product-img-wrap{height:clamp(320px,78vw,520px)}
  #birthday-products .birthday-student-wide .product-img-wrap{height:clamp(330px,92vw,520px)}
  .birthday-float{left:10px;bottom:38px;width:124px;height:124px}
  .birthday-float-inner{width:124px;height:124px;padding:.55rem}
  .birthday-float-small{font-size:.54rem}
  .birthday-float-big{font-size:1.2rem}
  .birthday-float-cta{font-size:.48rem;padding:.28rem .42rem}
  .birthday-float-hint{top:-25px;font-size:.55rem;padding:.27rem .52rem}
}

/* Keep the birthday promo visible only on the home screen; hide it while the cart/checkout is open. */
.cart-drawer.open ~ .birthday-float,
.checkout-modal.open ~ .birthday-float { display:none !important; }

.founder-dot,.results-dot{width:8px;height:8px;border-radius:50%;border:0;background:rgba(255,255,255,.45);padding:0;cursor:pointer}.founder-dot.active,.results-dot.active{background:#fff;width:22px;border-radius:4px}.results-dot{background:rgba(26,46,26,.28)}.results-dot.active{background:var(--green)}


/* Product detail tap modal */
.product-detail-modal{position:fixed;inset:0;z-index:7000;display:none;align-items:center;justify-content:center;padding:14px;background:rgba(15,25,18,.72);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.product-detail-modal.open{display:flex}
.product-detail-dialog{position:relative;width:min(94vw,760px);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;box-shadow:0 24px 70px rgba(0,0,0,.28);animation:productDetailIn .2s ease-out}
.product-detail-close{position:absolute;right:12px;top:12px;z-index:4;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:1.35rem;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12)}
.product-detail-media{width:100%;height:min(55vh,500px);background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:24px 24px 0 0}
.product-detail-media img{width:100%;height:100%;object-fit:contain}
.product-detail-body{padding:1.35rem 1.45rem 1.5rem}
.product-detail-cat{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#b86d68;margin:0 0 .5rem}
.product-detail-name{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,4vw,2.25rem);line-height:1.12;margin:0 0 .65rem;color:#273328}
.product-detail-price{font-size:1.35rem;font-weight:600;color:#173d25;margin:.2rem 0 .55rem}
.product-detail-stock{font-size:.82rem;margin:0 0 1rem;color:#39734a}
.product-detail-stock.oos{color:#c0392b}
.product-detail-description-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin:0 0 .45rem;color:#555}
.product-detail-description{font-size:.95rem;line-height:1.7;color:#555;margin:0 0 1.2rem;white-space:pre-line}
.product-detail-add{width:100%;border:0;border-radius:999px;padding:.95rem 1.2rem;background:#176b35;color:#fff;font:inherit;font-weight:600;cursor:pointer}
.product-detail-add:disabled{background:#ccc;cursor:not-allowed}
.product-detail-secondary{display:none}
@keyframes productDetailIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){
  .product-detail-modal{padding:8px}
  .product-detail-dialog{width:96vw;max-height:94vh;border-radius:20px}
  .product-detail-media{height:48vh;min-height:280px;border-radius:20px 20px 0 0}
  .product-detail-body{padding:1.1rem 1rem 1.15rem}
  .product-detail-close{right:9px;top:9px;width:38px;height:38px}
  .product-detail-description{font-size:.9rem;line-height:1.65}
}

/* V36 GO-LIVE: Academy course image should fill the screen after Enroll is tapped. */
.academy-detail .academy-gallery-main{
  width:100%;
  height:calc(100vh - 4rem);
  max-height:none;
  aspect-ratio:auto;
}
.academy-detail .academy-gallery-main img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  background:var(--cream);
}
@media(max-width:600px){
  .academy-detail .academy-gallery-main{
    height:calc(100svh - 4rem);
  }
}
