/* Chutiera — shared stylesheet */
:root{
  --bg:#faf6ee;
  --ink:#262420;
  --ink-soft:#4a453d;
  --ink-mute:#6b6357;
  --ink-faint:#8a8272;
  --green:#1f3327;
  --green-light:#33502f;
  --terracotta:#c1633f;
  --terracotta-dark:#a34f30;
  --border:#e4dcc8;
  --border-soft:#ece2c9;
  --border-input:#d9cfb4;
  --card:#fffdfa;
  --alt-bg:#f2ead9;
  --footer-text:#e7e2d3;
  --footer-text-soft:#b9c2ae;
  --footer-text-faint:#8a9482;
  --font-heading:Georgia,'Times New Roman',Times,serif;
  --font-body:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);font-family:var(--font-body);color:var(--ink);}
a{color:var(--green);text-decoration:none;}
a:hover{color:var(--terracotta);}
img{max-width:100%;display:block;}
h1,h2,h3{font-family:var(--font-heading);}
button{font-family:var(--font-body);}
.page{min-height:100vh;display:flex;flex-direction:column;}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px;}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--border);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1280px;margin:0 auto;padding:16px 24px;flex-wrap:wrap;}
.logo{font-family:var(--font-heading);font-size:27px;font-weight:700;color:var(--green);letter-spacing:.3px;}
.nav{display:flex;gap:26px;align-items:center;flex-wrap:wrap;font-size:15px;font-weight:500;}
.nav a{color:var(--ink);}
.nav a.active{color:var(--terracotta);}
.header-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.search-input{border:1px solid var(--border-input);background:var(--card);border-radius:20px;padding:8px 16px;font-size:14px;width:180px;font-family:var(--font-body);}
.account-link{font-size:14px;color:var(--ink);}
.cart-link{font-size:14px;color:var(--card);background:var(--green);padding:8px 16px;border-radius:20px;}
.back-link{font-size:14px;font-weight:600;color:var(--green);}

/* Buttons */
.btn{display:inline-block;border:none;border-radius:24px;padding:14px 28px;font-weight:600;font-size:15px;cursor:pointer;text-align:center;}
.btn-primary{background:var(--green);color:var(--card);}
.btn-outline{background:transparent;color:var(--green);border:1.5px solid var(--green);}
.btn-accent{background:var(--terracotta);color:var(--card);}
.btn-accent-dark{background:var(--terracotta-dark);color:var(--card);}
.btn-sm{padding:10px 20px;font-size:13px;border-radius:20px;}

/* Hero */
.hero{background:linear-gradient(120deg,#eee3cb 0%,#e9ddc0 60%,#e3d5b3 100%);padding:80px 24px;}
.hero-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:48px;align-items:center;}
.eyebrow{color:var(--terracotta-dark);font-weight:600;letter-spacing:1.5px;text-transform:uppercase;font-size:13px;margin:0 0 16px;}
.hero-inner h1{font-size:52px;line-height:1.1;color:var(--green);margin:0 0 20px;}
.hero-inner p{font-size:18px;line-height:1.6;color:var(--ink-soft);max-width:480px;margin:0 0 32px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
.hero-image{aspect-ratio:4/3;border-radius:18px;overflow:hidden;}
.hero-image img{width:100%;height:100%;object-fit:cover;}
.page-hero{background:linear-gradient(120deg,#eee3cb 0%,#e3d5b3 100%);padding:64px 24px;text-align:center;}
.page-hero h1{font-size:42px;color:var(--green);margin:0 0 14px;}
.page-hero p{font-size:16px;color:var(--ink-soft);max-width:560px;margin:0 auto;}

/* Sections */
.section{max-width:1280px;margin:0 auto;padding:72px 24px;}
.section-alt{background:var(--alt-bg);padding:72px 24px;}
.section-alt-inner{max-width:1280px;margin:0 auto;}
.section-dark{background:var(--green);padding:56px 24px;}
.section-title{font-size:32px;color:var(--green);text-align:center;margin:0 0 8px;}
.section-title-left{font-size:32px;color:var(--green);margin:0;}
.section-sub{text-align:center;color:var(--ink-mute);margin:0 0 40px;}
.section-header-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:32px;flex-wrap:wrap;gap:12px;}
.link-arrow{font-weight:600;font-size:14px;color:var(--terracotta-dark);}
.breadcrumb{font-size:13px;color:var(--ink-faint);margin:0 0 6px;}

/* Grid & cards */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;}
.grid-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;}
.grid-sets{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;}
.grid-articles{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;}
.grid-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;}

.card{display:block;background:var(--card);border-radius:14px;border:1px solid var(--border-soft);overflow:hidden;}
.card-image{height:170px;position:relative;overflow:hidden;background:var(--border-soft);}
.card-image img{width:100%;height:100%;object-fit:cover;}
.card-image-tall{height:180px;position:relative;overflow:hidden;background:var(--border-soft);}
.card-image-tall img{width:100%;height:100%;object-fit:cover;}
.card-body{padding:16px;}
.card-category{margin:0 0 4px;font-size:12px;color:var(--ink-faint);}
.card-title{margin:0 0 8px;font-size:15px;color:var(--green);font-weight:600;}
.card-price{margin:0;font-weight:700;color:var(--green);}
.badge{position:absolute;top:10px;left:10px;background:var(--terracotta-dark);color:var(--card);font-size:11px;padding:3px 9px;border-radius:12px;font-weight:600;}

.set-card{background:var(--card);border:1px solid var(--border-soft);border-radius:16px;overflow:hidden;}
.set-body{padding:22px;}
.set-title{font-size:19px;color:var(--green);margin:0 0 8px;}
.set-desc{font-size:14px;color:var(--ink-mute);margin:0 0 14px;line-height:1.5;}
.set-label{font-size:12px;font-weight:600;color:var(--ink-faint);margin:0 0 4px;text-transform:uppercase;letter-spacing:.5px;}
.set-list{margin:0 0 16px;padding-left:18px;font-size:13px;color:var(--ink-soft);line-height:1.7;}
.set-footer{display:flex;justify-content:space-between;align-items:center;}
.set-price{font-size:20px;font-weight:700;color:var(--green);margin:0;}

/* Dark CTA banner */
.dark-cta{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;}
.dark-cta h2{color:var(--card);font-size:28px;margin:0 0 8px;}
.dark-cta p{color:#cfd8c9;margin:0;font-size:15px;}

/* Newsletter */
.newsletter{max-width:900px;margin:0 auto;padding:24px 24px 80px;text-align:center;}
.newsletter h2{font-size:28px;color:var(--green);margin:0 0 10px;}
.newsletter p{color:var(--ink-mute);margin:0 0 24px;}
.newsletter form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.newsletter input[type=email]{padding:12px 18px;border-radius:24px;border:1px solid var(--border-input);min-width:260px;font-family:var(--font-body);}
.form-success{color:var(--green);margin-top:14px;font-weight:600;}

/* Footer */
.site-footer{background:var(--green);color:var(--footer-text);padding:56px 24px 28px;}
.footer-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;}
.footer-brand{font-family:var(--font-heading);font-size:22px;color:var(--card);margin:0 0 10px;}
.footer-desc{font-size:14px;line-height:1.6;color:var(--footer-text-soft);}
.footer-heading{font-weight:700;color:var(--card);margin:0 0 12px;font-size:14px;}
.footer-links{display:flex;flex-direction:column;gap:8px;font-size:14px;}
.footer-links a{color:var(--footer-text-soft);}
.footer-contact p{font-size:14px;color:var(--footer-text-soft);margin:0 0 6px;}
.footer-bottom{max-width:1280px;margin:32px auto 0;padding-top:20px;border-top:1px solid var(--green-light);font-size:13px;color:var(--footer-text-faint);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.site-footer.simple .footer-bottom{border-top:none;margin-top:0;padding-top:0;}

/* Cookie banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid var(--border);padding:20px 24px;z-index:100;box-shadow:0 -4px 20px rgba(0,0,0,.08);}
.cookie-banner-inner{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.cookie-banner p{margin:0;font-size:14px;color:var(--ink-soft);max-width:620px;}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.btn-ghost{background:transparent;border:1px solid #c9bfa2;color:var(--ink-soft);padding:9px 16px;border-radius:20px;font-size:13px;cursor:pointer;}
.btn-dark-sm{background:var(--green);color:var(--card);border:none;padding:9px 18px;border-radius:20px;font-size:13px;cursor:pointer;font-weight:600;}
.cookie-modal{position:fixed;inset:0;background:rgba(31,51,39,.4);display:flex;align-items:center;justify-content:center;z-index:110;padding:20px;}
.cookie-modal[hidden],.cookie-banner[hidden]{display:none;}
.cookie-modal-box{background:var(--card);border-radius:14px;padding:28px;max-width:440px;width:100%;}
.cookie-modal-box h3{margin:0 0 16px;color:var(--green);}
.cookie-row{display:flex;flex-direction:column;gap:12px;font-size:14px;}
.cookie-row label{display:flex;justify-content:space-between;}

/* Forms */
.form-card{background:var(--card);border:1px solid var(--border-soft);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:14px;}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],textarea,select{padding:11px 14px;border:1px solid var(--border-input);border-radius:10px;font-family:var(--font-body);font-size:14px;width:100%;}
textarea{resize:vertical;}
.checkbox-label{display:flex;gap:10px;font-size:13px;color:var(--ink-soft);align-items:flex-start;}
.file-label{font-size:13px;color:var(--ink-mute);}
.thanks-box{background:var(--card);border:1px solid var(--border-soft);border-radius:14px;padding:40px;text-align:center;}
.thanks-box h3{font-size:20px;color:var(--green);margin:0 0 10px;}

/* Info cards / about */
.info-card h3{font-size:19px;color:var(--green);margin:0 0 10px;}
.info-card p{font-size:14px;line-height:1.7;color:var(--ink-mute);margin:0;}
.about-photo{aspect-ratio:21/8;border-radius:16px;overflow:hidden;margin-bottom:40px;}
.about-photo img{width:100%;height:100%;object-fit:cover;}

/* Tabs */
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px;}
.tab-btn{padding:9px 18px;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--ink-soft);}
.tab-btn.active{background:var(--green);color:var(--card);border-color:var(--green);}

/* Shop layout */
.shop-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:32px;}
.filters{border:1px solid var(--border-soft);border-radius:14px;padding:22px;background:var(--card);align-self:start;}
.filters h3{font-size:17px;color:var(--green);margin:0 0 16px;}
.filter-group{margin-bottom:18px;}
.filter-group p{font-weight:600;font-size:13px;margin:0 0 8px;color:var(--ink-soft);}
.filter-group label{display:flex;gap:8px;font-size:13px;margin-bottom:6px;}
.filter-range{width:100%;}
.filter-hint{font-size:12px;color:var(--ink-faint);margin:6px 0 0;}
.result-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.result-row p{font-size:14px;color:var(--ink-mute);margin:0;}
.result-row select{width:auto;background:var(--card);}

/* Product page */
.product-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-bottom:60px;}
.product-gallery{aspect-ratio:1;border-radius:16px;overflow:hidden;}
.product-gallery img{width:100%;height:100%;object-fit:cover;}
.product-category{color:var(--terracotta-dark);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:1px;margin:0 0 8px;}
.product-info h1{font-size:34px;color:var(--green);margin:0 0 12px;}
.product-meta{font-size:14px;color:var(--ink-mute);margin:0 0 18px;}
.product-price{font-size:30px;font-weight:700;color:var(--green);margin:0;}
.product-price-unit{font-size:13px;color:var(--ink-faint);margin:0 0 26px;}
.product-desc{font-size:15px;line-height:1.6;color:var(--ink-soft);margin:0 0 26px;}
.qty-control{display:flex;align-items:center;gap:16px;margin-bottom:20px;}
.qty-box{display:flex;align-items:center;border:1px solid var(--border-input);border-radius:24px;overflow:hidden;}
.qty-box button{width:38px;height:38px;background:var(--card);border:none;cursor:pointer;font-size:16px;}
.qty-box span{width:36px;text-align:center;font-weight:600;}
.in-stock{font-size:13px;color:#3d7a4a;margin:0;font-weight:600;}
.product-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.added-msg{color:var(--green);font-weight:600;font-size:14px;margin:0 0 14px;}
.delivery-note{font-size:13px;color:var(--ink-faint);margin:0;}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-bottom:20px;}
.spec-card{background:var(--card);border:1px solid var(--border-soft);border-radius:14px;padding:22px;}
.spec-card h3{font-size:17px;color:var(--green);margin:0 0 10px;}
.spec-card p{font-size:14px;line-height:1.6;color:var(--ink-soft);margin:0;}

/* Cart / checkout */
.steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px;font-size:13px;font-weight:600;}
.step-pill{padding:6px 14px;border-radius:16px;background:var(--border-soft);color:var(--ink-faint);}
.step-pill.current{background:var(--green);color:var(--card);}
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;}
.cart-items{display:flex;flex-direction:column;gap:16px;}
.cart-item{display:grid;grid-template-columns:80px minmax(0,1fr) auto auto;gap:16px;align-items:center;background:var(--card);border:1px solid var(--border-soft);border-radius:12px;padding:16px;}
.cart-item-thumb{width:80px;height:80px;border-radius:10px;overflow:hidden;}
.cart-item-thumb img{width:100%;height:100%;object-fit:cover;}
.cart-item-name{margin:0 0 4px;font-weight:600;color:var(--green);font-size:14px;}
.cart-item-meta{margin:0;font-size:12px;color:var(--ink-faint);}
.cart-item-total{margin:0;font-weight:700;color:var(--green);}
.summary-box{background:var(--card);border:1px solid var(--border-soft);border-radius:14px;padding:22px;align-self:start;}
.summary-box h3{font-size:17px;color:var(--green);margin:0 0 16px;}
.summary-line{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px;}
.summary-line.muted{color:var(--ink-faint);}
.summary-total{display:flex;justify-content:space-between;font-weight:700;font-size:17px;color:var(--green);border-top:1px solid var(--border-soft);padding-top:14px;margin-bottom:18px;}
.ship-option,.pay-option{display:flex;justify-content:space-between;align-items:center;background:var(--card);border:1px solid var(--border-soft);border-radius:12px;padding:16px;cursor:pointer;}
.pay-option{justify-content:flex-start;gap:10px;}
.checkout-box{max-width:520px;}
.checkout-summary{background:var(--alt-bg);border-radius:12px;padding:18px;max-width:560px;margin-bottom:28px;font-size:14px;color:var(--ink-soft);}
.checkout-summary .summary-line{margin-bottom:6px;}
.checkout-summary .summary-total{border-top:1px solid var(--border-input);padding-top:8px;margin-bottom:0;}
.confirmation-box{max-width:560px;margin:0 auto;text-align:center;padding:40px 0;}
.confirmation-box h1{font-size:30px;color:var(--green);margin:0 0 14px;}
.confirmation-box p{color:var(--ink-mute);margin:0 0 6px;}
.checkout-step{display:none;}
.checkout-step.active{display:block;}

/* Legal page */
.legal-layout{max-width:1180px;margin:0 auto;padding:44px 24px 90px;width:100%;display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;}
.legal-nav{align-self:start;position:sticky;top:90px;display:flex;flex-direction:column;gap:6px;font-size:14px;}
.legal-nav a{padding:8px 12px;border-radius:8px;color:var(--green);}
.legal-sections{display:flex;flex-direction:column;gap:56px;}
.legal-sections h1{font-size:34px;color:var(--green);margin:0 0 20px;}
.legal-sections h2{font-size:24px;color:var(--green);margin:0 0 14px;scroll-margin-top:90px;}
.legal-sections .body-text{font-size:15px;line-height:1.8;color:var(--ink-soft);display:flex;flex-direction:column;gap:12px;}
.faq-list{display:flex;flex-direction:column;gap:10px;}
.faq-item{background:var(--card);border:1px solid var(--border-soft);border-radius:12px;padding:16px 20px;cursor:pointer;}
.faq-item-head{display:flex;justify-content:space-between;align-items:center;}
.faq-item-head p{margin:0;font-weight:600;font-size:15px;color:var(--green);}
.faq-sign{color:var(--terracotta-dark);font-size:18px;}
.faq-answer{margin:12px 0 0;font-size:14px;color:var(--ink-mute);line-height:1.6;display:none;}
.faq-item.open .faq-answer{display:block;}

/* Account page */
.account-forms{max-width:440px;}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

@media(max-width:860px){
  .hero-inner{grid-template-columns:1fr;}
  .product-top{grid-template-columns:1fr;}
  .shop-layout{grid-template-columns:1fr;}
  .cart-layout{grid-template-columns:1fr;}
  .legal-layout{grid-template-columns:1fr;}
  .legal-nav{position:static;flex-direction:row;flex-wrap:wrap;}
  .form-row-2{grid-template-columns:1fr;}
  .dark-cta{grid-template-columns:1fr;text-align:center;}
}
