:root{
  --green-900:#17451f;
  --green-800:#205d29;
  --green-700:#2f7d32;
  --green-500:#58a83f;
  --green-100:#eef7e9;
  --beige:#f6f1e7;
  --cream:#fffdf8;
  --text:#1c2b1d;
  --muted:#647063;
  --line:#e4e8df;
  --shadow:0 14px 40px rgba(31,72,31,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Montserrat,system-ui,-apple-system,sans-serif;
  color:var(--text);
  background:var(--cream);
}
a{text-decoration:none;color:inherit}
button,input{font:inherit}
.container{width:min(1120px,calc(100% - 32px));margin:0 auto}
.topbar{
  position:sticky;top:0;z-index:40;background:rgba(255,253,248,.94);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--line)
}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:baseline;gap:7px;color:var(--green-900);font-weight:700;white-space:nowrap}
.brand-main{font-size:1.25rem}
.brand-script{font-family:"Playfair Display",serif;font-size:1.35rem;color:var(--green-700)}
.leaf{font-size:1.25rem}
.menu{display:flex;gap:24px;font-weight:600;font-size:.94rem;color:#314432}
.menu a:hover{color:var(--green-700)}
.cart-button{border:0;background:var(--green-900);color:white;padding:11px 14px;border-radius:999px;cursor:pointer;font-weight:700}
.cart-button span{display:inline-grid;place-items:center;min-width:22px;height:22px;background:#fff;color:var(--green-900);border-radius:999px;margin-left:4px;font-size:.8rem}

.hero{background:linear-gradient(135deg,#f4f8ec 0%,#fffdf8 55%,#edf6e9 100%);padding:64px 0 48px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:44px}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.73rem;font-weight:800;color:var(--green-700)}
h1,h2,h3,p{margin-top:0}
.hero h1{font-size:clamp(2.7rem,6vw,5.1rem);line-height:.95;margin:14px 0 18px;color:var(--green-900)}
.hero h1 em{font-family:"Playfair Display",serif;font-weight:600;color:var(--green-700);display:block}
.hero p{font-size:1.1rem;line-height:1.7;color:#415342;max-width:620px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;padding:14px 20px;font-weight:800;cursor:pointer;transition:.2s ease}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--green-800);color:white}
.btn.secondary{background:white;color:var(--green-800);border:1px solid #cfd9ca}
.btn.whatsapp{background:#25D366;color:#0d3b1f}
.btn.full{width:100%}
.hero-card{
  min-height:360px;border-radius:34px;background:
  radial-gradient(circle at 30% 30%,#d9edc8 0 17%,transparent 18%),
  radial-gradient(circle at 68% 62%,#d9edc8 0 14%,transparent 15%),
  linear-gradient(145deg,#eaf4df,#cfe7bf);
  box-shadow:var(--shadow);position:relative;display:grid;place-items:center;overflow:hidden
}
.hero-card::after{content:"";position:absolute;inset:auto 10% 8% 10%;height:22%;background:rgba(255,255,255,.55);filter:blur(18px);border-radius:50%}
.botanical{position:absolute;font-size:9rem;left:8%;top:8%;filter:saturate(.8)}
.botanical.small{font-size:7rem;left:auto;right:5%;top:auto;bottom:4%}
.mortar{font-size:10rem;z-index:2;transform:rotate(-8deg)}

.trust{padding:24px 0;background:white;border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.trust-grid div{padding:16px 18px;border-right:1px solid var(--line)}
.trust-grid div:last-child{border-right:0}
.trust-grid strong{display:block;color:var(--green-900);margin-bottom:6px}
.trust-grid span{color:var(--muted);font-size:.9rem}

.section{padding:64px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}
.section h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:8px 0 0;color:var(--green-900)}
.categories{display:flex;gap:12px;flex-wrap:wrap}
.category-chip{
  border:1px solid #d8e3d3;background:#fff;padding:12px 16px;border-radius:999px;cursor:pointer;
  font-weight:700;color:#365138
}
.category-chip.active{background:var(--green-800);color:#fff;border-color:var(--green-800)}

.products-section{background:#fafbf7}
.products-head{align-items:center}
.search-box{display:flex;align-items:center;gap:8px;background:white;border:1px solid #dfe5da;border-radius:14px;padding:10px 14px;min-width:min(320px,100%)}
.search-box input{border:0;outline:0;background:transparent;width:100%}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.product-card{background:white;border:1px solid #e4e9df;border-radius:22px;padding:16px;box-shadow:0 8px 24px rgba(28,65,29,.07);display:flex;flex-direction:column}
.product-image{
  aspect-ratio:1/1;border-radius:16px;background:linear-gradient(145deg,#f1f7e9,#e3eed8);
  display:grid;place-items:center;font-size:5.5rem;margin-bottom:16px;overflow:hidden
}
.product-badge{font-size:.72rem;font-weight:800;color:var(--green-700);text-transform:uppercase;letter-spacing:.08em}
.product-card h3{font-size:1rem;margin:8px 0 6px}
.product-card .presentation{font-size:.86rem;color:var(--muted);margin-bottom:10px}
.product-card .description{font-size:.84rem;line-height:1.5;color:#5c675b;flex:1}
.price{font-size:1.2rem;font-weight:800;color:var(--green-900);margin:6px 0 14px}
.product-card .btn{width:100%;padding:11px 12px;border-radius:12px}

.contact-section{background:var(--beige)}
.contact-card{background:white;border-radius:28px;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:var(--shadow)}
.contact-card p{color:var(--muted);line-height:1.65;max-width:700px;margin-bottom:0}

.cart-drawer{
  position:fixed;right:0;top:0;bottom:0;width:min(460px,100%);background:#fff;z-index:70;
  transform:translateX(105%);transition:.25s ease;box-shadow:-18px 0 50px rgba(20,50,22,.18);
  display:flex;flex-direction:column
}
.cart-drawer.open{transform:translateX(0)}
.overlay{position:fixed;inset:0;background:rgba(12,28,14,.42);z-index:60;opacity:0;pointer-events:none;transition:.25s}
.overlay.show{opacity:1;pointer-events:auto}
.cart-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--line)}
.cart-header h2{margin:4px 0 0;color:var(--green-900)}
.icon-button{border:0;background:#f3f6f0;width:42px;height:42px;border-radius:50%;cursor:pointer}
.cart-items{padding:16px 22px;overflow:auto;flex:1}
.empty-cart{padding:40px 12px;text-align:center;color:var(--muted)}
.cart-item{display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.cart-thumb{width:56px;height:56px;border-radius:12px;background:#eef5e8;display:grid;place-items:center;font-size:2rem}
.cart-item h4{font-size:.9rem;margin:0 0 4px}
.cart-item small{color:var(--muted)}
.qty{display:flex;align-items:center;gap:8px;margin-top:8px}
.qty button{width:28px;height:28px;border:1px solid #dce4d7;background:#fff;border-radius:8px;cursor:pointer}
.item-total{font-weight:800;color:var(--green-900);text-align:right}
.remove{display:block;border:0;background:transparent;color:#9b3a35;cursor:pointer;font-size:.75rem;margin-top:8px;margin-left:auto}
.cart-summary{border-top:1px solid var(--line);padding:20px 24px 26px;background:#fbfcf9}
.summary-row{display:flex;justify-content:space-between;font-size:1.08rem;margin-bottom:8px}
.summary-note{color:var(--muted);font-size:.8rem;line-height:1.5;margin-bottom:14px}
.text-button{border:0;background:transparent;color:#7a4a46;display:block;margin:12px auto 0;cursor:pointer;font-weight:700}

footer{background:var(--green-900);color:#eef6ed;padding:32px 0}
.footer-grid{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:24px}
.footer-brand{color:white}
footer p{margin:0;color:#d8e6d7;font-size:.83rem;line-height:1.55}

@media (max-width:900px){
  .menu{display:none}
  .hero-grid{grid-template-columns:1fr}
  .hero-card{min-height:300px}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .nav{height:68px}
  .brand-main{font-size:1rem}.brand-script{font-size:1.08rem}
  .hero{padding-top:38px}
  .hero h1{font-size:3.25rem}
  .hero-card{min-height:240px}
  .botanical{font-size:6rem}.botanical.small{font-size:5rem}.mortar{font-size:7rem}
  .trust-grid{grid-template-columns:1fr}
  .trust-grid div{border-right:0;border-bottom:1px solid var(--line)}
  .trust-grid div:last-child{border-bottom:0}
  .section{padding:48px 0}
  .section-head{display:block}
  .search-box{margin-top:18px;min-width:0}
  .product-grid{grid-template-columns:1fr 1fr;gap:12px}
  .product-card{padding:11px;border-radius:17px}
  .product-image{font-size:3.5rem}
  .product-card .description{display:none}
  .contact-card{display:block;padding:24px}
  .contact-card .btn{margin-top:18px;width:100%}
}

.product-image img{width:100%;height:100%;object-fit:cover;display:block}
.cart-thumb img{width:100%;height:100%;object-fit:cover;border-radius:12px;display:block}


.brand-with-logo{display:flex;align-items:center;gap:14px;min-width:0}
.site-logo{
  width:132px;height:76px;object-fit:contain;
  background:transparent;flex:0 0 auto
}
.brand-slogan{
  font-family:"Playfair Display",serif;font-style:italic;font-weight:600;
  font-size:1.28rem;line-height:1.15;color:var(--green-700);white-space:nowrap
}
.footer-logo-wrap{display:flex;align-items:center}
.footer-logo{
  width:92px;height:92px;object-fit:contain;background:white;border-radius:18px;padding:4px
}
@media (max-width:600px){
  .nav{height:90px}
  .brand-with-logo{gap:8px}
  .site-logo{width:118px;height:72px}
  .brand-slogan{font-size:1rem;max-width:145px;white-space:normal;line-height:1.08}
  .cart-button{padding:10px 12px}
}


/* Confirmación antes de abrir WhatsApp */
.whatsapp-help{
  background:#eff9f1;border:1px solid #cfe8d3;color:#35533c;
  font-size:.8rem;line-height:1.45;padding:10px 12px;border-radius:12px;margin:0 0 14px
}
.wa-confirm{
  position:fixed;inset:0;z-index:100;display:grid;place-items:center;
  background:rgba(12,28,14,.58);padding:18px;opacity:0;pointer-events:none;transition:.2s
}
.wa-confirm.show{opacity:1;pointer-events:auto}
.wa-confirm-card{
  width:min(420px,100%);background:#fff;border-radius:24px;padding:28px 24px;
  box-shadow:0 24px 70px rgba(0,0,0,.24);text-align:center
}
.wa-confirm-icon{
  width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;
  background:#e9f8ed;color:#16843d;font-size:2rem;font-weight:900
}
.wa-confirm-card h2{margin:0 0 8px;color:var(--green-900)}
.wa-confirm-card p{margin:0 0 16px;color:var(--muted);line-height:1.5}
.wa-confirm-instruction{
  background:#fff8df;border:1px solid #eedfa0;color:#5d5020;border-radius:14px;
  padding:12px 14px;font-size:.9rem;line-height:1.5;text-align:left;margin-bottom:14px
}
.wa-confirm-total{font-weight:800;color:var(--green-900);margin:0 0 16px}

/* V8: catálogo real, fichas y boletín */
.tap-hint{margin:10px 0 0;color:var(--muted);font-size:.9rem}
.product-image{border:0;width:100%;cursor:pointer;padding:0}
.product-image img{object-fit:contain;background:#fff}
.details-link{border:0;background:transparent;color:var(--green-700);font-weight:800;cursor:pointer;padding:3px 0 11px;text-align:left}
.details-link:hover{text-decoration:underline}
.product-card .price{margin-top:auto}
.no-scroll{overflow:hidden}
.product-modal{position:fixed;inset:0;z-index:90;background:rgba(12,28,14,.62);display:grid;place-items:center;padding:18px;opacity:0;pointer-events:none;transition:.2s}
.product-modal.show{opacity:1;pointer-events:auto}
.product-modal-card{position:relative;width:min(900px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:26px;box-shadow:0 28px 80px rgba(0,0,0,.25);padding:26px}
.modal-close{position:absolute;right:16px;top:16px;border:0;background:#f3f6f0;width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:1.05rem;z-index:2}
.modal-product-grid{display:grid;grid-template-columns:minmax(260px,.85fr) 1.15fr;gap:30px;align-items:start}
.modal-image-wrap{border:1px solid #e5eadf;background:#fff;border-radius:20px;overflow:hidden;aspect-ratio:1/1;display:grid;place-items:center}
.modal-image-wrap img{width:100%;height:100%;object-fit:contain}
.modal-copy{padding:12px 2px 4px}
.modal-copy h2{font-size:clamp(1.7rem,3vw,2.35rem);margin:8px 42px 4px 0;color:var(--green-900)}
.modal-price{font-size:1.45rem;font-weight:900;color:var(--green-900);margin:12px 0 20px}
.detail-block{border-top:1px solid var(--line);padding:14px 0 0;margin-top:14px}
.detail-block h3{font-size:.9rem;color:var(--green-800);margin:0 0 6px}
.detail-block p{font-size:.92rem;line-height:1.6;color:#4c5b4d;margin:0}
.newsletter-section{background:#f4f6ef}
.newsletter-card{background:var(--green-900);color:white;border-radius:30px;padding:38px;display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center;box-shadow:var(--shadow)}
.newsletter-card .eyebrow{color:#b9d7b6}.newsletter-card h2{color:white;margin:8px 0 12px}.newsletter-card p{color:#dbe8da;line-height:1.65;margin:0}
.newsletter-form{background:white;border-radius:20px;padding:22px;color:#253728}
.newsletter-form label{display:block;font-weight:800;margin-bottom:8px}
.newsletter-form input{width:100%;border:1px solid #dce4d7;border-radius:12px;padding:14px 13px;font-size:1rem;margin-bottom:12px;outline:none}
.newsletter-form input:focus{border-color:var(--green-700);box-shadow:0 0 0 3px rgba(54,103,56,.12)}
.newsletter-form small{display:block;color:var(--muted);font-size:.75rem;line-height:1.45;margin-top:10px;text-align:center}
.notice-section{padding-top:0;background:var(--beige)}
.notice-card{border:1px solid #e6dbc5;background:#fffaf0;border-radius:18px;padding:18px 20px;color:#5a523f}
.notice-card strong{color:#4a421f}.notice-card p{margin:6px 0 0;line-height:1.55;font-size:.85rem}
@media (max-width:900px){.modal-product-grid,.newsletter-card{grid-template-columns:1fr}.modal-image-wrap{max-width:520px;margin:auto;width:100%}}
@media (max-width:600px){.product-modal-card{padding:18px 14px;border-radius:20px}.modal-copy{padding:6px 2px 2px}.modal-copy h2{font-size:1.5rem}.newsletter-card{padding:24px}.newsletter-form{padding:18px}.product-card h3{font-size:.92rem;line-height:1.3}.product-card .presentation{min-height:2.3em}.details-link{font-size:.82rem}}

/* Beneficios GLX */
.rewards-section{background:linear-gradient(180deg,#fffdf8 0%,#f3f8ee 100%)}
.rewards-hero{background:white;border:1px solid #dfe8d9;border-radius:30px;padding:36px;box-shadow:var(--shadow)}
.rewards-hero h2{margin:8px 0 12px;font-size:clamp(2rem,4vw,3.4rem)}
.rewards-lead{max-width:780px;color:#465946;line-height:1.7;font-size:1.02rem}
.discount-levels{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.discount-level{border:1px solid #dfe8d9;border-radius:18px;padding:18px;background:#fbfdf8;display:flex;flex-direction:column;gap:7px;min-height:132px;justify-content:center}
.discount-level span{font-size:1.15rem;letter-spacing:-.12em}
.discount-level strong{color:var(--green-900);font-size:1rem}
.discount-level small{color:var(--green-700);font-weight:800;font-size:.88rem}
.discount-level.featured{background:var(--green-900);border-color:var(--green-900);color:white}
.discount-level.featured strong,.discount-level.featured small{color:white}
.points-card{margin-top:18px;background:#fff8df;border:1px solid #eadb9d;border-radius:24px;padding:26px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start}
.points-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:white;font-size:1.75rem;box-shadow:0 8px 20px rgba(83,70,20,.08)}
.points-card h3{margin:6px 0 8px;color:var(--green-900);font-size:1.35rem}
.points-card p{margin:0 0 8px;color:#575039;line-height:1.65}
.points-card small{color:#746b50;line-height:1.5}
.discount-row{color:var(--green-700)}
.total-row{padding-top:8px;border-top:1px solid var(--line);font-size:1.16rem}
.discount-progress{background:#eef7e9;border:1px solid #d2e6c8;color:#35533c;padding:10px 12px;border-radius:12px;font-size:.8rem;line-height:1.45;margin:10px 0 8px}
.points-preview{background:#fff8df;border:1px solid #eadb9d;color:#5d5020;padding:10px 12px;border-radius:12px;font-size:.8rem;line-height:1.45;margin:0 0 12px}
@media (max-width:900px){.discount-levels{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.rewards-hero{padding:24px}.discount-levels{grid-template-columns:1fr 1fr;gap:10px}.discount-level{padding:14px;min-height:116px}.points-card{grid-template-columns:1fr;padding:20px}.points-icon{width:48px;height:48px}}

/* V8.1: ubicación y ticket */
.ticket-modal{position:fixed;inset:0;z-index:1200;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.48)}
.ticket-modal.show{display:flex}.ticket-card{background:#fff;border-radius:22px;max-width:460px;width:100%;max-height:90vh;overflow:auto;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.ticket-head{text-align:center;border-bottom:1px dashed #bbb;padding-bottom:14px;margin-bottom:14px}.ticket-head img{width:86px;height:auto}.ticket-head h2{margin:6px 0;color:#174f2b}.ticket-lines{font-size:.95rem}.ticket-line{display:flex;justify-content:space-between;gap:18px;padding:7px 0}.ticket-line.total{font-size:1.15rem;font-weight:800;border-top:1px dashed #999;margin-top:8px;padding-top:12px}.ticket-address{font-size:.85rem;text-align:center;color:#666;margin:14px 0}.ticket-actions{display:grid;gap:10px;margin-top:16px}.location-link{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media print{body>*{display:none!important}.ticket-modal,.ticket-modal.show{display:block!important;position:static!important;background:#fff!important;padding:0!important}.ticket-card{display:block!important;box-shadow:none!important;max-width:none!important;width:80mm!important;margin:0 auto!important;padding:8mm!important}.ticket-actions,.icon-button{display:none!important}}


/* V9: portada más limpia y accesos rápidos */
.hero-actions-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:620px
}
.hero-actions-grid .btn{min-height:54px;text-align:center}
.btn.benefits-btn{background:#e8f5df;color:var(--green-900);border:1px solid #cfe2c4}
.btn.points-btn{background:#fff4c8;color:#654710;border:1px solid #ead887}
.hero-image-card{background:#eef6e9;min-height:360px}
.hero-image-card::after{display:none}
.hero-image-card img{width:100%;height:100%;object-fit:cover;display:block}
.add-toast{
  position:fixed;left:50%;bottom:26px;transform:translate(-50%,18px);z-index:140;
  background:var(--green-900);color:#fff;padding:12px 18px;border-radius:999px;
  box-shadow:0 12px 34px rgba(0,0,0,.22);font-weight:800;font-size:.9rem;
  opacity:0;pointer-events:none;transition:.22s ease
}
.add-toast.show{opacity:1;transform:translate(-50%,0)}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .hero-image-card{min-height:300px}
}
@media (max-width:600px){
  .hero-actions-grid{grid-template-columns:1fr 1fr;gap:10px}
  .hero-actions-grid .btn{padding:13px 10px;font-size:.92rem;line-height:1.2}
  .hero-image-card{min-height:250px;border-radius:28px}
}
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(255,255,255,.97);border-top:1px solid #dfe5da;padding:7px 6px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -6px 18px rgba(20,60,30,.08)}
.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#205d29;font-weight:700;min-height:48px}.bottom-nav span{font-size:1.15rem}.bottom-nav small{font-size:.68rem}body{padding-bottom:66px}
