:root{
  --bg:#F7F1E3;
  --card:#FFFDF8;
  --border:#E4D7BE;
  --green:#2B3A2F;
  --green-light:#EFE6D2;
  --footer-border:#3E4C40;
  --footer-text:#D8CFB8;
  --footer-muted:#9AA593;
  --ink:#2B2118;
  --brown:#4A3627;
  --brown-dark:#3A2E22;
  --muted:#8B7B5E;
  --ph:#9C8C78;
  --copper:#B87333;
  --orange:#C1552C;
  --gold:#D9A430;
  --cream:#F3ECDC;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);font-family:'Work Sans',Arial,sans-serif;color:var(--ink);min-height:100vh;display:flex;flex-direction:column;}
h1,h2,h3,h4{font-family:'Lora',Georgia,serif;margin:0;}
a{color:var(--brown);text-decoration:none;}
a:hover{color:var(--orange);}
img{max-width:100%;display:block;}
input,select,textarea,button{font-family:'Work Sans',Arial,sans-serif;font-size:14px;}
::placeholder{color:var(--ph);}
button{cursor:pointer;}
main{flex:1;}
.container{max-width:1280px;margin:0 auto;padding:0 28px;}
.container-narrow{max-width:1000px;margin:0 auto;padding:0 28px;}
.container-xnarrow{max-width:760px;margin:0 auto;padding:0 28px;}
.container-md{max-width:900px;margin:0 auto;padding:0 28px;}
.container-blog{max-width:1100px;margin:0 auto;padding:0 28px;}

/* announcement bar */
.announce{background:var(--green);color:var(--cream);padding:8px 20px;text-align:center;font-size:13px;letter-spacing:.03em;}

/* header */
.site-header{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px;position:relative;z-index:20;}
.brand{cursor:pointer;display:flex;align-items:baseline;gap:8px;}
.brand-name{font-family:'Lora',serif;font-weight:700;font-size:26px;color:var(--green);}
.brand-tag{font-size:12px;color:var(--copper);letter-spacing:.08em;text-transform:uppercase;}
.nav-main{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:14px;font-weight:500;position:relative;}
.nav-main a{cursor:pointer;color:var(--brown);}
.nav-main a.active{color:var(--orange);}
.nav-dropdown{position:relative;}
.nav-dropdown-menu{position:absolute;top:26px;left:0;background:var(--card);border:1px solid var(--border);border-radius:4px;box-shadow:0 8px 20px rgba(43,54,47,.12);min-width:220px;padding:8px 0;display:none;flex-direction:column;z-index:30;}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown.open .nav-dropdown-menu{display:flex;}
.nav-dropdown-menu a{padding:9px 16px;color:#4A3627;}
.header-actions{display:flex;align-items:center;gap:14px;}
.account-link{cursor:pointer;font-size:14px;font-weight:500;color:var(--brown);}
.cart-link{cursor:pointer;position:relative;display:flex;align-items:center;gap:6px;background:var(--green);color:var(--cream);padding:9px 16px;border-radius:3px;font-size:14px;font-weight:600;}
.cart-badge{background:var(--orange);color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:11px;}
.nav-toggle{display:none;background:none;border:1px solid var(--border);border-radius:4px;padding:8px 10px;font-size:16px;}

@media (max-width:900px){
  .nav-toggle{display:block;}
  .nav-main{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:10px;order:3;}
  .nav-main.open{display:flex;}
  .nav-dropdown-menu{position:static;box-shadow:none;border:none;padding:4px 0 4px 12px;}
  .header-actions{margin-left:auto;}
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;border:none;padding:14px 26px;font-size:15px;font-weight:600;border-radius:3px;cursor:pointer;text-decoration:none;}
.btn-primary{background:var(--green);color:var(--cream);}
.btn-outline{background:transparent;color:var(--green);border:2px solid var(--green);padding:12px 24px;}
.btn-outline-brown{background:transparent;color:var(--brown);border:1px solid var(--brown);padding:9px 16px;border-radius:4px;font-size:13px;}
.btn-block{width:100%;}
.btn:disabled{opacity:.5;cursor:not-allowed;}

/* sections */
.section{padding:0 0 56px;}
.section-hero{display:flex;flex-wrap:wrap;align-items:center;gap:40px;padding:64px 0;}
.section-title-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px;flex-wrap:wrap;gap:10px;}
.section-title{font-size:26px;color:var(--green);}
.section-alt{background:var(--green-light);padding:56px 0;}
.section-dark{background:var(--green);color:var(--cream);padding:48px 0;}

/* photo placeholders now filled with real images */
.photo{background:var(--border);border-radius:6px;overflow:hidden;display:block;}
.photo img{width:100%;height:100%;object-fit:cover;}

/* grids */
.grid{display:grid;gap:18px;}
.grid-cats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;}
.grid-products{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.grid-products-fill{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;}
.grid-tags{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;}
.grid-gifts{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.grid-recipes{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;}
.grid-footer{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;}

/* category tile */
.cat-tile{cursor:pointer;background:var(--card);border:1px solid var(--border);border-radius:6px;overflow:hidden;}
.cat-tile .photo{height:110px;}
.cat-tile-label{padding:14px;font-weight:600;color:var(--green);}

/* product card */
.product-card{cursor:pointer;background:var(--card);border:1px solid var(--border);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;height:100%;}
.product-card .photo-wrap{position:relative;}
.product-card .photo{height:150px;}
.badge{position:absolute;font-size:10px;font-weight:700;padding:3px 7px;border-radius:3px;}
.badge-new{top:8px;left:8px;background:var(--gold);color:#2B2118;}
.badge-limited{top:8px;right:8px;background:var(--orange);color:#fff;}
.product-card-body{padding:14px;display:flex;flex-direction:column;gap:4px;flex:1;}
.product-cat{font-size:11px;color:var(--copper);font-weight:600;}
.product-name{font-weight:600;color:var(--green);font-size:15px;}
.product-spice{font-size:12px;color:var(--muted);}
.product-price-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px;}
.product-price{font-size:17px;font-weight:700;color:var(--orange);}
.product-lead{font-size:11px;color:var(--muted);}

/* recipe/blog card */
.card{cursor:pointer;background:var(--card);border:1px solid var(--border);border-radius:6px;overflow:hidden;}
.card .photo{height:140px;}
.card-body{padding:14px;}
.card-title{font-weight:600;color:var(--green);font-size:15px;}
.card-excerpt{font-size:13px;color:var(--muted);margin-top:6px;}
.card-date{font-size:11px;color:var(--copper);font-weight:600;}

/* gift card */
.gift-card{cursor:pointer;background:var(--card);border:1px solid var(--border);border-radius:6px;overflow:hidden;}
.gift-card .photo{height:160px;}
.gift-card-body{padding:16px;}
.gift-name{font-weight:600;color:var(--green);font-size:16px;}
.gift-contents{font-size:13px;color:var(--muted);margin-top:4px;}
.gift-meta{font-size:12px;color:var(--muted);margin-top:6px;}
.gift-price{font-size:20px;color:var(--orange);font-weight:700;margin-top:10px;}
.gift-lead{font-size:12px;color:var(--brown);margin-top:4px;}

/* dish tag tile */
.tag-tile{cursor:pointer;text-align:center;background:var(--card);border:1px solid var(--border);padding:14px 8px;border-radius:5px;font-size:14px;font-weight:500;color:var(--brown);}
.tag-tile:hover{border-color:var(--orange);}

/* forms */
.field{padding:11px;border:1px solid var(--border);border-radius:4px;font-size:14px;width:100%;background:var(--card);color:var(--ink);}
.field-row{display:flex;gap:12px;flex-wrap:wrap;}
.field-row > *{flex:1;min-width:200px;}
.form-col{display:flex;flex-direction:column;gap:12px;}
label.check{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--brown);cursor:pointer;}
.notice{background:var(--green-light);padding:20px;border-radius:6px;color:var(--green);}
.form-error{color:var(--orange);font-size:13px;}

/* catalog layout */
.catalog-layout{display:flex;gap:32px;flex-wrap:wrap;padding:32px 0 64px;}
.catalog-sidebar{width:230px;flex-shrink:0;}
.catalog-sidebar h3{font-size:15px;margin-bottom:10px;color:var(--green);}
.cat-list{display:flex;flex-direction:column;gap:4px;margin-bottom:24px;}
.cat-list a{cursor:pointer;padding:6px 8px;border-radius:4px;font-size:13.5px;color:var(--brown);}
.cat-list a.active{background:var(--green);color:var(--cream);}
.filter-check{display:flex;gap:6px;align-items:center;font-size:13.5px;color:var(--brown);cursor:pointer;}
.grind-row{display:flex;gap:6px;margin-bottom:24px;}
.grind-row button{flex:1;padding:6px;font-size:12.5px;border-radius:4px;border:1px solid var(--border);background:var(--card);}
.grind-row button.active{background:var(--green);color:var(--cream);}
.catalog-main{flex:1;min-width:280px;}
.result-count{color:var(--muted);font-size:13.5px;margin-bottom:18px;}
.no-results{color:var(--muted);padding:40px 0;text-align:center;}
.back-link{cursor:pointer;font-size:13px;color:var(--muted);}

/* product detail */
.pd-layout{display:flex;gap:40px;flex-wrap:wrap;margin-top:16px;}
.pd-media{flex:1;min-width:300px;}
.pd-hero{height:360px;}
.pd-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;}
.pd-thumbs .photo{height:80px;border-radius:5px;}
.pd-info{flex:1;min-width:300px;}
.pd-name{font-size:30px;color:var(--green);margin-top:10px;}
.pd-latin{font-style:italic;color:var(--muted);font-size:14px;margin-top:4px;}
.pd-price{font-size:26px;color:var(--orange);font-weight:700;margin-top:14px;}
.pd-perkg{font-size:12.5px;color:var(--muted);margin-top:2px;}
.pd-block-label{font-size:13px;font-weight:600;color:var(--brown);margin-bottom:8px;}
.pd-sizes{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px;}
.pd-size-btn{padding:9px 14px;border-radius:4px;border:1.5px solid var(--border);background:var(--card);color:var(--brown);font-size:13px;}
.pd-size-btn.active{border-color:var(--green);background:var(--green);color:var(--cream);}
.pd-grind{display:flex;gap:8px;margin-top:8px;}
.pd-grind-btn{padding:9px 16px;border-radius:4px;border:1.5px solid var(--border);background:var(--card);color:var(--brown);font-size:13px;}
.pd-grind-btn.active{border-color:var(--green);background:var(--green);color:var(--cream);}
.qty-row{margin-top:20px;display:flex;align-items:center;gap:14px;}
.qty-box{display:flex;align-items:center;border:1px solid var(--border);border-radius:4px;}
.qty-box button{padding:8px 14px;background:none;border:none;font-size:16px;}
.pd-add{flex:1;background:var(--green);color:var(--cream);border:none;padding:13px 20px;border-radius:4px;font-size:14.5px;font-weight:600;}
.pd-added{color:var(--green);font-size:13px;margin-top:8px;}
.pd-lead-box{margin-top:22px;padding:14px;background:var(--green-light);border-radius:5px;font-size:13px;color:var(--brown);}
.pd-specs{margin-top:26px;display:flex;flex-direction:column;gap:10px;font-size:13.5px;color:var(--brown);border-top:1px solid var(--border);padding-top:18px;}

/* cart */
.cart-item{display:flex;gap:16px;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:6px;padding:14px;flex-wrap:wrap;}
.cart-item .photo{width:64px;height:64px;border-radius:5px;flex-shrink:0;}
.cart-item-name{font-weight:600;color:var(--green);font-size:14.5px;}
.cart-item-meta{font-size:12.5px;color:var(--muted);margin-top:2px;}
.cart-summary{width:280px;background:var(--green-light);padding:18px;border-radius:6px;margin-left:auto;}
.cart-summary-row{display:flex;justify-content:space-between;font-size:14px;color:var(--brown);margin-bottom:8px;}
.cart-summary-total{display:flex;justify-content:space-between;font-size:17px;font-weight:700;color:var(--green);border-top:1px solid #D8CBAA;padding-top:10px;}

/* checkout */
.checkout-steps{display:flex;gap:8px;margin:18px 0 30px;}
.checkout-steps > div{flex:1;height:4px;border-radius:2px;background:var(--border);}
.checkout-steps > div.done{background:var(--green);}
.ship-method{display:flex;justify-content:space-between;padding:12px;border:1.5px solid var(--border);background:var(--card);border-radius:5px;margin-bottom:8px;cursor:pointer;font-size:14px;}
.ship-method.active{border-color:var(--green);background:var(--green-light);}
.pay-method{display:block;padding:14px;border:1.5px solid var(--border);background:var(--card);border-radius:5px;margin-bottom:10px;cursor:pointer;}
.pay-method.active{border-color:var(--green);background:var(--green-light);}
.pay-method-title{font-weight:600;color:var(--green);font-size:14.5px;}
.pay-method-desc{font-size:12.5px;color:var(--muted);margin-top:2px;}
.order-summary{margin-top:22px;background:var(--green-light);border-radius:6px;padding:18px;}
.order-summary-row{display:flex;justify-content:space-between;font-size:13.5px;color:var(--brown);margin-bottom:6px;}
.order-confirm{text-align:center;padding:40px 0;}
.order-confirm .check{font-size:44px;}

/* faq */
.faq-item{border-bottom:1px solid var(--border);}
.faq-q{cursor:pointer;padding:16px 4px;display:flex;justify-content:space-between;align-items:center;font-weight:600;color:var(--green);font-size:15px;background:none;border:none;width:100%;text-align:left;}
.faq-a{padding:0 4px 16px;color:var(--brown);font-size:14.5px;line-height:1.7;display:none;}
.faq-item.open .faq-a{display:block;}

/* legal */
.legal-layout{display:flex;gap:32px;flex-wrap:wrap;padding:40px 0 64px;}
.legal-nav{width:230px;flex-shrink:0;display:flex;flex-direction:column;gap:2px;}
.legal-nav a{display:block;padding:8px;font-size:13px;border-radius:4px;color:var(--brown);}
.legal-nav a.active{background:var(--green);color:var(--cream);}
.legal-body{flex:1;min-width:280px;}
.legal-body p{margin:0 0 12px;line-height:1.85;font-size:14px;color:var(--brown-dark);}

/* account */
.tabs-row{display:flex;gap:8px;margin-bottom:20px;}
.tab-btn{flex:1;padding:10px;border-radius:4px;border:1px solid var(--border);background:var(--card);color:var(--brown);font-weight:600;}
.tab-btn.active{background:var(--green);color:var(--cream);}

/* footer */
.site-footer{background:var(--green);color:var(--footer-text);padding:48px 28px 24px;margin-top:auto;}
.footer-brand{font-family:'Lora',serif;font-weight:700;font-size:20px;color:var(--cream);}
.footer-col-title{font-weight:600;color:var(--cream);font-size:13px;margin-bottom:10px;}
.footer-links{display:flex;flex-direction:column;gap:6px;font-size:13px;}
.footer-links a{color:var(--footer-text);}
.footer-bottom{max-width:1280px;margin:24px auto 0;border-top:1px solid var(--footer-border);padding-top:16px;font-size:12px;color:var(--footer-muted);}

/* cookie banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:2px solid var(--green);padding:18px 24px;z-index:100;box-shadow:0 -6px 20px rgba(0,0,0,.12);}
.cookie-row{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.cookie-row p{font-size:13px;color:var(--brown);flex:1;min-width:240px;margin:0;}
.cookie-actions{display:flex;gap:8px;flex-wrap:wrap;}
.cookie-btn{padding:10px 16px;border-radius:4px;border:1px solid var(--brown);background:transparent;color:var(--brown);font-size:13px;}
.cookie-btn.primary{border:none;background:var(--green);color:var(--cream);font-weight:600;padding:10px 18px;}
.cookie-custom{max-width:600px;margin:0 auto;}
.cookie-custom label{display:flex;justify-content:space-between;padding:8px 0;font-size:13px;color:var(--brown);}
.cookie-reopen{position:fixed;bottom:16px;left:16px;background:var(--card);border:1px solid var(--border);border-radius:20px;padding:8px 14px;font-size:11.5px;color:var(--brown);cursor:pointer;z-index:90;}

.stat-block h3{font-size:20px;color:var(--green);margin-bottom:10px;}
.stat-block p{line-height:1.6;color:var(--brown);font-size:15px;}
.dark-block h3{font-size:18px;margin-bottom:8px;}
.dark-block p{font-size:14px;line-height:1.6;color:#D8CFB8;}

.prose{font-size:15.5px;line-height:1.85;color:var(--brown-dark);display:flex;flex-direction:column;gap:14px;}
.prose p{margin:0;}

@media (max-width:640px){
  .cart-summary{width:100%;}
  .section-hero{padding:40px 0;}
}
