@charset "UTF-8";
/* ═══════════════════════════════════════════════════════════
   Komponenty — hlavička, hero, produkty, košík, pätička
   ═══════════════════════════════════════════════════════════ */

/* ── Oznamovací pás ────────────────────────────────────── */
.announce{
  background:var(--ink-strong);color:var(--bg);
  font-size:.79rem;letter-spacing:.05em;
  padding:.62rem 1rem;text-align:center;
  position:relative;z-index:60;
}
.announce b{font-weight:600}
.announce__dot{display:inline-block;margin-inline:.7em;opacity:.45}

/* ── Hlavička ──────────────────────────────────────────── */
.hdr{
  position:sticky;top:0;z-index:50;
  background:var(--bg);
  border-bottom:1px solid transparent;
  transition:border-color .25s,box-shadow .25s,background-color .25s;
}
.hdr.is-stuck{border-bottom-color:var(--line);box-shadow:0 2px 20px -8px rgba(92,58,78,.18);background:var(--bg-blur)}
@supports (backdrop-filter:blur(8px)){.hdr.is-stuck{backdrop-filter:saturate(1.4) blur(10px)}}

.hdr__bar{display:flex;align-items:center;gap:1rem;height:var(--hdr-h);}
.hdr__logo{
  display:flex;align-items:baseline;gap:.5rem;
  font-family:var(--font-display);font-size:1.42rem;line-height:1;
  color:var(--ink-strong);text-decoration:none;flex:none;
  letter-spacing:var(--ls-display);
}
.hdr__logo span{
  font-family:var(--font-body);font-size:.63rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--accent);
}
.hdr__nav{display:none;margin-left:auto}
@media (min-width:960px){.hdr__nav{display:flex;align-items:center;gap:.35rem}}
.hdr__link{
  position:relative;padding:.55rem .85rem;border-radius:100px;
  font-size:.93rem;color:var(--ink-soft);text-decoration:none;
  transition:color .16s,background-color .16s;
}
.hdr__link:hover{color:var(--ink-strong);background:var(--accent-soft)}
.hdr__link[aria-current]{color:var(--accent-deep);font-weight:500}
.hdr__link[aria-current]::after{
  content:'';position:absolute;left:50%;bottom:.26rem;translate:-50% 0;
  width:.3rem;height:.3rem;border-radius:50%;background:var(--accent);
}
.hdr__actions{display:flex;align-items:center;gap:.45rem;margin-left:auto}
@media (min-width:960px){.hdr__actions{margin-left:1rem}}

.icon-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.7rem;height:2.7rem;border-radius:var(--r-input);
  border:1.5px solid transparent;background:transparent;color:var(--ink-strong);
  cursor:pointer;text-decoration:none;position:relative;
  transition:background-color .16s,border-color .16s;
}
.icon-btn:hover{background:var(--accent-soft)}
.icon-btn svg{width:1.32rem;height:1.32rem;stroke-width:1.6}
.icon-btn__count{
  position:absolute;top:.28rem;right:.24rem;
  min-width:1.18rem;height:1.18rem;padding:0 .3rem;
  display:grid;place-items:center;
  background:var(--accent);color:#fff;
  font-size:.66rem;font-weight:600;font-variant-numeric:tabular-nums;
  border-radius:100px;border:2px solid var(--bg);
}
.icon-btn__count:empty,.icon-btn__count[data-count="0"]{display:none}

/* Telefón v hlavičke */
.hdr__phone{
  display:none;align-items:center;gap:.5rem;
  padding:.5rem .95rem;border-radius:100px;
  background:var(--accent-soft);color:var(--accent-deep);
  font-size:.88rem;font-weight:500;text-decoration:none;white-space:nowrap;
}
@media (min-width:1120px){.hdr__phone{display:inline-flex}}
.hdr__phone:hover{background:var(--accent);color:#fff}
.hdr__phone svg{width:1.05rem;height:1.05rem;flex:none}

/* ── Mobilné menu ──────────────────────────────────────── */
.mnav{
  position:fixed;inset:0;z-index:90;
  background:var(--bg);
  padding:1.1rem 0 2.5rem;
  overflow-y:auto;
  display:flex;flex-direction:column;
  visibility:hidden;opacity:0;
  transition:opacity .25s,visibility .25s;
}
.mnav.is-open{visibility:visible;opacity:1}
@media (min-width:960px){.mnav{display:none}}
.mnav__top{display:flex;align-items:center;justify-content:space-between;height:var(--hdr-h);margin-bottom:.8rem}
.mnav__list{list-style:none;padding:0;margin:0}
.mnav__list a{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.05rem .2rem;
  font-family:var(--font-display);font-size:1.6rem;
  color:var(--ink-strong);text-decoration:none;
  border-bottom:1px solid var(--line);
}
.mnav__list a small{
  font-family:var(--font-body);font-size:.76rem;font-weight:500;
  letter-spacing:.09em;text-transform:uppercase;color:var(--ink-mute);
}
.mnav__foot{margin-top:auto;padding-top:2rem;display:grid;gap:.7rem}

/* ── HERO ──────────────────────────────────────────────── */
.hero{position:relative;padding-block:clamp(2.2rem,5vw,4.5rem) clamp(3rem,7vw,6rem);overflow:hidden}
.hero__grid{display:grid;gap:clamp(2rem,5vw,3.5rem);align-items:center}
@media (min-width:900px){
  .hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:clamp(2.5rem,5vw,5rem)}
}
.hero__title{margin-bottom:1.25rem}
.hero__title em{
  font-style:normal;color:var(--accent);
  position:relative;white-space:nowrap;
}
/* Ručne kreslené podčiarknutie — nie generický gradient */
.hero__title em::after{
  content:'';position:absolute;left:-.04em;right:-.04em;bottom:.05em;height:.3em;
  background:var(--accent-soft);border-radius:.3em .5em .4em .45em;
  z-index:-1;transform:rotate(-.7deg);
}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.9rem}
.hero__proof{
  display:flex;flex-wrap:wrap;gap:1.4rem 2.1rem;
  margin-top:2.3rem;padding-top:1.8rem;border-top:1px solid var(--line);
}
.hero__proof-item{display:flex;flex-direction:column;gap:.15rem}
.hero__proof-item b{font-family:var(--font-display);font-size:1.5rem;color:var(--accent-deep);line-height:1}
.hero__proof-item span{font-size:.79rem;color:var(--ink-mute);letter-spacing:.04em}

/* Oblúková fotka — hlavný tvarový motív webu */
.arch{
  position:relative;
  border-radius:var(--r-arch);
  overflow:hidden;
  background:var(--accent-soft);
  box-shadow:var(--shadow-arch);
}
.arch img{width:100%;height:100%;object-fit:cover;aspect-ratio:var(--arch-ratio,4/5)}
.arch--sm{--r-arch:var(--r-arch-sm)}

.hero__media{position:relative}
.hero__media .arch{--arch-ratio:4/5}
@media (min-width:900px){.hero__media .arch{--arch-ratio:5/6}}

/* Plávajúci štítok pri fotke */
.hero__tag{
  position:absolute;left:-.6rem;bottom:2.2rem;
  display:flex;align-items:center;gap:.7rem;
  padding:.8rem 1.25rem .8rem .9rem;
  background:var(--surface);border-radius:100px;
  box-shadow:var(--shadow-float);
  font-size:.85rem;line-height:1.35;
}
@media (min-width:900px){.hero__tag{left:-2.2rem}}
.hero__tag b{display:block;font-size:.93rem;color:var(--ink-strong)}
.hero__tag span{color:var(--ink-mute);font-size:.78rem}
.hero__tag-ico{
  flex:none;width:2.45rem;height:2.45rem;border-radius:50%;
  background:var(--ok-soft);color:var(--ok);
  display:grid;place-items:center;
}
.hero__tag-ico svg{width:1.25rem;height:1.25rem}

/* ── Zúbkovaný predel (ako okraj cukrárskeho papiera) ──── */
.scallop{
  height:var(--scallop-h);
  background:var(--scallop-bg,var(--bg-alt));
  -webkit-mask:radial-gradient(circle at 50% 0,transparent var(--scallop-r),#000 calc(var(--scallop-r) + 1px)) repeat-x 50% 0/var(--scallop-w) 100%;
  mask:radial-gradient(circle at 50% 0,transparent var(--scallop-r),#000 calc(var(--scallop-r) + 1px)) repeat-x 50% 0/var(--scallop-w) 100%;
}
.scallop--up{
  -webkit-mask:radial-gradient(circle at 50% 100%,transparent var(--scallop-r),#000 calc(var(--scallop-r) + 1px)) repeat-x 50% 0/var(--scallop-w) 100%;
  mask:radial-gradient(circle at 50% 100%,transparent var(--scallop-r),#000 calc(var(--scallop-r) + 1px)) repeat-x 50% 0/var(--scallop-w) 100%;
}

/* ── Hlavička sekcie ───────────────────────────────────── */
.shead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.2rem;margin-bottom:clamp(1.8rem,3.5vw,2.8rem)}
.shead__text{max-width:44rem}
.shead h2{margin-bottom:.55rem}

/* ── Karta kategórie ───────────────────────────────────── */
.cat-card{
  position:relative;display:block;
  border-radius:var(--r-card);overflow:hidden;
  background:var(--surface);
  text-decoration:none;color:inherit;
  box-shadow:var(--shadow-card);
  transition:transform .28s cubic-bezier(.3,.8,.4,1),box-shadow .28s;
  isolation:isolate;
}
.cat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}
.cat-card__img{aspect-ratio:3/4;overflow:hidden;background:var(--accent-soft)}
.cat-card__img img{width:100%;height:100%;object-fit:cover;transition:scale .5s cubic-bezier(.3,.8,.4,1)}
.cat-card:hover .cat-card__img img{scale:1.045}
.cat-card__body{
  position:absolute;inset:auto 0 0 0;padding:1.5rem 1.25rem 1.15rem;
  background:linear-gradient(to top,rgba(38,22,30,.82) 18%,rgba(38,22,30,.45) 58%,transparent);
  color:#fff;
}
.cat-card__body h3{color:#fff;font-size:1.32rem;margin-bottom:.15rem}
.cat-card__body p{font-size:.83rem;opacity:.86;line-height:1.45}

/* ── Karta produktu ────────────────────────────────────── */
.prod{
  position:relative;display:flex;flex-direction:column;
  background:var(--surface);
  border-radius:var(--r-card);
  padding:var(--prod-pad);
  box-shadow:var(--shadow-card);
  transition:transform .28s cubic-bezier(.3,.8,.4,1),box-shadow .28s;
}
.prod:hover{transform:translateY(-5px);box-shadow:var(--shadow-card-hover)}
.prod__media{
  position:relative;
  border-radius:var(--r-arch-sm);
  overflow:hidden;background:var(--accent-soft);
  margin-bottom:1.05rem;
}
.prod__media img{
  width:100%;aspect-ratio:4/5;object-fit:cover;
  transition:opacity .45s ease,scale .6s cubic-bezier(.3,.8,.4,1);
}
.prod__media img.prod__img2{position:absolute;inset:0;height:100%;opacity:0}
.prod:hover .prod__media img.prod__img2{opacity:1}
.prod:hover .prod__media img{scale:1.03}

.prod__badge{
  position:absolute;top:.75rem;left:.75rem;z-index:2;
  padding:.36em .8em;border-radius:100px;
  background:var(--surface);color:var(--accent-deep);
  font-size:.68rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
  box-shadow:0 2px 10px rgba(92,58,78,.16);
}
.prod__fav{
  position:absolute;top:.62rem;right:.62rem;z-index:2;
  width:2.15rem;height:2.15rem;border-radius:50%;border:0;
  background:var(--surface);color:var(--ink-soft);
  display:grid;place-items:center;cursor:pointer;
  box-shadow:0 2px 10px rgba(92,58,78,.14);
  opacity:0;transition:opacity .2s,color .2s,scale .2s;
}
.prod:hover .prod__fav,.prod__fav:focus-visible{opacity:1}
.prod__fav svg{width:1.05rem;height:1.05rem}
.prod__fav[aria-pressed="true"]{opacity:1;color:var(--accent)}
.prod__fav[aria-pressed="true"] svg{fill:currentColor}
.prod__fav:active{scale:.9}

.prod__cat{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:.32rem}
.prod__name{font-size:1.24rem;line-height:1.18;margin-bottom:.3rem}
.prod__name a{text-decoration:none;color:inherit}
.prod__name a::after{content:'';position:absolute;inset:0;border-radius:var(--r-card)} /* celá karta klikateľná */
.prod__sub{font-size:.85rem;color:var(--ink-mute);line-height:1.45;margin-bottom:.9rem}
.prod__foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:.7rem;padding-top:.3rem}
.prod__price{font-family:var(--font-display);font-size:1.35rem;color:var(--ink-strong);line-height:1.1}
.prod__price small{display:block;font-family:var(--font-body);font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:.1rem}
.prod__sizes{display:flex;gap:.28rem}
.prod__size{
  width:1.75rem;height:1.75rem;display:grid;place-items:center;
  border:1.5px solid var(--line);border-radius:8px;
  font-size:.72rem;font-weight:600;color:var(--ink-soft);
}

/* ── Detail produktu ───────────────────────────────────── */
.pdp{display:grid;gap:clamp(2rem,4vw,3.5rem)}
@media (min-width:900px){.pdp{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start}}

.gallery__main{
  border-radius:var(--r-arch);overflow:hidden;
  background:var(--accent-soft);box-shadow:var(--shadow-arch);
  margin-bottom:.75rem;
}
.gallery__main img{width:100%;aspect-ratio:4/5;object-fit:cover}
.gallery__thumbs{display:flex;gap:.55rem;flex-wrap:wrap}
.gallery__thumb{
  width:4.5rem;aspect-ratio:1;flex:none;padding:0;cursor:pointer;
  border:2px solid transparent;border-radius:12px;overflow:hidden;background:none;
  transition:border-color .18s,opacity .18s;opacity:.62;
}
.gallery__thumb img{width:100%;height:100%;object-fit:cover}
.gallery__thumb:hover{opacity:1}
.gallery__thumb[aria-current="true"]{border-color:var(--accent);opacity:1}

@media (min-width:900px){.pdp__info{position:sticky;top:calc(var(--hdr-h) + 1.5rem)}}
.pdp__title{margin-bottom:.4rem}
.pdp__sub{font-size:1.05rem;color:var(--ink-soft);margin-bottom:1.3rem}
.pdp__price{
  display:flex;align-items:baseline;gap:.6rem;margin-bottom:1.6rem;
  font-family:var(--font-display);font-size:2.1rem;color:var(--ink-strong);line-height:1;
}
.pdp__price s{font-family:var(--font-body);font-size:1.05rem;color:var(--ink-mute);font-weight:400}

/* Výber veľkosti — radio ako karty */
.sizes{display:grid;gap:.6rem;margin-bottom:1.5rem}
.size{
  position:relative;display:flex;align-items:center;gap:.9rem;
  padding:.9rem 1.1rem;
  border:1.5px solid var(--line);border-radius:var(--r-input);
  background:var(--surface);cursor:pointer;
  transition:border-color .16s,background-color .16s,box-shadow .16s;
}
.size:hover{border-color:var(--line-strong)}
.size input{position:absolute;opacity:0;pointer-events:none}
.size:has(input:checked){border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}
.size:has(input:focus-visible){outline:2.5px solid var(--accent);outline-offset:3px}
.size__key{
  flex:none;width:2.4rem;height:2.4rem;display:grid;place-items:center;
  border-radius:10px;background:var(--bg-alt);
  font-family:var(--font-display);font-size:1.05rem;color:var(--ink-strong);
}
.size:has(input:checked) .size__key{background:var(--accent);color:#fff}
.size__text{flex:1;min-width:0}
.size__text b{display:block;font-size:.98rem;font-weight:500;color:var(--ink-strong)}
.size__text span{font-size:.8rem;color:var(--ink-mute)}
.size__price{font-family:var(--font-display);font-size:1.12rem;color:var(--ink-strong);white-space:nowrap}

.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:var(--r-input);overflow:hidden;background:var(--surface)}
.qty button{
  width:2.7rem;height:2.9rem;border:0;background:none;cursor:pointer;color:var(--ink-soft);
  font-size:1.15rem;line-height:1;transition:background-color .15s,color .15s;
}
.qty button:hover{background:var(--accent-soft);color:var(--accent-deep)}
.qty input{
  width:2.9rem;height:2.9rem;border:0;text-align:center;background:none;
  font-weight:600;font-variant-numeric:tabular-nums;-moz-appearance:textfield;
}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.pdp__buy{display:flex;gap:.7rem;align-items:stretch;margin-bottom:1.3rem}
.pdp__buy .btn{flex:1}

/* Dôveryhodnostné body */
.trust{list-style:none;padding:0;margin:0;display:grid;gap:.72rem}
.trust li{display:flex;gap:.7rem;align-items:flex-start;font-size:.89rem;color:var(--ink-soft);line-height:1.5}
.trust svg{flex:none;width:1.15rem;height:1.15rem;margin-top:.16rem;color:var(--ok)}

/* Rozbaľovacie sekcie */
.acc{border-top:1px solid var(--line)}
.acc__item{border-bottom:1px solid var(--line)}
.acc__btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.15rem .2rem;background:none;border:0;cursor:pointer;text-align:left;
  font-size:1rem;font-weight:500;color:var(--ink-strong);
}
.acc__btn:hover{color:var(--accent-deep)}
.acc__ico{flex:none;width:1.15rem;height:1.15rem;transition:rotate .25s;color:var(--ink-mute)}
.acc__btn[aria-expanded="true"] .acc__ico{rotate:45deg}
.acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.3,.8,.4,1)}
.acc__btn[aria-expanded="true"]+.acc__panel{grid-template-rows:1fr}
.acc__panel>div{overflow:hidden}
.acc__panel .inner{padding:0 .2rem 1.35rem;color:var(--ink-soft);font-size:.94rem;line-height:1.72}
.acc__panel .inner>*+*{margin-top:.8rem}

/* ── Prose (blog, právne stránky) ──────────────────────── */
.prose{font-size:1.02rem;line-height:1.78;color:var(--ink-soft);max-width:68ch}
.prose>*+*{margin-top:1.15em}
.prose h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-top:2.4em;margin-bottom:-.35em;color:var(--ink-strong)}
.prose h3{font-size:1.24rem;margin-top:1.9em;margin-bottom:-.4em;color:var(--ink-strong)}
.prose h2:first-child,.prose h3:first-child{margin-top:0}
.prose a{color:var(--accent-deep);text-decoration:underline;text-decoration-color:var(--accent-soft);text-decoration-thickness:2px}
.prose a:hover{text-decoration-color:var(--accent)}
.prose ul,.prose ol{padding-left:1.35em}
.prose li+li{margin-top:.45em}
.prose li::marker{color:var(--accent)}
.prose strong{color:var(--ink-strong);font-weight:600}
.prose blockquote{
  border-left:3px solid var(--accent);padding:.3em 0 .3em 1.25em;
  font-family:var(--font-display);font-size:1.22rem;line-height:1.5;color:var(--ink-strong);
}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.prose img{border-radius:var(--r-card);margin-block:1.8em}
.prose table{width:100%;border-collapse:collapse;font-size:.93rem}
.prose th,.prose td{text-align:left;padding:.7em .8em;border-bottom:1px solid var(--line)}
.prose th{color:var(--ink-strong);font-weight:600;background:var(--bg-alt)}
.prose code{background:var(--bg-alt);padding:.15em .45em;border-radius:5px;font-size:.9em}

/* ── Blog ──────────────────────────────────────────────── */
.post-card{
  display:flex;flex-direction:column;background:var(--surface);
  border-radius:var(--r-card);overflow:hidden;
  box-shadow:var(--shadow-card);text-decoration:none;color:inherit;
  transition:transform .28s cubic-bezier(.3,.8,.4,1),box-shadow .28s;
}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}
.post-card__img{aspect-ratio:16/10;overflow:hidden;background:var(--accent-soft)}
.post-card__img img{width:100%;height:100%;object-fit:cover;transition:scale .5s}
.post-card:hover .post-card__img img{scale:1.04}
.post-card__body{padding:1.35rem 1.35rem 1.5rem;display:flex;flex-direction:column;flex:1}
.post-card__meta{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}
.post-card__body h3{font-size:1.24rem;line-height:1.24;margin-bottom:.5rem}
.post-card__body p{font-size:.9rem;color:var(--ink-mute);line-height:1.6}
.post-card__more{margin-top:auto;padding-top:1rem;font-size:.86rem;font-weight:500;color:var(--accent-deep)}

/* ── Košík ─────────────────────────────────────────────── */
.cart-layout{display:grid;gap:2rem;align-items:start}
@media (min-width:920px){.cart-layout{grid-template-columns:minmax(0,1fr) 22rem}}

.cart-item{display:grid;grid-template-columns:5.5rem 1fr;gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--line)}
@media (min-width:600px){.cart-item{grid-template-columns:6.5rem 1fr auto;align-items:center;gap:1.3rem}}
.cart-item__img{border-radius:var(--r-arch-sm);overflow:hidden;background:var(--accent-soft)}
.cart-item__img img{width:100%;aspect-ratio:1;object-fit:cover}
.cart-item__name{font-family:var(--font-display);font-size:1.12rem;line-height:1.2;margin-bottom:.2rem}
.cart-item__name a{text-decoration:none}
.cart-item__name a:hover{color:var(--accent-deep)}
.cart-item__var{font-size:.82rem;color:var(--ink-mute);margin-bottom:.7rem}
.cart-item__ctl{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.cart-item__price{font-family:var(--font-display);font-size:1.16rem;white-space:nowrap;text-align:right}
.cart-item__rm{background:none;border:0;padding:.25rem;cursor:pointer;color:var(--ink-mute);font-size:.82rem;text-decoration:underline}
.cart-item__rm:hover{color:var(--danger)}

.summary{
  background:var(--surface);border-radius:var(--r-card);
  padding:1.5rem;box-shadow:var(--shadow-card);
}
@media (min-width:920px){.summary{position:sticky;top:calc(var(--hdr-h) + 1.5rem)}}
.summary h2{font-size:1.3rem;margin-bottom:1.1rem}
.summary__row{display:flex;justify-content:space-between;gap:1rem;padding:.52rem 0;font-size:.93rem;color:var(--ink-soft)}
.summary__row b{color:var(--ink-strong);font-weight:500}
.summary__row--free b{color:var(--ok)}
.summary__total{
  display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  margin-top:.85rem;padding-top:.95rem;border-top:1px solid var(--line);
  font-family:var(--font-display);font-size:1.02rem;
}
.summary__total b{font-size:1.65rem;color:var(--ink-strong)}

/* ── Checkout ──────────────────────────────────────────── */
.steps{display:flex;gap:.4rem;align-items:center;margin-bottom:2rem;font-size:.8rem;flex-wrap:wrap}
.steps__i{display:flex;align-items:center;gap:.5rem;color:var(--ink-mute)}
.steps__i b{
  width:1.62rem;height:1.62rem;display:grid;place-items:center;border-radius:50%;
  background:var(--line);color:var(--ink-soft);font-size:.75rem;font-weight:600;
}
.steps__i.is-on{color:var(--ink-strong);font-weight:500}
.steps__i.is-on b{background:var(--accent);color:#fff}
.steps__i.is-done b{background:var(--ok-soft);color:var(--ok)}
.steps__sep{flex:1;min-width:1rem;height:1px;background:var(--line)}

/* Voľba dátumu doručenia */
.days{display:flex;gap:.55rem;overflow-x:auto;padding:.3rem .2rem .8rem;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.days::-webkit-scrollbar{height:5px}
.days::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:5px}
.day{
  position:relative;flex:none;scroll-snap-align:start;
  min-width:4.6rem;padding:.72rem .55rem;text-align:center;cursor:pointer;
  border:1.5px solid var(--line);border-radius:var(--r-input);background:var(--surface);
  transition:border-color .16s,background-color .16s;
}
.day input{position:absolute;opacity:0;pointer-events:none}
.day:hover{border-color:var(--line-strong)}
.day:has(input:checked){border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}
.day:has(input:focus-visible){outline:2.5px solid var(--accent);outline-offset:3px}
.day__dow{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:.15rem}
.day__num{font-family:var(--font-display);font-size:1.32rem;line-height:1;color:var(--ink-strong)}
.day__mon{font-size:.68rem;color:var(--ink-mute);margin-top:.12rem}
.day--today .day__dow{color:var(--accent);font-weight:600}

/* Voľby (doprava / platba) */
.opts{display:grid;gap:.6rem}
.opt{
  position:relative;display:flex;gap:.9rem;align-items:flex-start;
  padding:1rem 1.15rem;border:1.5px solid var(--line);border-radius:var(--r-input);
  background:var(--surface);cursor:pointer;transition:border-color .16s,background-color .16s;
}
.opt:hover{border-color:var(--line-strong)}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt:has(input:checked){border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}
.opt:has(input:focus-visible){outline:2.5px solid var(--accent);outline-offset:3px}
.opt__dot{
  flex:none;width:1.25rem;height:1.25rem;margin-top:.12rem;border-radius:50%;
  border:1.5px solid var(--line-strong);background:var(--surface);
  display:grid;place-items:center;transition:border-color .16s;
}
.opt__dot::after{content:'';width:.6rem;height:.6rem;border-radius:50%;background:var(--accent);scale:0;transition:scale .18s cubic-bezier(.3,1.4,.5,1)}
.opt:has(input:checked) .opt__dot{border-color:var(--accent)}
.opt:has(input:checked) .opt__dot::after{scale:1}
.opt__text{flex:1;min-width:0}
.opt__text b{display:block;font-weight:500;color:var(--ink-strong);font-size:.98rem}
.opt__text span{font-size:.84rem;color:var(--ink-mute);line-height:1.5}
.opt__price{font-weight:600;white-space:nowrap;color:var(--ink-strong)}
.opt__price.is-free{color:var(--ok)}
.opt__price svg{width:1.4rem;height:1.4rem;color:var(--ink-mute)}

/* ── Poďakovanie + QR ──────────────────────────────────── */
.thanks{text-align:center;max-width:40rem;margin-inline:auto}
.thanks__ico{
  width:4.5rem;height:4.5rem;margin:0 auto 1.5rem;border-radius:50%;
  background:var(--ok-soft);color:var(--ok);display:grid;place-items:center;
}
.thanks__ico svg{width:2.1rem;height:2.1rem}
.qr-card{
  background:var(--surface);border-radius:var(--r-card);
  padding:1.8rem;box-shadow:var(--shadow-card);margin-top:2rem;
}
.qr-card img{width:min(16rem,70vw);margin-inline:auto;border-radius:12px}
.qr-rows{display:grid;gap:.1rem;margin-top:1.3rem;text-align:left;font-size:.93rem}
.qr-rows div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--line)}
.qr-rows div:last-child{border:0}
.qr-rows span{color:var(--ink-mute)}
.qr-rows b{font-variant-numeric:tabular-nums;color:var(--ink-strong);text-align:right;word-break:break-all}

.copy-btn{
  background:none;border:0;padding:.1rem .3rem;cursor:pointer;
  color:var(--accent-deep);font-size:.78rem;text-decoration:underline;
}

/* ── Pätička ───────────────────────────────────────────── */
.ftr{background:var(--ink-strong);color:var(--bg);padding-block:clamp(3rem,6vw,4.5rem) 2rem;margin-top:auto}
.ftr a{color:inherit}
.ftr__grid{display:grid;gap:2.3rem}
@media (min-width:700px){.ftr__grid{grid-template-columns:1.4fr 1fr 1fr}}
@media (min-width:1000px){.ftr__grid{grid-template-columns:1.6fr 1fr 1fr 1.15fr}}
.ftr__logo{font-family:var(--font-display);font-size:1.6rem;margin-bottom:.7rem;display:block;text-decoration:none}
.ftr__about{font-size:.9rem;opacity:.72;line-height:1.7;max-width:32ch}
.ftr h4{color:var(--bg);font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.55;margin-bottom:1rem}
.ftr__list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem;font-size:.91rem}
.ftr__list a{opacity:.8;text-decoration:none;transition:opacity .15s}
.ftr__list a:hover{opacity:1;text-decoration:underline}
.ftr__contact{display:grid;gap:.75rem;font-size:.91rem}
.ftr__contact a{display:flex;gap:.6rem;align-items:center;text-decoration:none;opacity:.85}
.ftr__contact a:hover{opacity:1}
.ftr__contact svg{width:1.05rem;height:1.05rem;flex:none;opacity:.6}
.ftr__social{display:flex;gap:.55rem;margin-top:.4rem}
.ftr__social a{
  width:2.4rem;height:2.4rem;border-radius:50%;
  border:1px solid rgba(255,255,255,.2);
  display:grid;place-items:center;transition:background-color .18s,border-color .18s;
}
.ftr__social a:hover{background:rgba(255,255,255,.12);border-color:transparent}
.ftr__social svg{width:1.1rem;height:1.1rem}
.ftr__bottom{
  margin-top:2.8rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.14);
  display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;justify-content:space-between;
  font-size:.79rem;opacity:.6;
}
.ftr__bottom a:hover{opacity:1}

/* ── Cookie lišta ──────────────────────────────────────── */
.cookie{
  position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:95;
  max-width:31rem;padding:1.35rem 1.45rem;
  background:var(--surface);border-radius:var(--r-card);
  box-shadow:0 14px 50px -10px rgba(38,22,30,.35);
  font-size:.88rem;line-height:1.6;
  transform:translateY(130%);transition:transform .4s cubic-bezier(.3,.9,.4,1);
}
.cookie.is-on{transform:translateY(0)}
.cookie h3{font-size:1.1rem;margin-bottom:.4rem}
.cookie p{color:var(--ink-soft);margin-bottom:1rem}
.cookie__btns{display:flex;flex-wrap:wrap;gap:.55rem}
.cookie__btns .btn{flex:1;min-width:8rem}
.cookie__link{display:inline-block;margin-top:.85rem;font-size:.8rem;color:var(--ink-mute);text-decoration:underline}

/* ── Chatbot ───────────────────────────────────────────── */
.chat-fab{
  position:fixed;right:1.1rem;bottom:1.1rem;z-index:80;
  display:flex;align-items:center;gap:.6rem;
  padding:.85rem 1.3rem .85rem 1rem;border:0;border-radius:100px;cursor:pointer;
  background:var(--accent);color:#fff;font-size:.9rem;font-weight:500;
  box-shadow:0 8px 26px -6px rgba(196,103,79,.6);
  transition:transform .2s cubic-bezier(.3,.9,.4,1),box-shadow .2s;
}
.chat-fab:hover{transform:translateY(-2px);box-shadow:0 12px 32px -6px rgba(196,103,79,.7)}
.chat-fab svg{width:1.3rem;height:1.3rem}
.chat-fab.is-hidden{transform:scale(.4);opacity:0;pointer-events:none}
@media (max-width:520px){.chat-fab span{display:none}.chat-fab{padding:.95rem;border-radius:50%}}

.chat{
  position:fixed;right:1.1rem;bottom:1.1rem;z-index:85;
  width:min(23.5rem,calc(100vw - 2.2rem));height:min(33rem,calc(100dvh - 2.5rem));
  display:flex;flex-direction:column;
  background:var(--surface);border-radius:var(--r-card);
  box-shadow:0 20px 60px -12px rgba(38,22,30,.4);
  overflow:hidden;
  opacity:0;transform:translateY(14px) scale(.97);pointer-events:none;
  transition:opacity .25s,transform .25s cubic-bezier(.3,.9,.4,1);
}
.chat.is-open{opacity:1;transform:none;pointer-events:auto}
.chat__hd{
  display:flex;align-items:center;gap:.75rem;
  padding:1rem 1.1rem;background:var(--ink-strong);color:var(--bg);
}
.chat__hd b{font-size:.98rem;font-weight:500;display:block}
.chat__hd span{font-size:.75rem;opacity:.65}
.chat__avatar{
  width:2.3rem;height:2.3rem;border-radius:50%;flex:none;
  background:var(--accent);display:grid;place-items:center;color:#fff;
}
.chat__avatar svg{width:1.15rem;height:1.15rem}
.chat__close{margin-left:auto;background:none;border:0;color:inherit;cursor:pointer;opacity:.7;padding:.3rem}
.chat__close:hover{opacity:1}
.chat__close svg{width:1.15rem;height:1.15rem}
.chat__body{flex:1;overflow-y:auto;padding:1.1rem;display:flex;flex-direction:column;gap:.75rem;background:var(--bg-alt)}
.chat__msg{max-width:85%;padding:.72rem .95rem;border-radius:16px;font-size:.89rem;line-height:1.55;overflow-wrap:anywhere}
.chat__msg a{color:var(--accent-deep)}
.chat__msg--bot{background:var(--surface);border-bottom-left-radius:5px;align-self:flex-start;box-shadow:0 1px 4px rgba(92,58,78,.07)}
.chat__msg--me{background:var(--accent);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}
.chat__msg--me a{color:#fff;text-decoration:underline}
.chat__chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 1.1rem .8rem;background:var(--bg-alt)}
.chat__chip{
  padding:.44rem .85rem;border:1.5px solid var(--line);border-radius:100px;
  background:var(--surface);font-size:.8rem;cursor:pointer;color:var(--ink-soft);
  transition:border-color .15s,color .15s;
}
.chat__chip:hover{border-color:var(--accent);color:var(--accent-deep)}
.chat__form{display:flex;gap:.5rem;padding:.8rem 1.1rem 1rem;border-top:1px solid var(--line)}
.chat__form input{
  flex:1;padding:.7em .95em;border:1.5px solid var(--line);
  border-radius:100px;background:var(--bg-alt);
}
.chat__form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}
.chat__send{
  width:2.7rem;height:2.7rem;flex:none;border:0;border-radius:50%;
  background:var(--accent);color:#fff;cursor:pointer;display:grid;place-items:center;
}
.chat__send:hover{filter:brightness(1.07)}
.chat__send svg{width:1.1rem;height:1.1rem}
.chat__typing{display:flex;gap:.28rem;padding:.9rem 1rem}
.chat__typing i{width:.42rem;height:.42rem;border-radius:50%;background:var(--ink-mute);animation:blink 1.3s infinite}
.chat__typing i:nth-child(2){animation-delay:.18s}
.chat__typing i:nth-child(3){animation-delay:.36s}
@keyframes blink{0%,60%,100%{opacity:.25}30%{opacity:1}}

/* ── Drobky ────────────────────────────────────────────── */
.crumbs{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;font-size:.8rem;color:var(--ink-mute);padding-block:1.2rem}
.crumbs a{text-decoration:none;color:var(--ink-mute)}
.crumbs a:hover{color:var(--accent-deep);text-decoration:underline}
.crumbs span[aria-current]{color:var(--ink-soft)}
.crumbs .sep{opacity:.45}

/* ── Toast ─────────────────────────────────────────────── */
.toast{
  position:fixed;left:50%;bottom:1.5rem;z-index:99;translate:-50% 0;
  display:flex;align-items:center;gap:.7rem;
  padding:.85rem 1.3rem;border-radius:100px;
  background:var(--ink-strong);color:var(--bg);
  font-size:.89rem;box-shadow:0 10px 32px -8px rgba(38,22,30,.5);
  opacity:0;translate:-50% 1.2rem;pointer-events:none;
  transition:opacity .28s,translate .28s cubic-bezier(.3,.9,.4,1);
}
.toast.is-on{opacity:1;translate:-50% 0}
.toast svg{width:1.1rem;height:1.1rem;flex:none;color:var(--ok)}
.toast a{color:var(--bg);text-decoration:underline;white-space:nowrap}

/* ── Prázdny stav ──────────────────────────────────────── */
.empty{text-align:center;padding:clamp(2.5rem,7vw,5rem) 1rem;max-width:34rem;margin-inline:auto}
.empty svg{width:3.6rem;height:3.6rem;color:var(--line-strong);margin:0 auto 1.3rem}
.empty h2{margin-bottom:.6rem}
.empty p{color:var(--ink-mute);margin-bottom:1.8rem}

/* ── Nenápadné objavenie pri scrollovaní ───────────────── */
@media (prefers-reduced-motion:no-preference){
  .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s cubic-bezier(.25,.8,.35,1)}
  .reveal.is-in{opacity:1;transform:none}
}

/* ═══════════════════════════════════════════════════════════
   MOBIL — hlavný kanál (návštevnosť zo sociálnych sietí)
   Všetko nižšie je mobile-first doladenie nad základom.
   ═══════════════════════════════════════════════════════════ */

/* Bezpečné zóny iPhonu (výrez hore, indikátor dole) */
.hdr__bar,.mnav .wrap{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}

/* ── Lepkavá lišta na kúpu (len mobil, len detail produktu) ── */
.buybar{
  position:fixed;left:0;right:0;bottom:0;z-index:70;
  display:flex;align-items:center;gap:.8rem;
  padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));
  background:var(--bg-blur);border-top:1px solid var(--line);
  box-shadow:0 -4px 24px -10px rgba(38,22,30,.28);
  transform:translateY(110%);transition:transform .28s cubic-bezier(.3,.9,.4,1);
}
@supports (backdrop-filter:blur(8px)){.buybar{backdrop-filter:saturate(1.5) blur(12px)}}
.buybar.is-on{transform:none}
@media (min-width:900px){.buybar{display:none}}
.buybar__info{flex:1;min-width:0}
.buybar__info b{
  display:block;font-family:var(--font-display);font-size:1rem;line-height:1.15;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-strong);
}
.buybar__info span{font-size:.76rem;color:var(--ink-mute)}
.buybar__price{
  font-family:var(--font-display);font-size:1.25rem;color:var(--ink-strong);
  white-space:nowrap;line-height:1;
}
.buybar .btn{flex:none;padding:.85em 1.3em}

/* Keď je lišta vidno, chat a toast jej uhnú */
body.has-buybar .chat-fab{bottom:calc(4.6rem + env(safe-area-inset-bottom))}
body.has-buybar .toast{bottom:calc(5rem + env(safe-area-inset-bottom))}
body.has-buybar .chat{bottom:calc(4.6rem + env(safe-area-inset-bottom))}

/* ── Cookie lišta nesmie zakryť hlavné CTA ── */
@media (max-width:640px){
  .cookie{
    left:.6rem;right:.6rem;bottom:calc(.6rem + env(safe-area-inset-bottom));
    padding:1.1rem 1.15rem;font-size:.85rem;
  }
  .cookie h3{font-size:1rem}
  .cookie p{margin-bottom:.85rem}
  .cookie__btns .btn{min-width:0;padding:.75em 1em;font-size:.86rem}
  /* kým je lišta hore, chat bublina sa schová — neprekrývali by sa */
  body.cookie-open .chat-fab{opacity:0;pointer-events:none}
}

/* ── Hero na mobile ── */
@media (max-width:899px){
  .hero{padding-block:1.6rem 2.4rem}
  .hero__grid{gap:2rem}
  /* fotka pod text pôsobí na mobile lepšie ako nad ním */
  .hero__media{order:2}
  .hero__title{margin-bottom:1rem}
  .hero__cta{margin-top:1.5rem;gap:.6rem}
  .hero__cta .btn{flex:1 1 100%}
  .hero__proof{margin-top:1.8rem;padding-top:1.4rem;gap:1.1rem 1.6rem}
  .hero__proof-item b{font-size:1.3rem}
  .hero__tag{
    left:50%;right:auto;translate:-50% 0;bottom:-1.1rem;
    padding:.7rem 1.1rem .7rem .8rem;white-space:nowrap;
  }
  .hero__media{margin-bottom:1.6rem}
}
@media (max-width:420px){
  .hero__tag span span{display:none}          /* na úzkych displejoch stačí tučný riadok */
  .hero__tag{bottom:-.9rem}
}

/* ── Karty v mriežke: 2 stĺpce už od 380 px ── */
@media (min-width:360px) and (max-width:599px){
  .grid--3,.grid--4{grid-template-columns:repeat(2,1fr);--gap:.7rem}
  .prod__name{font-size:1.02rem}
  .prod__sub{display:none}                     /* v 2 stĺpcoch by sa lámal */
  .prod__price{font-size:1.08rem}
  .prod__sizes{display:none}
  .prod{--prod-pad:.5rem .5rem .8rem}
  .cat-card__img{aspect-ratio:1/1}
  .cat-card__body{padding:1rem .8rem .8rem}
  .cat-card__body h3{font-size:1rem}
  .cat-card__body p{font-size:.74rem}
}
@media (max-width:359px){
  .cat-card__img{aspect-ratio:4/3}
}

/* ── Detail produktu ── */
@media (max-width:899px){
  .pdp{gap:1.6rem}
  .pdp__title{font-size:2rem}
  .pdp__price{font-size:1.75rem;margin-bottom:1.2rem}
  .gallery__thumbs{
    gap:.45rem;overflow-x:auto;flex-wrap:nowrap;
    padding-bottom:.3rem;scroll-snap-type:x mandatory;
  }
  .gallery__thumb{width:3.8rem;scroll-snap-align:start}
  .size{padding:.8rem .9rem}
  .size__key{width:2.1rem;height:2.1rem;font-size:.95rem}
  .pdp__buy{gap:.5rem}
  /* miesto pre lepkavú lištu */
  body.has-buybar .ftr{padding-bottom:5rem}
}

/* ── Košík a pokladňa ── */
@media (max-width:599px){
  .cart-item{grid-template-columns:4.6rem 1fr;gap:.8rem;padding:.9rem 0}
  .cart-item__name{font-size:1rem}
  .cart-item__price{
    grid-column:2;text-align:left;font-size:1.05rem;margin-top:.5rem;
  }
  .summary{padding:1.15rem}
  .summary__total b{font-size:1.4rem}
  .steps{font-size:.72rem;gap:.25rem}
  .steps__i b{width:1.4rem;height:1.4rem;font-size:.68rem}
  .field-row,.field-row--21{grid-template-columns:1fr}
  .days{margin-inline:-1rem;padding-inline:1rem}   /* scroll od kraja po kraj */
  .day{min-width:4.1rem;padding:.6rem .45rem}
  .day__num{font-size:1.18rem}
  .opt{padding:.85rem .95rem}
  .fieldset__legend{font-size:1.1rem}
}

/* iOS nesmie pri fokuse zoomovať — preto min. 16px vo formulároch */
@media (max-width:899px){
  .input,.select,.textarea,.qty input,.chat__form input{font-size:16px}
}

/* ── Dotykové ciele min. 44×44 px ── */
@media (pointer:coarse){
  .icon-btn{width:2.9rem;height:2.9rem}
  .cart-item__rm{padding:.6rem .2rem;min-height:2.75rem;display:inline-flex;align-items:center}
  .gallery__thumb{min-width:3.4rem;min-height:3.4rem}
  .qty button{width:3rem;height:3rem}
  .qty input{height:3rem}
  .acc__btn{padding-block:1.25rem}
  .hdr__link{padding:.7rem .85rem}
  .prod__fav{opacity:1;width:2.5rem;height:2.5rem}   /* na dotyku nie je hover */
  .copy-btn{padding:.5rem .4rem}
}

/* ── Typografia na malých displejoch ── */
@media (max-width:599px){
  :root{--fs-base:16px}
  .section{padding-block:2.6rem}
  .section--tight{padding-block:2rem}
  .shead{margin-bottom:1.5rem}
  .lead{font-size:1rem;line-height:1.65}
  .eyebrow{font-size:.68rem;letter-spacing:.15em;margin-bottom:.7rem}
  .prose{font-size:1rem}
  .prose h2{font-size:1.4rem}
  .qr-card{padding:1.25rem}
  .empty{padding-block:3rem}
}

/* ── Chat na celú výšku mobilu ── */
@media (max-width:520px){
  .chat{
    left:.5rem;right:.5rem;width:auto;
    height:min(30rem,calc(100dvh - 5rem));
    bottom:calc(.5rem + env(safe-area-inset-bottom));
  }
  .chat-fab{right:.9rem;bottom:calc(.9rem + env(safe-area-inset-bottom))}
}

/* ── Žiadne vodorovné pretekanie ── */
html,body{max-width:100%}
.days,.gallery__thumbs{overscroll-behavior-x:contain}

/* ── Mobilné menu: pohodlné a s bezpečnými zónami ── */
.mnav{padding-bottom:calc(2.5rem + env(safe-area-inset-bottom))}
.mnav__list a{padding-block:.95rem}
@media (max-height:700px){
  .mnav__list a{padding-block:.7rem;font-size:1.32rem}
  .mnav__foot{padding-top:1.2rem}
}
/* Na mobile nechceme v menu obe tlačidlá pod sebou širšie než obrazovku */
.mnav__foot .btn{white-space:nowrap}

/* ── Filtre katalógu ── */
.catbar{
  display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;
  margin-bottom:2rem;padding-bottom:1.4rem;border-bottom:1px solid var(--line);
}
.catfilter{display:flex;gap:.45rem;flex-wrap:wrap}
.catsort{display:flex;align-items:center;gap:.6rem;flex:none}
.catsort .select{width:auto;min-width:11rem;padding-block:.55em}

@media (max-width:767px){
  /* namiesto piatich riadkov jeden vodorovný pás */
  .catbar{gap:.8rem;margin-bottom:1.4rem;padding-bottom:1rem}
  .catfilter{
    flex-wrap:nowrap;overflow-x:auto;width:100%;
    margin-inline:-1rem;padding:.2rem 1rem .6rem;
    scroll-snap-type:x proximity;overscroll-behavior-x:contain;
    -ms-overflow-style:none;scrollbar-width:none;
  }
  .catfilter::-webkit-scrollbar{display:none}
  .catfilter .btn{flex:none;scroll-snap-align:start}
  .catsort{width:100%}
  .catsort .select{flex:1;min-width:0}
}

/* ── Ochrana pred vodorovným pretekaním ──────────────────────
   Položky gridu/flexu majú v norme min-width:auto, takže ich
   široké dieťa (napr. vodorovný scroller s dátumami) roztiahne
   celú stránku. Toto je proti tomu poistka.                    */
.grid>*,.cart-layout>*,.pdp>*,.hero__grid>*,.ftr__grid>*,.agrid2>*{min-width:0}
.fieldset,.field,.summary,.gallery{min-width:0}
.days,.gallery__thumbs,.catfilter,.chat__chips{max-width:100%}

/* ── Dotykové ciele: doladenie na skutočných mobiloch ────────
   `pointer:coarse` nepokryje testovacie prostredie ani hybridy,
   preto to isté viažeme aj na šírku obrazovky.                 */
@media (max-width:899px),(pointer:coarse){
  .prod__fav{width:44px;height:44px;opacity:1}
  .prod__fav svg{width:1.15rem;height:1.15rem}

  /* omrvinky sú malé inline odkazy — zväčšíme im dotykovú plochu */
  .crumbs{padding-block:.6rem;gap:.15rem}
  .crumbs a,.crumbs span[aria-current]{
    display:inline-flex;align-items:center;min-height:44px;padding-inline:.35rem;
  }
  .crumbs .sep{display:inline-flex;align-items:center;min-height:44px}

  .hdr__logo{min-height:44px;align-items:center}

  /* odkazy v texte dostanú väčší rozostup riadkov, nech sa dajú trafiť */
  .prose{line-height:1.8}
}
