/* Zahradní Architekt Zeleň — shared stylesheet */
:root{
  --bg:#f5f3ec;
  --ink:#1f2a22;
  --green:#2f4a36;
  --green-light:#4f6b3a;
  --green-dark:#23352a;
  --green-darker:#1c2a21;
  --muted:#ebe8dc;
  --muted2:#e3e7d6;
  --border:#d9d5c6;
  --border2:#cfcab8;
  --border3:#ddd8c8;
  --border4:#c9c4b2;
  --text-soft:#465046;
  --text-soft2:#4a544a;
  --text-soft3:#3a4539;
  --text-mute:#5a6359;
  --cream-card:#fbfaf6;
  --error:#a03a1c;
  --font-serif:Georgia,'Iowan Old Style','Palatino Linotype',serif;
  --font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-mono:ui-monospace,'SFMono-Regular',Consolas,'Liberation Mono',monospace;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}
body{min-height:100vh;display:flex;flex-direction:column}
a{color:var(--green);text-decoration:none}
a:hover{color:var(--green-light)}
img{max-width:100%;display:block}
input,select,textarea,button{font-family:inherit}
ul{list-style:none;margin:0;padding:0}
.container{max-width:1320px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.container-narrow{max-width:1000px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.container-article{max-width:760px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
section{position:relative}
.section-pad{padding:clamp(64px,8vw,112px) 0}
.section-pad-sm{padding:clamp(48px,7vw,96px) 0 40px}
.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-light)}
.eyebrow-light{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#b9c7a6}
h1,h2,h3{font-family:var(--font-serif);font-weight:700;margin:0;letter-spacing:-.01em}
.h1{font-size:clamp(46px,6vw,84px);line-height:.96}
.h1-xl{font-size:clamp(48px,6.4vw,92px);line-height:.95}
.h2{font-size:clamp(38px,4.6vw,62px);line-height:1}
.h3{font-size:clamp(32px,3.6vw,46px);line-height:1}
em{font-style:italic;font-weight:500;color:var(--green-light)}
.lead{font-size:18px;line-height:1.65;color:var(--text-soft);margin:0}
.lead-sm{font-size:16px;line-height:1.7;color:var(--text-soft3);margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:16px 26px;font-weight:700;font-size:15px;cursor:pointer;border:1px solid transparent;transition:background .15s,color .15s}
.btn-sm{padding:12px 22px;font-size:14px}
.btn-primary{background:var(--green);color:#f5f3ec}
.btn-primary:hover{background:#3d5e45;color:#fff}
.btn-outline{border:1px solid var(--green);color:var(--green);background:transparent}
.btn-outline:hover{background:#ebe8dc}
.btn-light{background:#f5f3ec;color:var(--green-dark);border:1px solid #f5f3ec}
.btn-light-outline{border:1px solid #f5f3ec;color:#f5f3ec;background:transparent}
.btn-block{width:100%;text-align:left}
.link-underline{font-weight:600;border-bottom:1px solid var(--green);padding-bottom:3px}

/* promo + header */
.promo{background:var(--green-dark);color:#e9ecdf;font-size:13px;padding:9px clamp(20px,4vw,40px);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;align-items:center}
.promo a{color:#e9ecdf}
.promo-right{display:flex;gap:20px;font-family:var(--font-mono);font-size:12px;align-items:center}
.promo-close{background:none;border:0;color:#e9ecdf;cursor:pointer;font-size:16px;line-height:1;padding:0 0 0 10px}
header.site{position:sticky;top:0;z-index:40;background:rgba(245,243,236,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.header-inner{max-width:1320px;margin:0 auto;padding:14px clamp(20px,4vw,40px);display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);margin-right:auto}
.brand-mark{width:40px;height:40px;border-radius:50%;background:var(--green);color:#f5f3ec;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:24px;font-weight:700;font-style:italic}
.brand-text{display:flex;flex-direction:column;line-height:1.05}
.brand-title{font-family:var(--font-serif);font-size:23px;font-weight:700;letter-spacing:-.01em}
.brand-sub{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute)}
nav.mainnav{display:flex;flex-wrap:wrap;gap:4px 22px;font-size:14.5px;font-weight:600}
nav.mainnav a{color:var(--ink);border-bottom:2px solid transparent;padding:6px 0}
nav.mainnav a.active{color:var(--green);border-bottom-color:var(--green-light)}
.header-actions{display:flex;gap:10px;align-items:center}
.cart-btn{display:flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--border4);border-radius:999px;padding:10px 16px;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}
.cart-btn:hover{background:#ebe8dc}
.cart-count{min-width:22px;height:22px;border-radius:11px;background:var(--green);color:#f5f3ec;font-size:12px;display:flex;align-items:center;justify-content:center;padding:0 6px}
.nav-toggle{display:none;background:none;border:1px solid var(--border4);border-radius:8px;padding:8px 12px;font-size:14px;cursor:pointer}
@media (max-width:860px){
  nav.mainnav{display:none;width:100%;flex-direction:column;gap:2px}
  nav.mainnav.open{display:flex}
  .header-inner{position:relative}
  .nav-toggle{display:inline-flex}
}

/* hero */
.hero-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:clamp(32px,5vw,72px);align-items:center;padding:clamp(40px,6vw,80px) 0 clamp(48px,6vw,88px)}
.hero-copy{display:flex;flex-direction:column;gap:28px}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero-stats{display:flex;flex-wrap:wrap;gap:28px;padding-top:20px;border-top:1px solid var(--border)}
.stat{display:flex;flex-direction:column;gap:2px}
.stat b{font-family:var(--font-serif);font-size:34px;font-weight:700}
.stat span{font-size:13px;color:var(--text-mute)}
.hero-media{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:260px 220px;gap:14px}
.ph{border-radius:6px;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:16px;position:relative;overflow:hidden}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.ph-tag{position:relative;z-index:1;font-family:var(--font-mono);font-size:11px;color:var(--text-mute);background:rgba(245,243,236,.9);padding:5px 8px;border-radius:3px}
.ph-big{grid-row:span 2}
.ph-card{border-radius:6px;background:var(--green);color:#eef0e6;padding:22px;display:flex;flex-direction:column;justify-content:space-between}

/* highlight strip */
.strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--muted)}
.strip-inner{padding:22px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 32px;font-size:14px;color:var(--text-soft3)}
.dot-item{display:flex;gap:10px;align-items:center}
.dot{width:8px;height:8px;border-radius:50%;background:var(--green-light);flex:none}

/* section headers */
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}
.section-head .tag-stack{display:flex;flex-direction:column;gap:16px;max-width:680px}

/* services grid (home) */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));border-top:1px solid var(--border2);border-left:1px solid var(--border2)}
.service-cell{display:flex;flex-direction:column;gap:14px;padding:32px 28px;border-right:1px solid var(--border2);border-bottom:1px solid var(--border2);color:var(--ink);min-height:250px}
.service-cell:hover{background:var(--muted)}
.service-num{font-family:var(--font-mono);font-size:12px;color:var(--green-light)}
.service-title{font-family:var(--font-serif);font-size:30px;font-weight:700;line-height:1.05}
.service-short{font-size:15px;line-height:1.6;color:var(--text-soft2);flex:1}
.service-price{font-size:13.5px;font-weight:700;color:var(--green)}

/* dark process section */
.dark-section{background:var(--green-dark);color:#eef0e6}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px}
.step{display:flex;flex-direction:column;gap:12px;border-top:1px solid #4d6553;padding-top:20px}
.step-num{font-family:var(--font-serif);font-size:44px;color:#b9c7a6}
.step-title{font-weight:700;font-size:17px}
.step-text{font-size:14.5px;line-height:1.6;color:#c8d0c0}

/* project / card grids */
.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px}
.project-card{display:flex;flex-direction:column;gap:14px}
.project-photo{aspect-ratio:4/3;border-radius:6px}
.project-type{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--green-light)}
.project-name{font-family:var(--font-serif);font-size:28px;font-weight:700;line-height:1.05}
.project-meta{font-size:14.5px;color:var(--text-soft2);line-height:1.6}
.project-desc{font-size:14.5px;line-height:1.6;color:var(--text-soft3)}
.project-place{font-size:13px;color:var(--text-mute)}

/* two-up promo cards */
.promo-cards{padding:0 0 clamp(64px,8vw,112px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:24px}
.promo-card{border-radius:8px;padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;gap:20px}
.promo-card.green-tint{background:var(--muted2)}
.promo-card.beige{background:var(--muted)}

/* calendar */
.cal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.cal-cell{border:1px solid var(--border3);border-radius:6px;padding:18px;display:flex;flex-direction:column;gap:10px;min-height:150px;background:var(--cream-card)}
.cal-cell.now{background:var(--green);color:#eef0e6;border-color:var(--green)}
.cal-month{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase}
.cal-text{font-size:13.5px;line-height:1.55}

/* testimonials */
.testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:32px}
.testi{display:flex;flex-direction:column;gap:20px}
.testi blockquote{margin:0;font-family:var(--font-serif);font-size:26px;line-height:1.25;font-style:italic}
.testi figcaption{font-size:14px;color:var(--text-soft2)}

/* faq */
.faq-list{display:flex;flex-direction:column;border-top:1px solid var(--border2)}
.faq-item{border-bottom:1px solid var(--border2)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;background:none;border:0;text-align:left;cursor:pointer;color:var(--ink);font-size:18px;font-weight:700}
.faq-sign{font-family:var(--font-mono);font-size:20px;color:var(--green-light)}
.faq-a{margin:0 0 24px;font-size:15.5px;line-height:1.7;color:var(--text-soft2);max-width:800px;display:none}
.faq-item.open .faq-a{display:block}
.faq-item.open .faq-sign{content:'-'}

/* services detail (sluzby.html) */
.service-rows{display:flex;flex-direction:column}
.service-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(24px,4vw,56px);padding:48px 0;border-top:1px solid var(--border2)}
.service-row-photo{aspect-ratio:3/2;border-radius:6px}
.service-row-body{display:flex;flex-direction:column;gap:18px}
.bullets{display:flex;flex-direction:column;gap:8px}
.bullets li{display:flex;gap:12px;font-size:15px;line-height:1.5}
.bullets li span{color:var(--green-light)}
.service-row-cta{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding-top:8px}
.price-tag{font-family:var(--font-serif);font-size:26px;font-weight:700}

/* filters / chips */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--green);background:transparent;color:var(--green);border-radius:999px;padding:9px 18px;font-size:14px;font-weight:600;cursor:pointer}
.chip.active{background:var(--green);color:#f5f3ec}

/* price list / cenik */
.calc-grid{background:var(--muted2);border-radius:8px;padding:clamp(24px,4vw,48px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:40px}
.calc-left{display:flex;flex-direction:column;gap:24px}
.calc-left label.area-label{display:flex;flex-direction:column;gap:10px;font-weight:700;font-size:15px}
.calc-left input[type=range]{width:100%;accent-color:var(--green)}
.option-list{display:flex;flex-direction:column;gap:10px}
.option-btn{display:flex;justify-content:space-between;gap:16px;text-align:left;background:transparent;border:1px solid #b9c2a8;border-radius:6px;padding:14px 16px;cursor:pointer;color:var(--ink);font-size:14.5px;width:100%}
.option-btn.active{background:#f5f3ec;border-color:var(--green)}
.option-btn b{display:block}
.option-btn .note{font-size:13px;color:var(--text-soft2)}
.check-row{display:flex;gap:12px;align-items:center;font-size:15px;cursor:pointer}
.check-row input{width:18px;height:18px;accent-color:var(--green)}
.calc-result{background:var(--green-dark);color:#eef0e6;border-radius:6px;padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:18px;justify-content:space-between}
.calc-total{font-family:var(--font-serif);font-size:clamp(48px,6vw,76px);font-weight:700;line-height:1}
.calc-lines{display:flex;flex-direction:column;gap:8px;border-top:1px solid #4d6553;padding-top:18px;font-size:14px}
.calc-lines span.row{display:flex;justify-content:space-between}
.price-table{display:flex;flex-direction:column;font-size:15px;border-top:2px solid var(--ink)}
.price-row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border2)}
.price-tables-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:48px}

/* eshop */
.shop-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.shop-badges{display:flex;flex-direction:column;gap:6px;font-size:13.5px;color:var(--text-soft3)}
.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:20px}
.product-card{background:var(--cream-card);border:1px solid var(--border3);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.product-photo{position:relative;aspect-ratio:1/1}
.product-photo img{width:100%;height:100%;object-fit:cover}
.product-tag{position:absolute;top:12px;left:12px;background:var(--green);color:#f5f3ec;font-size:11.5px;font-weight:700;padding:5px 10px;border-radius:999px;z-index:1}
.product-body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.product-cat{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--green-light)}
.product-name{font-weight:700;font-size:16px;line-height:1.3}
.product-desc{font-size:13.5px;line-height:1.55;color:var(--text-soft2);flex:1}
.product-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:10px}
.product-price b{font-size:19px;display:block}
.product-price span{font-size:11.5px;color:var(--text-mute)}
.add-btn{background:var(--green);color:#f5f3ec;border:0;border-radius:999px;padding:11px 16px;font-size:13.5px;font-weight:600;cursor:pointer}
.add-btn:hover{background:#3d5e45}

/* about */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.team-card{display:flex;flex-direction:column;gap:10px}
.team-photo{aspect-ratio:1/1;border-radius:6px}
.team-photo img{width:100%;height:100%;object-fit:cover;border-radius:6px}
.team-name{font-family:var(--font-serif);font-size:26px;font-weight:700}
.team-role{font-size:14px;color:var(--text-soft2)}
.value-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:36px}
.value-card{display:flex;flex-direction:column;gap:12px}
.value-title{font-family:var(--font-serif);font-size:32px}
.value-text{font-size:14.5px;line-height:1.65;color:#c8d0c0}

/* blog */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));gap:40px 24px}
.blog-card{display:flex;flex-direction:column;gap:12px;color:var(--ink)}
.blog-card:hover{color:var(--green)}
.blog-photo{aspect-ratio:16/10;border-radius:6px}
.blog-photo img{width:100%;height:100%;object-fit:cover;border-radius:6px}
.blog-meta{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--green-light)}
.blog-title{font-family:var(--font-serif);font-size:28px;font-weight:700;line-height:1.08}
.blog-excerpt{font-size:14.5px;line-height:1.6;color:var(--text-soft2)}
article.post{display:flex;flex-direction:column;gap:24px;padding:clamp(40px,6vw,80px) 0 clamp(64px,8vw,112px)}
.post-photo{aspect-ratio:16/9;border-radius:6px;margin:0}
.post-photo img{width:100%;height:100%;object-fit:cover;border-radius:6px}
.post p{font-size:17px;line-height:1.8;margin:0}
.post-cta{background:var(--muted2);border-radius:8px;padding:28px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:16px}

/* contact */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(32px,5vw,72px)}
.contact-info{display:flex;flex-direction:column;gap:28px}
.contact-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;font-size:15px;line-height:1.6;border-top:1px solid var(--border2);padding-top:24px}
.contact-detail{display:flex;flex-direction:column;gap:4px}
.contact-detail span.lbl{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--green-light)}
.contact-detail a{font-weight:700;font-size:18px}
.contact-photo{aspect-ratio:16/9;border-radius:6px}
.legal-note{font-size:13.5px;line-height:1.7;color:var(--text-soft2)}
.contact-form-panel{background:var(--muted);border-radius:8px;padding:clamp(24px,4vw,44px)}
.form-title{font-family:var(--font-serif);font-size:32px;font-weight:700}
form.stack{display:flex;flex-direction:column;gap:16px}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
label.field{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:600}
input,select,textarea{border:1px solid var(--border4);border-radius:6px;padding:12px;font-size:15px;background:var(--cream-card)}
textarea{resize:vertical}
.gdpr-note{font-size:12.5px;line-height:1.55;color:var(--text-soft2)}
.sent-box{display:flex;flex-direction:column;gap:14px;padding:40px 0}
.sent-box .big{font-family:var(--font-serif);font-size:40px;font-weight:700;line-height:1}

/* legal pages */
.legal-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:clamp(28px,4vw,64px);align-items:start}
.legal-nav{display:flex;flex-direction:column;gap:2px;border-top:2px solid var(--ink);padding-top:14px;position:sticky;top:110px}
.legal-nav .cap{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--green-light);margin-bottom:8px}
.legal-nav a{padding:9px 0;font-size:14.5px;font-weight:500;color:var(--text-soft3);border-bottom:1px solid var(--border3)}
.legal-nav a.active{font-weight:700;color:var(--green)}
.legal-body{display:flex;flex-direction:column;gap:28px;grid-column:span 3;min-width:0;max-width:820px}
.legal-body h1{font-size:clamp(40px,5vw,64px)}
.legal-updated{font-size:13.5px;color:var(--text-mute)}
.legal-sec{display:flex;flex-direction:column;gap:10px}
.legal-sec h2{font-family:var(--font-sans);font-size:19px;font-weight:700}
.legal-sec p{margin:0;font-size:15.5px;line-height:1.75;color:#2f3a30}

/* checkout */
.checkout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:40px;align-items:start}
.checkout-col{display:flex;flex-direction:column;gap:28px}
fieldset{border:0;padding:0;margin:0}
fieldset legend{font-weight:700;font-size:18px;margin-bottom:14px;padding:0}
.radio-card{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--border2);border-radius:6px;padding:14px 16px;cursor:pointer;color:var(--ink);font-size:14.5px}
.radio-card input{margin-right:10px}
.radio-card.active{border-color:var(--green);background:var(--cream-card)}
.order-summary{background:var(--muted);border-radius:8px;padding:28px;display:flex;flex-direction:column;gap:16px;position:sticky;top:110px}
.order-line{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.order-totals{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border2);padding-top:14px;font-size:14px}
.order-totals .grand{display:flex;justify-content:space-between;font-size:20px;font-weight:700;padding-top:8px}
.agree-row{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5;cursor:pointer}
.err-msg{font-size:13.5px;color:var(--error);font-weight:600}

/* cart drawer */
.cart-overlay{position:fixed;inset:0;z-index:60;display:none}
.cart-overlay.open{display:flex;justify-content:flex-end}
.cart-scrim{position:absolute;inset:0;background:rgba(28,42,33,.45)}
.cart-aside{position:relative;width:min(440px,100%);height:100%;background:var(--bg);display:flex;flex-direction:column}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--border)}
.cart-head .title{font-family:var(--font-serif);font-size:30px;font-weight:700}
.cart-close{background:none;border:1px solid var(--border4);border-radius:999px;width:38px;height:38px;cursor:pointer;font-size:18px;color:var(--ink)}
.cart-body{flex:1;overflow:auto;padding:12px 24px;display:flex;flex-direction:column}
.cart-empty{display:flex;flex-direction:column;gap:14px;padding:40px 0}
.cart-line{display:grid;grid-template-columns:64px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--border3);align-items:center}
.cart-thumb{width:64px;height:64px;border-radius:4px;background:#e6e2d4}
.cart-line-name{font-weight:600;font-size:14px;line-height:1.35}
.qty-row{display:flex;align-items:center;gap:6px}
.qty-btn{width:28px;height:28px;border:1px solid var(--border4);background:var(--cream-card);border-radius:4px;cursor:pointer}
.rm-btn{margin-left:8px;background:none;border:0;color:var(--text-mute);font-size:12.5px;text-decoration:underline;cursor:pointer}
.cart-foot{padding:20px 24px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:14px;background:var(--muted)}
.ship-bar{height:6px;border-radius:3px;background:#d6d2c2;overflow:hidden}
.ship-bar-fill{height:100%;background:var(--green-light)}

/* cta band + footer */
.cta-band{background:var(--green-light);color:#f5f3ec}
.cta-band-inner{padding:clamp(48px,6vw,80px) 0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px}
footer.site{background:var(--green-darker);color:#c8d0c0;font-size:14px}
.footer-grid{padding:64px 0 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:40px}
.footer-col{display:flex;flex-direction:column;gap:10px}
.footer-brand{font-family:var(--font-serif);font-size:26px;font-weight:700;color:#f5f3ec}
.footer-col a,.footer-col span{color:#e9ecdf}
.footer-cap{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#9fb08e}
.footer-settings-btn{background:none;border:0;padding:0;text-align:left;color:#e9ecdf;font-size:14px;cursor:pointer;text-decoration:underline}
.footer-bottom{padding:20px 0 32px;border-top:1px solid #344638;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12.5px;color:#9fb08e}

/* toast */
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:28px;z-index:70;background:var(--green-dark);color:#f5f3ec;padding:14px 22px;border-radius:999px;font-size:14px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.2);display:none}
.toast.show{display:block}

/* cookie banner */
.cookie-banner{position:fixed;left:clamp(12px,2vw,24px);bottom:clamp(12px,2vw,24px);z-index:80;width:min(520px,calc(100% - 24px));background:var(--cream-card);border:1px solid var(--border2);border-radius:8px;box-shadow:0 20px 50px rgba(28,42,33,.22);padding:24px;display:none;flex-direction:column;gap:14px}
.cookie-banner.show{display:flex}
.cookie-title{font-family:var(--font-serif);font-size:26px;font-weight:700}
.cookie-text{font-size:13.5px;line-height:1.6;color:var(--text-soft3)}
.cookie-settings{display:flex;flex-direction:column;border-top:1px solid var(--border3)}
.cookie-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border3)}
.cookie-row button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;border:0;background:none;cursor:pointer;text-align:left;color:var(--ink);padding:0}
.switch{width:42px;height:24px;border-radius:12px;background:var(--border4);position:relative;flex:none}
.switch .knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s}
.switch.on{background:var(--green)}
.switch.on .knob{left:21px}
.cookie-actions{display:flex;flex-wrap:wrap;gap:8px}
.hidden{display:none}

@media (max-width:640px){
  .header-actions .cart-btn span:first-child{display:none}
}
