@import url("fonts.css");

:root{
  --bg:#F7F1E6;
  --bg-strip:#F1E9D9;
  --bg-tile:#EFE3C8;
  --surface:#FFFFFF;
  --ink:#2B2B28;
  --ink-soft:#4A4A44;
  --muted:#6A6A62;
  --muted2:#8A8A80;
  --border:#E4D9C3;
  --border2:#EDE3CC;
  --accent:#C1694A;
  --olive:#767A45;
  --sage:#8FA07E;
  --footer:#2B2B28;
  --footer-text:#D8CFBB;
  --footer-muted:#8A8272;
  --footer-border:#454540;
  --old-price:#B0A88E;
  --header-bar:#2B2B28;
  --header-bar-text:#EFE6D6;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:'Work Sans',-apple-system,'Segoe UI',Roboto,sans-serif;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent);text-decoration:underline;}
img{max-width:100%;display:block;}
input,select,textarea,button{font-family:'Work Sans',sans-serif;}
h1,h2,h3{font-family:'Lora',Georgia,'Times New Roman',serif;margin:0;}
main{flex:1;}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px;}
.wrap-narrow{max-width:1100px;margin:0 auto;padding:0 24px;}
.wrap-md{max-width:1000px;margin:0 auto;padding:0 24px;}
.wrap-sm{max-width:760px;margin:0 auto;padding:0 24px;}
.wrap-xs{max-width:640px;margin:0 auto;padding:0 24px;}
.visually-hidden{position:absolute;left:-9999px;}

/* Top bar */
.topbar{background:var(--header-bar);color:var(--header-bar-text);font-size:12px;padding:6px 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;}
.topbar .left{display:flex;gap:16px;flex-wrap:wrap;}
.topbar .right{display:flex;gap:12px;}

/* Header */
header.site{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;}
.header-row{max-width:1280px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.logo{cursor:pointer;font-family:'Lora',serif;font-weight:700;font-size:26px;letter-spacing:0.5px;color:#6B4A34;}
nav.desktop-nav{display:flex;gap:16px;font-size:14px;font-weight:500;flex-wrap:wrap;white-space:nowrap;}
nav.desktop-nav a{color:var(--ink);cursor:pointer;}
nav.desktop-nav a:hover{color:var(--accent);}
.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.search-box input{border:1px solid var(--border);border-radius:20px;padding:7px 12px;font-size:13px;width:130px;background:var(--bg);}
.header-actions .link{cursor:pointer;font-size:13px;color:var(--ink);}
.badge-count{background:var(--accent);color:#fff;border-radius:10px;padding:1px 6px;font-size:11px;margin-left:2px;}
.cart-link{cursor:pointer;font-size:13px;font-weight:600;color:var(--ink);}
.cart-count{background:var(--olive);color:#fff;border-radius:10px;padding:1px 6px;font-size:11px;}
.menu-toggle{cursor:pointer;font-size:20px;background:none;border:none;color:var(--ink);display:none;}
.mobile-nav{border-top:1px solid var(--border);padding:12px 24px;display:none;flex-direction:column;gap:10px;font-size:15px;}
.mobile-nav.open{display:flex;}
.mobile-nav input{border:1px solid var(--border);border-radius:20px;padding:8px 14px;font-size:13px;background:var(--bg);margin-bottom:6px;}
.mobile-nav a{color:var(--ink);cursor:pointer;}
@media (max-width:900px){
  nav.desktop-nav{display:none;}
  .menu-toggle{display:block;}
  .search-box{display:none;}
}

.cat-strip{background:var(--bg-strip);overflow-x:auto;white-space:nowrap;padding:9px 24px;font-size:13px;font-weight:500;}
.cat-strip a{cursor:pointer;margin-right:22px;color:#4A4A44;}
.cat-strip a:hover{color:var(--accent);}

/* Cookie banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--footer);color:var(--header-bar-text);padding:18px 24px;z-index:200;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;}
.cookie-banner p{max-width:640px;font-size:13px;line-height:1.5;margin:0;}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.btn-ghost-dark{background:transparent;border:1px solid #8A8A80;color:var(--header-bar-text);border-radius:20px;padding:9px 16px;font-size:13px;cursor:pointer;}
.btn-accent-sm{background:var(--accent);border:none;color:#fff;border-radius:20px;padding:9px 18px;font-size:13px;cursor:pointer;font-weight:600;}

.cookie-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.4);display:none;align-items:center;justify-content:center;z-index:300;padding:20px;}
.cookie-modal-backdrop.open{display:flex;}
.cookie-modal{background:#fff;border-radius:12px;max-width:460px;width:100%;padding:28px;}
.cookie-modal h3{font-size:19px;font-weight:600;margin-bottom:14px;}
.cookie-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border2);}
.cookie-row:last-of-type{border-bottom:none;}
.cookie-row .label{font-weight:600;font-size:14px;}
.cookie-row .sub{font-size:12px;color:#767A6A;}
.btn-save-cookies{margin-top:16px;width:100%;background:var(--olive);color:#fff;border:none;border-radius:20px;padding:11px;font-size:14px;font-weight:600;cursor:pointer;}

.toast{position:fixed;top:80px;right:24px;background:var(--footer);color:#fff;padding:12px 20px;border-radius:8px;font-size:13px;z-index:400;display:none;}
.toast.show{display:block;}

/* Buttons */
.btn{display:inline-block;border:none;border-radius:24px;padding:14px 28px;font-size:15px;font-weight:600;cursor:pointer;text-align:center;}
.btn-accent{background:var(--accent);color:#fff;}
.btn-outline{background:transparent;color:var(--ink);border:1px solid var(--ink);}
.btn-olive{background:var(--olive);color:#fff;}
.btn-border{background:transparent;color:var(--ink);border:1px solid var(--border);}
.btn-block{width:100%;}
.btn-sm{padding:10px 16px;font-size:13px;border-radius:20px;}

/* Hero */
.hero{background:var(--bg-strip);padding:72px 24px;}
.hero-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;}
.hero h1{font-size:44px;line-height:1.15;margin:0 0 18px;color:var(--ink);}
.hero p{font-size:17px;line-height:1.6;color:var(--ink-soft);margin:0 0 28px;max-width:460px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-photo{aspect-ratio:4/3;border-radius:16px;overflow:hidden;}
.hero-photo img{width:100%;height:100%;object-fit:cover;}
@media (max-width:800px){ .hero-grid{grid-template-columns:1fr;} .hero h1{font-size:32px;} }

/* Sections */
.section{padding:64px 24px;max-width:1280px;margin:0 auto;}
.section-white{background:#fff;}
.section-tan{background:#EFE3C8;}
.section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:24px;flex-wrap:wrap;gap:10px;}
.section h2{font-size:26px;}
.section-title-center{font-size:28px;text-align:center;margin:0 0 36px;}

.grid{display:grid;gap:20px;}
.grid-cats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;}
.grid-products{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}

/* Category tile */
.cat-tile{cursor:pointer;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--border2);}
.cat-tile .photo{aspect-ratio:1/1;overflow:hidden;}
.cat-tile .photo img{width:100%;height:100%;object-fit:cover;}
.cat-tile .label{padding:12px 14px;font-size:14px;font-weight:600;}

/* Product card */
.product-card{background:#fff;border:1px solid var(--border2);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;height:100%;}
.product-card .photo{cursor:pointer;aspect-ratio:1/1;position:relative;overflow:hidden;}
.product-card .photo img{width:100%;height:100%;object-fit:cover;}
.product-card .badge{position:absolute;top:8px;left:8px;background:var(--olive);color:#fff;font-size:10px;padding:3px 8px;border-radius:10px;}
.product-card .wish{position:absolute;top:8px;right:8px;background:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:14px;cursor:pointer;border:none;}
.product-card .body{cursor:pointer;padding:14px;flex:1;display:flex;flex-direction:column;}
.product-card .sub{font-size:11px;color:var(--sage);font-weight:600;margin-bottom:4px;}
.product-card .name{font-weight:600;font-size:14px;margin-bottom:6px;flex:1;}
.product-card .price-row{display:flex;align-items:baseline;gap:8px;margin-bottom:2px;}
.product-card .price{font-size:16px;font-weight:700;color:var(--accent);}
.product-card .old-price{font-size:12px;color:var(--old-price);text-decoration:line-through;}
.product-card .unit{font-size:11px;color:var(--muted2);margin-bottom:10px;}
.product-card .add-btn{margin:0 14px 14px;background:var(--olive);color:#fff;border:none;border-radius:20px;padding:10px;font-size:13px;font-weight:600;cursor:pointer;}

/* Feature cards */
.feature-card{background:var(--bg);border-radius:12px;padding:22px;}
.feature-card .title{font-weight:600;font-size:15px;margin-bottom:8px;}
.feature-card p{font-size:13px;color:var(--muted);margin:0 0 14px;}
.feature-card a{font-size:13px;font-weight:600;cursor:pointer;}

/* Gift tile (home preview + gifts grid) */
.gift-tile{cursor:pointer;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--border2);}
.gift-tile .photo{aspect-ratio:4/3;overflow:hidden;}
.gift-tile .photo img{width:100%;height:100%;object-fit:cover;}
.gift-tile .body{padding:14px;}
.gift-tile .name{font-weight:600;font-size:15px;margin-bottom:6px;}
.gift-tile .price{font-size:15px;font-weight:700;color:var(--accent);margin-bottom:6px;}
.gift-tile .avail{font-size:12px;color:var(--muted2);}

/* Recipe/article card */
.recipe-card{cursor:pointer;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--border2);}
.recipe-card .photo{aspect-ratio:16/10;overflow:hidden;}
.recipe-card .photo img{width:100%;height:100%;object-fit:cover;}
.recipe-card .body{padding:16px;}
.recipe-card .cat{font-size:12px;color:var(--sage);font-weight:600;margin-bottom:6px;}
.recipe-card .title{font-weight:600;font-size:15px;}

.article-card{cursor:pointer;background:#fff;border-radius:12px;padding:20px;border:1px solid var(--border2);}
.article-card .title{font-weight:600;font-size:16px;margin-bottom:8px;}
.article-card .excerpt{font-size:13px;color:var(--muted);line-height:1.5;}

/* Newsletter */
.newsletter{background:#fff;padding:24px 24px 72px;}
.newsletter .box{max-width:640px;margin:0 auto;text-align:center;}
.newsletter h2{font-size:24px;margin:0 0 10px;}
.newsletter p{font-size:14px;color:var(--muted);margin:0 0 20px;}
.newsletter form{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.newsletter input[type=email]{flex:1;min-width:200px;border:1px solid var(--border);border-radius:20px;padding:11px 16px;font-size:14px;}
.newsletter button{background:var(--olive);color:#fff;border:none;border-radius:20px;padding:11px 22px;font-size:14px;font-weight:600;cursor:pointer;}

/* Shop layout */
.shop-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;}
.shop-sidebar{display:flex;flex-direction:column;gap:18px;}
.shop-sidebar .group-title{font-weight:600;font-size:13px;margin-bottom:10px;}
.shop-sidebar .links{display:flex;flex-direction:column;gap:6px;}
.shop-sidebar .links a{cursor:pointer;font-size:13px;color:var(--muted);}
.shop-sidebar .links a.active{color:var(--accent);font-weight:600;}
.shop-sidebar .plain{font-size:13px;color:var(--muted);}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:10px;}
.shop-toolbar .count{font-size:13px;color:var(--muted);}
.shop-toolbar select{border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;}
.breadcrumb{font-size:12px;color:var(--muted2);margin-bottom:8px;}
.empty-state{padding:60px 0;text-align:center;color:var(--muted2);font-size:14px;}
@media (max-width:760px){ .shop-layout{grid-template-columns:1fr;} }

/* Product detail */
.product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;}
.product-detail .photo{aspect-ratio:1/1;border-radius:14px;overflow:hidden;}
.product-detail .photo img{width:100%;height:100%;object-fit:cover;}
.product-detail .brand{font-size:12px;color:var(--sage);font-weight:600;margin-bottom:6px;}
.product-detail h1{font-size:28px;margin:0 0 10px;}
.product-detail .badges{display:flex;gap:8px;margin-bottom:16px;}
.product-detail .badge{background:var(--olive);color:#fff;font-size:11px;padding:3px 9px;border-radius:12px;}
.product-detail .price-row{display:flex;align-items:baseline;gap:10px;margin-bottom:6px;}
.product-detail .price{font-size:26px;font-weight:700;color:var(--accent);}
.product-detail .old-price{font-size:15px;color:var(--old-price);text-decoration:line-through;}
.product-detail .meta{font-size:12px;color:var(--muted2);margin-bottom:20px;}
.product-detail .buy-row{display:flex;gap:12px;align-items:center;margin-bottom:14px;}
.product-detail .buy-row input{width:70px;border:1px solid var(--border);border-radius:8px;padding:10px;font-size:14px;}
.product-detail .buy-row .btn{flex:1;}
.product-detail .wish-btn{border:1px solid var(--border);background:#fff;border-radius:24px;padding:14px 16px;font-size:15px;cursor:pointer;}
.product-detail .delivery{font-size:12px;color:var(--muted2);margin-bottom:24px;}
.product-detail .desc{font-size:14px;line-height:1.6;color:var(--ink-soft);border-top:1px solid var(--border2);padding-top:20px;}
@media (max-width:760px){ .product-detail{grid-template-columns:1fr;} }

.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--border2);margin-top:48px;border:1px solid var(--border2);border-radius:12px;overflow:hidden;}
.info-grid .cell{background:#fff;padding:20px;}
.info-grid .cell .h{font-weight:600;font-size:13px;margin-bottom:8px;color:#6B4A34;}
.info-grid .cell .v{font-size:13px;color:var(--ink-soft);line-height:1.5;}
.info-grid .cell .sub{font-size:12px;color:var(--muted2);margin-top:6px;}

.nutrition-title{font-weight:600;font-size:15px;margin:32px 0 12px;}
.nutrition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--border2);border:1px solid var(--border2);border-radius:10px;overflow:hidden;}
.nutrition-grid .cell{background:#fff;padding:14px;font-size:12px;}
.nutrition-grid .cell .label{color:var(--muted2);}
.nutrition-grid .cell .val{font-weight:600;}

.related-title{font-family:'Lora',serif;font-size:22px;margin:56px 0 20px;}

/* Cart */
.cart-item{display:grid;grid-template-columns:70px minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:14px;background:#fff;border:1px solid var(--border2);border-radius:10px;}
.cart-item .thumb{width:70px;height:70px;border-radius:8px;overflow:hidden;}
.cart-item .thumb img{width:100%;height:100%;object-fit:cover;}
.cart-item .name{font-weight:600;font-size:14px;}
.cart-item .unit{font-size:12px;color:var(--muted2);}
.cart-item .remove{cursor:pointer;font-size:12px;color:var(--accent);}
.cart-item input{width:60px;border:1px solid var(--border);border-radius:8px;padding:8px;font-size:13px;}
.cart-item .line-total{font-weight:700;font-size:15px;min-width:70px;text-align:right;}
.cart-summary{background:#fff;border:1px solid var(--border2);border-radius:10px;padding:20px;max-width:360px;margin-left:auto;}
.cart-summary .row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:8px;}
.cart-summary .row.muted{color:var(--muted2);}
.cart-summary .total{display:flex;justify-content:space-between;font-size:17px;font-weight:700;border-top:1px solid var(--border2);padding-top:12px;}

/* Forms / checkout / contact / account */
.card-form{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--border2);border-radius:12px;padding:24px;}
.card-form .form-title{font-weight:600;margin-bottom:6px;}
.card-form input,.card-form textarea,.card-form select{border:1px solid var(--border);border-radius:8px;padding:11px;font-size:14px;width:100%;}
.card-form textarea{resize:vertical;}
.form-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:520px){ .form-row2{grid-template-columns:1fr;} }
.form-actions{display:flex;gap:10px;margin-top:8px;}
.form-actions .btn{flex:1;}
.form-actions .btn.grow2{flex:2;}
.checkbox-row{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--muted);}
.radio-option{display:flex;justify-content:space-between;border:1px solid var(--border);border-radius:8px;padding:14px;cursor:pointer;}
.radio-option.active{border-color:var(--accent);}
.step-indicator{font-size:13px;color:var(--muted2);margin-bottom:28px;}
.order-success{text-align:center;padding:50px 20px;background:#fff;border:1px solid var(--border2);border-radius:12px;}
.order-success .check{font-size:40px;margin-bottom:14px;}
.order-success h2{font-size:22px;margin:0 0 10px;}
.order-success p{font-size:14px;color:var(--muted);}
.tabs{display:flex;gap:16px;margin-bottom:20px;font-size:14px;font-weight:600;}
.tabs span{cursor:pointer;color:var(--muted2);}
.tabs span.active{color:var(--accent);}
.hint-note{font-size:12px;color:var(--muted2);}

/* FAQ */
.faq-item{border-bottom:1px solid var(--border2);padding:16px 0;}
.faq-q{cursor:pointer;display:flex;justify-content:space-between;font-weight:600;font-size:15px;background:none;border:none;width:100%;text-align:left;color:var(--ink);padding:0;}
.faq-a{font-size:14px;color:var(--ink-soft);line-height:1.6;margin-top:10px;display:none;}
.faq-item.open .faq-a{display:block;}

/* Legal */
.legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;}
.legal-nav{display:flex;flex-direction:column;gap:8px;}
.legal-nav a{cursor:pointer;font-size:13px;padding:6px 0;color:var(--muted);}
.legal-nav a.active{color:var(--accent);font-weight:600;}
.legal-body h1{font-size:26px;margin:0 0 20px;}
.legal-body p{font-size:14px;line-height:1.8;color:var(--ink-soft);}
@media (max-width:760px){ .legal-layout{grid-template-columns:1fr;} }

/* Generic content pages */
.page-header{max-width:760px;margin:0 auto;padding:48px 24px 0;}
.page-header h1{font-size:32px;margin:0 0 24px;}
.prose{font-size:16px;line-height:1.8;color:var(--ink-soft);}
.prose p{margin:0 0 18px;}

/* Footer */
footer.site{background:var(--footer);color:var(--footer-text);padding:56px 24px 24px;margin-top:auto;}
.footer-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px;padding-bottom:32px;border-bottom:1px solid var(--footer-border);}
.footer-grid .brand{font-family:'Lora',serif;font-weight:700;font-size:22px;color:#fff;margin-bottom:12px;}
.footer-grid p{font-size:13px;line-height:1.6;color:#B8AF9C;margin:0;}
.footer-grid .col-title{font-weight:600;font-size:13px;color:#fff;margin-bottom:12px;}
.footer-grid .links{display:flex;flex-direction:column;gap:8px;font-size:13px;}
.footer-grid .links a{color:var(--footer-text);cursor:pointer;}
.footer-contact{font-size:13px;line-height:1.8;color:var(--footer-text);}
.footer-contact .contact-link{cursor:pointer;text-decoration:underline;margin-top:6px;display:inline-block;}
.footer-legal{max-width:1280px;margin:0 auto;padding-top:20px;font-size:12px;color:var(--footer-muted);line-height:1.7;}

/* Utility */
.center{text-align:center;}
.mt-0{margin-top:0;}
.loading-state{padding:120px 24px;text-align:center;color:var(--muted2);}
noscript .noscript-box{display:block;padding:24px;text-align:center;background:#fff;border:1px solid var(--border2);border-radius:12px;margin:24px;}
