/* Rumenkas — kézműves natúr lekvárok | styles.css */

:root{
  --bg:#fdfbf6;
  --bg-soft:#f6efe3;
  --bg-card:#ffffff;
  --ink:#2b2521;
  --ink-soft:#6e645a;
  --ink-faint:#9a9087;
  --line:#e7ddcd;
  --line-soft:#efe7d8;
  --red:#b8332c;
  --red-dark:#97271f;
  --accent:#c5893d;
  --accent-soft:#f3e6d2;
  --pink:#cf7f99;
  --pink-soft:#f4e4ea;
  --purple:#876f9d;
  --purple-soft:#ece5f1;
  --green:#5d7a52;
  --shadow-sm:0 1px 2px rgba(43,37,33,.05);
  --shadow:0 14px 40px rgba(43,37,33,.10);
  --shadow-lg:0 24px 60px rgba(43,37,33,.16);
  --serif:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans:'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --r:14px;
  --r-sm:9px;
  --maxw:1240px;
  --pad:clamp(16px,4vw,40px);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
ul,ol{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:500;line-height:1.14;letter-spacing:.005em;color:var(--ink);}
h1{font-size:clamp(2.2rem,5.2vw,3.7rem);}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem);}
h3{font-size:1.35rem;}
p{margin:0 0 1em;}
:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:3px;}
::selection{background:var(--pink-soft);color:var(--ink);}

.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:200;border-radius:0 0 8px 0;}
.skip-link:focus{left:0;}
.section{padding:clamp(48px,7vw,96px) 0;}
.section--soft{background:var(--bg-soft);}
.section--tight{padding:clamp(32px,5vw,64px) 0;}
.section__head{max-width:680px;margin:0 0 clamp(28px,4vw,46px);}
.section__head--center{margin-left:auto;margin-right:auto;text-align:center;}
.eyebrow{display:inline-block;font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:.85rem;}
.eyebrow::before{content:"";display:inline-block;width:22px;height:1px;background:var(--accent);vertical-align:middle;margin-right:.6rem;}
.section__head--center .eyebrow::after{content:"";display:inline-block;width:22px;height:1px;background:var(--accent);vertical-align:middle;margin-left:.6rem;}
.lead{font-size:1.1rem;color:var(--ink-soft);max-width:60ch;}
.muted{color:var(--ink-soft);}
.center{text-align:center;}
.mt0{margin-top:0;}

/* ---------- Buttons ---------- */
.btn{
  --bg:transparent;display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--sans);font-weight:600;font-size:.95rem;letter-spacing:.01em;
  padding:.92em 1.7em;border-radius:999px;border:1px solid transparent;
  transition:transform .15s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
  line-height:1;text-align:center;
}
.btn i{font-size:.9em;}
.btn:hover{transform:translateY(-1px);}
.btn:active{transform:translateY(0);}
.btn--primary{background:var(--red);color:#fff;box-shadow:0 8px 20px rgba(184,51,44,.22);}
.btn--primary:hover{background:var(--red-dark);box-shadow:0 12px 26px rgba(184,51,44,.3);}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line);}
.btn--ghost:hover{border-color:var(--ink);background:rgba(43,37,33,.03);}
.btn--outline{background:#fff;color:var(--ink);border-color:var(--ink);}
.btn--outline:hover{background:var(--ink);color:#fff;}
.btn--dark{background:var(--ink);color:#fff;}
.btn--dark:hover{background:#1c1814;}
.btn--block{width:100%;}
.btn--lg{padding:1.05em 2.1em;font-size:1rem;}
.btn--sm{padding:.62em 1.1em;font-size:.85rem;}
.btn[disabled]{opacity:.5;pointer-events:none;}
.btn-row{display:flex;flex-wrap:wrap;gap:.85rem;}
.linklike{color:var(--red);font-weight:600;border-bottom:1px solid transparent;transition:border-color .2s;}
.linklike:hover{border-color:currentColor;}
.textlink{display:inline-flex;align-items:center;gap:.45em;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:2px;transition:border-color .2s, gap .2s;}
.textlink:hover{border-color:var(--ink);gap:.7em;}
.textlink i{font-size:.8em;}

.icon-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:50%;border:none;background:transparent;color:var(--ink);
  font-size:1.05rem;transition:background-color .2s ease,color .2s ease,transform .15s ease;position:relative;
}
.icon-btn:hover{background:rgba(43,37,33,.06);}
.icon-btn:active{transform:scale(.94);}

.badge{
  position:absolute;top:14px;left:14px;z-index:3;
  font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  padding:.4em .7em;border-radius:6px;background:var(--ink);color:#fff;line-height:1;
}
.badge--sale{background:var(--red);}
.badge--new{background:var(--green);}
.badge--limited{background:var(--purple);}
.badge--premium{background:var(--accent);color:#fff;}
.badge--gift{background:var(--pink);color:#fff;}

/* placeholders */
.ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;
  background:repeating-linear-gradient(45deg,#f0e8d8,#f0e8d8 14px,#ece2cf 14px,#ece2cf 28px);color:#c7bba2;font-size:2rem;}
.ph--square{aspect-ratio:1/1;}
.ph i{opacity:.7;}

/* ---------- Header ---------- */
.topbar{background:var(--ink);color:#f3ece0;font-size:.78rem;}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:34px;}
.topbar__msg{display:inline-flex;align-items:center;gap:.5em;}
.topbar__msg i{color:var(--accent);}
.topbar__link{display:inline-flex;align-items:center;gap:.4em;opacity:.85;}
.topbar__link:hover{opacity:1;}
.topbar__link i{color:var(--accent);}

.site-header{position:sticky;top:0;z-index:60;background:rgba(253,251,246,.96);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--line-soft);}
.header__inner{display:flex;align-items:center;gap:1rem;min-height:74px;}
.header__burger{display:none;}
.brand{display:flex;align-items:baseline;gap:.5rem;margin-right:auto;}
.brand__mark{
  display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;
  background:var(--red);color:#fff;font-family:var(--serif);font-style:italic;font-weight:600;font-size:1.25rem;line-height:1;transform:translateY(2px);
}
.brand__name{font-family:var(--serif);font-size:1.7rem;font-weight:600;letter-spacing:.01em;}
.brand__sub{font-family:var(--sans);font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint);}
.brand--mini .brand__name{font-size:1.4rem;}
.brand--mini .brand__mark{width:28px;height:28px;font-size:1.05rem;}

.mainnav{margin:0 auto;}
.mainnav__list{display:flex;align-items:center;gap:1.7rem;}
.mainnav__list a{font-size:.92rem;font-weight:500;letter-spacing:.02em;padding:.4rem 0;display:inline-flex;align-items:center;gap:.35em;position:relative;color:var(--ink);}
.mainnav__list a i{font-size:.7em;color:var(--ink-faint);}
.mainnav__list a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;background:var(--red);transition:right .25s ease;}
.mainnav__list a:hover::after{right:0;}
.has-sub{position:relative;}
.submenu{
  position:absolute;left:50%;top:calc(100% + 12px);transform:translateX(-50%) translateY(8px);
  background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);
  min-width:280px;padding:.6rem;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease;
}
.has-sub:hover .submenu,.has-sub:focus-within .submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.submenu::before{content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%) rotate(45deg);width:12px;height:12px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);}
.submenu ul{display:flex;flex-direction:column;}
.submenu li a{display:flex;align-items:center;justify-content:space-between;padding:.6rem .8rem;border-radius:8px;font-size:.92rem;}
.submenu li a::after{display:none;}
.submenu li a:hover{background:var(--bg-soft);}
.submenu__count{font-size:.72rem;color:var(--ink-faint);background:var(--bg-soft);border-radius:999px;padding:.1em .55em;}
.submenu__all{border-top:1px solid var(--line-soft);margin-top:.3rem;padding-top:.3rem;}
.submenu__all a{color:var(--red);font-weight:600;}

.header__actions{display:flex;align-items:center;gap:.15rem;margin-left:1rem;}
.cart-btn .cart-count{
  position:absolute;top:2px;right:1px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;
  background:var(--red);color:#fff;font-size:.66rem;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--sans);
}

.searchbar{border-top:1px solid var(--line-soft);background:var(--bg);}
.searchbar__form{display:flex;align-items:center;gap:.7rem;padding:.85rem 0;}
.searchbar__form>i{color:var(--ink-faint);}
.searchbar__form input{flex:1;border:none;background:transparent;font-family:var(--sans);font-size:1.05rem;padding:.5rem 0;color:var(--ink);}
.searchbar__form input:focus{outline:none;}

/* ---------- Mobile menu / overlays ---------- */
.overlay,.drawer-overlay{position:fixed;inset:0;background:rgba(28,24,20,.42);z-index:70;opacity:0;transition:opacity .25s ease;}
.overlay.is-open,.drawer-overlay.is-open{opacity:1;}
.mobile-menu{
  position:fixed;top:0;left:0;height:100%;width:min(86vw,360px);background:var(--bg);z-index:80;
  transform:translateX(-105%);transition:transform .3s cubic-bezier(.2,.7,.3,1);display:flex;flex-direction:column;
  box-shadow:var(--shadow-lg);overflow-y:auto;
}
.mobile-menu.is-open{transform:translateX(0);}
.mobile-menu__head{display:flex;align-items:center;justify-content:space-between;padding:1rem var(--pad);border-bottom:1px solid var(--line);}
.mobile-menu__nav{padding:.5rem var(--pad) 1rem;}
.mobile-menu__nav>a{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0;border-bottom:1px solid var(--line-soft);font-size:1.05rem;font-weight:500;}
.mobile-menu__nav>a span{font-size:.72rem;color:var(--ink-faint);background:var(--bg-soft);border-radius:999px;padding:.1em .55em;}
.mobile-menu__sub{font-size:.98rem;color:var(--ink-soft);padding-left:.9rem;}
.mobile-menu__group{font-family:var(--sans);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:1.2rem 0 .2rem;}
.mobile-menu__foot{margin-top:auto;padding:1.2rem var(--pad) 1.6rem;background:var(--bg-soft);border-top:1px solid var(--line);font-size:.9rem;}
.mobile-menu__foot a{display:flex;align-items:center;gap:.5em;padding:.3rem 0;color:var(--ink);}
.mobile-menu__foot a i{color:var(--accent);width:1.1em;}
.mobile-menu__foot p{margin:.7rem 0 0;color:var(--ink-soft);}
body.no-scroll{overflow:hidden;}

/* ---------- Breadcrumbs ---------- */
.breadcrumbs{padding:1rem 0 .3rem;font-size:.82rem;}
.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;color:var(--ink-faint);}
.breadcrumbs li{display:flex;align-items:center;gap:.5rem;}
.breadcrumbs a{color:var(--ink-soft);}
.breadcrumbs a:hover{color:var(--red);}
.breadcrumbs i{font-size:.62em;color:var(--ink-faint);}
.breadcrumbs li[aria-current="page"] span{color:var(--ink);font-weight:500;}

/* ---------- Hero ---------- */
.hero{padding:clamp(34px,5vw,68px) 0 clamp(48px,6vw,80px);}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:center;}
.hero__copy h1{margin-bottom:.5rem;}
.hero__copy h1 em{font-style:italic;color:var(--red);}
.hero__lead{font-size:1.18rem;color:var(--ink-soft);max-width:48ch;margin-bottom:1.6rem;}
.hero__meta{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.8rem;color:var(--ink-soft);font-size:.9rem;}
.hero__meta span{display:inline-flex;align-items:center;gap:.5em;}
.hero__meta i{color:var(--accent);}
.hero__media{position:relative;}
.hero__media .frame{border-radius:200px 200px 14px 14px;overflow:hidden;box-shadow:var(--shadow);background:var(--bg-soft);aspect-ratio:4/5;}
.hero__media .frame img{width:100%;height:100%;object-fit:cover;}
.hero__media .frame .ph{height:100%;}
.hero__chip{
  position:absolute;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);
  padding:.8rem 1rem;display:flex;align-items:center;gap:.7rem;font-size:.85rem;max-width:230px;
}
.hero__chip i{color:var(--red);font-size:1.1rem;}
.hero__chip strong{display:block;font-family:var(--serif);font-size:1.05rem;}
.hero__chip--a{left:-18px;bottom:42px;}
.hero__chip--b{right:-10px;top:36px;}

/* ---------- USP strip ---------- */
.usp{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--bg-soft);}
.usp__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.usp__item{display:flex;gap:.85rem;align-items:flex-start;padding:1.6rem 1.4rem;border-right:1px solid var(--line-soft);}
.usp__item:last-child{border-right:none;}
.usp__item i{font-size:1.3rem;color:var(--accent);margin-top:.15rem;}
.usp__item strong{display:block;font-family:var(--serif);font-size:1.18rem;margin-bottom:.1rem;}
.usp__item span{font-size:.86rem;color:var(--ink-soft);}

/* ---------- Category grid ---------- */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.2vw,26px);}
.cat-grid--5 .cat-card:nth-child(4),.cat-grid--5 .cat-card:nth-child(5){grid-column:span 1;}
.cat-card{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden;transition:transform .2s ease,box-shadow .25s ease,border-color .2s;}
.cat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line);}
.cat-card__media{display:block;aspect-ratio:5/3.4;overflow:hidden;background:var(--bg-soft);}
.cat-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.cat-card:hover .cat-card__media img{transform:scale(1.05);}
.cat-card__media .ph{height:100%;}
.cat-card__body{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.3rem;flex:1;}
.cat-card__title{font-family:var(--serif);font-size:1.45rem;}
.cat-card__tagline{color:var(--ink-soft);font-size:.92rem;flex:1;}
.cat-card__link{margin-top:.7rem;font-size:.82rem;font-weight:600;color:var(--red);display:inline-flex;align-items:center;gap:.4em;text-transform:uppercase;letter-spacing:.08em;}
.cat-card:hover .cat-card__link i{transform:translateX(3px);}
.cat-card__link i{transition:transform .2s;font-size:.85em;}

/* ---------- Product grid / cards ---------- */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.2vw,30px);}
.product-grid--3{grid-template-columns:repeat(3,1fr);}
.card{background:var(--bg-card);border-radius:var(--r);padding:.7rem .7rem 1.1rem;position:relative;transition:box-shadow .25s ease,transform .2s ease;}
.card:hover{box-shadow:var(--shadow);transform:translateY(-2px);}
.card__media{position:relative;border-radius:var(--r-sm);overflow:hidden;background:var(--bg-soft);aspect-ratio:1/1;}
.card__imglink{display:block;width:100%;height:100%;}
.card__imglink img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.card:hover .card__imglink img{transform:scale(1.04);}
.card__heart{position:absolute;top:8px;right:8px;z-index:3;width:36px;height:36px;background:rgba(255,255,255,.85);backdrop-filter:blur(4px);font-size:.95rem;}
.card__heart:hover{background:#fff;color:var(--pink);}
.card__heart.is-active{color:var(--pink);}
.card__heart.is-active i{font-weight:900;}
.card__add{
  position:absolute;right:12px;bottom:12px;z-index:3;width:42px;height:42px;border-radius:50%;border:none;
  background:var(--red);color:#fff;font-size:1rem;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 18px rgba(184,51,44,.28);opacity:0;transform:translateY(8px) scale(.9);
  transition:opacity .2s ease,transform .2s ease,background-color .2s;
}
.card:hover .card__add,.card:focus-within .card__add{opacity:1;transform:translateY(0) scale(1);}
.card__add:hover{background:var(--red-dark);}
.card__add.is-busy{background:var(--green);}
.card__body{padding:.9rem .35rem 0;text-align:center;}
.card__origin{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .3rem;}
.card__title{font-family:var(--serif);font-size:1.32rem;font-weight:500;line-height:1.2;margin:0 0 .35rem;}
.card__title a:hover{color:var(--red);}
.card__rating{display:flex;align-items:center;justify-content:center;gap:.45em;font-size:.76rem;color:var(--ink-faint);margin:0 0 .5rem;}
.stars{color:var(--accent);font-size:.78rem;letter-spacing:.06em;}
.stars .fa-regular{color:#dccdb0;}
.card__price{margin:0;display:flex;align-items:baseline;justify-content:center;gap:.5rem;font-family:var(--serif);}
.price-now{font-size:1.3rem;font-weight:600;color:var(--ink);}
.price-old{font-size:1rem;color:var(--ink-faint);text-decoration:line-through;}

/* ---------- Catalog toolbar ---------- */
.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;justify-content:space-between;margin-bottom:1.6rem;}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;}
.chip{display:inline-flex;align-items:center;gap:.4em;padding:.5em 1em;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:.85rem;color:var(--ink-soft);transition:all .2s;}
.chip:hover{border-color:var(--ink);color:var(--ink);}
.chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff;}
.chip .n{font-size:.78em;opacity:.7;}
.toolbar__right{display:flex;align-items:center;gap:.7rem;font-size:.86rem;color:var(--ink-soft);}
.toolbar__right select{font-family:var(--sans);font-size:.88rem;padding:.5em 2em .5em .8em;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236e645a' stroke-width='2'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e");
  background-repeat:no-repeat;background-position:right .6em center;background-size:.95em;cursor:pointer;}
.result-count{font-size:.86rem;color:var(--ink-soft);}
.no-results{text-align:center;padding:3.5rem 1rem;color:var(--ink-soft);}
.no-results i{font-size:2rem;color:var(--ink-faint);margin-bottom:.6rem;}

/* ---------- Product detail ---------- */
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:flex-start;}
.pdp__gallery{position:sticky;top:96px;}
.pdp__main{border-radius:var(--r);overflow:hidden;background:var(--bg-soft);aspect-ratio:1/1;box-shadow:var(--shadow-sm);}
.pdp__main img{width:100%;height:100%;object-fit:cover;}
.pdp__main .ph{height:100%;}
.pdp__thumbs{display:flex;gap:.6rem;margin-top:.7rem;}
.pdp__thumbs button{flex:0 0 84px;height:84px;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--line);background:var(--bg-soft);padding:0;}
.pdp__thumbs button.is-active{border-color:var(--ink);}
.pdp__thumbs img{width:100%;height:100%;object-fit:cover;}
.pdp__info .badge{position:static;display:inline-block;margin-bottom:.9rem;}
.pdp__origin{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 .5rem;}
.pdp__title{font-size:clamp(2rem,4vw,2.9rem);margin:0 0 .5rem;}
.pdp__rating{display:flex;align-items:center;gap:.6rem;font-size:.86rem;color:var(--ink-soft);margin-bottom:1rem;}
.pdp__rating a{border-bottom:1px solid var(--line);}
.pdp__short{font-size:1.12rem;color:var(--ink-soft);margin-bottom:1.3rem;max-width:46ch;}
.pdp__price{display:flex;align-items:baseline;gap:.8rem;margin-bottom:.3rem;font-family:var(--serif);}
.pdp__price .price-now{font-size:2rem;}
.pdp__price .price-old{font-size:1.2rem;}
.pdp__price .save{font-family:var(--sans);font-size:.78rem;font-weight:600;color:var(--red);background:var(--pink-soft);border-radius:6px;padding:.25em .55em;}
.pdp__taxnote{font-size:.8rem;color:var(--ink-faint);margin-bottom:1.4rem;}
.pdp__opts{display:flex;flex-wrap:wrap;gap:1.4rem;margin-bottom:1.4rem;}
.opt-group label{display:block;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.5rem;}
.opt-pills{display:flex;gap:.5rem;flex-wrap:wrap;}
.opt-pill{padding:.55em 1em;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.85rem;color:var(--ink-soft);}
.opt-pill.is-active{border-color:var(--ink);color:var(--ink);font-weight:600;}
.opt-pill[aria-disabled="true"]{opacity:.45;text-decoration:line-through;}
.qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff;}
.qty button{width:40px;height:42px;border:none;background:transparent;font-size:1rem;color:var(--ink);display:flex;align-items:center;justify-content:center;}
.qty button:hover{background:var(--bg-soft);}
.qty input{width:44px;text-align:center;border:none;font-family:var(--sans);font-size:1rem;font-weight:600;background:transparent;color:var(--ink);-moz-appearance:textfield;}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.pdp__buy{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-bottom:1.6rem;}
.pdp__buy .btn--primary{flex:1;min-width:200px;}
.pdp__assure{display:grid;gap:.55rem;padding:1.1rem 1.2rem;background:var(--bg-soft);border-radius:var(--r);font-size:.86rem;color:var(--ink-soft);margin-bottom:1.6rem;}
.pdp__assure div{display:flex;align-items:center;gap:.6em;}
.pdp__assure i{color:var(--accent);width:1.1em;}
.pdp__quickfacts{display:grid;grid-template-columns:repeat(2,1fr);gap:.1rem .1rem;border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden;font-size:.88rem;}
.pdp__quickfacts div{padding:.8rem 1rem;border-bottom:1px solid var(--line-soft);}
.pdp__quickfacts div:nth-child(odd){border-right:1px solid var(--line-soft);}
.pdp__quickfacts div:nth-last-child(-n+2){border-bottom:none;}
.pdp__quickfacts dt{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.15rem;}
.pdp__quickfacts dd{margin:0;font-weight:500;}

/* accordions */
.accordion{margin-top:2.6rem;border-top:1px solid var(--line);}
.acc-item{border-bottom:1px solid var(--line);}
.acc-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem .2rem;background:transparent;border:none;font-family:var(--serif);font-size:1.3rem;font-weight:500;text-align:left;color:var(--ink);}
.acc-head .acc-ic{font-size:.85rem;color:var(--accent);transition:transform .25s ease;flex:0 0 auto;}
.acc-head[aria-expanded="true"] .acc-ic{transform:rotate(45deg);}
.acc-body{overflow:hidden;max-height:0;transition:max-height .3s ease;}
.acc-body__inner{padding:0 .2rem 1.3rem;color:var(--ink-soft);font-size:.96rem;max-width:64ch;}
.acc-body__inner p:last-child{margin-bottom:0;}
.nutri-table{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:.4rem;}
.nutri-table caption{text-align:left;font-size:.78rem;color:var(--ink-faint);margin-bottom:.4rem;}
.nutri-table th,.nutri-table td{padding:.5rem .2rem;border-bottom:1px solid var(--line-soft);text-align:left;}
.nutri-table td:last-child{text-align:right;font-weight:600;color:var(--ink);}
.nutri-table tr.sub td:first-child{padding-left:1.3rem;color:var(--ink-soft);}

/* reviews */
.reviews-list{display:grid;gap:1rem;margin-top:1.4rem;}
.review{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r);padding:1.2rem 1.3rem;}
.review__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.4rem;}
.review__who{display:flex;align-items:center;gap:.7rem;}
.review__ava{width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;}
.review__name{font-weight:600;font-size:.92rem;}
.review__date{font-size:.78rem;color:var(--ink-faint);}
.review__text{margin:0;color:var(--ink-soft);font-size:.95rem;}
.rev-summary{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;padding:1.2rem 1.3rem;background:var(--bg-soft);border-radius:var(--r);margin-bottom:.4rem;}
.rev-summary .big{font-family:var(--serif);font-size:2.4rem;line-height:1;}

/* ---------- Cart drawer ---------- */
.cart-drawer{
  position:fixed;top:0;right:0;height:100%;width:min(92vw,420px);background:var(--bg);z-index:80;
  transform:translateX(105%);transition:transform .3s cubic-bezier(.2,.7,.3,1);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);
}
.cart-drawer.is-open{transform:translateX(0);}
.cart-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem var(--pad);border-bottom:1px solid var(--line);}
.cart-drawer__head h2{font-size:1.4rem;display:flex;align-items:center;gap:.5rem;}
.cart-drawer__head h2 i{font-size:.95rem;color:var(--accent);}
.cart-drawer__count{font-family:var(--sans);font-size:.8rem;color:var(--ink-faint);}
.cart-drawer__body{flex:1;overflow-y:auto;padding:1rem var(--pad);}
.cart-empty{text-align:center;padding:3rem 1rem;color:var(--ink-soft);display:flex;flex-direction:column;align-items:center;gap:.8rem;}
.cart-empty i{font-size:2.4rem;color:var(--ink-faint);}
.cart-lines{display:flex;flex-direction:column;gap:1rem;}
.cart-line{display:grid;grid-template-columns:64px 1fr auto;gap:.85rem;align-items:start;}
.cart-line__img{width:64px;height:64px;border-radius:var(--r-sm);overflow:hidden;background:var(--bg-soft);}
.cart-line__img img{width:100%;height:100%;object-fit:cover;}
.cart-line__img .ph{height:100%;font-size:1.1rem;}
.cart-line__name{font-family:var(--serif);font-size:1.08rem;line-height:1.2;margin:0 0 .15rem;}
.cart-line__meta{font-size:.78rem;color:var(--ink-faint);margin:0 0 .5rem;}
.cart-line__bottom{display:flex;align-items:center;gap:.8rem;}
.cart-line__qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:#fff;}
.cart-line__qty button{width:30px;height:30px;border:none;background:transparent;font-size:.85rem;color:var(--ink);display:flex;align-items:center;justify-content:center;}
.cart-line__qty button:hover{background:var(--bg-soft);}
.cart-line__qty span{min-width:28px;text-align:center;font-weight:600;font-size:.88rem;}
.cart-line__rm{background:none;border:none;color:var(--ink-faint);font-size:.78rem;display:inline-flex;align-items:center;gap:.3em;}
.cart-line__rm:hover{color:var(--red);}
.cart-line__price{text-align:right;font-family:var(--serif);font-size:1.05rem;font-weight:600;white-space:nowrap;}
.cart-drawer__foot{padding:1.1rem var(--pad) 1.3rem;border-top:1px solid var(--line);background:var(--bg-soft);display:flex;flex-direction:column;gap:.7rem;}
.cart-drawer__row{display:flex;align-items:baseline;justify-content:space-between;font-family:var(--serif);}
.cart-drawer__row span{font-family:var(--sans);font-size:.92rem;color:var(--ink-soft);}
.cart-drawer__row strong{font-size:1.4rem;}
.cart-drawer__note{font-size:.76rem;color:var(--ink-faint);margin:0;}

/* ---------- Toast ---------- */
.toast-wrap{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:120;display:flex;flex-direction:column;gap:.6rem;align-items:center;width:max-content;max-width:92vw;pointer-events:none;}
.toast{display:flex;align-items:center;gap:.7rem;background:var(--ink);color:#fff;border-radius:999px;padding:.8rem 1.3rem;font-size:.9rem;box-shadow:var(--shadow-lg);opacity:0;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease;pointer-events:auto;}
.toast.is-show{opacity:1;transform:translateY(0);}
.toast i{color:var(--accent);}
.toast .toast__link{color:#fff;border-bottom:1px solid rgba(255,255,255,.5);font-weight:600;}

/* ---------- Cart page ---------- */
.cartpage{display:grid;grid-template-columns:1.6fr .8fr;gap:clamp(24px,4vw,48px);align-items:flex-start;}
.cart-table{width:100%;}
.cart-row{display:grid;grid-template-columns:90px 1fr auto auto auto;gap:1rem;align-items:center;padding:1.2rem 0;border-bottom:1px solid var(--line-soft);}
.cart-row__img{width:90px;height:90px;border-radius:var(--r-sm);overflow:hidden;background:var(--bg-soft);}
.cart-row__img img{width:100%;height:100%;object-fit:cover;}
.cart-row__img .ph{height:100%;}
.cart-row__name{font-family:var(--serif);font-size:1.25rem;margin:0 0 .2rem;}
.cart-row__name a:hover{color:var(--red);}
.cart-row__meta{font-size:.8rem;color:var(--ink-faint);}
.cart-row__rm{background:none;border:none;color:var(--ink-faint);font-size:.8rem;margin-top:.4rem;display:inline-flex;align-items:center;gap:.3em;}
.cart-row__rm:hover{color:var(--red);}
.cart-row__unit{font-size:.9rem;color:var(--ink-soft);white-space:nowrap;}
.cart-row__line{font-family:var(--serif);font-size:1.2rem;font-weight:600;white-space:nowrap;text-align:right;}
.cart-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-top:1.4rem;}
.summary{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r);padding:1.5rem;position:sticky;top:96px;}
.summary h2{font-size:1.5rem;margin-bottom:1rem;}
.summary__row{display:flex;justify-content:space-between;align-items:baseline;padding:.5rem 0;font-size:.95rem;color:var(--ink-soft);}
.summary__row.is-total{border-top:1px solid var(--line);margin-top:.5rem;padding-top:.9rem;font-family:var(--serif);color:var(--ink);}
.summary__row.is-total span:last-child{font-size:1.6rem;font-weight:600;}
.summary__hint{font-size:.78rem;color:var(--ink-faint);margin:.6rem 0 1rem;}
.summary .btn{margin-top:.4rem;}
.cart-empty-page{text-align:center;padding:4rem 1rem;}
.cart-empty-page i{font-size:3rem;color:var(--ink-faint);margin-bottom:1rem;}
.promo-line{display:flex;gap:.6rem;margin:.8rem 0 1rem;}
.promo-line input{flex:1;padding:.65em .9em;border:1px solid var(--line);border-radius:8px;font-family:var(--sans);font-size:.9rem;background:#fff;}

/* ---------- Forms / checkout ---------- */
.checkout{display:grid;grid-template-columns:1.4fr .9fr;gap:clamp(24px,4vw,48px);align-items:flex-start;}
.form-card{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r);padding:clamp(1.2rem,3vw,2rem);margin-bottom:1.4rem;}
.form-card h2{font-size:1.5rem;margin-bottom:.3rem;}
.form-card>p.muted{margin-bottom:1.2rem;}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.2rem;}
.field{display:flex;flex-direction:column;gap:.35rem;}
.field.col-2{grid-column:span 2;}
.field label{font-size:.82rem;font-weight:600;color:var(--ink);}
.field .req{color:var(--red);}
.field input,.field textarea,.field select{
  font-family:var(--sans);font-size:.95rem;padding:.7em .9em;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s;
}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(43,37,33,.07);}
.field textarea{resize:vertical;min-height:90px;}
.field .hint{font-size:.74rem;color:var(--ink-faint);}
.field.has-error input,.field.has-error textarea,.field.has-error select{border-color:var(--red);}
.field .err-msg{font-size:.74rem;color:var(--red);display:none;}
.field.has-error .err-msg{display:block;}
.radio-cards{display:grid;gap:.7rem;}
.radio-card{display:flex;gap:.85rem;align-items:flex-start;border:1px solid var(--line);border-radius:var(--r);padding:.9rem 1.1rem;cursor:pointer;transition:border-color .2s,background-color .2s;}
.radio-card:hover{border-color:var(--ink-soft);}
.radio-card input{margin-top:.25rem;accent-color:var(--red);}
.radio-card.is-selected{border-color:var(--ink);background:var(--bg-soft);}
.radio-card__main{flex:1;}
.radio-card__title{font-weight:600;display:flex;align-items:center;gap:.5rem;}
.radio-card__title i{color:var(--accent);}
.radio-card__desc{font-size:.82rem;color:var(--ink-soft);}
.radio-card__price{font-family:var(--serif);font-weight:600;white-space:nowrap;}
.check-line{display:flex;gap:.6rem;align-items:flex-start;font-size:.86rem;color:var(--ink-soft);margin-top:1rem;}
.check-line input{margin-top:.25rem;accent-color:var(--red);}
.osummary-lines{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1rem;}
.osummary-line{display:grid;grid-template-columns:48px 1fr auto;gap:.7rem;align-items:center;font-size:.88rem;}
.osummary-line__img{width:48px;height:48px;border-radius:8px;overflow:hidden;background:var(--bg-soft);}
.osummary-line__img img{width:100%;height:100%;object-fit:cover;}
.osummary-line__img .ph{height:100%;font-size:.9rem;}
.osummary-line__q{font-size:.76rem;color:var(--ink-faint);}
.osummary-line__p{font-family:var(--serif);font-weight:600;white-space:nowrap;}

/* ---------- Order success ---------- */
.success-box{max-width:680px;margin:0 auto;text-align:center;padding:clamp(2rem,5vw,3.5rem) 0;}
.success-box .tick{width:78px;height:78px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.4rem;}
.success-box .ordno{display:inline-block;font-family:var(--serif);font-size:1.4rem;background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:.5rem 1.2rem;margin:.4rem 0 1.4rem;letter-spacing:.04em;}
.success-recap{text-align:left;background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r);padding:1.4rem 1.6rem;margin:1.6rem auto 0;max-width:560px;}
.success-recap h3{font-size:1.2rem;margin-bottom:.8rem;}

/* ---------- Content pages (about / legal) ---------- */
.page-hero{background:var(--bg-soft);border-bottom:1px solid var(--line-soft);padding:clamp(36px,6vw,72px) 0;}
.page-hero h1{margin-bottom:.5rem;}
.page-hero .lead{margin:0;}
.prose{max-width:760px;}
.prose.wide{max-width:880px;}
.prose h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin:2.4rem 0 .8rem;}
.prose h3{font-size:1.3rem;margin:1.8rem 0 .5rem;}
.prose p,.prose li{color:var(--ink-soft);}
.prose ul,.prose ol{margin:0 0 1.2rem;padding-left:1.3rem;}
.prose ul li{list-style:disc;margin-bottom:.4rem;}
.prose ol li{list-style:decimal;margin-bottom:.4rem;}
.prose a{color:var(--red);border-bottom:1px solid rgba(184,51,44,.3);}
.prose a:hover{border-color:var(--red);}
.prose hr{border:none;border-top:1px solid var(--line);margin:2.4rem 0;}
.prose table{width:100%;border-collapse:collapse;margin:1rem 0 1.6rem;font-size:.92rem;}
.prose th,.prose td{border:1px solid var(--line);padding:.6rem .8rem;text-align:left;}
.prose th{background:var(--bg-soft);font-weight:600;color:var(--ink);}
.legal-meta{font-size:.84rem;color:var(--ink-faint);margin-bottom:1.6rem;}
.toc{background:var(--bg-soft);border:1px solid var(--line-soft);border-radius:var(--r);padding:1.2rem 1.4rem;margin-bottom:2rem;font-size:.92rem;}
.toc strong{display:block;font-family:var(--serif);font-size:1.1rem;margin-bottom:.5rem;}
.toc ol{padding-left:1.2rem;}
.toc a{color:var(--ink-soft);border:none;}
.toc a:hover{color:var(--red);}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;}
.split--rev .split__media{order:-1;}
.split__media{border-radius:var(--r);overflow:hidden;background:var(--bg-soft);box-shadow:var(--shadow-sm);aspect-ratio:4/3;}
.split__media img{width:100%;height:100%;object-fit:cover;}
.split__media .ph{height:100%;}
.story-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.8rem;}
.story-stat{border-left:2px solid var(--accent);padding-left:1rem;}
.story-stat strong{display:block;font-family:var(--serif);font-size:2rem;line-height:1;}
.story-stat span{font-size:.84rem;color:var(--ink-soft);}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.5vw,28px);}
.value-card{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r);padding:1.6rem 1.5rem;}
.value-card i{font-size:1.5rem;color:var(--accent);margin-bottom:.7rem;display:block;}
.value-card h3{font-size:1.3rem;margin-bottom:.4rem;}
.value-card p{font-size:.92rem;color:var(--ink-soft);margin:0;}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,36px);counter-reset:step;}
.step{position:relative;padding-top:.4rem;}
.step__n{font-family:var(--serif);font-size:2.6rem;color:var(--pink);line-height:1;display:block;margin-bottom:.5rem;}
.step h3{font-size:1.35rem;margin-bottom:.35rem;}
.step p{font-size:.92rem;color:var(--ink-soft);margin:0;}

/* ---------- Strips / CTA ---------- */
.cta-band{background:var(--ink);color:#f3ece0;border-radius:var(--r);padding:clamp(2rem,5vw,3.4rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.cta-band h2{color:#fff;}
.cta-band p{color:rgba(243,236,224,.78);margin:.4rem 0 0;max-width:46ch;}
.cta-band__media{flex:0 0 auto;}
.note-strip{display:flex;align-items:center;justify-content:center;gap:1.6rem;flex-wrap:wrap;padding:1.2rem 0;font-size:.86rem;color:var(--ink-soft);}
.note-strip span{display:inline-flex;align-items:center;gap:.5em;}
.note-strip i{color:var(--accent);}

/* gallery teaser */
.lifestyle{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,56px);align-items:center;}
.lifestyle__media{border-radius:120px 14px 120px 14px;overflow:hidden;aspect-ratio:5/4;background:var(--bg-soft);box-shadow:var(--shadow);}
.lifestyle__media img{width:100%;height:100%;object-fit:cover;}
.lifestyle__media .ph{height:100%;}

/* testimonials */
.tlist{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.5vw,28px);}
.tcard{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:var(--r);padding:1.6rem 1.5rem;display:flex;flex-direction:column;gap:.8rem;}
.tcard .stars{font-size:.9rem;}
.tcard__text{font-family:var(--serif);font-size:1.2rem;line-height:1.45;color:var(--ink);flex:1;}
.tcard__who{font-size:.84rem;color:var(--ink-faint);}

/* faq mini */
.faq-mini{display:grid;gap:0;border-top:1px solid var(--line);}
.faq-mini details{border-bottom:1px solid var(--line);}
.faq-mini summary{list-style:none;cursor:pointer;padding:1.1rem .2rem;font-family:var(--serif);font-size:1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.faq-mini summary::-webkit-details-marker{display:none;}
.faq-mini summary::after{content:"\002B";font-family:var(--sans);color:var(--accent);transition:transform .2s;}
.faq-mini details[open] summary::after{transform:rotate(45deg);}
.faq-mini p{padding:0 .2rem 1.2rem;color:var(--ink-soft);max-width:64ch;margin:0;}

/* 404 */
.err404{text-align:center;padding:clamp(3rem,8vw,6rem) 0;}
.err404 .big{font-family:var(--serif);font-size:clamp(5rem,16vw,10rem);line-height:.9;color:var(--pink);}

/* ---------- Footer ---------- */
.site-footer{background:var(--bg-soft);border-top:1px solid var(--line);margin-top:clamp(48px,8vw,96px);}
.footer__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:clamp(24px,3vw,48px);padding:clamp(40px,6vw,72px) var(--pad) clamp(28px,4vw,40px);}
.footer__brand .brand{margin-bottom:.9rem;}
.footer__about{font-size:.9rem;color:var(--ink-soft);max-width:38ch;}
.footer__pay{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--ink-faint);margin-top:1.2rem;flex-wrap:wrap;}
.footer__pay i{font-size:1.5rem;color:var(--ink-soft);}
.footer__pay span{flex:1 0 100%;margin-top:.2rem;}
.footer__col h3{font-family:var(--sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.9rem;font-weight:600;}
.footer__h3b{margin-top:1.4rem;}
.footer__col ul li{margin-bottom:.5rem;}
.footer__col ul a{font-size:.92rem;color:var(--ink-soft);}
.footer__col ul a:hover{color:var(--red);}
.footer__contact p{font-size:.88rem;color:var(--ink-soft);margin:0 0 .5rem;display:flex;gap:.55em;}
.footer__contact p i{color:var(--accent);margin-top:.2rem;flex:0 0 1em;}
.footer__contact a:hover{color:var(--red);}
.footer__hours{font-size:.82rem;}
.footer__social{display:flex;gap:.6rem;margin-top:.6rem;}
.footer__social a{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);transition:all .2s;}
.footer__social a:hover{background:var(--ink);color:#fff;border-color:var(--ink);}
.footer__bottom{border-top:1px solid var(--line);padding:1.2rem var(--pad) 1.6rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.76rem;color:var(--ink-faint);}
.footer__bottom p{margin:0;max-width:60ch;}

/* cookie banner */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:130;background:var(--ink);color:#f3ece0;border-radius:var(--r);box-shadow:var(--shadow-lg);}
.cookie-banner__inner{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;padding:1rem 1.3rem;max-width:var(--maxw);margin:0 auto;}
.cookie-banner p{margin:0;font-size:.86rem;flex:1;min-width:240px;}
.cookie-banner p i{color:var(--accent);margin-right:.3em;}
.cookie-banner a{color:#fff;border-bottom:1px solid rgba(255,255,255,.5);}
.cookie-banner__btns{display:flex;gap:.6rem;flex-wrap:wrap;}
.cookie-banner .btn--ghost{color:#fff;border-color:rgba(255,255,255,.35);}
.cookie-banner .btn--ghost:hover{background:rgba(255,255,255,.08);border-color:#fff;}

/* to-top */
.to-top{position:fixed;right:18px;bottom:18px;z-index:55;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;transition:opacity .25s,transform .2s;}
.to-top:hover{transform:translateY(-2px);}
.cookie-banner:not([hidden]) ~ .to-top{bottom:88px;}

/* misc */
[hidden]{display:none !important;}
.tag-pill{display:inline-flex;align-items:center;gap:.4em;font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.35em .7em;border-radius:6px;background:var(--accent-soft);color:#9a6a26;}
.divider-soft{height:1px;background:var(--line-soft);margin:clamp(36px,5vw,60px) 0;}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .product-grid{grid-template-columns:repeat(3,1fr);}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .footer__top{grid-template-columns:1.4fr 1fr 1.4fr;}
  .footer__brand{grid-column:1/-1;}
}
@media (max-width:980px){
  .mainnav{display:none;}
  .header__burger{display:inline-flex;}
  .brand{margin-right:auto;}
  .topbar__link{display:none;}
  .hero__grid{grid-template-columns:1fr;}
  .hero__media{order:-1;max-width:480px;margin:0 auto;}
  .hero__chip--a{left:0;}
  .hero__chip--b{right:0;}
  .pdp{grid-template-columns:1fr;}
  .pdp__gallery{position:static;}
  .cartpage{grid-template-columns:1fr;}
  .summary{position:static;}
  .checkout{grid-template-columns:1fr;}
  .lifestyle{grid-template-columns:1fr;}
  .usp__grid{grid-template-columns:repeat(2,1fr);}
  .usp__item:nth-child(2){border-right:none;}
  .usp__item:nth-child(1),.usp__item:nth-child(2){border-bottom:1px solid var(--line-soft);}
  .split{grid-template-columns:1fr;}
  .split--rev .split__media{order:0;}
  .steps,.value-grid,.tlist,.story-stats{grid-template-columns:1fr;}
  .story-stats{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:680px){
  body{font-size:15.5px;}
  .product-grid,.product-grid--3{grid-template-columns:repeat(2,1fr);}
  .cat-grid{grid-template-columns:1fr;}
  .card__add{opacity:1;transform:none;width:38px;height:38px;}
  .card__body{padding-top:.7rem;}
  .footer__top{grid-template-columns:1fr 1fr;}
  .footer__contact{grid-column:1/-1;}
  .field-grid{grid-template-columns:1fr;}
  .field.col-2{grid-column:span 1;}
  .cart-row{grid-template-columns:70px 1fr;grid-template-areas:"img info" "img bottom";gap:.4rem 1rem;}
  .cart-row__img{grid-area:img;width:70px;height:70px;}
  .cart-row__info{grid-area:info;}
  .cart-row__unit{display:none;}
  .cart-row__qtycell{grid-area:bottom;}
  .cart-row__line{grid-area:bottom;text-align:left;}
  .cart-row__qtycell{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
  .toolbar{flex-direction:column;align-items:flex-start;}
  .cta-band{flex-direction:column;align-items:flex-start;text-align:left;}
  .cart-drawer__head h2{font-size:1.2rem;}
  .story-stats{grid-template-columns:1fr;}
  .rev-summary{flex-direction:column;align-items:flex-start;}
  .footer__bottom{flex-direction:column;}
}
@media (max-width:420px){
  .product-grid,.product-grid--3{grid-template-columns:1fr;}
  .footer__top{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}
