/* Zavařomilka — design system: warm artisan palette + winter-frost accents */

:root{
  --cream:#FAF7F0;
  --forest:#36543D;
  --forest-dark:#253B2A;
  --terracotta:#B66B48;
  --terracotta-dark:#99532F;
  --beige:#E9DCC5;
  --charcoal:#292B26;
  --frost:#D9ECF1;
  --frost-deep:#8FB7C9;
  --navy:#1F2D3A;
  --white:#FFFFFF;
  --radius-lg:28px;
  --radius-md:18px;
  --radius-sm:10px;
  --shadow-soft:0 10px 30px -14px rgba(41,43,38,.35);
  --shadow-lift:0 24px 46px -18px rgba(41,43,38,.42);
  --font-display: Georgia, 'Iowan Old Style', 'Palatino Linotype', 'Noto Serif', serif;
  --font-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --ease: cubic-bezier(.22,.9,.3,1);
  --header-h: 84px;
}

*{box-sizing:border-box;}
html,body{overflow-x:clip;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--charcoal);
  background:var(--cream);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{font-family:var(--font-display);margin:0 0 .5em;line-height:1.1;color:var(--forest-dark);}
p{margin:0 0 1em;}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;font-size:1rem;}
.container{max-width:1240px;margin:0 inline-auto;margin-inline:auto;padding:0 24px;}
.visually-hidden{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
*:focus-visible{outline:3px solid var(--terracotta);outline-offset:3px;border-radius:4px;}

.skip-link{position:absolute;left:-999px;top:0;background:var(--forest);color:var(--cream);padding:10px 16px;z-index:999;border-radius:0 0 8px 0;}
.skip-link:focus{left:0;}

/* ---------- Reveal / motion ---------- */
.reveal{opacity:1;transform:none;}
.js .reveal{opacity:0;transform:translateY(28px);}
.js .reveal.in-view{opacity:1;transform:none;transition:opacity .7s var(--ease), transform .7s var(--ease);}
.js .reveal.stagger-in-view{transition-delay:var(--d,0ms);}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none;}
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
}

/* ---------- Icon sprite usage ---------- */
.icon{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;vertical-align:middle;}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:200;
  background:rgba(250,247,240,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(41,43,38,.08);
}
.header-inner{
  display:flex;align-items:center;gap:20px;
  padding:14px 24px;max-width:1240px;margin-inline:auto;
  min-height:var(--header-h);
}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.logo svg{width:44px;height:44px;flex-shrink:0;}
.logo-word{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--forest-dark);letter-spacing:.2px;}
.logo-word em{font-style:normal;color:var(--terracotta);}

.main-nav{margin-inline:auto;display:none;}
.main-nav ul{display:flex;gap:28px;align-items:center;}
.main-nav>ul>li{position:relative;}
.main-nav a{font-weight:600;font-size:.98rem;padding:8px 2px;position:relative;}
.main-nav>ul>li>a::after{content:"";position:absolute;left:0;bottom:2px;width:100%;height:2px;background:var(--terracotta);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.main-nav>ul>li>a:hover::after,.main-nav>ul>li>a:focus-visible::after{transform:scaleX(1);}
.dropdown{
  position:absolute;top:100%;left:-16px;min-width:230px;background:var(--white);
  border-radius:var(--radius-sm);box-shadow:var(--shadow-lift);padding:10px;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;
}
.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown li a{display:block;padding:9px 12px;border-radius:8px;font-weight:500;font-size:.92rem;}
.dropdown li a:hover{background:var(--beige);color:var(--forest-dark);}

.header-actions{display:flex;align-items:center;gap:14px;margin-left:auto;}
.icon-btn{background:none;border:none;padding:8px;border-radius:50%;display:flex;color:var(--charcoal);}
.icon-btn:hover{background:var(--beige);}
.search-wrap{position:relative;}
.search-form{
  position:absolute;right:0;top:calc(100% + 10px);background:var(--white);border-radius:var(--radius-sm);
  box-shadow:var(--shadow-lift);padding:10px;display:flex;gap:6px;width:min(300px,90vw);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;
}
.search-form.open{opacity:1;visibility:visible;transform:translateY(0);}
.search-form input{flex:1;border:1px solid var(--beige);border-radius:8px;padding:8px 10px;}
.search-form button{background:var(--forest);color:var(--cream);border:none;border-radius:8px;padding:0 12px;}
.cart-link{position:relative;display:flex;padding:8px;border-radius:50%;}
.cart-link:hover{background:var(--beige);}
.cart-count{
  position:absolute;top:0;right:0;background:var(--terracotta);color:var(--white);
  font-size:.68rem;font-weight:700;min-width:18px;height:18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;padding:0 3px;
}
.cart-count.bump{animation:bump .4s var(--ease);}
@keyframes bump{0%{transform:scale(1);}40%{transform:scale(1.5);}100%{transform:scale(1);}}

.menu-toggle{display:flex;background:none;border:none;color:var(--forest-dark);padding:8px;}

.mobile-nav{
  position:fixed;inset:0 0 0 auto;width:min(320px,86vw);height:100vh;background:var(--navy);color:var(--cream);
  padding:90px 28px 28px;transform:translateX(100%);visibility:hidden;transition:transform .35s var(--ease),visibility .35s;
  overflow-y:auto;z-index:250;
}
.mobile-nav.open{transform:translateX(0);visibility:visible;}
.mobile-nav ul{display:flex;flex-direction:column;gap:6px;}
.mobile-nav a{display:block;padding:12px 4px;font-weight:600;font-size:1.05rem;border-bottom:1px solid rgba(255,255,255,.1);}
.mobile-nav .sub-list{padding-left:14px;display:flex;flex-direction:column;}
.mobile-nav .sub-list a{font-weight:400;font-size:.92rem;padding:9px 4px;border-bottom:none;color:var(--frost);}
.nav-overlay{position:fixed;inset:0;background:rgba(31,45,58,.5);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:240;}
.nav-overlay.open{opacity:1;visibility:visible;}
.mobile-close{position:absolute;top:24px;right:24px;background:none;border:none;color:var(--cream);}

@media(min-width:900px){
  .main-nav{display:block;}
  .menu-toggle,.mobile-nav,.nav-overlay{display:none;}
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  position:relative;overflow:hidden;isolation:isolate;
  padding:14px 26px;border-radius:999px;font-weight:700;font-size:.96rem;border:2px solid transparent;
  transition:color .35s var(--ease),border-color .35s var(--ease);
}
.btn::before{
  content:"";position:absolute;inset:0;left:-100%;width:100%;background:var(--forest-dark);
  transition:left .35s var(--ease);z-index:-1;
}
.btn:hover::before,.btn:focus-visible::before{left:0;}
.btn-primary{background:var(--forest);color:var(--cream);}
.btn-primary:hover,.btn-primary:focus-visible{color:var(--cream);}
.btn-outline{background:transparent;color:var(--forest-dark);border-color:var(--forest-dark);}
.btn-outline::before{background:var(--forest-dark);}
.btn-outline:hover,.btn-outline:focus-visible{color:var(--cream);}
.btn-terracotta{background:var(--terracotta);color:var(--cream);}
.btn-terracotta::before{background:var(--terracotta-dark);}
.btn-terracotta:hover{color:var(--cream);}
.btn-sm{padding:9px 18px;font-size:.85rem;}
.btn[disabled]{opacity:.5;cursor:not-allowed;}
.btn[disabled]::before{display:none;}

/* ---------- Hero ---------- */
.hero{position:relative;padding:48px 0 90px;overflow:hidden;}
.hero-grid{
  display:grid;grid-template-columns:1fr;gap:40px;align-items:center;position:relative;z-index:2;
}
.hero-text{max-width:620px;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--beige);color:var(--forest-dark);
  padding:6px 14px;border-radius:999px;font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:18px;}
.hero h1{font-size:clamp(2.3rem,5.4vw,3.8rem);letter-spacing:-.01em;}
.hero p.lead{font-size:1.15rem;color:#3f423c;max-width:520px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px;}

.hero-collage{position:relative;height:460px;}
.hero-collage .photo{position:absolute;border-radius:var(--radius-lg);box-shadow:var(--shadow-lift);overflow:hidden;}
.hero-collage .photo img{width:100%;height:100%;object-fit:cover;}
.hero-collage .ph1{width:62%;height:62%;top:0;left:4%;}
.hero-collage .ph2{width:46%;height:48%;bottom:0;right:0;border:6px solid var(--cream);}
.hero-collage .caption{
  position:absolute;bottom:14%;left:0;background:var(--forest);color:var(--cream);padding:14px 20px;
  border-radius:var(--radius-sm);font-family:var(--font-display);font-size:1rem;box-shadow:var(--shadow-soft);
  max-width:220px;
}
.hero-mark{position:absolute;top:-10px;right:6%;width:120px;height:120px;z-index:3;}
.hero-mark .assemble{transform-origin:center;}
.js .hero-mark .assemble{animation:assemble 1.1s var(--ease) both;}
.hero-mark .a1{animation-delay:.05s;}
.hero-mark .a2{animation-delay:.18s;}
.hero-mark .a3{animation-delay:.3s;}
.hero-mark .a4{animation-delay:.42s;}
.hero-mark .a5{animation-delay:.54s;}
@keyframes assemble{
  0%{opacity:0;transform:translate(var(--fx,0),var(--fy,0)) scale(.4) rotate(-20deg);}
  100%{opacity:1;transform:translate(0,0) scale(1) rotate(0);}
}
.snow-drift{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:.55;}
.snow-drift .flake{animation:drift 14s linear infinite;}
@keyframes drift{0%{transform:translateY(-10%) translateX(0);}100%{transform:translateY(120%) translateX(16px);}}

@media(min-width:860px){
  .hero-grid{grid-template-columns:1.05fr .95fr;}
}

/* ---------- Section basics ---------- */
.section{padding:84px 0;}
.section.tight{padding:56px 0;}
.section-head{max-width:640px;margin-bottom:40px;}
.section-head.center{margin-inline:auto;text-align:center;}
.section-eyebrow{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;color:var(--terracotta);display:block;margin-bottom:10px;}
.divider{display:block;width:100%;height:46px;margin:0 auto;}
.bg-forest{background:var(--forest-dark);color:var(--cream);}
.bg-forest h2,.bg-forest h3{color:var(--cream);}
.bg-beige{background:var(--beige);}
.bg-frost{background:linear-gradient(180deg,var(--frost) 0%,var(--cream) 100%);}

/* ---------- Category cards ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.cat-card{
  position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--shadow-soft);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.cat-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);}
.cat-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.cat-card:hover img{transform:scale(1.08);}
.cat-card .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(41,43,38,0) 30%,rgba(20,22,18,.85) 100%);}
.cat-card .label{position:absolute;left:14px;bottom:14px;right:14px;color:#FFFFFF;font-family:var(--font-display);font-size:1.08rem;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 10px rgba(0,0,0,.6);background:rgba(20,22,18,.72);padding:6px 10px;border-radius:var(--radius-sm);display:inline-block;}
@media(min-width:620px){.cat-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:980px){.cat-grid{grid-template-columns:repeat(4,1fr);}}

/* ---------- Product cards ---------- */
.prod-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
@media(min-width:680px){.prod-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:980px){.prod-grid{grid-template-columns:repeat(4,1fr);}}

.prod-card{
  background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-soft);
  display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
.prod-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);}
.prod-card .thumb{position:relative;aspect-ratio:1/1;overflow:hidden;}
.prod-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.prod-card:hover .thumb img{transform:scale(1.08);}
.prod-card .badge{position:absolute;top:10px;left:10px;background:var(--terracotta);color:var(--cream);font-size:.7rem;font-weight:700;padding:5px 10px;border-radius:999px;}
.prod-card .body{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1;}
.prod-card h3{font-size:1rem;margin:0;}
.prod-card .weight{color:#6b6e66;font-size:.84rem;}
.prod-card .price-row{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px;}
.prod-card .price{font-weight:800;font-size:1.1rem;color:var(--forest-dark);}
.prod-card .avail{font-size:.76rem;font-weight:600;}
.prod-card .avail.yes{color:var(--forest);}
.prod-card .avail.no{color:var(--terracotta-dark);}
.prod-card .actions{display:flex;gap:8px;margin-top:10px;}
.prod-card .actions .btn{flex:1;padding:10px 14px;font-size:.84rem;}

.scroll-strip{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;margin:0 -24px;padding-left:24px;padding-right:24px;}
.scroll-strip .prod-card{min-width:220px;scroll-snap-align:start;}
@media(min-width:780px){.scroll-strip{display:none;}}
.strip-wrap{display:none;}
@media(max-width:779px){.strip-wrap{display:block;}.grid-wrap{display:none;}}
@media(min-width:780px){.strip-wrap{display:none;}.grid-wrap{display:block;}}

/* ---------- Filters (shop) ---------- */
.shop-layout{display:grid;grid-template-columns:1fr;gap:32px;}
@media(min-width:900px){.shop-layout{grid-template-columns:260px 1fr;}}
.filters{background:var(--white);border-radius:var(--radius-md);padding:22px;box-shadow:var(--shadow-soft);align-self:start;}
.filters h3{font-size:1rem;margin-bottom:12px;}
.filter-group{margin-bottom:22px;}
.filter-group label{display:flex;align-items:center;gap:8px;font-size:.92rem;margin-bottom:8px;cursor:pointer;}
.filter-group input[type=checkbox],.filter-group input[type=radio]{accent-color:var(--forest);width:16px;height:16px;}
.price-range{display:flex;gap:10px;align-items:center;}
.price-range input{width:100%;accent-color:var(--terracotta);}
.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:24px;}
.toolbar select, .toolbar input[type=search]{border:1px solid var(--beige);border-radius:8px;padding:9px 12px;background:var(--white);}
.empty-note{padding:40px;text-align:center;color:#6b6e66;background:var(--white);border-radius:var(--radius-md);}

/* ---------- Product detail ---------- */
.breadcrumbs{font-size:.85rem;color:#6b6e66;margin-bottom:20px;}
.breadcrumbs a:hover{text-decoration:underline;}
.pd-layout{display:grid;grid-template-columns:1fr;gap:40px;}
@media(min-width:880px){.pd-layout{grid-template-columns:1fr 1fr;}}
.pd-gallery img{border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);aspect-ratio:1/1;object-fit:cover;}
.pd-price{font-size:1.9rem;font-weight:800;color:var(--forest-dark);margin:10px 0;}
.qty-control{display:flex;align-items:center;border:1px solid var(--beige);border-radius:999px;overflow:hidden;width:fit-content;}
.qty-control button{background:none;border:none;width:40px;height:40px;font-size:1.1rem;}
.qty-control button:hover{background:var(--beige);}
.qty-control input{width:46px;text-align:center;border:none;background:none;}
.pd-meta{margin-top:28px;border-top:1px solid var(--beige);}
.pd-meta details{border-bottom:1px solid var(--beige);padding:14px 0;}
.pd-meta summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;}
.pd-meta summary::-webkit-details-marker{display:none;}
.pd-meta summary::after{content:"+";font-size:1.2rem;}
.pd-meta details[open] summary::after{content:"–";}
.placeholder-note{background:var(--beige);border-radius:8px;padding:10px 12px;font-size:.84rem;color:var(--forest-dark);margin-top:6px;}

/* ---------- Jar watcher feature ---------- */
.watcher{background:var(--navy);color:var(--cream);border-radius:var(--radius-lg);padding:40px;position:relative;overflow:hidden;}
.watcher h2{color:var(--cream);}
.watcher-grid{display:grid;grid-template-columns:1fr;gap:30px;}
@media(min-width:880px){.watcher-grid{grid-template-columns:1fr 1fr;}}
.watcher-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;}
.watcher-form select,.watcher-form input{border-radius:8px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:var(--cream);padding:11px 12px;}
.watcher-form select option{color:var(--charcoal);}
.watcher-form label{display:block;font-size:.8rem;margin-bottom:6px;color:var(--frost);}
.jar-list{display:flex;flex-direction:column;gap:10px;max-height:320px;overflow:auto;}
.jar-item{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.08);border-radius:12px;padding:12px 16px;gap:10px;}
.jar-item .status{font-weight:700;font-size:.8rem;padding:4px 10px;border-radius:999px;}
.status-ok{background:rgba(54,84,61,.5);color:#bfe3c8;}
.status-soon{background:rgba(182,107,72,.4);color:#ffd9c2;}
.status-late{background:rgba(185,53,53,.5);color:#ffd0d0;}
.jar-item button{background:none;border:none;color:var(--frost);opacity:.7;}
.jar-item button:hover{opacity:1;}
.jar-empty{color:var(--frost);opacity:.8;font-size:.92rem;}

/* ---------- About page ---------- */
.about-hero{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;}
@media(min-width:880px){.about-hero{grid-template-columns:1fr 1fr;}}
.about-hero img{border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);aspect-ratio:4/3;object-fit:cover;}
.values-grid{display:grid;grid-template-columns:1fr;gap:22px;}
@media(min-width:700px){.values-grid{grid-template-columns:repeat(3,1fr);}}
.value-card{background:var(--white);border-radius:var(--radius-md);padding:26px;box-shadow:var(--shadow-soft);}
.value-card svg{width:32px;height:32px;color:var(--terracotta);margin-bottom:12px;}

/* ---------- FAQ ---------- */
.faq-list details{background:var(--white);border-radius:var(--radius-sm);padding:16px 20px;margin-bottom:12px;box-shadow:var(--shadow-soft);}
.faq-list summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px;}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary::after{content:"+";font-size:1.2rem;flex-shrink:0;}
.faq-list details[open] summary::after{content:"–";}
.faq-list details p{margin-top:10px;}

/* ---------- Forms ---------- */
.form-grid{display:grid;grid-template-columns:1fr;gap:16px;}
@media(min-width:620px){.form-grid.cols-2{grid-template-columns:1fr 1fr;}}
.field{display:flex;flex-direction:column;gap:6px;}
.field label{font-weight:600;font-size:.9rem;}
.field input,.field select,.field textarea{
  border:1px solid var(--beige);border-radius:10px;padding:12px 14px;background:var(--white);accent-color:var(--forest);
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--terracotta);}
.field.error input,.field.error select,.field.error textarea{border-color:#b93535;}
.field .error-msg{color:#b93535;font-size:.8rem;display:none;}
.field.error .error-msg{display:block;}
.form-note{font-size:.84rem;color:#6b6e66;}
.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;opacity:0;}
.form-status{margin-top:14px;padding:12px 16px;border-radius:10px;font-weight:600;display:none;}
.form-status.ok{display:block;background:#e4f0e2;color:var(--forest-dark);}
.form-status.fail{display:block;background:#f6e0da;color:#8a3522;}

.radio-card{display:flex;align-items:center;gap:12px;border:1px solid var(--beige);border-radius:12px;padding:14px 16px;cursor:pointer;}
.radio-card:has(input:checked){border-color:var(--terracotta);background:var(--beige);}
.radio-card input{accent-color:var(--terracotta);width:18px;height:18px;}

/* ---------- Cart / checkout ---------- */
.cart-table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-soft);}
.cart-table th,.cart-table td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--beige);font-size:.92rem;vertical-align:middle;}
.cart-table img{width:60px;height:60px;object-fit:cover;border-radius:10px;}
.cart-row-title{display:flex;align-items:center;gap:12px;}
.cart-qty{display:flex;align-items:center;border:1px solid var(--beige);border-radius:999px;width:fit-content;}
.cart-qty button{background:none;border:none;width:30px;height:30px;}
.cart-qty input{width:34px;text-align:center;border:none;}
.remove-btn{background:none;border:none;color:var(--terracotta-dark);font-weight:600;font-size:.84rem;}
.cart-summary{background:var(--white);border-radius:var(--radius-md);padding:24px;box-shadow:var(--shadow-soft);position:sticky;top:100px;}
.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:.95rem;}
.summary-row.total{font-weight:800;font-size:1.2rem;border-top:1px solid var(--beige);margin-top:8px;padding-top:14px;color:var(--forest-dark);}
.cart-empty{text-align:center;padding:60px 20px;background:var(--white);border-radius:var(--radius-md);}
.checkout-layout{display:grid;grid-template-columns:1fr;gap:32px;}
@media(min-width:960px){.checkout-layout{grid-template-columns:1.3fr .9fr;}}
.step-title{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.step-num{background:var(--forest);color:var(--cream);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0;}

/* ---------- Newsletter ---------- */
.newsletter{background:var(--forest-dark);color:var(--cream);border-radius:var(--radius-lg);padding:40px;text-align:center;}
.newsletter h2{color:var(--cream);}
.newsletter form{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:480px;margin:20px auto 0;}
.newsletter input{flex:1;min-width:200px;border-radius:999px;border:none;padding:13px 18px;}
.newsletter .btn{border-radius:999px;}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy);color:var(--frost);padding:64px 0 24px;margin-top:80px;}
.footer-grid{display:grid;grid-template-columns:1fr;gap:36px;}
@media(min-width:720px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr 1.3fr;}}
.footer-col h4{color:var(--cream);font-size:.95rem;margin-bottom:14px;}
.footer-col ul{display:flex;flex-direction:column;gap:9px;}
.footer-col a:hover{color:var(--white);text-decoration:underline;}
.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.footer-logo svg{width:38px;height:38px;}
.footer-logo span{font-family:var(--font-display);font-size:1.15rem;color:var(--cream);font-weight:700;}
.footer-bottom{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:20px;font-size:.82rem;color:rgba(217,236,241,.7);max-width:1240px;margin-inline:auto;padding-left:24px;padding-right:24px;}

/* ---------- Cookie banner ---------- */
.cookie-banner{
  position:fixed;left:16px;right:16px;bottom:16px;max-width:620px;margin-inline:auto;background:var(--navy);color:var(--cream);
  border-radius:var(--radius-md);box-shadow:var(--shadow-lift);padding:22px 24px;z-index:400;
  display:flex;flex-direction:column;gap:14px;transform:translateY(130%);transition:transform .4s var(--ease);
}
.cookie-banner.show{transform:translateY(0);}
.cookie-banner p{margin:0;font-size:.88rem;color:var(--frost);}
.cookie-banner a{text-decoration:underline;color:var(--cream);}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.cookie-actions .btn-outline{color:var(--cream);border-color:rgba(255,255,255,.5);}
.cookie-actions .btn-outline::before{background:rgba(255,255,255,.18);}

/* ---------- Misc blocks ---------- */
.info-strip{display:grid;grid-template-columns:1fr;gap:20px;}
@media(min-width:700px){.info-strip{grid-template-columns:repeat(3,1fr);}}
.info-card{display:flex;gap:14px;background:var(--white);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-soft);}
.info-card svg{width:30px;height:30px;color:var(--forest);flex-shrink:0;}
.info-card h3{font-size:1rem;margin-bottom:4px;}
.info-card p{margin:0;font-size:.86rem;color:#5c5f57;}

.legal-page h2{margin-top:2em;}
.legal-page ul{list-style:disc;padding-left:1.4em;margin-bottom:1em;}
.legal-page li{margin-bottom:.4em;}

.grain{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:1;opacity:.04;mix-blend-mode:multiply;}

.page-hero{padding:60px 0 40px;text-align:left;}
.page-hero p{max-width:620px;color:#4a4d44;}

.table-simple{width:100%;border-collapse:collapse;margin:20px 0;}
.table-simple th,.table-simple td{border:1px solid var(--beige);padding:10px 12px;text-align:left;font-size:.9rem;}
.table-simple th{background:var(--beige);}

.err-404{text-align:center;padding:100px 0;}
.err-404 svg{width:140px;height:140px;margin:0 auto 20px;color:var(--terracotta);}
