/* ===== Hliněnka — Soft K-pastel (espresso / caramel / milk) ===== */

:root{
  --espresso:#3f2a20;
  --espresso-deep:#2a1a13;
  --caramel:#c98a4b;
  --caramel-soft:#e3ad77;
  --caramel-pale:#f3d8b8;
  --milk:#fdf7ef;
  --milk-deep:#f4e8d8;
  --blush:#f0d2c6;
  --sage:#cdd6b8;
  --ink:#2a1a13;
  --paper:#fffaf3;
  --radius-lg:1.75rem;
  --radius-md:1.1rem;
  --radius-sm:0.6rem;
  --shadow-card:0 1.2rem 2.5rem -1.2rem rgba(42,26,19,.35);
  --shadow-soft:0 0.6rem 1.4rem -0.6rem rgba(42,26,19,.25);
  --font-display: "Iowan Old Style", "Palatino Linotype", Georgia, "Noto Serif", serif;
  --font-body: -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, "Cascadia Mono", "SFMono-Regular", Consolas, monospace;
  --ease: cubic-bezier(.22,.9,.3,1);
}

*,*::before,*::after{box-sizing:border-box;}
html,body{overflow-x:clip;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--milk);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.1;margin:0 0 .5em;color:var(--espresso-deep);}
p{margin:0 0 1em;}
ul{margin:0;padding:0;}
button{font-family:inherit;cursor:pointer;}
:focus-visible{outline:3px solid var(--caramel);outline-offset:2px;border-radius:.3rem;}

.container{max-width:74rem;margin-inline:auto;padding-inline:1.25rem;}
@media (min-width:640px){.container{padding-inline:2rem;}}

/* ===== Skip link ===== */
.skip-link{position:absolute;left:-999px;top:0;background:var(--espresso);color:var(--milk);padding:.6rem 1rem;border-radius:0 0 .5rem 0;z-index:200;}
.skip-link:focus{left:0;}

/* ===== Header ===== */
.site-header{
  position:sticky;top:0;z-index:100;
  background:color-mix(in srgb, var(--milk) 92%, transparent);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--milk-deep);
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.7rem;}
.brand{display:flex;align-items:center;gap:.6rem;flex-shrink:0;}
.brand svg{width:2.5rem;height:2.5rem;flex-shrink:0;}
.brand .wordmark{width:7.3rem;height:1.5rem;color:var(--espresso-deep);}
.brand .wordmark svg{width:100%;height:100%;}

.main-nav{display:flex;align-items:center;gap:1.6rem;}
.main-nav ul{display:flex;gap:1.4rem;list-style:none;}
.main-nav a{
  position:relative;font-weight:600;font-size:.95rem;color:var(--espresso);
  padding-block:.3rem;
}
.main-nav a::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:var(--caramel);transform:scaleX(0);transform-origin:left;
  transition:transform .3s var(--ease);
}
.main-nav a:hover::after,.main-nav a:focus-visible::after{transform:scaleX(1);}
.main-nav a[aria-current="page"]{color:var(--caramel);}

.header-actions{display:flex;align-items:center;gap:.7rem;}
.cart-link{
  position:relative;display:inline-flex;align-items:center;gap:.4rem;
  padding:.55rem .9rem;border-radius:999px;background:var(--espresso);color:var(--milk);
  font-weight:600;font-size:.9rem;
}
.cart-link svg{width:1.2rem;height:1.2rem;}
.cart-count{
  position:absolute;top:-.5rem;right:-.5rem;background:var(--caramel);color:var(--espresso-deep);
  font-size:.72rem;font-weight:700;min-width:1.4rem;height:1.4rem;border-radius:999px;
  display:flex;align-items:center;justify-content:center;border:2px solid var(--milk);
  transition:transform .3s var(--ease);
}
.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:none;background:none;border:none;padding:.4rem;color:var(--espresso);}
.menu-toggle svg{width:1.7rem;height:1.7rem;}

@media (max-width:860px){
  .main-nav{
    position:fixed;inset:0 0 0 auto;width:min(80vw,20rem);height:100vh;
    background:var(--paper);box-shadow:-1rem 0 2rem rgba(42,26,19,.25);
    flex-direction:column;align-items:flex-start;padding:5rem 1.5rem 2rem;
    transform:translateX(100%);visibility:hidden;transition:transform .35s var(--ease),visibility .35s;
    z-index:150;
  }
  .main-nav.open{transform:translateX(0);visibility:visible;}
  .main-nav ul{flex-direction:column;gap:.3rem;width:100%;}
  .main-nav a{font-size:1.1rem;padding-block:.75rem;display:block;}
  .menu-toggle{display:inline-flex;padding:.6rem;}
}

/* ===== Buttons ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  position:relative;overflow:hidden;isolation:isolate;
  padding:.8rem 1.6rem;border-radius:999px;font-weight:700;font-size:.95rem;
  border:2px solid var(--espresso);background:transparent;color:var(--espresso);
  transition:color .35s var(--ease),border-color .35s var(--ease);
}
.btn::before{
  content:"";position:absolute;inset:0;left:-100%;width:100%;
  background:var(--espresso);z-index:-1;transition:left .35s var(--ease);
}
.btn:hover::before,.btn:focus-visible::before{left:0;}
.btn:hover,.btn:focus-visible{color:var(--milk);}
.btn-primary{background:var(--espresso);color:var(--milk);border-color:var(--espresso);}
.btn-primary::before{background:var(--caramel);}
.btn-primary:hover,.btn-primary:focus-visible{color:var(--espresso-deep);}
.btn-ghost{border-color:var(--milk-deep);color:var(--espresso);}
.btn-ghost::before{background:var(--milk-deep);}
.btn-ghost:hover{color:var(--espresso-deep);}
.btn[disabled]{opacity:.5;cursor:not-allowed;}
.btn-sm{padding:.7rem 1.1rem;font-size:.85rem;min-height:2.75rem;}

/* ===== Hero ===== */
.hero{
  position:relative;padding-block:3.5rem 5rem;overflow:clip;
}
.hero .container{
  display:grid;gap:2.5rem;align-items:center;
  grid-template-columns:1.1fr 1fr;
}
@media (max-width:860px){.hero .container{grid-template-columns:1fr;}}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;font-size:.78rem;color:var(--caramel);margin-bottom:1rem;
}
.hero h1{
  font-size:clamp(2.4rem,5.5vw,4.3rem);
  letter-spacing:-.01em;
}
.hero h1 em{color:var(--caramel);font-style:normal;}
.hero p.lead{font-size:1.1rem;max-width:34rem;color:#5a4336;}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.6rem;}

.hero-art{position:relative;aspect-ratio:1/1;max-width:30rem;margin-inline:auto;}
.hero-art .depth-plane{position:absolute;inset:0;}
.hero-art .mask-photo{
  position:absolute;inset:4%;
  clip-path:url(#potBlob);
  overflow:hidden;
}
.hero-art .mask-photo img{width:100%;height:100%;object-fit:cover;filter:sepia(.15) saturate(1.05);}
.hero-art svg.blob-outline{position:absolute;inset:0;width:100%;height:100%;}
.hero-art .deco-leaf{position:absolute;width:22%;top:-6%;right:2%;animation:float-slow 7s ease-in-out infinite;}
.hero-art .deco-dots{position:absolute;width:30%;left:-8%;bottom:6%;opacity:.8;}
@media (prefers-reduced-motion:no-preference){
  .hero-art .mask-photo{opacity:0;transform:scale(1.08);transition:opacity 1s var(--ease),transform 1.1s var(--ease);}
  .hero-art.revealed .mask-photo{opacity:1;transform:scale(1);}
}
@keyframes float-slow{0%,100%{transform:translateY(0) rotate(-4deg);}50%{transform:translateY(-10px) rotate(2deg);}}
@media (prefers-reduced-motion:reduce){.deco-leaf{animation:none;}}

/* ===== Sections ===== */
section{padding-block:4rem;}
.section-head{max-width:38rem;margin-bottom:2.2rem;}
.section-head .kicker{
  text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;font-weight:700;color:#8a5a2e;
}
.bg-milk{background:var(--milk-deep);}
.bg-espresso{background:var(--espresso-deep);color:var(--milk);}
.bg-espresso h2,.bg-espresso h3{color:var(--milk);}

.divider{display:block;width:100%;height:auto;color:var(--caramel-pale);}

/* ===== Reveal ===== */
.reveal{opacity:1;}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease),clip-path .7s var(--ease);}
.js .reveal.in-view{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none;}
}

/* ===== Feature: sizing advisor ===== */
.advisor{
  background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);
  padding:2.2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;
  border:1px solid var(--milk-deep);
}
@media (max-width:760px){.advisor{grid-template-columns:1fr;padding:1.5rem;}}
.advisor-form .field{margin-bottom:1.1rem;}
.advisor-form label{display:block;font-weight:700;margin-bottom:.35rem;font-size:.92rem;}
.advisor-form input,.advisor-form select{
  width:100%;padding:.7rem .9rem;border-radius:var(--radius-sm);border:1.5px solid var(--milk-deep);
  background:var(--milk);font-size:1rem;accent-color:var(--caramel);
}
.advisor-form input:focus-visible,.advisor-form select:focus-visible{border-color:var(--caramel);}
.advisor-result{
  background:var(--milk-deep);border-radius:var(--radius-md);padding:1.5rem;
  display:flex;flex-direction:column;gap:.9rem;justify-content:center;
}
.advisor-result .result-row{display:flex;justify-content:space-between;gap:1rem;font-size:.95rem;border-bottom:1px dashed var(--caramel-pale);padding-bottom:.5rem;}
.advisor-result .result-row strong{color:var(--espresso-deep);}
.advisor-result .result-empty{color:#7a6252;font-size:.95rem;}

/* ===== Product grid / strip ===== */
.product-grid{
  display:grid;gap:1.6rem;
  grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));
}
.product-strip{
  display:grid;grid-auto-flow:column;grid-auto-columns:15rem;gap:1.2rem;
  overflow-x:auto;padding-bottom:.6rem;scroll-snap-type:x mandatory;
}
.product-strip .product-card{scroll-snap-align:start;}
.product-card{
  background:var(--paper);border-radius:var(--radius-md);overflow:hidden;
  box-shadow:var(--shadow-soft);border:1px solid var(--milk-deep);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
  display:flex;flex-direction:column;
}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card);}
.product-card .thumb{aspect-ratio:4/3;overflow:hidden;background:var(--milk-deep);}
.product-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.product-card:hover .thumb img{transform:scale(1.07);}
.product-card .body{padding:1.1rem 1.1rem 1.3rem;display:flex;flex-direction:column;gap:.4rem;flex:1;}
.product-card h3{font-size:1.05rem;margin:0;}
.product-card .price{font-family:var(--font-mono);font-weight:700;color:var(--caramel);font-size:1.05rem;margin-top:auto;}
.product-card .short{font-size:.88rem;color:#6b5546;flex:1;}
.product-card .card-actions{display:flex;gap:.6rem;margin-top:.5rem;}

.filters{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.6rem;}
.filters button{
  border:1.5px solid var(--milk-deep);background:var(--paper);border-radius:999px;
  padding:.45rem 1rem;font-size:.86rem;font-weight:600;
}
.filters button.active{background:var(--espresso);color:var(--milk);border-color:var(--espresso);}

/* ===== Cards generic (about / info) ===== */
.info-card{
  background:var(--paper);border-radius:var(--radius-md);padding:1.5rem;
  border:1px solid var(--milk-deep);box-shadow:var(--shadow-soft);
}
.icon-row{display:flex;align-items:flex-start;gap:1rem;}
.icon-row svg{width:2.1rem;height:2.1rem;flex-shrink:0;color:var(--caramel);}

.grid-3{display:grid;gap:1.4rem;grid-template-columns:repeat(3,1fr);}
.grid-2{display:grid;gap:1.6rem;grid-template-columns:repeat(2,1fr);}
@media (max-width:760px){.grid-3,.grid-2{grid-template-columns:1fr;}}

/* ===== Parallax depth ===== */
.depth-section{position:relative;overflow:clip;}
.depth-layer{position:absolute;inset:0;will-change:transform;}

/* ===== Product detail page ===== */
.product-detail{display:grid;gap:2.5rem;grid-template-columns:1fr 1fr;align-items:start;}
@media (max-width:800px){.product-detail{grid-template-columns:1fr;}}
.product-detail .gallery{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:1/1;box-shadow:var(--shadow-card);}
.product-detail .gallery img{width:100%;height:100%;object-fit:cover;}
.product-detail .meta-list{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin:1rem 0 1.5rem;font-size:.92rem;}
.product-detail .meta-list li{display:flex;justify-content:space-between;border-bottom:1px dashed var(--milk-deep);padding-bottom:.4rem;}
.product-detail .price-tag{font-family:var(--font-mono);font-size:1.8rem;font-weight:700;color:var(--caramel);}
.qty-row{display:flex;align-items:center;gap:1rem;margin:1.4rem 0;}
.qty-row input{width:4.5rem;padding:.55rem;text-align:center;border-radius:var(--radius-sm);border:1.5px solid var(--milk-deep);}

/* ===== Cart / checkout ===== */
.cart-table{width:100%;border-collapse:collapse;margin-bottom:2rem;}
.cart-table th,.cart-table td{text-align:left;padding:.8rem .5rem;border-bottom:1px solid var(--milk-deep);}
.cart-table img{width:4.5rem;height:4.5rem;object-fit:cover;border-radius:var(--radius-sm);}
.cart-table .remove-btn{color:#a1402b;font-weight:700;background:none;border:none;font-size:.85rem;}
.cart-summary{display:flex;justify-content:flex-end;}
.cart-summary .box{background:var(--milk-deep);border-radius:var(--radius-md);padding:1.4rem;min-width:16rem;}
.cart-summary .total-row{display:flex;justify-content:space-between;font-weight:700;font-size:1.15rem;margin-top:.6rem;}
.empty-cart{text-align:center;padding:3rem 1rem;color:#7a6252;}

form.site-form{display:grid;gap:1.1rem;max-width:34rem;}
.site-form .field{display:flex;flex-direction:column;gap:.35rem;}
.site-form label{font-weight:700;font-size:.9rem;}
.site-form input,.site-form select,.site-form textarea{
  padding:.75rem .9rem;border-radius:var(--radius-sm);border:1.5px solid var(--milk-deep);
  font-size:1rem;font-family:inherit;background:var(--paper);accent-color:var(--caramel);
}
.site-form input:focus-visible,.site-form select:focus-visible,.site-form textarea:focus-visible{border-color:var(--caramel);}
.site-form .honeypot{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none;}
.field-error{color:#a1402b;font-size:.82rem;min-height:1.1em;}
.form-note{font-size:.85rem;color:#7a6252;}
.form-success{background:var(--sage);color:var(--espresso-deep);padding:1rem 1.2rem;border-radius:var(--radius-sm);font-weight:600;}
.form-fail{background:#f4d7cf;color:#7a2a17;padding:1rem 1.2rem;border-radius:var(--radius-sm);font-weight:600;}

/* ===== FAQ accordion ===== */
.faq-item{border-bottom:1px solid var(--milk-deep);}
.faq-item summary{
  padding:1.1rem 0;font-weight:700;cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .chev{width:1.1rem;height:1.1rem;transition:transform .3s var(--ease);flex-shrink:0;}
.faq-item[open] summary .chev{transform:rotate(180deg);}
.faq-item p{padding-bottom:1.1rem;color:#5a4336;}

/* ===== Legal pages ===== */
.legal-content h2{margin-top:2rem;font-size:1.3rem;}
.legal-content p,.legal-content li{color:#4d3a2d;}
.legal-content{max-width:42rem;}

/* ===== 404 ===== */
.error-page{text-align:center;padding-block:6rem;}
.error-page .error-code{font-size:clamp(5rem,20vw,9rem);font-family:var(--font-display);color:var(--caramel-pale);line-height:1;}

/* ===== Footer ===== */
.site-footer{background:var(--espresso-deep);color:var(--milk-deep);padding-block:3.5rem 2rem;position:relative;}
.footer-grid{display:grid;gap:2.2rem;grid-template-columns:1.4fr 1fr 1fr 1fr 1.3fr;}
@media (max-width:900px){.footer-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h4{color:var(--caramel-soft);font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.9rem;font-family:var(--font-body);}
.footer-grid ul{list-style:none;display:flex;flex-direction:column;gap:.55rem;}
.footer-grid a{color:var(--milk-deep);font-size:.92rem;opacity:.88;}
.footer-grid a:hover{opacity:1;text-decoration:underline;}
.footer-brand svg{width:2.2rem;height:2.2rem;color:var(--caramel-soft);}
.newsletter-form{display:flex;gap:.5rem;margin-top:.8rem;flex-wrap:wrap;}
.newsletter-form input{flex:1;min-width:9rem;padding:.65rem .9rem;border-radius:999px;border:1.5px solid rgba(255,255,255,.25);background:rgba(255,255,255,.07);color:var(--milk);}
.newsletter-form input::placeholder{color:rgba(255,255,255,.6);}
.newsletter-form button{border-radius:999px;background:var(--caramel);color:var(--espresso-deep);border:none;padding:.65rem 1.2rem;font-weight:700;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2.5rem;padding-top:1.4rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.85rem;opacity:.75;}

/* ===== Cookie banner ===== */
.cookie-banner{
  position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:300;max-width:34rem;margin-inline:auto;
  background:var(--espresso-deep);color:var(--milk);border-radius:var(--radius-md);
  padding:1.3rem 1.4rem;box-shadow:0 1.5rem 3rem rgba(0,0,0,.35);
  display:flex;flex-direction:column;gap:.9rem;
  transform:translateY(120%);transition:transform .5s var(--ease);
}
.cookie-banner.visible{transform:translateY(0);}
.cookie-banner p{margin:0;font-size:.9rem;color:var(--milk-deep);}
.cookie-banner a{text-decoration:underline;color:var(--milk);}
.cookie-actions{display:flex;gap:.7rem;flex-wrap:wrap;}
.cookie-actions .btn-ghost{border-color:rgba(255,255,255,.4);color:var(--milk);}
.cookie-actions .btn-ghost::before{background:rgba(255,255,255,.18);}
.cookie-actions .btn-ghost:hover{color:var(--milk);}

/* ===== Grain overlay ===== */
.grain-overlay{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:1;opacity:.05;mix-blend-mode:multiply;}

.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}

.badge-seal{position:absolute;width:5.5rem;height:5.5rem;color:var(--caramel);}
.jested-deco{width:9rem;height:auto;color:var(--caramel-pale);opacity:.9;}
.seal-wrap{position:relative;width:7rem;height:7rem;flex-shrink:0;}
.seal-wrap svg{width:100%;height:100%;}

/* ===== Breadcrumb ===== */
.breadcrumb{font-size:.85rem;color:#7a6252;margin-bottom:1.2rem;}
.breadcrumb a{text-decoration:underline;}
