@import url("/assets/fonts/fonts.css");

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:'Manrope',sans-serif;-webkit-font-smoothing:antialiased;background:#F7F1E7;color:#2A2724;min-height:100vh;}
a{color:#33463A;text-decoration:none;}
a:hover{color:#C97A3D;}
button{font-family:'Manrope',sans-serif;}
input,textarea{font-family:'Manrope',sans-serif;}
::placeholder{color:#a39c8b;}
img{max-width:100%;display:block;}
h1,h2,h3{font-family:'Newsreader',serif;}

.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,48px);}
.wrap-narrow{max-width:1000px;margin:0 auto;padding:0 clamp(20px,4vw,48px);}
.wrap-article{max-width:760px;margin:0 auto;padding:clamp(48px,7vw,80px) clamp(20px,4vw,48px);}
.wrap-legal{max-width:720px;margin:0 auto;padding:clamp(48px,7vw,80px) clamp(20px,4vw,48px);}
.wrap-contact{max-width:640px;margin:0 auto;padding:clamp(48px,7vw,80px) clamp(20px,4vw,48px);}

/* ---- Cookie banner ---- */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:200;background:#2A2724;color:#F7F1E7;padding:18px clamp(20px,4vw,48px);display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;}
.cookie-banner.hidden{display:none;}
.cookie-banner p{font-size:14px;line-height:1.5;max-width:640px;margin:0;}
.cookie-banner a{color:#E3C08A;text-decoration:underline;cursor:pointer;}
.btn-cookie-decline{background:transparent;color:#F7F1E7;border:1px solid #6b6459;border-radius:100px;padding:10px 18px;font-size:14px;cursor:pointer;}
.btn-cookie-accept{background:#C97A3D;color:#2A2724;border:none;border-radius:100px;padding:10px 20px;font-size:14px;font-weight:700;cursor:pointer;}

/* ---- Order confirmation modal ---- */
.modal-overlay{position:fixed;inset:0;z-index:300;background:rgba(42,39,36,0.55);display:none;align-items:center;justify-content:center;padding:20px;}
.modal-overlay.open{display:flex;}
.modal-box{background:#FDFBF6;border-radius:20px;padding:36px;max-width:420px;text-align:center;}
.modal-box h3{font-size:26px;margin:0 0 12px;}
.modal-box p{font-size:15px;line-height:1.6;color:#5b564c;margin:0 0 24px;}
.modal-actions{display:flex;gap:10px;justify-content:center;}
.btn-dark{background:#33463A;color:#fff;border:none;border-radius:100px;padding:12px 22px;font-size:14px;font-weight:600;cursor:pointer;}
.btn-outline{background:transparent;color:#33463A;border:1px solid #33463A;border-radius:100px;padding:12px 22px;font-size:14px;font-weight:600;cursor:pointer;}

/* ---- Search modal ---- */
.search-overlay{position:fixed;inset:0;z-index:250;background:rgba(42,39,36,0.5);display:none;justify-content:center;padding:80px 20px;}
.search-overlay.open{display:flex;}
.search-box{background:#FDFBF6;border-radius:20px;padding:28px;max-width:560px;width:100%;max-height:70vh;overflow:auto;}
.search-box-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.search-box-head h3{font-size:20px;margin:0;}
.icon-btn{background:none;border:none;font-size:22px;cursor:pointer;color:#2A2724;}
#searchInput{width:100%;padding:14px 16px;border-radius:12px;border:1px solid #E4DCC8;font-size:16px;margin-bottom:16px;outline:none;}
#searchResults{display:flex;flex-direction:column;gap:4px;}
.search-result{padding:12px 14px;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;gap:12px;}
.search-result:hover{background:#F0E9D8;}
.search-result span:first-child{font-size:15px;}
.search-result span:last-child{font-size:12px;color:#8a8371;text-transform:uppercase;letter-spacing:0.5px;}
.search-empty{color:#8a8371;font-size:14px;padding:8px;}

/* ---- Cart drawer ---- */
.cart-overlay{position:fixed;inset:0;z-index:260;background:rgba(42,39,36,0.5);display:none;justify-content:flex-end;}
.cart-overlay.open{display:flex;}
.cart-drawer{background:#FDFBF6;width:min(420px,100%);height:100%;overflow:auto;padding:28px;}
.cart-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.cart-head h3{font-size:22px;margin:0;}
.cart-items{display:flex;flex-direction:column;gap:16px;}
.cart-item{display:flex;gap:12px;align-items:center;border-bottom:1px solid #EDE5D3;padding-bottom:14px;}
.cart-item .swatch{width:52px;height:52px;border-radius:10px;flex-shrink:0;background-size:cover;background-position:center;}
.cart-item-info{flex:1;min-width:0;}
.cart-item-info .name{font-size:14px;font-weight:600;margin-bottom:4px;}
.cart-item-info .meta{font-size:12px;color:#8a8371;}
.qty-row{display:flex;align-items:center;gap:8px;margin-top:6px;}
.qty-btn{width:26px;height:26px;border-radius:50%;border:1px solid #E4DCC8;background:#fff;cursor:pointer;}
.cart-item .line-total{font-size:14px;font-weight:700;white-space:nowrap;}
.cart-total-row{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:16px;font-weight:700;}
.cart-note{font-size:12px;color:#8a8371;line-height:1.5;margin:14px 0;}
.btn-full{width:100%;background:#33463A;color:#fff;border:none;border-radius:100px;padding:15px;font-size:15px;font-weight:700;cursor:pointer;}
.cart-empty{color:#8a8371;font-size:14px;padding:20px 0;}

/* ---- Mobile nav ---- */
.mobile-overlay{position:fixed;inset:0;z-index:220;background:#FDFBF6;padding:24px;overflow:auto;display:none;}
.mobile-overlay.open{display:block;}
.mobile-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;}
.mobile-head .logo{font-family:'Newsreader',serif;font-size:24px;font-weight:600;color:#33463A;}
.mobile-links{display:flex;flex-direction:column;gap:6px;}
.mobile-links a{font-size:20px;padding:12px 4px;border-bottom:1px solid #EDE5D3;color:#2A2724;font-family:'Newsreader',serif;}
.mobile-links a:last-child{border-bottom:none;}

/* ---- Header ---- */
header.site-header{position:sticky;top:0;z-index:100;background:#FDFBF6;border-bottom:1px solid #E9E1CE;}
.header-inner{max-width:1280px;margin:0 auto;padding:14px clamp(20px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:16px;}
.logo-link{cursor:pointer;font-family:'Newsreader',serif;font-weight:600;font-size:25px;letter-spacing:0.3px;color:#33463A;}
nav.main-nav{display:flex;gap:clamp(8px,1.6vw,22px);align-items:center;flex-wrap:wrap;justify-content:center;}
nav.main-nav a{font-size:14.5px;color:#2A2724;font-weight:500;white-space:nowrap;}
nav.main-nav a.active{color:#C97A3D;}
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.btn-ghost{background:transparent;border:1px solid #E4DCC8;border-radius:100px;padding:9px 16px;font-size:13.5px;color:#2A2724;cursor:pointer;position:relative;}
.btn-solid{background:#33463A;color:#FDFBF6;border:none;border-radius:100px;padding:9px 18px;font-size:13.5px;font-weight:600;cursor:pointer;}
.cart-badge{position:absolute;top:-6px;right:-6px;background:#C97A3D;color:#fff;font-size:10.5px;font-weight:700;border-radius:50%;width:19px;height:19px;display:flex;align-items:center;justify-content:center;}
.cart-badge.hidden{display:none;}
.hamburger{width:40px;height:40px;border-radius:10px;border:1px solid #E4DCC8;background:#fff;display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;}
.hamburger span{width:18px;height:2px;background:#2A2724;}

@media (max-width: 899px){
  nav.main-nav{display:none;}
  .hamburger{display:flex;}
}

/* ---- Hero ---- */
.hero{padding:clamp(40px,8vw,88px) 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:center;}
.hero .eyebrow{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#C97A3D;font-weight:700;margin-bottom:16px;}
.hero h1{font-size:clamp(38px,5.5vw,62px);line-height:1.06;color:#2A2724;margin:0 0 22px;}
.hero p{font-size:18px;line-height:1.6;color:#5b564c;max-width:480px;margin:0 0 32px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.btn-primary{background:#33463A;color:#FDFBF6;border:none;padding:16px 30px;border-radius:100px;font-size:16px;font-weight:600;cursor:pointer;}
.btn-secondary{background:transparent;color:#33463A;border:1.5px solid #33463A;padding:16px 30px;border-radius:100px;font-size:16px;font-weight:600;cursor:pointer;}
.hero-photo{aspect-ratio:4/5;border-radius:28px;overflow:hidden;background-size:cover;background-position:center;}

/* ---- Page header (non-home) ---- */
.page-head{padding:clamp(48px,7vw,72px) 0 24px;text-align:center;}
.page-head h1{font-size:clamp(32px,5vw,48px);margin:0 0 14px;}
.page-head p{color:#5b564c;font-size:17px;line-height:1.6;margin:0 auto;max-width:640px;}

/* ---- Generic sections ---- */
section{padding:clamp(48px,7vw,80px) 0;}
section.tight{padding-top:0;padding-bottom:56px;}
section.bg-panel{background:#FDFBF6;}
section.bg-dark{background:#2A2724;color:#F7F1E7;}
.section-head{text-align:center;margin-bottom:40px;}
.section-head h2{font-size:clamp(28px,4vw,40px);margin:0 0 12px;}
.section-head p{color:#5b564c;font-size:16px;max-width:560px;margin:0 auto;}
.bg-dark .section-head h2{color:#FDFBF6;}
.bg-dark .section-head p{color:#c9c2b3;}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
.grid.g-18{gap:18px;}
.grid.g-16{gap:16px;}
.grid.min260{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.grid.min280{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.grid.min200{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
.grid.min180{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.grid.min240{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}

.card{background:#F7F1E7;border-radius:18px;padding:26px;}
.card.panel{background:#FDFBF6;}
.card h3{font-weight:700;font-size:16px;margin:0 0 8px;font-family:'Manrope',sans-serif;}
.card p{font-size:14px;color:#5b564c;line-height:1.5;margin:0;}

.flow{max-width:1000px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;font-family:'Newsreader',serif;font-size:clamp(18px,2.4vw,26px);color:#33463A;}
.flow .arrow{color:#C97A3D;}

.combo-card{border-radius:16px;padding:22px;border:1px solid #E9E1CE;text-align:center;background:#fff;}
.combo-card.transparent{background:transparent;}
.combo-card .dot{width:10px;height:10px;border-radius:50%;margin:0 auto 12px;}
.combo-card .names{font-family:'Newsreader',serif;font-size:17px;}
.combo-card .label{font-size:11px;color:#8a8371;text-transform:uppercase;letter-spacing:0.5px;margin-top:8px;}

.color-card{border-radius:16px;overflow:hidden;background:#33302b;}
.color-card .swatch{height:96px;}
.color-card .body{padding:16px;}
.color-card .name{font-weight:700;font-size:15px;margin-bottom:6px;}
.color-card .list{font-size:13px;color:#c9c2b3;line-height:1.5;}

.promo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;}
.promo-card{border-radius:20px;padding:32px;background:#FDFBF6;}
.promo-card.dark{background:#33463A;color:#fff;}
.promo-eyebrow{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;margin-bottom:10px;}
.promo-title{font-family:'Newsreader',serif;font-size:22px;margin-bottom:12px;}
.promo-card p{font-size:14px;line-height:1.5;margin:0 0 18px;color:#5b564c;}
.promo-card.dark p{color:#dcd6c8;}
.teaser-list{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.teaser-list div{font-size:14px;color:#5b564c;border-bottom:1px solid #EDE5D3;padding-bottom:8px;}

.veg-card{background:#FDFBF6;border-radius:18px;overflow:hidden;}
.veg-card .stripe{height:10px;}
.veg-card .body{padding:22px;}
.veg-card .name{font-family:'Newsreader',serif;font-size:20px;margin-bottom:12px;}
.veg-card .facts{display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:#5b564c;line-height:1.5;}
.veg-card .facts b{color:#2A2724;}

.idea-card{background:#F7F1E7;border-radius:18px;padding:26px;}
.idea-card .head{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.idea-card .dot{width:10px;height:10px;border-radius:50%;}
.idea-card .veg-name{font-family:'Newsreader',serif;font-size:19px;}
.idea-card .items{display:flex;flex-direction:column;gap:8px;}
.idea-card .items div{font-size:14.5px;color:#2A2724;padding:8px 12px;background:#fff;border-radius:10px;}

.flavor-card{background:#FDFBF6;border-radius:18px;overflow:hidden;}
.flavor-card .band{height:64px;}
.flavor-card .body{padding:20px;}
.flavor-card .name{font-family:'Newsreader',serif;font-size:19px;margin-bottom:8px;}
.flavor-card .examples{font-size:13.5px;color:#5b564c;}

.recipe-cats{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding-bottom:20px;}
.recipe-cats button{display:inline-block;border:1px solid #33463A;border-radius:100px;padding:9px 18px;font-size:13.5px;font-weight:600;background:#fff;color:#33463A;cursor:pointer;font-family:'Manrope',sans-serif;}
.recipe-cats button.active{background:#33463A;color:#FDFBF6;}
.recipe-card.hidden{display:none;}

.recipe-card{background:#FDFBF6;border-radius:18px;overflow:hidden;}
.recipe-card .photo{aspect-ratio:4/3;background-size:cover;background-position:center;}
.recipe-card .body{padding:20px;}
.recipe-card .cat{font-size:11px;text-transform:uppercase;letter-spacing:0.5px;font-weight:700;margin-bottom:8px;}
.recipe-card .title{font-family:'Newsreader',serif;font-size:18px;margin-bottom:8px;}
.recipe-card .desc{font-size:13.5px;color:#5b564c;line-height:1.5;}

.pairing-card{background:#F7F1E7;border-radius:16px;padding:22px;text-align:center;}
.pairing-card .dish{font-weight:700;font-size:15px;margin-bottom:6px;}
.pairing-card .plus{color:#C97A3D;font-size:14px;margin-bottom:6px;}
.pairing-card .drink{font-size:15px;}

.season-card{background:#fff;border-radius:18px;padding:24px;}
.season-card .name{font-family:'Newsreader',serif;font-size:20px;margin-bottom:12px;}
.season-card .facts{font-size:13.5px;color:#5b564c;line-height:1.6;display:flex;flex-direction:column;gap:6px;}
.season-card .facts b{color:#2A2724;}

.article-card{background:#FDFBF6;border-radius:18px;padding:24px;}
.article-card .cat{font-size:11px;text-transform:uppercase;letter-spacing:0.5px;color:#C97A3D;font-weight:700;margin-bottom:10px;}
.article-card .title{font-family:'Newsreader',serif;font-size:19px;margin-bottom:10px;line-height:1.3;}
.article-card .excerpt{font-size:14px;color:#5b564c;line-height:1.5;}

.process-row{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid #EDE5D3;align-items:flex-start;}
.process-row .num{width:34px;height:34px;border-radius:50%;background:#33463A;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;}
.process-row .title{font-weight:700;font-size:15px;margin-bottom:4px;}
.process-row .desc{font-size:14px;color:#5b564c;line-height:1.5;}

.qa-item{border-bottom:1px solid #EDE5D3;padding-bottom:16px;}
.qa-item .q{font-weight:700;font-size:16px;margin-bottom:6px;color:#33463A;}
.qa-item .a{font-size:14.5px;color:#5b564c;line-height:1.6;}

.faq-item{background:#FDFBF6;border-radius:14px;overflow:hidden;}
.faq-item summary{padding:18px 22px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:600;font-size:15.5px;list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';color:#C97A3D;flex-shrink:0;font-size:20px;}
.faq-item[open] summary::after{content:'−';}
.faq-item .a{padding:0 22px 20px;font-size:14.5px;color:#5b564c;line-height:1.6;}
.faq-list{display:flex;flex-direction:column;gap:10px;}

.shop-note{color:#5b564c;font-size:16px;line-height:1.6;}
.product-card{background:#FDFBF6;border-radius:18px;overflow:hidden;}
.product-card .photo{aspect-ratio:1;background-size:cover;background-position:center;}
.product-card .body{padding:20px;}
.product-card .name{font-weight:700;font-size:15px;margin-bottom:6px;}
.product-card .vol{font-size:13px;color:#8a8371;margin-bottom:14px;}
.product-card .row{display:flex;justify-content:space-between;align-items:center;}
.product-card .price{font-size:16px;font-weight:700;}
.btn-add{background:#33463A;color:#fff;border:none;border-radius:100px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;}

.legal-box{background:#FDFBF6;border-radius:18px;padding:28px;}
.legal-box .head{font-weight:700;font-size:15px;margin-bottom:14px;}
.legal-box .body{font-size:14.5px;color:#5b564c;line-height:1.7;}
.legal-content p{font-size:15px;color:#3f3b34;line-height:1.8;}
.legal-content h1{margin:0 0 24px;font-size:clamp(30px,4.6vw,40px);}

.about-content p{font-size:16.5px;line-height:1.75;color:#3f3b34;margin:0 0 18px;}
.about-content h1{margin:0 0 24px;font-size:clamp(32px,5vw,46px);}

.contact-form{display:flex;flex-direction:column;gap:16px;}
.form-group label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px;}
.form-group input, .form-group textarea{width:100%;padding:13px 15px;border-radius:10px;border:1px solid #E4DCC8;font-size:15px;outline:none;}
.form-group textarea{resize:vertical;}
.form-success{background:#FDFBF6;border-radius:16px;padding:24px;font-size:15px;color:#33463A;}
.form-error{background:#fbe4df;border-radius:16px;padding:16px 20px;font-size:14px;color:#7C3341;margin-bottom:16px;}

/* ---- Footer ---- */
footer.site-footer{background:#2A2724;color:#c9c2b3;padding:clamp(48px,6vw,72px) 0 32px;}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:36px;}
.footer-brand .logo{font-family:'Newsreader',serif;font-size:22px;color:#FDFBF6;margin-bottom:10px;}
.footer-brand .tagline{font-size:14px;line-height:1.6;}
.footer-col{display:flex;flex-direction:column;gap:10px;font-size:14px;}
.footer-col a{color:#c9c2b3;}
.footer-bottom{max-width:1240px;margin:36px auto 0;padding:24px clamp(20px,4vw,48px) 0;border-top:1px solid #423e37;font-size:12.5px;color:#8a8371;line-height:1.7;}

.skip-link{position:absolute;left:-9999px;top:0;background:#33463A;color:#fff;padding:10px 16px;border-radius:0 0 8px 0;z-index:400;}
.skip-link:focus{left:0;}
