:root{
  --bg:#F8F4E9; --bg-alt:#EFE6D3; --ink:#2B2620; --ink-soft:#3A3428;
  --green:#1F3A2E; --green-mid:#2C4A3B; --green-mid2:#345744; --green-soft:#8FA98B;
  --green-pale:#DCE6D8; --green-pale2:#C9DAC4; --brown:#6B4A34; --gold:#C6A15B;
  --border:#E3D7BC; --border-input:#C9BB9A; --red:#B45A3C; --footer-text:#B7C6B2;
  --font-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --font-sans:'Work Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);min-height:100vh;display:flex;flex-direction:column;}
a{color:var(--brown);text-decoration:none;}
a:hover{color:var(--green);}
img{max-width:100%;display:block;}
input,textarea,select,button{font-family:var(--font-sans);font-size:15px;}
h1,h2,h3{font-family:var(--font-serif);color:var(--green);margin:0 0 12px;}
p{line-height:1.7;}
main{flex:1;}
.hidden{display:none !important;}
.container{max-width:1200px;margin:0 auto;padding:0 48px;}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:2px;font-weight:600;font-size:15px;cursor:pointer;padding:14px 24px;border:none;text-align:center;}
.btn-sm{padding:8px 14px;font-size:13px;font-weight:500;}
.btn-dark{background:var(--green);color:var(--bg);}
.btn-dark:hover{background:var(--green-mid);color:var(--bg);}
.btn-gold{background:var(--gold);color:var(--green);}
.btn-gold:hover{opacity:.9;color:var(--green);}
.btn-outline{background:none;border:1px solid var(--border-input);color:var(--green);}
.btn-outline:hover{background:var(--bg-alt);color:var(--green);}
.btn-line{background:none;border:1px solid var(--green-soft);color:var(--ink);}
.btn-line-light{background:none;border:1px solid var(--green-soft);color:var(--bg);}
.btn-line-light:hover{color:var(--bg);background:rgba(255,255,255,.08);}
.btn-block{width:100%;}
.btn:disabled{opacity:.5;cursor:not-allowed;}

/* Topbar */
.topbar{background:var(--green);color:#EFE6D3;font-size:13px;text-align:center;padding:8px 16px;letter-spacing:.03em;}
.topbar a{color:#EFE6D3;text-decoration:underline;}

/* Header */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 32px;background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;position:sticky;top:0;z-index:50;}
.brand{font-family:var(--font-serif);font-size:26px;font-weight:700;color:var(--green);}
.brand span{color:var(--gold);}
.site-nav{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;flex:1;}
.nav-link{font-size:13px;padding:8px 10px;border-radius:2px;font-weight:500;color:var(--brown);border-bottom:2px solid transparent;}
.nav-link.is-active{font-weight:700;color:var(--green);border-bottom-color:var(--gold);}
.nav-link:hover{color:var(--green);}
.header-actions{display:flex;gap:8px;align-items:center;}
.nav-toggle{display:none;background:none;border:1px solid var(--border-input);border-radius:2px;padding:8px 12px;cursor:pointer;font-size:13px;color:var(--green);}

/* Footer */
.site-footer{background:var(--green);color:var(--green-pale);padding:48px 48px 24px;margin-top:auto;}
.footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px;}
.footer-brand{font-family:var(--font-serif);font-size:22px;color:var(--bg);margin-bottom:12px;}
.footer-brand span{color:var(--gold);}
.footer-text{font-size:13px;line-height:1.8;color:var(--footer-text);}
.footer-heading{font-weight:700;color:var(--bg);margin-bottom:10px;font-size:14px;}
.footer-links{display:flex;flex-direction:column;gap:6px;font-size:13px;}
.footer-links a{color:var(--footer-text);}
.footer-links a:hover{color:var(--bg);}
.footer-bottom{max-width:1200px;margin:32px auto 0;padding-top:20px;border-top:1px solid var(--green-mid2);font-size:12px;color:var(--green-soft);text-align:center;}

/* Cookie banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--green);color:var(--bg);padding:20px 32px;box-shadow:0 -4px 20px rgba(0,0,0,.2);z-index:100;display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:space-between;}
.cookie-simple{display:flex;gap:20px;flex-wrap:wrap;align-items:center;flex:1;}
.cookie-simple p{margin:0;font-size:14px;max-width:560px;color:var(--green-pale);}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.cookie-settings{flex:1;}
.cookie-settings-title{font-weight:700;margin-bottom:10px;}
.cookie-check{display:flex;gap:8px;align-items:center;margin-bottom:6px;font-size:14px;}
.cookie-check.disabled{opacity:.6;}

/* Hero */
.hero{display:flex;align-items:center;gap:40px;padding:80px 48px;background:linear-gradient(120deg,var(--green),var(--green-mid));color:var(--bg);flex-wrap:wrap;}
.hero-text{flex:1;min-width:280px;}
.hero-kicker{font-size:13px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.hero-text h1{font-size:56px;line-height:1.1;margin:0 0 20px;color:var(--bg);}
.hero-text p{font-size:19px;line-height:1.6;color:var(--green-pale);max-width:480px;margin:0 0 32px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
.hero-img{flex:1;min-width:280px;height:340px;border-radius:4px;overflow:hidden;}
.hero-img img{width:100%;height:100%;object-fit:cover;}

/* Sections */
.section{padding:64px 48px;}
.section-alt{background:var(--bg-alt);}
.section-title{font-size:32px;text-align:center;margin:0 0 40px;}
.section-lead{text-align:center;color:var(--brown);margin:0 0 40px;}

.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;max-width:1200px;margin:0 auto;}
.cat-card{background:var(--bg-alt);border:1px solid var(--border);border-radius:4px;overflow:hidden;display:block;}
.cat-card img{height:120px;width:100%;object-fit:cover;}
.cat-card-label{padding:14px 16px;font-weight:600;color:var(--green);font-size:15px;}

.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;max-width:1200px;margin:0 auto;}
.product-card{background:#fff;border:1px solid var(--border);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;height:100%;}
.product-card img{height:160px;width:100%;object-fit:cover;}
.product-body{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1;}
.product-cat{font-size:12px;color:var(--green-soft);}
.product-name{font-weight:700;color:var(--green);font-size:15px;line-height:1.3;}
.product-weight{font-size:13px;color:var(--brown);}
.product-spacer{flex:1;}
.product-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px;}
.product-price{font-weight:700;color:var(--green);font-size:16px;}

.highlight-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;}
.highlight-card h3{font-size:24px;margin:0 0 20px;color:var(--gold);}
.highlight-card p{color:var(--green-pale);line-height:1.6;}

.adv-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px;text-align:center;}
.adv-card{padding:24px;background:var(--bg-alt);border-radius:4px;}
.adv-card .t{font-family:var(--font-serif);font-size:20px;color:var(--green);font-weight:700;margin-bottom:8px;}
.adv-card .d{color:var(--brown);font-size:14px;line-height:1.5;}

.newsletter{padding:56px 48px;background:var(--bg-alt);display:flex;gap:40px;flex-wrap:wrap;align-items:center;justify-content:space-between;}
.newsletter-text{max-width:520px;}
.newsletter form{display:flex;gap:10px;flex-wrap:wrap;}
.thankyou{color:var(--green);font-weight:600;padding:14px;background:var(--bg-alt);border-radius:4px;}

/* Forms */
.field{padding:12px 16px;border:1px solid var(--border-input);border-radius:2px;min-width:220px;width:100%;background:#fff;}
.form-col{display:flex;flex-direction:column;gap:10px;}
.form-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-grid2 .span2{grid-column:1/3;}
.checkbox-line{display:flex;gap:8px;font-size:13px;color:var(--brown);align-items:flex-start;}
label.field-label{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--ink-soft);margin-bottom:8px;cursor:pointer;}

/* Breadcrumb */
.breadcrumb{font-size:13px;color:var(--green-soft);margin-bottom:8px;}
.breadcrumb a{color:var(--green-soft);}

/* Catalog */
.catalog-wrap{padding:32px 48px 64px;max-width:1300px;margin:0 auto;}
.catalog-layout{display:flex;gap:32px;flex-wrap:wrap;}
.catalog-aside{width:230px;flex-shrink:0;}
.aside-title{font-weight:700;color:var(--green);margin-bottom:12px;font-size:14px;}
.aside-cat-btn{display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:6px 0;font-size:14px;color:var(--brown);}
.aside-cat-btn.is-active{color:var(--green);font-weight:700;}
.catalog-main{flex:1;min-width:280px;}
.results-count{color:var(--brown);font-size:14px;margin-bottom:16px;}
.no-results{padding:40px;text-align:center;color:var(--green-soft);}

/* Product detail */
.product-detail{padding:32px 48px 64px;max-width:1100px;margin:0 auto;}
.back-link{background:none;border:none;color:var(--green-soft);cursor:pointer;font-size:14px;margin-bottom:16px;padding:0;display:inline-block;}
.product-detail-layout{display:flex;gap:40px;flex-wrap:wrap;}
.product-detail-img{flex:1;min-width:280px;height:380px;border-radius:4px;overflow:hidden;}
.product-detail-img img{width:100%;height:100%;object-fit:cover;}
.product-detail-info{flex:1;min-width:280px;}
.sku-line{font-size:13px;color:var(--green-soft);margin-bottom:6px;}
.big-price{font-size:28px;font-weight:700;color:var(--green);margin-bottom:4px;}
.per100{font-size:13px;color:var(--green-soft);margin-bottom:20px;}
.variant-row{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;}
.variant-btn{padding:8px 14px;border:1px solid var(--border-input);background:#fff;border-radius:2px;cursor:pointer;font-size:13px;}
.variant-btn.is-selected{border:2px solid var(--green);background:var(--bg-alt);}
.qty-row{display:flex;gap:10px;align-items:center;margin-bottom:20px;}
.qty-btn{width:36px;height:36px;border:1px solid var(--border-input);background:#fff;border-radius:2px;cursor:pointer;}
.qty-val{width:36px;text-align:center;font-weight:600;}
.stock-line{color:#5A6E52;font-size:14px;margin-bottom:20px;}
.field-table{border-top:1px solid var(--border);padding-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;font-size:14px;}
.field-table .k{color:var(--green-soft);}

/* Cart */
.cart-line{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border);}
.cart-thumb{width:64px;height:64px;background:var(--bg-alt);border-radius:4px;flex-shrink:0;object-fit:cover;}
.cart-info{flex:1;}
.cart-name{font-weight:600;color:var(--green);}
.cart-meta{font-size:13px;color:var(--green-soft);}
.cart-qty{display:flex;gap:6px;align-items:center;}
.cart-qty .qty-btn{width:28px;height:28px;}
.cart-total-col{width:90px;text-align:right;font-weight:600;color:var(--green);}
.remove-btn{background:none;border:none;color:var(--red);cursor:pointer;font-size:13px;}
.cart-summary{margin-top:24px;padding:20px;background:var(--bg-alt);border-radius:4px;}
.summary-row{display:flex;justify-content:space-between;padding:4px 0;font-size:14px;}
.summary-row.muted{color:var(--green-soft);}
.summary-total{display:flex;justify-content:space-between;padding:12px 0 0;font-size:20px;font-weight:700;color:var(--green);border-top:1px solid var(--border-input);margin-top:8px;}
.empty-state{padding:60px 0;text-align:center;color:var(--green-soft);}

/* Checkout */
.checkout-wrap{padding:32px 48px 64px;max-width:800px;margin:0 auto;}
.step-track{display:flex;gap:6px;margin-bottom:32px;font-size:13px;color:var(--green-soft);}
.ship-option{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:2px;cursor:pointer;margin-bottom:8px;background:#fff;}
.ship-option.is-selected{border:2px solid var(--green);background:var(--bg-alt);}
.confirm-box{text-align:center;padding:40px 0;}
.confirm-check{font-size:48px;color:var(--green-soft);margin-bottom:16px;}

/* Taste finder */
.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px;}
.tag-btn{padding:8px 16px;border-radius:20px;border:1px solid var(--border-input);background:#fff;color:#4A4438;cursor:pointer;font-size:13px;}
.tag-btn.is-selected{border:1px solid var(--green);background:var(--green);color:var(--bg);}

/* Recipes / blog */
.article-card{text-align:left;background:#fff;border:1px solid var(--border);border-radius:4px;overflow:hidden;display:block;}
.article-card img{height:120px;width:100%;object-fit:cover;}
.article-card-body{padding:16px;}
.article-title{font-weight:700;color:var(--green);font-size:16px;margin-bottom:6px;}
.article-excerpt{font-size:13px;color:var(--green-soft);line-height:1.5;}
.tab-row{display:flex;gap:8px;margin-bottom:28px;}
.tab-btn{background:#fff;color:var(--green);border:1px solid var(--border-input);padding:8px 16px;border-radius:2px;cursor:pointer;}
.tab-btn.is-active{background:var(--green);color:var(--bg);}
.article-body{line-height:1.8;color:var(--ink-soft);font-size:16px;}
.article-body p{margin:0 0 20px;white-space:pre-line;}

/* Herbarium / FAQ accordion */
.accordion-item{background:#fff;border:1px solid var(--border);border-radius:4px;overflow:hidden;margin-bottom:12px;}
.accordion-item.faq-item{background:none;border:none;border-bottom:1px solid var(--border);border-radius:0;margin-bottom:0;}
.accordion-trigger{width:100%;text-align:left;background:none;border:none;padding:16px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:15px;}
.faq-item .accordion-trigger{font-weight:600;color:var(--green);padding:16px 0;}
.accordion-trigger .arrow{color:var(--green-soft);}
.accordion-panel{padding:0 20px 20px;font-size:14px;color:var(--ink-soft);line-height:1.7;}
.faq-item .accordion-panel{padding:0 0 16px;}
.accordion-panel div{margin-bottom:2px;}
.accordion-panel .warn{color:var(--green-soft);margin-top:6px;}
.herb-latin{color:var(--green-soft);font-style:italic;}

/* About / contact / legal */
.narrow{padding:32px 48px 64px;max-width:900px;margin:0 auto;}
.about-img{height:280px;border-radius:4px;margin-bottom:28px;overflow:hidden;}
.about-img img{width:100%;height:100%;object-fit:cover;}
.info-box{margin-top:32px;padding:24px;background:var(--bg-alt);border-radius:4px;}
.info-box .h{font-weight:700;color:var(--green);margin-bottom:8px;}

.contact-wrap{padding:32px 48px 64px;max-width:1100px;margin:0 auto;display:flex;gap:48px;flex-wrap:wrap;}
.contact-col{flex:1;min-width:280px;}
.branch{font-size:14px;color:var(--ink-soft);line-height:1.7;margin-bottom:14px;}

.legal-wrap{padding:32px 48px 64px;max-width:1100px;margin:0 auto;display:flex;gap:40px;flex-wrap:wrap;}
.legal-aside{width:260px;flex-shrink:0;}
.legal-nav-btn{display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:8px 0;font-size:14px;color:var(--brown);}
.legal-nav-btn.is-active{color:var(--green);font-weight:700;}
.legal-main{flex:1;min-width:280px;}
.legal-body{line-height:1.8;color:var(--ink-soft);font-size:15px;}
.legal-body p{margin:0 0 18px;white-space:pre-line;}

/* Account */
.account-wrap{padding:32px 48px 64px;max-width:440px;margin:0 auto;}
.account-tabs{display:flex;gap:8px;margin-bottom:24px;}
.account-message{padding:14px;background:var(--bg-alt);border-radius:4px;color:var(--green);margin-bottom:16px;}

/* Faq page */
.faq-wrap{padding:32px 48px 64px;max-width:800px;margin:0 auto;}

/* Herbarium page */
.herb-wrap{padding:32px 48px 64px;max-width:1000px;margin:0 auto;}

/* Recipes wrap */
.recipes-wrap{padding:32px 48px 64px;max-width:1000px;margin:0 auto;}
.article-page-wrap{padding:32px 48px 64px;max-width:800px;margin:0 auto;}

/* Taste finder wrap */
.finder-wrap{padding:32px 48px 64px;max-width:1000px;margin:0 auto;}
.finder-label{font-weight:700;color:var(--green);margin-bottom:10px;}

/* Home sections helper */
.center{text-align:center;}

/* 404 */
.error-wrap{padding:100px 48px;max-width:600px;margin:0 auto;text-align:center;}

@media (max-width: 880px){
  .site-nav{display:none;width:100%;order:3;}
  .site-nav.is-open{display:flex;}
  .nav-toggle{display:inline-flex;}
  .hero{padding:56px 24px;}
  .hero-text h1{font-size:38px;}
  .section{padding:44px 24px;}
  .catalog-wrap,.product-detail,.checkout-wrap,.narrow,.contact-wrap,.legal-wrap,.account-wrap,.faq-wrap,.herb-wrap,.recipes-wrap,.article-page-wrap,.finder-wrap{padding-left:20px;padding-right:20px;}
  .site-footer{padding:40px 20px 24px;}
  .form-grid2{grid-template-columns:1fr;}
  .form-grid2 .span2{grid-column:1;}
  .field-table{grid-template-columns:1fr;}
}
