/*
Theme Name: Veronika Martinková 2026
Theme URI: https://veronikamartinkova.cz
Description: Autorský web Veroniky Martinkové — redesign „styl 1“ (tisková stránka na pracovním stole). Vzhled popisuje DESIGN.md v repu.
Version: 1.0.1
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: veronika-2026
License: GNU General Public License v3.0
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Pod touto hlavičkou je doslovná kopie styl-1/styles.css. Neupravovat zde —
změny návrhu dělat ve styl-1/styles.css a zkopírovat. Úpravy pro WordPress
a WooCommerce patří do assets/css/wp.css.
*/

/* ═══════════════════════════════════════════════════════════════════════
   Veronika Martinková — landing page, styl č. 1
   Svět: tisková stránka na pracovním stole. Vlasové linky nesou strukturu,
   jediná sytá barva na stránce pochází z obálek knih.
   ═══════════════════════════════════════════════════════════════════════ */

:root{
  --desk:#E3DBD0;
  --paper:#F5F1EA;
  --paper-hi:#FCFAF6;
  --paper-lo:#EDE7DE;

  --ink:#1B1916;
  --ink-2:#39352F;
  --muted:#5E5952;
  --faint:#6A655D;

  --rule:rgba(27,25,22,.185);
  --rule-soft:rgba(27,25,22,.095);
  --accent:#6E1512;
  /* stejný odstín na tmavém pruhu — oxblood by na černé zmizel */
  --accent-lit:#D9584F;

  --serif:"Literata", Georgia, "Times New Roman", serif;
  --didone:"Bodoni Moda", "Times New Roman", serif;
  --on-dark:#F3EEE5;
  --on-dark-dim:#B8B1A6;
  --sans:"Archivo", "Helvetica Neue", Arial, sans-serif;

  /* Obsahový sloupec má strop: rámy sekcí jdou přes celou stránku, text se
     na velkém monitoru drží u sebe — jako by se koukalo na 1600px okno. */
  --maxw:1560px;
  --pad:max(clamp(1.25rem, 4.6vw, 5.5rem), calc((100vw - var(--maxw)) / 2));
  /* přebytek nad obsahovým sloupcem — na velkém monitoru drží plné snímky
     u obsahu a zbytek k okraji dovyplní papír */
  --gutter:max(0px, calc((100vw - var(--maxw)) / 2));
  /* vnitřní odsazení karet — zvýraznění při najetí nesmí sahat až k textu */
  --cardpad:clamp(1rem, 1.9vw, 1.75rem);
  --band:clamp(3.5rem, 7.5vw, 8rem);

  --ease:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }

body{
  margin:0; overflow-x:clip;
  background:var(--desk);
  color:var(--ink-2);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.75;
  font-synthesis-weight:none;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{max-width:100%; height:auto; display:block}
h1,h2,h3{text-wrap:balance}
hr{border:0; margin:0}
ul,ol{list-style:none; margin:0; padding:0}
figure,blockquote{margin:0}
p{margin:0}
a{color:inherit; text-decoration:none}

:focus-visible{outline:1.5px solid var(--accent); outline-offset:3px}

.skip{
  position:fixed; top:0; left:0; z-index:99;
  transform:translateY(-120%);
  background:var(--ink); color:var(--paper);
  padding:.85rem 1.4rem;
  font-size:.75rem; letter-spacing:.14em; text-transform:uppercase;
}
.skip:focus{transform:none}

/* ── ARCH ──────────────────────────────────────────────────────────── */
.sheet{
  background:var(--paper);
}
@media (min-width:1100px){
  body{padding:0 18px 18px}
  .sheet{
    box-shadow:
      0 0 0 1px rgba(27,25,22,.10),
      0 2px 3px rgba(27,25,22,.05),
      0 44px 80px -56px rgba(27,25,22,.55);
  }
}
@media (min-width:1780px){ body{padding:0 30px 30px} }

/* ── TYPOGRAFICKÉ ATOMY ────────────────────────────────────────────── */
.label,.nav__list a,.cta,.foot__legal a,.foot__col--menu a,
.foot__col--mark span,.ribbon__code,.burger__text,
.btn,.pack__price span,.pack__row-p,.quote figcaption{
  font-family:var(--sans);
  font-size:.72rem;
  letter-spacing:.145em;
  text-transform:uppercase;
  font-weight:500;
  line-height:1.5;
}
.label{color:var(--muted)}

.sub{
  font-family:var(--serif);
  font-style:italic;
  font-weight:400;
  font-size:clamp(.95rem,1.05vw,1.0625rem);
  line-height:1.5;
  color:var(--muted);
}

.annot{
  font-size:.9375rem;
  line-height:1.78;
  color:var(--ink-2);
  max-width:62ch;
}
.annot p + p{margin-top:.85em}

/* výzva k akci — šipka se prodlouží a popisek se podtrhne.
   Nic se netransformuje: dřík i podtržení rostou přes background-size,
   hrot se posouvá přes mask-position. Rotovaná vlasová linka se při
   posunu převzorkovávala a vypadalo to jako blikání. */
:root{
  --arrow-down:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='square'/%3E%3C/svg%3E");
  --arrow-head:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 10'%3E%3Cpath d='M1 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
}

.cta{
  --h:0;
  --arrow:2.9em;
  display:inline-flex; align-items:center; gap:.75em;
  color:var(--ink);
  position:relative;
  padding-block:.35em;
  background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;
  background-position:0 100%;
  background-size:calc(var(--h) * (100% - var(--arrow) - .75em)) 1px;
  transition:background-size .5s var(--ease);
}
.cta i{
  position:relative; display:block; flex:0 0 auto;
  width:var(--arrow); height:.75em;
}
.cta i::before{                       /* dřík */
  content:""; position:absolute; inset:0;
  background:linear-gradient(currentColor,currentColor) no-repeat left center;
  background-size:calc(var(--arrow) * (.58 + .42 * var(--h)) - .26em) 1px;
  transition:background-size .5s var(--ease);
}
.cta i::after{                        /* hrot */
  content:""; position:absolute; inset:0;
  background:currentColor;
  -webkit-mask:var(--arrow-head) no-repeat left center / .32em .58em;
  mask:var(--arrow-head) no-repeat left center / .32em .58em;
  -webkit-mask-position:calc(var(--arrow) * (.58 + .42 * var(--h)) - .32em) center;
  mask-position:calc(var(--arrow) * (.58 + .42 * var(--h)) - .32em) center;
  transition:-webkit-mask-position .5s var(--ease), mask-position .5s var(--ease);
}
.cta:hover,.cta:focus-visible,
.case:hover .cta,.row:hover .cta,.prod:hover .cta,.aud:hover .cta,
.nw:hover .cta,.pack:hover .cta,
.case:focus-visible .cta,.row:focus-visible .cta,.prod:focus-visible .cta,
.aud:focus-visible .cta,.nw:focus-visible .cta,.pack:focus-visible .cta{--h:1}

/* ── TLAČÍTKA ──────────────────────────────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:48px; padding:.9em 1.9em;
  border:1px solid var(--rule);
  color:var(--ink); background:transparent;
  transition:border-color .4s var(--ease), background-color .4s var(--ease), color .4s var(--ease);
  cursor:pointer;
}
.btn:hover,.btn:focus-visible{border-color:var(--ink)}
.btn--solid{background:var(--ink); border-color:var(--ink); color:var(--paper)}
.btn--solid:hover,.btn--solid:focus-visible{background:#2E2A25; border-color:#2E2A25}
.btn--light{border-color:rgba(243,238,229,.55); color:var(--on-dark); background:transparent}
.btn--light:hover,.btn--light:focus-visible{background:var(--on-dark); border-color:var(--on-dark); color:var(--ink)}

/* ── NABÍDKOVÝ PRUH ────────────────────────────────────────────────── */
.ribbon{
  background:var(--ink); color:#DCD5C9;
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:.4rem 1.5rem;
  padding:.85rem var(--pad);
  text-align:center;
}
.ribbon__lead{
  font-family:var(--serif); font-weight:300;
  font-size:clamp(.875rem,1.15vw,1rem);
  line-height:1.5; color:#F2EDE4;
}
.ribbon__lead em{font-style:italic}
.ribbon__lead a{
  color:#fff; border-bottom:1px solid rgba(242,237,228,.4);
  padding-bottom:.08em;
  transition:border-color .4s var(--ease);
}
.ribbon__lead a:hover,.ribbon__lead a:focus-visible{border-color:#fff}
.ribbon__code{color:#A79E92}
.ribbon__code strong{font-weight:600; color:var(--accent-lit)}
.ribbon__code b{
  font-weight:600; color:var(--accent-lit); letter-spacing:.2em;
  border:1px solid color-mix(in srgb, var(--accent-lit) 55%, transparent);
  padding:.25em .7em .2em; margin-left:.2em;
}
.ribbon__dot{width:3px; height:3px; border-radius:50%; background:#7C7468}

/* ── HLAVIČKA ──────────────────────────────────────────────────────── */
.head{
  display:flex; align-items:center; justify-content:space-between;
  gap:1.5rem;
  padding:1.15rem var(--pad);
  border-bottom:1px solid var(--rule);
}
.head__mark img{width:auto; height:34px; opacity:.92}

.nav__list{display:flex; align-items:center; gap:clamp(1rem,1.8vw,2rem)}
.nav__list a{color:var(--ink-2); position:relative; padding-block:.5em; white-space:nowrap}
.nav__list a::after{
  content:""; position:absolute; left:0; right:0; bottom:.15em; height:1px;
  background:var(--ink);
  transform:scaleX(0); transform-origin:right;
  transition:transform .45s var(--ease);
}
.nav__list a:hover::after,.nav__list a:focus-visible::after{transform:scaleX(1); transform-origin:left}
.nav__list a[aria-current="page"]{color:var(--ink)}
.nav__list a[aria-current="page"]::after{transform:scaleX(1); background:var(--rule)}

.nav__sep{width:1px; height:16px; background:var(--rule)}
.nav__shop{color:var(--ink)!important; font-weight:600}
.nav__cart{display:inline-flex; align-items:center; gap:.55em; color:var(--muted)!important}
.nav__cart span{
  font-family:var(--sans); font-size:.72rem; font-weight:500;
  letter-spacing:.08em; text-transform:none;
}
.nav__cart svg{opacity:.75; margin-top:-1px}

.head__mobile{display:none; align-items:center; gap:clamp(1rem,4vw,1.75rem)}
.burger{
  display:inline-flex; align-items:center; gap:.7rem;
  background:none; border:0; padding:.6rem 0; cursor:pointer; color:var(--ink);
  font-family:var(--sans);
}
.burger__lines{display:grid; gap:5px; width:22px}
.burger__lines i{height:1px; background:currentColor; display:block; transition:transform .4s var(--ease)}
.burger[aria-expanded="true"] .burger__lines i:first-child{transform:translateY(3px) rotate(9deg)}
.burger[aria-expanded="true"] .burger__lines i:last-child{transform:translateY(-3px) rotate(-9deg)}

.menu{border-bottom:1px solid var(--rule); padding:.5rem var(--pad) 1.75rem}
.menu li + li{border-top:1px solid var(--rule-soft)}
.menu a{
  display:block; padding:.9rem 0;
  font-family:var(--serif); font-weight:400; font-size:1.35rem;
  color:var(--ink); line-height:1.3;
}

/* ── HERO — fotografie přes celou obrazovku ───────────────────────── */
.hero{
  position:relative; isolation:isolate;
  min-height:clamp(520px, 88vh, 940px);
  display:flex; align-items:flex-end;
  background:#191714; overflow:hidden;
  border-bottom:1px solid var(--rule);
}
.hero__plate{position:absolute; inset:0; z-index:-2; margin:0}
.hero__plate img{width:100%; height:100%; object-fit:cover; object-position:64% 46%}
.hero::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(to top, rgba(14,12,10,.88) 0%, rgba(14,12,10,.52) 38%,
                    rgba(14,12,10,.16) 68%, rgba(14,12,10,.06) 100%),
    linear-gradient(to right, rgba(14,12,10,.55) 0%, rgba(14,12,10,.12) 46%, rgba(14,12,10,0) 70%);
}
.hero__in{
  width:100%;
  padding:var(--pad);
  padding-block:clamp(2.5rem,5vw,4.5rem);
  color:var(--on-dark);
}
.hero__name{
  margin:0; max-width:15ch;
  font-family:var(--didone); font-weight:400;
  text-transform:uppercase;
  font-size:clamp(2.125rem,6.8vw,5.5rem);
  line-height:1.1; letter-spacing:.03em;
  color:var(--on-dark);
  font-optical-sizing:none; font-variation-settings:"opsz" 40;
}
.hero__role{
  margin-top:clamp(.9rem,1.8vw,1.5rem);
  font-family:var(--didone); font-style:italic; font-weight:400;
  font-size:clamp(1.0625rem,1.9vw,1.5rem); line-height:1.4;
  color:var(--on-dark);
  font-optical-sizing:none; font-variation-settings:"opsz" 16;
}
.hero__claim{
  margin-top:clamp(1rem,1.8vw,1.4rem); max-width:44ch;
  font-size:clamp(.9375rem,1.15vw,1.0625rem); line-height:1.75;
  color:var(--on-dark-dim);
}
.hero__actions{display:flex; flex-wrap:wrap; gap:.85rem; margin-top:clamp(1.75rem,3vw,2.5rem)}
.hero__scroll{
  position:absolute; right:var(--pad); bottom:clamp(2.5rem,5vw,4.5rem);
  display:flex; align-items:center; gap:.9rem;
  color:var(--on-dark-dim);
  font-family:var(--sans); font-size:.6875rem;
  letter-spacing:.2em; text-transform:uppercase; font-weight:500;
}
.hero__scroll i{width:52px; height:1px; background:currentColor; display:block}

/* ── PÁSMOVÝ NADPIS ────────────────────────────────────────────────── */
.band{
  margin:0;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.375rem,2.6vw,2.125rem);
  line-height:1.3;
  letter-spacing:.2em; text-transform:uppercase; text-indent:.2em;
  text-align:center; color:var(--ink);
  padding:clamp(1.6rem,3.2vw,2.6rem) var(--pad);
  border-bottom:1px solid var(--rule);
}
.band--row{
  display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center; gap:1.5rem; text-indent:0;
}
.band--row h2{
  grid-column:2; margin:0; font:inherit;
  letter-spacing:.2em; text-indent:.2em; text-align:center;
}
.band--row .rail__nav{grid-column:3; justify-self:end}

/* štítek — jediné místo, kde na papíře svítí oxblood */
.tag{
  display:inline-block;
  font-family:var(--sans); font-size:.6875rem; font-weight:600;
  letter-spacing:.2em; text-transform:uppercase; line-height:1;
  color:var(--accent);
  border:1px solid color-mix(in srgb, var(--accent) 36%, transparent);
  padding:.55em .9em .45em;
}

/* ── NEJNOVĚJŠÍ PŘÍPAD ─────────────────────────────────────────────── */
.lead{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:clamp(1rem,2.4vw,2.75rem);
  align-items:center;
  padding:var(--band) var(--pad);
  border-bottom:1px solid var(--rule);
  background:var(--paper-hi);
}
.lead__cover{grid-column:8 / 13; display:flex; justify-content:center}
.lead__cover img{
  width:auto; max-height:clamp(300px,38vw,460px);
  box-shadow:0 0 0 1px var(--rule-soft), 0 2px 3px rgba(27,25,22,.06), 0 20px 46px -22px rgba(27,25,22,.45);
}
.lead__text{grid-column:1 / 7}
.lead__title{
  margin:.5rem 0 .6rem;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.875rem,3.7vw,3.125rem);
  line-height:1.14; letter-spacing:-.02em; color:var(--ink);
}
.lead__kick{
  display:flex; align-items:center; gap:1.05rem; flex-wrap:wrap;
  margin-bottom:1.1rem;
}
.lead__case{
  font-family:var(--sans); font-size:.8125rem; font-weight:500;
  letter-spacing:.2em; text-transform:uppercase; color:var(--muted);
  line-height:1;
}
.lead .annot{margin-top:1.5rem}
.lead .cta{margin-top:2rem}

.caseno{
  display:flex; align-items:center; gap:.9rem; flex-wrap:wrap;
  font-family:var(--serif); font-weight:400; color:var(--faint);
  line-height:1; font-feature-settings:"lnum" 1;
}
.caseno span{
  display:inline-block;
  border-bottom:1px solid var(--rule);
  padding-bottom:.42em;
  transition:color .45s var(--ease), border-color .45s var(--ease);
}
.lead .caseno{font-size:clamp(1.25rem,2vw,1.625rem)}
.lead .caseno span{padding-right:.55em}

/* ── RECENZE — vodorovná lišta ─────────────────────────────────────── */
.reviews{background:var(--paper); border-bottom:1px solid var(--rule)}

.rail__nav{display:flex; gap:.5rem}
.rail__btn{
  width:40px; height:40px;
  display:grid; place-items:center;
  border:1px solid var(--rule); background:transparent;
  color:var(--ink-2); cursor:pointer;
  transition:background-color .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease), opacity .3s;
}
.rail__btn:hover:not(:disabled),.rail__btn:focus-visible{background:var(--ink); color:var(--paper); border-color:var(--ink)}
.rail__btn:disabled{opacity:.3; cursor:default}

/* Lišta ukazuje přesně --per karet na šířku obsahu; tlačítka listují
   po celých stránkách, takže nikdy nevykoukne rozříznutá karta. */
.rail{
  --per:4;
  display:grid; grid-auto-flow:column;
  grid-auto-columns:calc(100% / var(--per));
  overflow-x:auto; overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.rail__wrap{padding-inline:var(--pad)}
.rail::-webkit-scrollbar{display:none}

.quote{
  scroll-snap-align:start;
  padding:clamp(2.25rem,3.6vw,3.25rem) clamp(1.25rem,2.4vw,2.5rem);
  border-right:1px solid var(--rule-soft);
  display:flex; flex-direction:column; gap:1.5rem;
}
.rail > .quote:first-child{padding-left:0}
.rail > .quote:last-child{border-right:0}
.quote blockquote{flex:1}
.quote blockquote p{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1rem,1.35vw,1.1875rem);
  line-height:1.6; color:var(--ink);
}
.quote blockquote p::before{content:"„"}
.quote blockquote p::after{content:"“"}
.quote figcaption{color:var(--ink-2); display:flex; flex-wrap:wrap; gap:.55em}
.quote figcaption span{color:var(--faint)}
.quote figcaption span::before{content:"· "}

/* ── BALÍČKY ───────────────────────────────────────────────────────── */
.bundles{border-bottom:1px solid var(--rule); background:var(--paper-lo)}

.pack__stack{
  --a:2.05;                 /* poměr rámu vějíře, š/v */
  width:100%; aspect-ratio:var(--a);
  display:flex; align-items:flex-end; justify-content:flex-start;
  min-width:0; min-height:0;
  /* jakmile se obálky načtou, jejich vlastní výška by přes automatickou
     minimální velikost flex položky přebila aspect-ratio — clip ji nuluje,
     clip-margin nechá vykouknout stín */
  overflow:clip; overflow-clip-margin:28px;
}
.pack__stack img{
  width:auto; height:100%; flex:0 0 auto;
  box-shadow:0 0 0 1px var(--rule-soft), 0 10px 22px -14px rgba(27,25,22,.55);
  transition:transform .55s var(--ease);
}
/* --s = součet poměrů obálek v sadě, --n = jejich počet (nastaveno u prvku) */
.pack__stack img + img{
  margin-left:calc(-100% * ((var(--s) / var(--a) - 1) / (var(--n) - 1)));
}

.pack__text h3{
  margin:0 0 .5rem;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.3125rem,1.9vw,1.75rem);
  line-height:1.2; letter-spacing:-.012em; color:var(--ink);
}
.pack__what{font-size:.875rem; line-height:1.7; color:var(--ink-2); max-width:52ch}
.pack__price{
  display:flex; align-items:baseline; flex-wrap:wrap; gap:.5rem .9rem;
  margin-top:1.15rem;
}
.pack__price b{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(1.25rem,1.7vw,1.5rem);
  color:var(--ink); letter-spacing:.005em;
}
.pack__price span{color:var(--accent); letter-spacing:.12em}

/* vybraný balíček: vějíř vlevo přes celou výšku, text vpravo pod sebou */
.pack--lead{
  display:grid;
  grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  grid-auto-rows:min-content;
  gap:0 clamp(2rem,4vw,4.5rem); align-items:center;
  padding:var(--band) var(--pad);
  border-bottom:1px solid var(--rule);
  background:var(--paper-hi);
}
.pack--lead .pack__stack{--a:2.9}
.pack--lead > .pack__stack{grid-column:1; grid-row:1 / -1; align-self:center}
.pack--lead > :not(.pack__stack){grid-column:2}
.pack--lead > .pack__t{align-self:end; margin:0 0 .6rem}
.pack--lead > .pack__what{margin:0}
.pack--lead > .perks{margin-top:1.1rem}
.pack--lead > .pack__price{margin-top:1.1rem}
.pack--lead .cta{margin-top:2.1rem; align-self:start; justify-self:start}

/* Obálky, název, popis, štítky, cena i proklik sedí ve všech kartách
   na stejné lince — karty sdílí řádky mřížky. */
.packs{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:auto auto 1fr auto auto auto;
  padding-inline:calc(var(--pad) - var(--cardpad));
}
.packs > .pack{
  display:grid; grid-row:span 6; grid-template-rows:subgrid;
  padding:clamp(2rem,3.4vw,3.25rem) var(--cardpad);
}
.packs > .pack:not(:last-child){border-right:1px solid var(--rule-soft)}
.packs .pack__stack{
  margin-bottom:1.6rem; padding-bottom:1.35rem;
  border-bottom:1px solid var(--rule-soft);
  align-self:end;
}
.packs .pack__t{margin:0 0 .7rem}
.packs .pack__what{margin:0}
.packs .perks{margin-top:1.1rem; align-self:start}
.packs .pack__price{margin-top:1.1rem; align-self:start}
.packs .cta{margin-top:2.1rem; align-self:start; justify-self:start}
.pack:hover .pack__stack img{transform:translateY(-5px)}

.pack__row{
  display:grid;
  grid-template-columns:auto 1fr auto auto;
  align-items:center; gap:clamp(1rem,2.5vw,2.5rem);
  padding:clamp(1.5rem,2.4vw,2rem) var(--pad);
  border-top:1px solid var(--rule-soft);
  transition:background-color .4s var(--ease);
}
.pack__row:hover,.pack__row:focus-visible{background:var(--paper-hi)}
.pack__row-t{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.0625rem,1.5vw,1.3125rem); color:var(--ink); white-space:nowrap; line-height:1.35;
}
.pack__row-d{font-size:.875rem; color:var(--muted); line-height:1.5}
.pack__row-p{font-family:var(--serif); font-weight:500; font-size:1.0625rem; color:var(--ink); text-transform:none; letter-spacing:.01em}
/* stejná šipka jako u ostatních odkazů */
.pack__row{--h:0; --arrow:2.9em}
.pack__row:hover,.pack__row:focus-visible{--h:1}
.pack__row i{position:relative; display:block; width:var(--arrow); height:.75em; color:var(--ink)}
.pack__row i::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(currentColor,currentColor) no-repeat left center;
  background-size:calc(var(--arrow) * (.58 + .42 * var(--h)) - .26em) 1px;
  transition:background-size .5s var(--ease);
}
.pack__row i::after{
  content:""; position:absolute; inset:0;
  background:currentColor;
  -webkit-mask:var(--arrow-head) no-repeat left center / .32em .58em;
  mask:var(--arrow-head) no-repeat left center / .32em .58em;
  -webkit-mask-position:calc(var(--arrow) * (.58 + .42 * var(--h)) - .32em) center;
  mask-position:calc(var(--arrow) * (.58 + .42 * var(--h)) - .32em) center;
  transition:-webkit-mask-position .5s var(--ease), mask-position .5s var(--ease);
}

/* ── MŘÍŽKA PŘÍPADŮ ────────────────────────────────────────────────── */
.books{border-bottom:1px solid var(--rule)}
.lead,.case{scroll-margin-top:1.5rem}

.grid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  padding-inline:calc(var(--pad) - var(--cardpad));
}
.case{
  display:flex; flex-direction:column;
  padding:clamp(2rem,3.4vw,3.25rem) var(--cardpad);
  border-bottom:1px solid var(--rule-soft);
}
.grid > .case:not(:nth-child(3n)):not(:last-child){border-right:1px solid var(--rule-soft)}
.grid > .case:last-child{border-bottom:0; padding-bottom:var(--band)}

/* obálky se nekrájejí — stejná výška, společná vlasová „police" */
.case__cover{
  display:flex; align-items:flex-end; justify-content:center;
  height:clamp(190px,17vw,262px);
  margin-bottom:1.6rem; padding-bottom:1.35rem;
  border-bottom:1px solid var(--rule-soft);
}
.case__cover img{
  width:auto; height:100%;
  box-shadow:0 0 0 1px var(--rule-soft), 0 2px 3px rgba(27,25,22,.05), 0 16px 32px -20px rgba(27,25,22,.45);
  transition:transform .55s var(--ease), box-shadow .55s var(--ease);
}
.case .caseno{font-size:1.0625rem}
.case .caseno span{padding-right:.5em}
.case__title{
  margin:.6rem 0 .5rem;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.3125rem,1.85vw,1.75rem);
  line-height:1.2; letter-spacing:-.015em; color:var(--ink);
}
.case .annot{margin-top:1.15rem; font-size:.875rem}
.case .cta{margin-top:auto; padding-top:1.9rem; align-self:flex-start}
.case:hover .case__cover img{
  transform:translateY(-6px);
  box-shadow:0 0 0 1px var(--rule-soft), 0 2px 3px rgba(27,25,22,.06), 0 28px 48px -22px rgba(27,25,22,.5);
}
.case:hover .caseno span{color:var(--accent); border-color:var(--accent)}

/* ── O MNĚ — dvoustránka ───────────────────────────────────────────── */
.about{
  display:grid;
  grid-template-columns:minmax(0,62fr) minmax(0,38fr);
  padding-right:var(--gutter);
  border-bottom:1px solid var(--rule);
  background:var(--paper-hi);
}
.about__page{
  padding:var(--band) clamp(1.75rem,4vw,5rem) var(--band) var(--pad);
  display:flex; flex-direction:column; justify-content:center;
  border-right:1px solid var(--rule);
}
.about__body{
  margin-top:clamp(1.5rem,2.6vw,2.25rem);
  font-size:1rem; line-height:1.72; color:var(--ink-2);
  hyphens:none;          /* raději delší mezery než dělená slova */
  /* dvoustránka: text teče přes hřbet do druhého sloupce */
  columns:2;
  column-gap:clamp(2rem,3.6vw,3.5rem);
  column-rule:1px solid var(--rule-soft);
  orphans:2; widows:2;
}
/* verzálka na první písmeno — typografický prvek knižní sazby */
.about__body > p::first-letter{
  float:left;
  font-family:var(--serif); font-weight:400;
  font-size:3.5em; line-height:.86;
  padding:.06em .14em 0 0;
  color:var(--ink);
}
.about__body a{
  border-bottom:1px solid var(--rule);
  transition:border-color .35s var(--ease), color .35s var(--ease);
}
.about__body a:hover,.about__body a:focus-visible{border-color:var(--accent); color:var(--accent)}

.about__sign{
  margin-top:clamp(2rem,3.4vw,3rem);
  padding-top:clamp(1.35rem,2.4vw,2rem);
  border-top:1px solid var(--rule-soft);
  display:flex; align-items:center; justify-content:space-between;
  gap:2rem; flex-wrap:wrap;
}
.about__sign img{width:auto; height:clamp(42px,4.5vw,56px); opacity:.9}

.about__plate{position:relative; overflow:hidden; background:#2a2724; min-height:clamp(380px,44vw,660px)}
.about__plate img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 32%}

/* ── BESEDY ────────────────────────────────────────────────────────── */
.meet{
  display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  gap:clamp(2rem,4vw,4rem);
  align-items:end;
  padding:var(--band) var(--pad);
  border-bottom:1px solid var(--rule);
  background:var(--paper-lo);
}
.meet__text h2{
  margin:0 0 .9rem;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.875rem,3.6vw,3rem);
  line-height:1.15; letter-spacing:-.02em; color:var(--ink);
}
.meet__text p{font-size:clamp(1rem,1.15vw,1.125rem); line-height:1.7; color:var(--ink-2); max-width:44ch}
.meet__next{
  border-top:1px solid var(--rule);
  padding-top:1.4rem;
}
.meet__date{
  margin:.7rem 0 1.4rem;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.0625rem,1.5vw,1.3125rem);
  line-height:1.4; color:var(--ink);
}

/* ── NEWSLETTER ────────────────────────────────────────────────────── */
.nwl{
  --fieldpad:1.0625rem;   /* popisek i poznámka sedí na text uvnitř pole */
  padding:var(--band) var(--pad); background:var(--paper-lo); text-align:center;
}
.nwl__in{max-width:44rem; margin-inline:auto}
.nwl__t{
  margin:0;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.75rem,3.8vw,3rem);
  line-height:1.14; letter-spacing:-.022em; color:var(--ink);
}
.nwl__rule{
  width:56px; height:2px; background:var(--faint); opacity:.55;
  margin:clamp(1.25rem,2.2vw,1.75rem) auto;
}
.nwl__lede{
  font-size:clamp(.9375rem,1.2vw,1.0625rem); line-height:1.7; color:var(--muted);
  max-width:40ch; margin-inline:auto;
}
.nwl__form{
  margin-top:clamp(2rem,3.4vw,2.75rem);
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:.75rem; align-items:end; text-align:left;
}
.nwl__field{display:block; min-width:0}
.nwl__field span{
  display:block; margin-bottom:.6rem;
  font-family:var(--sans); font-size:.72rem; letter-spacing:.145em;
  text-transform:uppercase; font-weight:500; color:var(--muted);
  padding-left:var(--fieldpad);
}
.nwl__field input{
  width:100%; min-height:56px;
  padding:.9em var(--fieldpad);
  border:1px solid var(--rule);
  background:var(--paper-hi); color:var(--ink);
  font-family:var(--sans); font-size:.9375rem;
  transition:border-color .35s var(--ease), background-color .35s var(--ease);
}
.nwl__field input::placeholder{color:var(--faint)}
.nwl__field input:hover{border-color:rgba(27,25,22,.3)}
.nwl__field input:focus{outline:none; border-color:var(--ink); background:#fff}
.nwl__form .btn{min-height:56px}
.nwl__note{
  grid-column:1 / -1; margin-top:.9rem;
  padding-left:var(--fieldpad);
  font-size:.8125rem; line-height:1.6; color:var(--faint);
}
#f-2-2bb287d15897fe2f9d89c882af9a3a8b:empty{display:none}

@media (max-width:640px){
  .nwl__form{grid-template-columns:1fr}
  .nwl__form .btn{width:100%}
}

/* ── PATIČKA ───────────────────────────────────────────────────────── */
.foot{
  background:var(--desk);
  border-top:1px solid var(--rule);
  padding:clamp(3rem,5.6vw,5rem) var(--pad) clamp(2.5rem,4vw,3.5rem);
}
.foot__sign{display:flex; justify-content:center; padding-bottom:clamp(2.5rem,4.5vw,3.5rem)}
.foot__sign img{
  width:auto; height:clamp(58px,7vw,88px); opacity:.88;
  transition:opacity .45s var(--ease);
}
.foot__sign a:hover img,.foot__sign a:focus-visible img{opacity:1}

.foot__legal{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:clamp(1.25rem,3vw,3rem);
  padding-bottom:clamp(2.25rem,4vw,3.25rem);
  border-bottom:1px solid var(--rule);
}
.foot__legal a{
  color:var(--muted); position:relative; text-align:center;
  display:inline-block; padding-block:.5rem;
}
.foot__legal a::after{
  content:""; position:absolute; left:0; right:0; bottom:.15rem; height:1px;
  background:var(--ink);
  transform:scaleX(0); transform-origin:right;
  transition:transform .45s var(--ease);
}
.foot__legal a:hover::after,.foot__legal a:focus-visible::after{transform:scaleX(1); transform-origin:left}

.foot__grid{
  display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center; gap:2rem;
  padding-top:clamp(1.5rem,2.8vw,2.25rem);
}
.foot__col--social{display:flex; gap:1.1rem}
.foot__col--social a{
  display:grid; place-items:center; width:44px; height:44px;
  border:1px solid var(--rule); color:var(--ink-2);
  transition:background-color .45s var(--ease), color .45s var(--ease), border-color .45s var(--ease);
}
.foot__col--social a:hover,.foot__col--social a:focus-visible{background:var(--ink); color:var(--desk); border-color:var(--ink)}

.foot__col--menu ul{display:flex; flex-wrap:wrap; justify-content:center; gap:.25rem 1.75rem}
.foot__col--menu a{
  color:var(--muted); display:inline-block; padding-block:.6rem;
  transition:color .35s var(--ease);
}
.foot__col--menu a:hover,.foot__col--menu a:focus-visible{color:var(--ink)}

.foot__col--mark{display:flex; justify-content:flex-end; align-items:center; text-align:right}
.foot__col--mark span{color:var(--muted); font-size:.625rem}

/* ═══ POHYB: „desky dosedají" ═══════════════════════════════════════
   Vlasové linky se nehýbou — nesou strukturu. Hýbe se jen to, co na
   nich leží. Obsah je bez JS plně viditelný. */
.js .settle{opacity:0; transform:translateY(14px)}
.js .settle.is-in{
  opacity:1; transform:none;
  transition:opacity .8s var(--ease), transform .8s var(--ease);
  transition-delay:var(--d,0ms);
}
.js .draw{transform:scaleX(0)}
.js .draw.is-in{transform:scaleX(1); transition:transform .95s var(--ease)}

.js .hero__plate img{transform:scale(1.04)}
.js .hero__plate.is-in img{transform:scale(1); transition:transform 1.8s var(--ease)}

@media (prefers-reduced-motion:reduce){
  .js .settle,.js .draw,.js .hero__plate img{
    transform:none!important; opacity:1!important; transition:none!important;
  }
}

/* ═══ RESPONZIVITA ══════════════════════════════════════════════════ */

@media (max-width:1240px){
  .lead__cover{grid-column:7 / 13}
  .lead__text{grid-column:1 / 7}
}

@media (max-width:1080px){
  .nav__list{gap:1.05rem}
  .nav__list a{font-size:.625rem; letter-spacing:.11em}
}

@media (max-width:940px){
  .nav{display:none}
  .head__mobile{display:inline-flex}
  .head{padding-block:1rem}
  .head__mark img{height:30px}

  .hero{min-height:clamp(480px,78vh,760px)}
  .hero__plate img{object-position:58% 46%}


  .lead{display:flex; flex-direction:column-reverse}
  .lead__cover{margin-bottom:2.25rem; justify-content:center}
  .lead__cover img{max-height:min(52vh,360px)}

  .pack--lead{grid-template-columns:1fr; gap:2rem}
  .pack--lead .pack__stack{--a:2.2}
  .packs{grid-template-columns:1fr}
  .packs > .pack{padding-inline:0!important; border-right:0!important; border-bottom:1px solid var(--rule-soft)}
  .packs > .pack:last-child{border-bottom:0}
  .pack__row{grid-template-columns:1fr auto; row-gap:.5rem}
  .pack__row-d{grid-column:1 / -1; order:3}
  .pack__row i{display:none}

  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid > .case{padding-inline:clamp(1rem,2.4vw,2rem)!important; border-right:1px solid var(--rule-soft)}
  .grid > .case:nth-child(2n+1){padding-left:0!important}
  .grid > .case:nth-child(2n){padding-right:0!important; border-right:0}
  .grid > .case:nth-last-child(-n+3){border-bottom:1px solid var(--rule-soft); padding-bottom:clamp(2rem,3.4vw,3.25rem)}
  .grid > .case:nth-last-child(-n+2){border-bottom:0; padding-bottom:var(--band)}

  /* dvoustránka se rozpadá na stránku a desku pod ní */
  .about{grid-template-columns:1fr}
  .about__page{border-right:0; padding:var(--band) var(--pad)}
  .about__body{columns:1; column-rule:0}
  .about__plate{min-height:0; aspect-ratio:16/10; border-top:1px solid var(--rule)}
  .about__plate img{object-position:50% 30%}

  .meet,.nwl{grid-template-columns:1fr; align-items:start; gap:2.25rem}
  .meet__next{border-top:1px solid var(--rule-soft)}

  .foot__grid{grid-template-columns:1fr; justify-items:center; gap:1.75rem; text-align:center}
  .foot__col--mark{justify-content:center; text-align:center}
}

@media (max-width:640px){
  body{font-size:15px}
  .ribbon{gap:.5rem; padding-block:.9rem}
  .ribbon__code{font-size:.625rem; letter-spacing:.12em}

  .hero{min-height:clamp(460px,72vh,660px)}
  .hero__plate img{object-position:56% 44%}
  .hero__scroll{display:none}
  .hero__name{max-width:none}
  .hero__actions .btn{flex:1 1 100%}
  .hero__actions .btn{flex:1 1 100%}

  .band--row{flex-direction:column; align-items:stretch; gap:1.1rem}
  .band--row h2{text-align:center}
  .rail__nav{justify-content:center}

  .grid{grid-template-columns:1fr}
  .grid > .case{
    padding-inline:0!important; border-right:0!important;
    border-bottom:1px solid var(--rule-soft)!important;
    padding-bottom:clamp(2rem,3.4vw,3.25rem)!important;
  }
  .grid > .case:last-child{border-bottom:0!important; padding-bottom:var(--band)!important}
  .case__cover{justify-content:center; height:210px}

  .about__body > p::first-letter{font-size:3.1em}
  .foot__col--menu ul{gap:.1rem 1.35rem}
  .foot__legal{flex-direction:column; align-items:center; gap:.35rem}
}


/* ═══════════════════════════════════════════════════════════════════════
   PODSTRÁNKY — komponenty (styl 1)
   ═══════════════════════════════════════════════════════════════════════ */

.phead__lede a,.aud__cast a{border-bottom:1px solid var(--rule)}
.phead__lede a:hover,.phead__lede a:focus-visible{border-color:var(--accent); color:var(--accent)}

/* ── HLAVIČKA STRÁNKY ──────────────────────────────────────────────── */
.phead{
  background:var(--paper-hi);
  border-bottom:1px solid var(--rule);
  padding:calc(var(--band) * .82) var(--pad);
  text-align:center;
}
.phead .label{margin-bottom:1rem}
.phead__title{
  margin:0;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(2.125rem,5.2vw,4rem);
  line-height:1.08; letter-spacing:-.022em; color:var(--ink);
}
.phead__lede{
  margin:clamp(1.1rem,2vw,1.6rem) auto 0;
  max-width:56ch;
  font-family:var(--serif); font-style:italic; font-weight:300;
  font-size:clamp(1.0625rem,1.55vw,1.3125rem);
  line-height:1.62; color:var(--muted);
}

/* ── VÝZVA NA KONCI STRÁNKY ────────────────────────────────────────── */
.teaser{
  background:var(--paper-lo);
  border-top:1px solid var(--rule);
  padding:calc(var(--band) * .78) var(--pad);
  text-align:center;
}
.teaser__t{
  margin:.9rem auto clamp(1.5rem,2.4vw,2rem);
  max-width:38ch;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.25rem,2.4vw,1.875rem);
  line-height:1.28; letter-spacing:-.014em; color:var(--ink);
}

/* ── KNIHY: střídavé editoriální řádky ─────────────────────────────── */
.rows{border-bottom:1px solid var(--rule)}
.row{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:clamp(1rem,2.4vw,2.75rem);
  align-items:center;
  padding:calc(var(--band) * .8) var(--pad);
  scroll-margin-top:1.5rem;
}
.row + .row{border-top:1px solid var(--rule-soft)}
.row{background:var(--paper)}
.row__cover{grid-column:1 / 5; grid-row:1; display:flex; justify-content:center}
.row__text{grid-column:6 / 12; grid-row:1}
.row--flip .row__cover{grid-column:9 / 13; grid-row:1}
.row--flip .row__text{grid-column:2 / 8; grid-row:1}
.row__cover img{
  width:auto; max-height:clamp(230px,26vw,340px);
  box-shadow:0 0 0 1px var(--rule-soft), 0 2px 3px rgba(27,25,22,.06),
             0 18px 40px -20px rgba(27,25,22,.45);
  transition:transform .55s var(--ease), box-shadow .55s var(--ease);
}
.row:hover .row__cover img{
  transform:translateY(-6px);
  box-shadow:0 0 0 1px var(--rule-soft), 0 3px 4px rgba(27,25,22,.07),
             0 30px 54px -22px rgba(27,25,22,.5);
}
.row__title{
  margin:.5rem 0 .55rem;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.625rem,3.1vw,2.625rem);
  line-height:1.14; letter-spacing:-.02em; color:var(--ink);
}
.row .annot{margin-top:1.25rem}
.row__hook{
  margin-top:.85em !important;
  font-family:var(--serif); font-style:italic; color:var(--ink);
}
.row .cta{margin-top:1.75rem}
.row:hover .caseno span{color:var(--accent); border-color:var(--accent)}

/* ── DETAIL KNIHY ──────────────────────────────────────────────────── */
.detail{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:clamp(1rem,2.4vw,2.75rem);
  align-items:start;
  padding:var(--band) var(--pad);
  background:var(--paper-hi);
  border-bottom:1px solid var(--rule);
}
.detail__cover{grid-column:1 / 5; position:sticky; top:2rem; display:flex; justify-content:center}
.detail__cover img{
  width:auto; max-height:clamp(320px,40vw,520px);
  box-shadow:0 0 0 1px var(--rule-soft), 0 2px 3px rgba(27,25,22,.06),
             0 24px 52px -24px rgba(27,25,22,.5);
}
.detail__text{grid-column:6 / 12}
.detail__title{
  margin:.5rem 0 .6rem;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(2.125rem,4.6vw,3.5rem);
  line-height:1.08; letter-spacing:-.024em; color:var(--ink);
}
.detail__hook{
  margin-top:clamp(1.25rem,2vw,1.75rem);
  font-family:var(--serif); font-style:italic;
  font-size:clamp(1.125rem,1.8vw,1.4375rem);
  line-height:1.5; color:var(--ink);
}
.detail__body{margin-top:clamp(1.5rem,2.4vw,2rem)}
.detail__body p + p{margin-top:.9em}
.detail .btn{margin-top:clamp(1.75rem,3vw,2.5rem)}

.dfacts{padding:calc(var(--band) * .7) var(--pad); border-bottom:1px solid var(--rule)}
.facts__grid{
  margin:0; display:grid; gap:0;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
  border-top:1px solid var(--rule-soft);
}
.facts__r{
  padding:1.35rem clamp(1rem,2vw,2rem) 1.35rem 0;
  border-bottom:1px solid var(--rule-soft);
}
.facts__r dt{
  font-family:var(--sans); font-size:.66rem; letter-spacing:.15em;
  text-transform:uppercase; font-weight:500; color:var(--faint);
}
.facts__r dd{
  margin:.5rem 0 0; font-size:.9375rem; line-height:1.6; color:var(--ink-2);
}
.facts__r dd b{font-weight:600; color:var(--ink)}
.facts__r dd s{color:var(--faint); margin-right:.35em}

.pnav{
  display:grid; grid-template-columns:1fr 1fr;
  border-bottom:1px solid var(--rule);
}
.pn{
  display:block; padding:clamp(1.75rem,3vw,2.75rem) var(--pad);
  transition:background-color .45s var(--ease);
}
.pn--next{text-align:right; border-left:1px solid var(--rule-soft)}
.pn:hover,.pn:focus-visible{background:var(--paper-hi)}
.pn__l{
  display:block;
  font-family:var(--sans); font-size:.66rem; letter-spacing:.15em;
  text-transform:uppercase; font-weight:500; color:var(--faint);
}
.pn__t{
  display:block; margin-top:.55rem;
  font-family:var(--serif); font-size:clamp(1.125rem,1.9vw,1.5rem);
  line-height:1.2; color:var(--ink);
}

/* ── AUDIOKNIHY ────────────────────────────────────────────────────── */
.auds{border-bottom:1px solid var(--rule)}
.aud{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:clamp(1rem,2.4vw,2.75rem);
  align-items:center;
  padding:calc(var(--band) * .68) var(--pad);
}
.aud + .aud{border-top:1px solid var(--rule-soft)}
.aud{background:var(--paper)}
.aud__cover{grid-column:1 / 4; display:flex; justify-content:center}
.aud__cover img{
  width:auto; max-height:clamp(180px,18vw,240px);
  box-shadow:0 0 0 1px var(--rule-soft), 0 14px 30px -18px rgba(27,25,22,.42);
}
.aud__text{grid-column:5 / 12}
.aud__title{
  margin:.45rem 0 .5rem;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.375rem,2.4vw,2rem);
  line-height:1.16; letter-spacing:-.016em; color:var(--ink);
}
.aud__cast{
  margin-top:1rem;
  font-family:var(--sans); font-size:.72rem; letter-spacing:.145em;
  text-transform:uppercase; font-weight:500; color:var(--faint);
}
.aud .cta{margin-top:1.4rem}

/* ── DOTAZY ────────────────────────────────────────────────────────── */
.qas{
  border-bottom:1px solid var(--rule);
  padding:calc(var(--band) * .5) var(--pad) var(--band);
  max-width:calc(72rem + 2 * var(--pad));
  margin-inline:auto;
}
.qa{border-bottom:1px solid var(--rule-soft)}
.qa summary{
  display:grid; grid-template-columns:auto 1fr auto;
  align-items:baseline; gap:clamp(1rem,2.4vw,2.25rem);
  padding:clamp(1.4rem,2.4vw,2rem) 0;
  cursor:pointer; list-style:none;
}
.qa summary::-webkit-details-marker{display:none}
.qa__n{
  font-family:var(--serif); font-size:1rem; color:var(--faint);
  font-feature-settings:"lnum" 1;
  transition:color .4s var(--ease);
}
.qa__q{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.125rem,2vw,1.5rem);
  line-height:1.3; letter-spacing:-.012em; color:var(--ink);
  transition:color .4s var(--ease);
}
.qa summary i{
  position:relative; width:14px; height:14px; display:block; align-self:center;
}
.qa summary i::before,.qa summary i::after{
  content:""; position:absolute; inset:50% 0 auto 0; height:1px;
  background:var(--ink); transition:transform .45s var(--ease);
}
.qa summary i::after{transform:rotate(90deg)}
.qa[open] summary i::after{transform:rotate(0deg)}
.qa[open] .qa__n{color:var(--accent)}
.qa summary:hover .qa__q{color:var(--accent)}
.qa__a{
  padding:0 0 clamp(1.5rem,2.6vw,2.25rem);
  margin-left:calc(1rem + clamp(1rem,2.4vw,2.25rem));
  max-width:64ch;
}
.qa__a p + p{margin-top:.85em}

/* ── BESEDY ────────────────────────────────────────────────────────── */
.evs{
  border-bottom:1px solid var(--rule);
  padding-inline:var(--pad);
}
.ev{
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(0,9fr);
  gap:clamp(1rem,2.4vw,2.75rem);
  padding:clamp(1.6rem,2.8vw,2.4rem) 0;
  border-bottom:1px solid var(--rule-soft);
}
.evs > .ev:last-child{border-bottom:0; padding-bottom:var(--band)}
.evs > .ev:first-child{padding-top:calc(var(--band) * .62)}
.ev__date{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.375rem,2.6vw,2.125rem);
  line-height:1.1; letter-spacing:-.015em; color:var(--ink);
  font-feature-settings:"lnum" 1;
}
.ev__city{
  display:flex; align-items:baseline; gap:.85rem; flex-wrap:wrap;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.125rem,1.9vw,1.5rem);
  line-height:1.25; color:var(--ink);
}
.ev__detail{
  display:block; margin-top:.5rem;
  font-size:.9375rem; line-height:1.7; color:var(--ink-2);
  max-width:58ch;
}
.ev__note{
  margin-top:.85rem; padding-left:1rem;
  border-left:1px solid var(--accent);
  font-size:.875rem; line-height:1.65; color:var(--muted);
  max-width:52ch;
}
.ev__off{
  font-family:var(--sans); font-size:.6rem; letter-spacing:.16em;
  text-transform:uppercase; font-weight:500;
  color:var(--accent);
  border:1px solid color-mix(in srgb, var(--accent) 32%, transparent);
  padding:.3em .65em .25em;
}
.ev--off .ev__date,.ev--off .ev__city{color:var(--faint)}
.ev--off .ev__detail{text-decoration:line-through; text-decoration-color:var(--rule)}

/* ── NOVINKY ───────────────────────────────────────────────────────── */
.nws{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  padding-inline:calc(var(--pad) - var(--cardpad));
  border-bottom:1px solid var(--rule);
}
.nw{
  display:flex; flex-direction:column;
  padding:clamp(1.9rem,3.2vw,2.75rem) var(--cardpad);
  border-bottom:1px solid var(--rule-soft);
}
.nws > .nw:nth-child(odd){border-right:1px solid var(--rule-soft)}
.nws > .nw:nth-last-child(-n+2){border-bottom:0; padding-bottom:var(--band)}
.nw--lead{
  grid-column:1 / -1;
  border-right:0 !important;
  background:var(--paper-hi);
  /* mřížka je povysunutá o --cardpad, takže se bleeduje jen o zbytek */
  margin-inline:calc((var(--pad) - var(--cardpad)) * -1);
  padding:clamp(2.25rem,4vw,3.5rem) var(--pad) !important;
}
.nw__date{
  font-family:var(--sans); font-size:.66rem; letter-spacing:.16em;
  text-transform:uppercase; font-weight:500; color:var(--faint);
}
.nw__t{
  margin:.85rem 0 0;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.3125rem,2.1vw,1.75rem);
  line-height:1.2; letter-spacing:-.014em; color:var(--ink);
}
.nw--lead .nw__t{font-size:clamp(1.75rem,3.6vw,2.875rem); max-width:22ch}
.nw__t a{
  background-image:linear-gradient(var(--rule),var(--rule));
  background-size:0% 1px; background-repeat:no-repeat; background-position:0 100%;
  transition:background-size .55s var(--ease);
  padding-bottom:.06em;
}
.nw__t a:hover,.nw__t a:focus-visible{background-size:100% 1px}
.nw__d{
  margin-top:.9rem; font-size:.9375rem; line-height:1.72;
  color:var(--ink-2); max-width:46ch;
}
.nw .cta{margin-top:auto; padding-top:1.6rem; align-self:flex-start}

/* ── E-SHOP ────────────────────────────────────────────────────────── */
.shop{border-bottom:1px solid var(--rule)}
.prods{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:auto auto auto 1fr auto auto auto;
  padding-inline:calc(var(--pad) - var(--cardpad));
}
.prod{
  display:grid; grid-row:span 7; grid-template-rows:subgrid;
  padding:clamp(2rem,3.4vw,3rem) var(--cardpad);
  border-bottom:1px solid var(--rule-soft);
}
.prod > *{margin-top:0}
.prods > .prod:not(:nth-child(3n)){border-right:1px solid var(--rule-soft)}
.prods > .prod:last-child{border-bottom:0; padding-bottom:var(--band)}
.prod__cover{
  display:flex; align-items:flex-end; justify-content:center;
  height:clamp(200px,18vw,270px);
  margin-bottom:1.5rem; padding-bottom:1.3rem;
  border-bottom:1px solid var(--rule-soft);
}
.prod__cover img{
  width:auto; height:100%;
  box-shadow:0 0 0 1px var(--rule-soft), 0 14px 30px -18px rgba(27,25,22,.42);
  transition:transform .55s var(--ease), box-shadow .55s var(--ease);
}
.prod:hover .prod__cover img{
  transform:translateY(-6px);
  box-shadow:0 0 0 1px var(--rule-soft), 0 26px 46px -20px rgba(27,25,22,.5);
}
.prod:hover .caseno span{color:var(--accent); border-color:var(--accent)}
.prod__t{
  margin:.55rem 0 .45rem;
  align-self:start;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.25rem,1.9vw,1.625rem);
  line-height:1.16; letter-spacing:-.014em; color:var(--ink);
}
.prod__price{
  margin-top:1.15rem;
  display:flex; align-items:baseline; gap:.9rem; flex-wrap:wrap;
  font-family:var(--serif); font-size:1.25rem; color:var(--ink);
  font-feature-settings:"lnum" 1;
}
.prod__price b{font-weight:600}
.prod__price s{color:var(--faint); font-size:.9em}
.prod__eb{
  font-family:var(--sans); font-size:.66rem; letter-spacing:.14em;
  text-transform:uppercase; font-weight:500; color:var(--faint);
}
.prod .perks{margin-top:1rem; align-self:start}
.prod .cta{margin-top:2rem; align-self:start; justify-self:start}

.xtras{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  padding-inline:var(--pad);
}
.xtra{
  display:flex; flex-direction:column;
  padding:clamp(2rem,3.4vw,3rem) clamp(1.25rem,2.6vw,2.75rem);
  padding-bottom:var(--band);
}
.xtras > .xtra:first-child{padding-left:0; border-right:1px solid var(--rule-soft)}
.xtras > .xtra:last-child{padding-right:0}
.xtra__t{
  margin:0;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.375rem,2.2vw,1.875rem);
  line-height:1.18; letter-spacing:-.016em; color:var(--ink);
}
.xtra__d{margin-top:.9rem; font-size:.9375rem; line-height:1.72; color:var(--ink-2); max-width:46ch}
.xtra__p{
  margin-top:1.25rem; display:flex; align-items:baseline; gap:.9rem; flex-wrap:wrap;
  font-family:var(--serif); font-size:1.25rem; color:var(--ink);
  font-feature-settings:"lnum" 1;
}
.xtra__p b{font-weight:600}
.xtra__p span{
  font-family:var(--sans); font-size:.66rem; letter-spacing:.14em;
  text-transform:uppercase; font-weight:500; color:var(--accent);
}
.xtra .cta{margin-top:1.6rem; align-self:flex-start}
.pack__gift{
  display:inline-block; margin-left:.4em;
  font-family:var(--sans); font-size:.66rem; letter-spacing:.14em;
  text-transform:uppercase; font-weight:500; color:var(--accent);
}

/* ── KONTAKT ───────────────────────────────────────────────────────── */
.kontakt{
  display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  border-bottom:1px solid var(--rule);
}
.kh{
  margin:0 0 clamp(1.25rem,2.2vw,1.85rem);
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.375rem,2.3vw,1.875rem);
  line-height:1.2; letter-spacing:-.016em; color:var(--ink);
}
.inv{
  padding:var(--band) clamp(1.75rem,4vw,4rem) var(--band) var(--pad);
  background:var(--paper-hi); border-right:1px solid var(--rule);
}
.inv__grid{margin:0; border-top:1px solid var(--rule-soft)}
.inv__r{
  display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:1rem;
  padding:.95rem 0; border-bottom:1px solid var(--rule-soft);
}
.inv__r dt{
  font-family:var(--sans); font-size:.66rem; letter-spacing:.15em;
  text-transform:uppercase; font-weight:500; color:var(--faint);
  padding-top:.25em;
}
.inv__r dd{margin:0; font-size:.9375rem; line-height:1.6; color:var(--ink-2)}

.cform{padding:var(--band) var(--pad) var(--band) clamp(1.75rem,4vw,4rem)}
.fld{margin-bottom:1.6rem; display:block}
.fld label{
  display:block; margin-bottom:.6rem;
  font-family:var(--sans); font-size:.66rem; letter-spacing:.15em;
  text-transform:uppercase; font-weight:500; color:var(--faint);
}
.fld abbr{color:var(--accent); text-decoration:none; margin-left:.3em}
.fld input,.fld textarea{
  width:100%; display:block;
  background:var(--paper-hi);
  border:1px solid var(--rule);
  padding:.95rem 1.05rem;
  font-family:var(--sans); font-size:.9375rem; color:var(--ink);
  transition:border-color .4s var(--ease), background-color .4s var(--ease);
}
.fld input:hover,.fld textarea:hover{border-color:color-mix(in srgb, var(--ink) 34%, transparent)}
.fld input:focus,.fld textarea:focus{outline:none; border-color:var(--ink); background:#fff}
.fld textarea{resize:vertical; min-height:9rem; line-height:1.7}
.fld--go{margin-top:2rem; margin-bottom:0}
.cform__note{margin-top:1.1rem; font-size:.8125rem; line-height:1.6; color:var(--faint)}

/* ── PODPORA BKB ───────────────────────────────────────────────────── */
.bkb{
  padding:var(--band) var(--pad);
  border-bottom:1px solid var(--rule);
  max-width:calc(76rem + 2 * var(--pad)); margin-inline:auto;
  text-align:center;
}
.bkb__lede{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.1875rem,2.3vw,1.75rem);
  line-height:1.45; letter-spacing:-.012em; color:var(--ink);
  max-width:46ch; margin-inline:auto;
}
.bkb__stats{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  margin:clamp(2.25rem,4vw,3.5rem) 0;
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
.bkb__stats > div{padding:clamp(1.6rem,2.8vw,2.4rem) clamp(1rem,2vw,2rem)}
.bkb__stats > div + div{border-left:1px solid var(--rule-soft)}
.bkb__stats dt{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(2rem,4.6vw,3.25rem);
  line-height:1; letter-spacing:-.024em; color:var(--ink);
  font-feature-settings:"lnum" 1;
}
.bkb__stats dd{
  margin:.8rem 0 0;
  font-family:var(--sans); font-size:.66rem; letter-spacing:.15em;
  text-transform:uppercase; font-weight:500; color:var(--faint);
}
.bkb__body{max-width:62ch; margin-inline:auto}
.bkb__body a{
  border-bottom:1px solid var(--rule);
  transition:border-color .35s var(--ease), color .35s var(--ease);
}
.bkb__body a:hover,.bkb__body a:focus-visible{border-color:var(--accent); color:var(--accent)}
.bkb__body p + p{margin-top:1em}
.bkb__certs{
  margin-top:clamp(2.25rem,4vw,3.25rem);
  padding-top:clamp(1.5rem,2.6vw,2rem);
  border-top:1px solid var(--rule-soft);
}
.bkb__certs ul{display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1rem; justify-content:center}
.bkb__certs a{
  display:inline-flex; align-items:center; min-height:44px;
  padding:.7em 1.4em;
  border:1px solid var(--rule); color:var(--ink);
  font-family:var(--sans); font-size:.66rem; letter-spacing:.15em;
  text-transform:uppercase; font-weight:500;
  transition:border-color .4s var(--ease), background-color .4s var(--ease);
}
.bkb__certs a:hover,.bkb__certs a:focus-visible{border-color:var(--ink); background:var(--paper-hi)}
.bkb__note{
  margin-top:clamp(2rem,3.4vw,2.75rem);
  font-size:.8125rem; line-height:1.65; color:var(--faint);
  max-width:60ch; margin-inline:auto;
}

/* ═══ RESPONZIVITA PODSTRÁNEK ═══════════════════════════════════════ */
@media (max-width:1240px){
  .row__cover{grid-column:1 / 5}
  .row__text{grid-column:5 / 13}
  .row--flip .row__cover{grid-column:9 / 13}
  .row--flip .row__text{grid-column:1 / 9}
  .detail__cover{grid-column:1 / 5}
  .detail__text{grid-column:5 / 13}
  .aud__cover{grid-column:1 / 4}
  .aud__text{grid-column:4 / 13}
}

@media (max-width:940px){
  .row,.detail,.aud,.row--flip{display:block}
  .row__cover,.detail__cover,.aud__cover{justify-content:center; margin-bottom:2rem}
  .detail__cover{position:static}
  .row__cover img,.aud__cover img{max-height:min(42vh,300px)}
  .detail__cover img{max-height:min(52vh,380px)}

  .nws{grid-template-columns:1fr}
  .nws > .nw{padding-inline:0 !important; border-right:0 !important}
  .nw--lead{
    margin-inline:calc((var(--pad) - var(--cardpad)) * -1);
    padding-inline:var(--pad) !important;
  }
  .nws > .nw:nth-last-child(-n+2){
    border-bottom:1px solid var(--rule-soft);
    padding-bottom:clamp(1.9rem,3.2vw,2.75rem);
  }
  .nws > .nw:last-child{border-bottom:0; padding-bottom:var(--band)}

  .prods{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prods > .prod{padding-inline:clamp(1rem,2.4vw,2rem) !important; border-right:1px solid var(--rule-soft)}
  .prods > .prod:nth-child(2n+1){padding-left:0 !important}
  .prods > .prod:nth-child(2n){padding-right:0 !important; border-right:0}

  .kontakt{grid-template-columns:1fr}
  .inv{border-right:0; border-bottom:1px solid var(--rule); padding:var(--band) var(--pad)}
  .cform{padding:var(--band) var(--pad)}

  .ev{grid-template-columns:1fr; gap:.65rem}
}

@media (max-width:640px){
  .qa summary{gap:1rem}
  .qa__a{margin-left:0}
  .prods{grid-template-columns:1fr}
  .prods > .prod{padding-inline:0 !important; border-right:0 !important}
  .prod__cover{justify-content:center}
  .xtras{grid-template-columns:1fr}
  .xtras > .xtra{
    padding-inline:0 !important; border-right:0 !important;
    padding-bottom:clamp(2rem,3.4vw,3rem);
  }
  .xtras > .xtra:first-child{border-bottom:1px solid var(--rule-soft)}
  .xtras > .xtra:last-child{padding-bottom:var(--band)}
  .facts__grid{grid-template-columns:1fr}
  .pnav{grid-template-columns:1fr}
  .pn--next{text-align:left; border-left:0; border-top:1px solid var(--rule-soft)}
  .bkb__stats{grid-template-columns:1fr}
  .bkb__stats > div + div{padding-left:0; border-left:0; border-top:1px solid var(--rule-soft)}
  .nw--lead .nw__t{font-size:clamp(1.5rem,7vw,2rem)}
}


/* ═══════════════════════════════════════════════════════════════════════
   PRODUKTOVÉ STRÁNKY — kniha i balíček
   ═══════════════════════════════════════════════════════════════════════ */

/* ── drobečky ──────────────────────────────────────────────────────── */
.crumbs{
  display:flex; flex-wrap:wrap; align-items:center; gap:.7rem;
  padding:1.4rem var(--pad);
  border-bottom:1px solid var(--rule-soft);
  font-family:var(--sans); font-size:.6875rem;
  letter-spacing:.16em; text-transform:uppercase; font-weight:500;
  color:var(--faint);
}
.crumbs i{font-style:normal; opacity:.5}
.crumbs a{
  color:var(--muted);
  background-image:linear-gradient(currentColor,currentColor);
  background-size:0% 1px; background-repeat:no-repeat; background-position:0 100%;
  transition:background-size .4s var(--ease), color .4s var(--ease);
  padding-bottom:.2em;
}
.crumbs a:hover,.crumbs a:focus-visible{background-size:100% 1px; color:var(--ink)}
.crumbs span{color:var(--ink)}

/* ── nákupní blok ──────────────────────────────────────────────────── */
.buy{
  margin-top:clamp(2rem,3.4vw,2.75rem);
  padding-top:clamp(1.5rem,2.6vw,2rem);
  border-top:1px solid var(--rule);
}
.price{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(1.5rem,2.6vw,2.125rem);
  line-height:1; color:var(--ink);
  font-feature-settings:"lnum" 1;
  display:flex; align-items:baseline; gap:.7rem; flex-wrap:wrap;
}
.price s{color:var(--faint); font-size:.72em; font-weight:400}
.price b{font-weight:500}
.buy__act{display:flex; flex-wrap:wrap; gap:.85rem; margin-top:clamp(1.25rem,2.2vw,1.75rem)}
.buy__note{
  margin-top:1.1rem;
  font-size:.8125rem; line-height:1.6; color:var(--faint); max-width:46ch;
}

/* ── parametry ─────────────────────────────────────────────────────── */
.spec{
  margin:clamp(2rem,3.2vw,2.75rem) 0 0;
  border-top:1px solid var(--rule-soft);
}
.spec > div{
  display:grid; grid-template-columns:minmax(0,11rem) minmax(0,1fr);
  gap:1.25rem;
  padding:1rem 0; border-bottom:1px solid var(--rule-soft);
}
.spec dt{
  font-family:var(--sans); font-size:.66rem; letter-spacing:.16em;
  text-transform:uppercase; font-weight:500; color:var(--faint);
  padding-top:.25em;
}
.spec dd{margin:0; font-size:.9375rem; line-height:1.65; color:var(--ink-2)}

/* ── ukázka z knihy ────────────────────────────────────────────────── */
.excerpt{background:var(--paper-lo); border-bottom:1px solid var(--rule)}
.excerpt .band{border-bottom:1px solid var(--rule-soft)}
.excerpt__in{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,17rem);
  gap:clamp(2rem,5vw,5.5rem);
  align-items:start;
  padding:calc(var(--band) * .72) var(--pad);
}
.excerpt__side{display:grid; gap:clamp(2rem,3.4vw,2.75rem)}
.side .label{margin-bottom:1rem}
.side ul{display:grid; gap:.15rem; justify-items:start}
/* sazba jako v knize: užší míra, větší proklad, první řádek s verzálkou */
.excerpt__text{
  max-width:60ch;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1rem,1.25vw,1.125rem);
  line-height:1.85; color:var(--ink-2);
  hyphens:none;
}
.excerpt__text p + p{margin-top:1.05em}
.excerpt__text > p:first-child{
  font-size:1.06em; color:var(--ink);
}


.dl .label{margin-bottom:1rem}

.dl__a{
  display:inline-flex; align-items:center; gap:.75em;
  position:relative; padding-block:.45em;
  font-family:var(--sans); font-size:.72rem; font-weight:500;
  letter-spacing:.145em; text-transform:uppercase; color:var(--ink);
  --h:0;
}
.dl__a:hover,.dl__a:focus-visible{--h:1}
.dl__a i{
  position:relative; display:block; flex:0 0 auto; width:1em; height:1.1em;
}
.dl__a i::before{                     /* dřík dolů */
  content:""; position:absolute; inset:0;
  background:linear-gradient(currentColor,currentColor) no-repeat center top;
  background-size:1px calc(.72em * (.72 + .28 * var(--h)));
  transition:background-size .45s var(--ease);
}
.dl__a i::after{                      /* hrot dolů */
  content:""; position:absolute; inset:0;
  background:currentColor;
  -webkit-mask:var(--arrow-down) no-repeat center top / .58em .32em;
  mask:var(--arrow-down) no-repeat center top / .58em .32em;
  -webkit-mask-position:center calc(.72em * (.72 + .28 * var(--h)) - .28em);
  mask-position:center calc(.72em * (.72 + .28 * var(--h)) - .28em);
  transition:-webkit-mask-position .45s var(--ease), mask-position .45s var(--ease);
}
.dl__a{
  background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat; background-position:0 calc(100% - .15em);
  background-size:calc(var(--h) * (100% - 1.75em)) 1px;
  transition:background-size .45s var(--ease);
}

/* ── externí recenze ───────────────────────────────────────────────── */
.revlinks{
  padding:calc(var(--band) * .55) var(--pad);
  border-bottom:1px solid var(--rule);
}
.revlinks .label{margin-bottom:1rem}
.revlinks li + li{margin-top:.4rem}

/* ── mřížka balíčků a produktů ─────────────────────────────────────── */
/* Karty balíčků sdílí řádky mřížky, takže obálky, název, obsah, cena
   i proklik sedí ve všech kartách na stejné lince. */
.packs--4{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:auto auto 1fr auto auto auto;
  padding-inline:calc(var(--pad) - var(--cardpad));
}
.packs--4 > .pack{
  display:grid; grid-row:span 6; grid-template-rows:subgrid;
  padding:clamp(2rem,3.4vw,3rem) var(--cardpad) var(--band);
}
.packs--4 > .pack:not(:last-child){border-right:1px solid var(--rule-soft)}
.packs--4 .pack__stack{
  margin-bottom:1.5rem; padding-bottom:1.3rem;
  border-bottom:1px solid var(--rule-soft);
  align-self:end;
}
.packs--4 .pack__t{
  margin:0 0 .7rem;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.25rem,1.8vw,1.625rem);
  line-height:1.2; letter-spacing:-.014em; color:var(--ink);
}
.packs--4 .pack__what{margin:0}
.packs--4 .perks{margin-top:1.1rem; align-self:start}
.packs--4 .pack__price{margin-top:1.1rem}
.packs--4 .cta{margin-top:2.1rem; align-self:start; justify-self:start}

.prods--pack{grid-template-columns:repeat(4,minmax(0,1fr))}
.prods--pack > .prod:nth-child(3n+1){padding-left:clamp(1.1rem,2.2vw,2.25rem)}
.prods--pack > .prod:nth-child(3n){padding-right:clamp(1.1rem,2.2vw,2.25rem)}
.prods--pack > .prod:not(:nth-child(3n)){border-right:1px solid var(--rule-soft)}
.prods--pack > .prod:nth-child(4n+1){padding-left:0}
.prods--pack > .prod:nth-child(4n){padding-right:0; border-right:0}
.prods--pack > .prod:nth-last-child(-n+4){border-bottom:0; padding-bottom:var(--band)}

/* ── produktová stránka balíčku ────────────────────────────────────── */
.detail--pack .detail__cover{position:sticky; top:2.5rem}
.detail__cover--pack{display:block; width:100%}

/* ── klikatelné karty ──────────────────────────────────────────────── */
.case,.row,.prod,.aud,.nw,.pack{color:inherit; text-decoration:none}
.case:focus-visible,.row:focus-visible,.prod:focus-visible,
.aud:focus-visible,.nw:focus-visible,.pack:focus-visible{
  outline:1.5px solid var(--accent); outline-offset:-3px;
}
.case,.row,.prod,.aud,.nw,.pack{transition:background-color .45s var(--ease)}
.case:hover,.prod:hover,.pack:hover,.nw:hover,
.case:focus-visible,.prod:focus-visible,.pack:focus-visible,.nw:focus-visible{
  background:var(--paper-hi);
}
.row:hover,.row:focus-visible,
.aud:hover,.aud:focus-visible{background:var(--paper-hi)}
.pack:hover .pack__stack img{transform:translateY(-5px)}

/* ── bílé tlačítko na fotografii ───────────────────────────────────── */
/* opak k .btn--light: v klidu bílé, po najetí zčerná */
.btn--fill{
  background:var(--on-dark); border-color:var(--on-dark); color:var(--ink);
}
.btn--fill:hover,.btn--fill:focus-visible{
  background:var(--ink); border-color:var(--on-dark); color:var(--on-dark);
}

/* ═══ RESPONZIVITA ══════════════════════════════════════════════════ */
@media (max-width:1240px){
  .packs--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .packs--4 > .pack{padding-inline:clamp(1rem,2.4vw,2rem) !important; border-right:1px solid var(--rule-soft)}
  .packs--4 > .pack:nth-child(2n+1){padding-left:0 !important}
  .packs--4 > .pack:nth-child(2n){padding-right:0 !important; border-right:0}
  .prods--pack{grid-template-columns:repeat(2,minmax(0,1fr))}
  .prods--pack > .prod{padding-inline:clamp(1rem,2.4vw,2rem) !important; border-right:1px solid var(--rule-soft)}
  .prods--pack > .prod:nth-child(2n+1){padding-left:0 !important}
  .prods--pack > .prod:nth-child(2n){padding-right:0 !important; border-right:0}
}

@media (max-width:940px){
  .excerpt__in{grid-template-columns:1fr}
  .excerpt__side{
    border-top:1px solid var(--rule); padding-top:clamp(1.5rem,2.6vw,2rem);
    grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem;
  }
  .spec > div{grid-template-columns:1fr; gap:.3rem}
  .detail--pack .detail__cover{position:static}
}

@media (max-width:640px){
  /* na mobilu jsou karty na plnou šířku — obrázky patří doprostřed */
  .pack__stack{justify-content:center}
  .zstrip{justify-items:center}
  .packs--4,.prods--pack{grid-template-columns:1fr}
  .packs--4 > .pack,.prods--pack > .prod{
    padding-inline:0 !important; border-right:0 !important;
    border-bottom:1px solid var(--rule-soft); padding-bottom:clamp(2rem,3.4vw,3rem);
  }
  .packs--4 > .pack:last-child,.prods--pack > .prod:last-child{
    border-bottom:0; padding-bottom:var(--band);
  }
  .buy__act .btn{flex:1 1 100%}
}

/* kolik recenzí se vejde vedle sebe */
@media (max-width:1240px){ .rail{--per:3} }
@media (max-width:940px) { .rail{--per:2} }
@media (max-width:640px) { .rail{--per:1} }

/* ── PROSTOROVÉ RENDERY KNIH ───────────────────────────────────────── */
/* Render má stín i hranu zapečenou v obrázku — vlastní rám ani stín
   by se zdvojily, proto je u něj vypínáme a jen ho lehce nadzvedneme. */
.book3d{
  box-shadow:none !important;
  border:0 !important;
  filter:drop-shadow(0 22px 30px rgba(27,25,22,.22));
}
.case__cover .book3d,.prod__cover .book3d{height:100%; width:auto}
.case:hover .book3d,.prod:hover .book3d,.row:hover .book3d{
  filter:drop-shadow(0 34px 44px rgba(27,25,22,.3));
}
.detail__cover .book3d{
  max-height:clamp(340px,44vw,560px);
  filter:drop-shadow(0 30px 44px rgba(27,25,22,.26));
}
.lead__cover .book3d{max-height:clamp(320px,40vw,500px)}
.row__cover .book3d{max-height:clamp(250px,28vw,370px)}
.aud__cover .book3d{max-height:clamp(190px,19vw,250px)}

/* ── E-KNIHY A DOPLŇKY ─────────────────────────────────────────────── */
.eks{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  padding-inline:calc(var(--pad) - var(--cardpad));
}
.eks--one{grid-template-columns:1fr}
.ek{
  display:grid; grid-template-columns:minmax(0,11rem) minmax(0,1fr);
  gap:clamp(1.25rem,2.4vw,2.25rem); align-items:center;
  padding:clamp(1.75rem,3vw,2.5rem) var(--cardpad);
  border-bottom:1px solid var(--rule-soft);
  color:inherit;
  transition:background-color .45s var(--ease);
}
.eks > .ek:nth-child(odd){border-right:1px solid var(--rule-soft)}
.eks > .ek:nth-last-child(-n+2):not(.ek--lead){border-bottom:0; padding-bottom:var(--band)}
.eks--one > .ek{border-right:0}
.ek:hover,.ek:focus-visible{background:var(--paper-hi)}
.ek--lead{
  grid-column:1 / -1;
  grid-template-columns:minmax(0,20rem) minmax(0,1fr);
  border-right:0 !important;
  background:var(--paper-hi);
  padding-block:clamp(2.25rem,3.6vw,3rem);
}
.ek__img{display:flex; align-items:center; justify-content:center}
.ek__img img{
  width:auto; max-height:clamp(150px,15vw,210px);
  filter:drop-shadow(0 18px 26px rgba(27,25,22,.2));
  transition:transform .55s var(--ease);
}
.ek--lead .ek__img img{max-height:clamp(170px,18vw,250px)}
.ek__img--wide img{max-height:none; width:100%; height:auto}
.ek:hover .ek__img img{transform:translateY(-5px)}
.ek__text{display:flex; flex-direction:column; align-items:flex-start; min-width:0}
.ek__t{
  margin:0;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.1875rem,1.9vw,1.5rem);
  line-height:1.2; letter-spacing:-.014em; color:var(--ink);
}
.ek--lead .ek__t{font-size:clamp(1.375rem,2.3vw,1.875rem)}
.ek__d{margin-top:.7rem; font-size:.875rem; line-height:1.7; color:var(--ink-2); max-width:46ch}
.ek .prod__price{margin-top:1rem}
.prod__save{
  font-family:var(--sans); font-size:.66rem; letter-spacing:.16em;
  text-transform:uppercase; font-weight:500; color:var(--accent);
}
.ek .cta{margin-top:1.2rem}

/* pásek s motivy záložek — jen ukázka, co je v sadě */
.zstrip{
  grid-column:1 / -1;
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr);
  gap:clamp(.5rem,1vw,1rem);
  padding:clamp(1.5rem,2.6vw,2.25rem) var(--cardpad) var(--band);
}
.zstrip img{width:100%; height:auto; box-shadow:0 0 0 1px var(--rule-soft)}

/* ── BANNER BALÍČKU E-KNIH NA LANDINGU ─────────────────────────────── */
.ekrow{
  display:grid;
  grid-template-columns:minmax(0,13rem) minmax(0,1fr) auto auto;
  align-items:center; gap:clamp(1rem,2.4vw,2.5rem);
  padding:clamp(1.35rem,2.2vw,1.85rem) var(--pad);
  border-top:1px solid var(--rule-soft);
  color:inherit;
  --h:0;
  transition:background-color .4s var(--ease);
}
.ekrow:hover,.ekrow:focus-visible{background:var(--paper-hi); --h:1}
.ekrow img{width:100%; height:auto; filter:drop-shadow(0 10px 18px rgba(27,25,22,.16))}
.ekrow__t{
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.0625rem,1.5vw,1.3125rem); color:var(--ink);
  white-space:nowrap; line-height:1.35;
}
.ekrow__d{font-size:.875rem; color:var(--muted); line-height:1.35}
.ekrow .perks{margin-top:.55rem}
.ekrow__p{
  font-family:var(--serif); font-weight:500; font-size:1.0625rem;
  color:var(--ink); white-space:nowrap;
}
.ekrow i{position:relative; display:block; width:2.9em; height:.75em; color:var(--ink)}
.ekrow i::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(currentColor,currentColor) no-repeat left center;
  background-size:calc(2.9em * (.58 + .42 * var(--h)) - .26em) 1px;
  transition:background-size .5s var(--ease);
}
.ekrow i::after{
  content:""; position:absolute; inset:0;
  background:currentColor;
  -webkit-mask:var(--arrow-head) no-repeat left center / .32em .58em;
  mask:var(--arrow-head) no-repeat left center / .32em .58em;
  -webkit-mask-position:calc(2.9em * (.58 + .42 * var(--h)) - .32em) center;
  mask-position:calc(2.9em * (.58 + .42 * var(--h)) - .32em) center;
  transition:-webkit-mask-position .5s var(--ease), mask-position .5s var(--ease);
}

@media (max-width:1240px){
  .eks{grid-template-columns:1fr}
  .eks > .ek{border-right:0 !important}
}
@media (max-width:940px){
  .ek,.ek--lead{grid-template-columns:minmax(0,8rem) minmax(0,1fr)}
  .ekrow{grid-template-columns:minmax(0,9rem) minmax(0,1fr) auto; row-gap:.4rem}
  .ekrow i{display:none}
  .zstrip{grid-auto-flow:row; grid-auto-columns:auto; grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .ek,.ek--lead{grid-template-columns:1fr; justify-items:start}
  .ek__img{justify-content:center}
  .ekrow{grid-template-columns:1fr; row-gap:.6rem}
  .zstrip{grid-template-columns:1fr}
}

/* ── ZÁLOŽKY V E-SHOPU ─────────────────────────────────────────────── */
/* Karty záložek sdílí řádky mřížky — motivy mají různou výšku, ale
   názvy i prokliky sedí na jedné lince. */
.zals{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-rows:auto auto auto;
  padding-inline:calc(var(--pad) - var(--cardpad));
  padding-bottom:var(--band);
}
.zal{
  display:grid; grid-row:span 3; grid-template-rows:subgrid;
  justify-items:start;
  padding:clamp(1.5rem,2.4vw,2rem) var(--cardpad);
  color:inherit;
  transition:background-color .45s var(--ease);
}
.zal:hover,.zal:focus-visible{background:var(--paper-hi)}
.zal__img{width:100%; margin-bottom:1rem; align-self:end}
.zal__img img{
  width:100%; height:auto;
  box-shadow:0 0 0 1px var(--rule-soft), 0 10px 20px -12px rgba(27,25,22,.35);
  transition:transform .5s var(--ease);
}
.zal:hover .zal__img img{transform:translateY(-4px)}
.zal__t{
  margin:0 0 .9rem; align-self:start;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1rem,1.4vw,1.1875rem);
  line-height:1.2; color:var(--ink);
}

/* ── DROBNÉ PRODUKTOVÉ STRÁNKY (e-kniha, záložka) ──────────────────── */
.detail--small{align-items:center}
.detail--small .detail__cover{position:static}
.detail--small .detail__cover img{
  max-height:clamp(260px,32vw,420px); width:auto;
  filter:drop-shadow(0 24px 34px rgba(27,25,22,.22));
  box-shadow:none;
}
.detail__cover--wide{display:block}
.detail__cover--wide img{width:100%; height:auto; max-height:none}

.price--todo{
  font-family:var(--sans); font-size:.72rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--faint);
}
.todo{
  font-family:var(--sans); font-size:.66rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--faint);
}
.ilink{
  border-bottom:1px solid var(--rule);
  transition:border-color .35s var(--ease), color .35s var(--ease);
}
.ilink:hover,.ilink:focus-visible{border-color:var(--accent); color:var(--accent)}

@media (max-width:1240px){ .zals{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:940px) { .zals{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:640px) {
  .zals{grid-template-columns:1fr}
  .zal{display:flex; flex-direction:column}
  .zal{padding-inline:0}
  .detail--small .detail__cover{margin-bottom:2rem; justify-content:center}
}

/* záložka je široký proužek — v rámu karty se řídí šířkou */
.prod__cover--flat img{
  width:100%; height:auto; max-height:100%;
  box-shadow:0 0 0 1px var(--rule-soft), 0 10px 20px -12px rgba(27,25,22,.35);
}
.prod__cover .book3d{max-height:100%; width:auto}
.caseno .tag{margin-left:.2rem}

/* ── OBAL AUDIOKNIHY — čtverec, ne kniha ───────────────────────────── */
.aud__cover--sq{display:block; width:100%; max-width:clamp(180px,17vw,240px)}
.aud__cover--sq img{
  width:100%; height:auto; max-height:none;
  box-shadow:0 0 0 1px var(--rule-soft), 0 18px 34px -20px rgba(27,25,22,.5);
  transition:transform .55s var(--ease), box-shadow .55s var(--ease);
}
.aud:hover .aud__cover--sq img{
  transform:translateY(-5px);
  box-shadow:0 0 0 1px var(--rule-soft), 0 28px 46px -22px rgba(27,25,22,.55);
}

/* ── BOČNÍ SLOUPEC UKÁZKY: větší popisky, čitelný seznam ───────────── */
.side .label{
  font-size:.8125rem; letter-spacing:.18em; color:var(--muted);
  margin-bottom:1.1rem;
}
.side ul{display:grid; gap:.5rem; justify-items:start}
.side .revs .cta,.side .dl .dl__a{
  font-size:.75rem; letter-spacing:.12em; text-transform:none;
  font-weight:500; line-height:1.45;
}
.side .revs .cta{align-items:flex-start; text-align:left}
.side .revs .cta i{margin-top:.42em}
.side .dl__a{text-transform:uppercase; letter-spacing:.14em}

/* ── VÝHODY: dárek a úspora ────────────────────────────────────────── */
.perks{display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.9rem}
.perk{
  display:inline-block;
  font-family:var(--sans); font-size:.6875rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; line-height:1;
  color:var(--accent);
  background:color-mix(in srgb, var(--accent) 9%, transparent);
  border:1px solid color-mix(in srgb, var(--accent) 26%, transparent);
  padding:.5em .8em .42em;
  white-space:nowrap;
}
.perk--gift{
  color:var(--paper);
  background:var(--accent);
  border-color:var(--accent);
}

/* ── FILTR ZBOŽÍ ───────────────────────────────────────────────────── */
.filt{
  display:flex; flex-wrap:wrap; align-items:center;
  gap:.9rem clamp(1rem,2vw,1.75rem);
  padding:clamp(1.1rem,2vw,1.5rem) var(--pad);
  border-bottom:1px solid var(--rule);
  background:var(--paper);
}
.filt .label{margin:0}
.filt__set{display:flex; flex-wrap:wrap; gap:.5rem}
.filt__c{
  display:inline-flex; align-items:center; gap:.55em;
  padding:.55em .95em .48em;
  border:1px solid var(--rule);
  cursor:pointer; user-select:none;
  font-family:var(--sans); font-size:.6875rem; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
  transition:border-color .35s var(--ease), color .35s var(--ease),
             background-color .35s var(--ease);
}
.filt__c:hover{border-color:color-mix(in srgb, var(--ink) 34%, transparent); color:var(--ink)}
/* vlastní čtvereček — nativní checkbox by do sazby nesedl */
.filt__c input{
  appearance:none; -webkit-appearance:none; margin:0;
  width:11px; height:11px; flex:0 0 auto;
  border:1px solid var(--rule); background:transparent;
  position:relative; cursor:pointer;
}
.filt__c input::after{
  content:""; position:absolute; inset:1px;
  background:var(--accent);
  transform:scale(0); transition:transform .3s var(--ease);
}
.filt__c input:checked::after{transform:scale(1)}
.filt__c:has(input:checked){border-color:var(--accent); color:var(--ink)}
.filt__c:has(input:focus-visible){outline:1.5px solid var(--accent); outline-offset:2px}
.filt__clear{
  background:none; border:0; cursor:pointer; padding:.4em 0;
  font-family:var(--sans); font-size:.6875rem; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
  border-bottom:1px solid var(--rule);
  transition:color .35s var(--ease), border-color .35s var(--ease);
}
.filt__clear:hover{color:var(--accent); border-color:var(--accent)}
.filt__none{
  flex:1 1 100%; margin:0;
  font-size:.875rem; color:var(--muted);
}
[data-cat][hidden],[data-sec][hidden]{display:none !important}

/* ── NABÍDKA BALÍČKU U KNIHY ───────────────────────────────────────── */
.xsell{
  --h:0;
  display:grid;
  grid-template-columns:minmax(0,9rem) minmax(0,1fr) auto auto;
  align-items:center; gap:clamp(1rem,2vw,1.75rem);
  margin-top:clamp(1.5rem,2.6vw,2rem);
  padding:clamp(1.1rem,2vw,1.5rem);
  border:1px solid var(--rule);
  background:var(--paper);
  color:inherit;
  transition:border-color .4s var(--ease), background-color .4s var(--ease);
}
.xsell:hover,.xsell:focus-visible{border-color:var(--ink); background:var(--paper-hi); --h:1}
.xsell__img{display:block; min-width:0}
.xsell__img .pack__stack{margin:0}
.xsell__b{display:block; min-width:0}
.xsell__t{
  display:block; margin-top:.45rem;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.0625rem,1.5vw,1.25rem);
  line-height:1.2; color:var(--ink);
}
.xsell__d{display:block; margin-top:.25rem; font-size:.8125rem; color:var(--muted)}
.xsell__b .perks{margin-top:.7rem}
.xsell__p{
  font-family:var(--serif); font-weight:500; font-size:1.1875rem;
  color:var(--ink); white-space:nowrap;
}
.xsell i{position:relative; display:block; width:2.9em; height:.75em; color:var(--ink)}
.xsell i::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(currentColor,currentColor) no-repeat left center;
  background-size:calc(2.9em * (.58 + .42 * var(--h)) - .26em) 1px;
  transition:background-size .5s var(--ease);
}
.xsell i::after{
  content:""; position:absolute; inset:0;
  background:currentColor;
  -webkit-mask:var(--arrow-head) no-repeat left center / .32em .58em;
  mask:var(--arrow-head) no-repeat left center / .32em .58em;
  -webkit-mask-position:calc(2.9em * (.58 + .42 * var(--h)) - .32em) center;
  mask-position:calc(2.9em * (.58 + .42 * var(--h)) - .32em) center;
  transition:-webkit-mask-position .5s var(--ease), mask-position .5s var(--ease);
}

@media (max-width:940px){
  .xsell{grid-template-columns:minmax(0,7rem) minmax(0,1fr) auto; row-gap:.5rem}
  .xsell i{display:none}
}
@media (max-width:640px){
  .xsell{grid-template-columns:1fr; justify-items:start}
  .xsell__img{width:70%}
  .filt{gap:.75rem 1rem}
}
