/* ==========================================================================
   Stopy v srdci — landing-v2.css
   Vzhled všech landing stránek (redesign 9/2026). Vyžaduje v2-base.css.

   PRAVIDLA ZAROVNÁNÍ (platí bez výjimky)
   ---------------------------------------------------------------------
   1. Výchozí je zarovnání VLEVO na hranu kontejneru. Blok s max-width
      má `margin-inline:0` – nikdy nezůstane „plavat" uprostřed.
   2. Vědomě CENTROVANÝ je jediný případ:
        .lp-cta        – závěrečný pás (blok i text na střed)
      Je v něm centrované všechno, nic napůl.
   3. Mřížky (karty, čísla, kroky) vyplní celou šířku kontejneru a počet
      sloupců se řídí počtem položek – nikdy pevné `repeat(4)`, které
      u tří položek nechá čtvrtý sloupec prázdný.
   4. Text uvnitř tlačítek a odznaků centruje `justify-content:center`,
      ne `text-align` na rodiči.

   Ošetřen je kompletní inventář tříd z šablon (10 landingů + okruhy):
   hero(-inner/-text/-badge/-lead/-cta/-image), stats(-inner), stat(-item/
   -number/-label), section(-alt/-title/-lead/-h2/-h3), text(-wide),
   lead-big, cards(-2/-3/-center-last), card(-title/-text/-media/-active),
   tag, chip(-active), steps(-4), step(-num/-title/-text), two-col(-img),
   checklist, compare, price-card(-name/-amount/-period/-note/-includes),
   faq(-item/-q/-a/-icon), cta(-actions), app-badges(-center)/-badge(-off)/
   -qr, shots-strip, breadcrumb, btn(-hero/-outline).
   ========================================================================== */

/* ══ DROBEČKOVÁ NAVIGACE ═══════════════════════════════════════════════ */
body.v2 #main-content .lp-breadcrumb{
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
  padding:var(--sp-2) 0 0;font-size:.88rem;color:var(--ink-3);
}
body.v2 #main-content .lp-breadcrumb a{color:var(--accent);font-weight:600}
body.v2 #main-content .lp-breadcrumb a:hover{color:var(--accent-hi)}

/* ══ HERO ══════════════════════════════════════════════════════════════ */
body.v2 #main-content .lp-hero{
  position:relative;overflow:visible;margin-top:8px;
  padding:clamp(20px,2.2vw,30px) 0 clamp(32px,3.2vw,44px);
  background:
    radial-gradient(60% 45% at 76% 42%,var(--sky-glow) 0%,rgba(247,232,219,0) 70%),
    linear-gradient(180deg,var(--sky-top) 0%,var(--sky-mid) 58%,var(--paper) 100%);
}
body.v2 #main-content .lp-hero-inner{
  max-width:var(--max);margin:0 auto;padding:0 var(--gutter);
  display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);
  gap:40px;align-items:center;
}
/* Landing bez obrázku (okruhy, aplikace) – text nezůstane v půlce šířky. */
body.v2 #main-content .lp-hero:not(:has(.lp-hero-image)) .lp-hero-inner{
  grid-template-columns:minmax(0,1fr);
}
body.v2 #main-content .lp-hero-text{min-width:0}
body.v2 #main-content .lp-hero-badge{
  display:inline-flex;align-items:center;gap:7px;
  padding:6px 13px;margin-bottom:var(--sp-2);border-radius:999px;
  background:var(--accent-soft);color:var(--accent);
  font-size:.88rem;font-weight:600;
}
body.v2 #main-content .lp-hero-badge svg{width:15px;height:15px;fill:currentColor}
body.v2 #main-content .lp-hero h1{
  font-size:clamp(1.75rem,2.9vw,2.5rem);line-height:1.1;color:var(--ink);
  max-width:20ch;margin:0;
}
body.v2 #main-content .lp-hero-lead{
  margin:var(--sp-2) 0 0;font-size:1.02rem;color:var(--ink-2);max-width:var(--measure);
}
body.v2 #main-content .lp-hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--sp-3)}
/* Drobný text pod tlačítky (v šablonách přes inline style). */
body.v2 #main-content .lp-hero-text > p[style]{
  color:var(--ink-3)!important;font-size:.86rem!important;margin-top:var(--sp-2)!important;
}
body.v2 #main-content .lp-hero-image{justify-self:end;width:100%;max-width:340px}
body.v2 #main-content .lp-hero-image img{
  display:block;width:100%;aspect-ratio:1/1;object-fit:cover;
  border-radius:var(--r-xl);box-shadow:var(--shadow-lg);
}

/* Místo fotky, která ještě nebyla dodaná – ukazuje přesně, jaký soubor
   (název, rozměry, formát) tam patří, aby šlo doplnit později beze
   změny šablony. Než se nasadí na produkci, buď se nahradí skutečnou
   fotkou, nebo (na žádost) se popisek schová a zůstane jen tón pozadí. */
body.v2 #main-content .lp-photo-placeholder{
  width:100%;height:100%;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:6px;text-align:center;padding:var(--sp-3);
  background:linear-gradient(135deg,var(--tint-2),var(--tint-4));
  border:1.5px dashed var(--line);box-sizing:border-box;
}
body.v2 #main-content .lp-photo-placeholder svg{width:30px;height:30px;stroke:var(--ink-3);opacity:.7}
body.v2 #main-content .lp-photo-placeholder strong{font-size:.82rem;font-weight:600;color:var(--ink-2)}
body.v2 #main-content .lp-photo-placeholder span{font-size:.76rem;color:var(--ink-3)}
body.v2 #main-content .lp-hero-image .lp-photo-placeholder{aspect-ratio:1/1;border-radius:var(--r-xl)}
body.v2 #main-content .lp-two-col-img .lp-photo-placeholder{aspect-ratio:4/3;border-radius:var(--r-xl)}

/* ══ TLAČÍTKA ══════════════════════════════════════════════════════════ */
body.v2 #main-content .lp-btn-hero,
body.v2 #main-content .lp-btn,
body.v2 #main-content .lp-btn-hero-outline,
body.v2 #main-content .lp-btn-outline{
  display:inline-flex;align-items:center;justify-content:center;
  height:46px;padding:0 22px;border-radius:999px;
  font:600 .95rem var(--sans);line-height:1;text-align:center;text-decoration:none;
  border:1.5px solid transparent;box-shadow:none;
}
body.v2 #main-content .lp-btn-hero,
body.v2 #main-content .lp-btn{background:var(--accent);color:#fff;border-color:var(--accent)}
body.v2 #main-content .lp-btn-hero:hover,
body.v2 #main-content .lp-btn:hover{background:var(--accent-hi);border-color:var(--accent-hi);color:#fff}
body.v2 #main-content .lp-btn-hero-outline,
body.v2 #main-content .lp-btn-outline{background:#fff;color:var(--ink);border-color:var(--line)}
body.v2 #main-content .lp-btn-hero-outline:hover,
body.v2 #main-content .lp-btn-outline:hover{border-color:var(--ink);color:var(--ink)}

/* ══ PRUH S ČÍSLY ══════════════════════════════════════════════════════ */
body.v2 #main-content .lp-stats{
  background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
/* Sloupce podle POČTU položek – u tří čísel nezůstane prázdný čtvrtý. */
body.v2 #main-content .lp-stats-inner{
  max-width:var(--max);margin:0 auto;padding:0 var(--gutter);
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);
}
body.v2 #main-content .lp-stat-item{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:var(--sp-3) var(--sp-1);text-align:center;
}
body.v2 #main-content .lp-stat-item + .lp-stat-item{border-left:1px solid var(--line)}
body.v2 #main-content .lp-stat-number{
  display:block;font-size:clamp(1.4rem,2vw,1.75rem);font-weight:700;
  letter-spacing:-.02em;color:var(--accent);line-height:1.1;
}
body.v2 #main-content .lp-stat-label{display:block;margin-top:2px;font-size:.9rem;color:var(--ink-2)}

/* ══ SEKCE ═════════════════════════════════════════════════════════════ */
body.v2 #main-content .lp-section{padding:var(--section-y) 0}
/* Dvě sekce se stejným podkladem za sebou by daly dvojitou mezeru
   (spodní odsazení první + horní odsazení druhé). Spojíme je. */
body.v2 #main-content .lp-section:not(.lp-section-alt) + .lp-section:not(.lp-section-alt),
body.v2 #main-content .lp-section-alt + .lp-section-alt{padding-top:0}
/* Střídání podkladu řídí třída ze šablony, ne pořadí sekce. */
body.v2 #main-content .lp-section-alt{background:var(--paper-2)}
body.v2 #main-content .lp-section-title{
  font-size:clamp(1.5rem,2.3vw,1.95rem);line-height:1.2;
  max-width:26ch;margin:0 0 var(--sp-1);
}
body.v2 #main-content .lp-section-lead{
  font-size:1.02rem;color:var(--ink-2);max-width:var(--measure);margin:0 0 var(--sp-3);
}
body.v2 #main-content .lp-section-h2{
  font-size:clamp(1.2rem,1.7vw,1.45rem);margin:var(--sp-3) 0 var(--sp-1);
}
body.v2 #main-content .lp-section-h3{font-size:1.1rem;margin:var(--sp-3) 0 var(--sp-1)}
body.v2 #main-content .lp-text{color:var(--ink-2);margin:0 0 var(--sp-2);max-width:var(--measure)}
body.v2 #main-content .lp-lead-big{font-size:1.1rem;line-height:1.6;color:var(--ink-2);max-width:var(--measure)}

/* Úzký čtecí sloupec – jediné místo, kde se blok centruje.
   Text uvnitř zůstává vlevo (levé zarovnání se čte lépe). */
/* Šířka odpovídá čtecí míře, ne libovolným 820 px – jinak text vyjde
   na 90 znaků na řádek, tedy mimo pásmo 50–75. */
/* .lp-text-wide dřív zužovalo CELOU sekci na ~600 px, takže obsah měl na
   každé stránce jinou šířku (kamenictví 600, qr-kod-na-hrob 1200).
   Nově je sekce všude stejně široká; délku řádku hlídá --measure
   na jednotlivých odstavcích. */
/* Pozor: .lp-text-wide je v šablonách jednou na .container, jindy přímo
   na odstavci. Rušíme zúžení jen u kontejneru – u textu musí zůstat
   omezení délky řádku. */
body.v2 #main-content .container.lp-text-wide{max-width:var(--max);margin-inline:auto}

/* ══ KARTY ═════════════════════════════════════════════════════════════
   JEDEN systém pro všechny stránky. Šířku karty určuje POČET karet
   v mřížce (přes :has), ne dostupné místo – proto čtyři karty vypadají
   stejně na každé stránce bez ohledu na to, jakou třídu nese šablona.
   Flexbox s wrapem navíc automaticky vycentruje neúplný poslední řádek.
     1 karta   → přes celou šířku
     2 karty   → 2 v řadě
     3 karty   → 3 v řadě
     4 karty   → 4 v řadě
     5 a více  → 3 v řadě, zbytek vycentrovaný
   Tablet: 2 v řadě, mobil: 1.                                            */
body.v2 #main-content [class*="lp-cards"]{
  --gap:14px;--cols:3;
  display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;
  gap:var(--gap);margin-top:var(--sp-1);
}
body.v2 #main-content [class*="lp-cards"] > *{
  flex:0 1 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols));
  min-width:0;
}
body.v2 #main-content [class*="lp-cards"]:has(> :last-child:nth-child(1)){--cols:1}
body.v2 #main-content [class*="lp-cards"]:has(> :last-child:nth-child(2)){--cols:2}
body.v2 #main-content [class*="lp-cards"]:has(> :last-child:nth-child(3)){--cols:3}
body.v2 #main-content [class*="lp-cards"]:has(> :last-child:nth-child(4)){--cols:4}
body.v2 #main-content [class*="lp-cards"]:has(> :last-child:nth-child(n+5)){--cols:3}
/* Ceníkové karty jsou širší, ať se do nich vejde dvousloupcový seznam. */
body.v2 #main-content .lp-cards-2{--gap:16px}

body.v2 #main-content .lp-card{
  display:flex;flex-direction:column;
  padding:var(--sp-3);border-radius:var(--r-lg);
  background:var(--tint-1);border:1px solid transparent;box-shadow:var(--shadow-md);
  color:var(--ink);text-decoration:none;
}
body.v2 #main-content .lp-card:nth-child(3n+2){background:var(--tint-2)}
body.v2 #main-content .lp-card:nth-child(3n+3){background:var(--tint-3)}
body.v2 #main-content .lp-card:nth-child(6n+4){background:var(--tint-4)}
body.v2 #main-content .lp-card:nth-child(6n+5){background:var(--tint-5)}
body.v2 #main-content a.lp-card:hover{border-color:var(--accent-2)}
body.v2 #main-content .lp-card-active{border-color:var(--accent)!important}
body.v2 #main-content .lp-card svg{
  width:28px;height:28px;fill:none;stroke:var(--ink-2);stroke-width:1.5;margin-bottom:var(--sp-1);flex:0 0 auto;
}
body.v2 #main-content .lp-card-title{
  font-size:1.05rem;font-weight:700;letter-spacing:-.01em;color:var(--ink);
  line-height:1.25;margin-bottom:6px;
}
body.v2 #main-content .lp-card-text{color:var(--ink-2);font-size:.94rem;line-height:1.5;max-width:var(--measure)}
/* Karta s obrázkem přes celou plochu (katalog okruhů). */
body.v2 #main-content .lp-card-media{padding:0!important;overflow:hidden}
body.v2 #main-content .lp-card-media img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
body.v2 #main-content .lp-tag{
  display:inline-block;padding:2px 8px;border-radius:6px;
  background:var(--accent-soft);color:var(--accent);font-size:.75rem;font-weight:600;
}

/* Filtrační čipy (okruhy) – stejný tvar jako čipy na domovské. */
body.v2 #main-content .lp-chip{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:6px 14px;border-radius:999px;
  background:#fff;border:1px solid var(--line);
  color:var(--ink);font-size:.9rem;font-weight:500;text-decoration:none;
}
body.v2 #main-content .lp-chip:hover{border-color:var(--accent);color:var(--accent)}
body.v2 #main-content .lp-chip-active{background:var(--accent);border-color:var(--accent);color:#fff}

/* Filtr evidence hrobů (/evidence-hrobu) – přepínač země (chipy s vlaječkou)
   + kaskáda kraj/okres/katastr. Selecty vedle sebe, ale zalomí se na malé
   šířce (stejný --sp-2 rytmus jako .form-row v pages-v3.css). */
body.v2 #main-content .lp-evid-filter{margin-bottom:var(--sp-4)}
body.v2 #main-content .lp-country-flag{
  width:18px;height:13px;border-radius:2px;margin-right:6px;object-fit:cover;
}
body.v2 #main-content .lp-evid-filter-row{
  display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2);
}
body.v2 #main-content .lp-evid-filter-row select{
  width:auto;min-width:200px;flex:1 1 220px;
}

/* ══ KROKY ═════════════════════════════════════════════════════════════ */
/* Kroky drží stejné pravidlo jako zbytek stránky: blok využívá celou
   šířku, délku řádku hlídá --measure na textu kroku. */
body.v2 #main-content .lp-steps,
body.v2 #main-content [class*="lp-steps"]{display:grid;gap:0;max-width:none;margin-top:var(--sp-1)}
body.v2 #main-content .lp-step{
  display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:start;
  padding:var(--sp-2) 0;border-top:1px solid var(--line);
}
body.v2 #main-content .lp-step:last-child{border-bottom:1px solid var(--line)}
body.v2 #main-content .lp-step-num{
  grid-row:span 2;width:30px;height:30px;border-radius:50%;
  background:var(--accent-soft);color:var(--accent);
  display:grid;place-items:center;font-weight:700;font-size:.9rem;
}
body.v2 #main-content .lp-step-title{
  grid-column:2;font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:2px;
}
body.v2 #main-content .lp-step-text{grid-column:2;color:var(--ink-2);font-size:.94rem;max-width:var(--measure)}

/* ══ DVA SLOUPCE ═══════════════════════════════════════════════════════ */
body.v2 #main-content .lp-two-col{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:var(--sp-5);align-items:center;
}
body.v2 #main-content .lp-two-col-img img{
  width:100%;aspect-ratio:4/3;object-fit:cover;display:block;
  border-radius:var(--r-xl);box-shadow:var(--shadow-md);
}

/* ══ SEZNAM S HÁČKY ════════════════════════════════════════════════════ */
body.v2 #main-content .lp-checklist{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:10px 24px;margin:var(--sp-2) 0;
}
body.v2 #main-content .lp-checklist li{
  position:relative;padding-left:28px;color:var(--ink-2);font-size:.96rem;
}
body.v2 #main-content .lp-checklist li::before{
  content:"";position:absolute;left:0;top:.3em;width:18px;height:18px;border-radius:50%;
  background:var(--accent-soft) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A4B8C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat;
}

/* ══ SROVNÁVACÍ TABULKA ════════════════════════════════════════════════ */
body.v2 #main-content .lp-compare{
  width:100%;border-collapse:collapse;margin-top:var(--sp-2);font-size:.94rem;
}
body.v2 #main-content .lp-compare th,
body.v2 #main-content .lp-compare td{
  padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;
}
body.v2 #main-content .lp-compare th{font-weight:700;color:var(--ink)}
body.v2 #main-content .lp-compare td{color:var(--ink-2)}

/* ══ CENÍKOVÉ KARTY ════════════════════════════════════════════════════
   Stejná výška, tlačítka na jedné úrovni, obsah ve dvou sloupcích.       */
body.v2 #main-content .lp-price-card{
  display:flex;flex-direction:column;
  padding:var(--sp-3);border-radius:var(--r-lg);
  background:#fff;border:1px solid var(--line);
}
body.v2 #main-content .lp-price-card.featured{background:var(--accent-soft);border-color:var(--accent-2)}
body.v2 #main-content .lp-price-name{font-size:1.05rem;font-weight:700;color:var(--ink);line-height:1.25}
body.v2 #main-content .lp-price-card > div[style]{font-size:.86rem!important;color:var(--ink-2)!important}
body.v2 #main-content .lp-price-amount{
  display:block;margin-top:var(--sp-1);font-size:1.8rem;font-weight:700;
  letter-spacing:-.02em;color:var(--accent);line-height:1.1;
}
body.v2 #main-content .lp-price-period{color:var(--ink-2);font-size:.9rem}
body.v2 #main-content .lp-price-note{margin-top:var(--sp-1);color:var(--ink-3);font-size:.85rem}
body.v2 #main-content .lp-price-includes{
  flex:1 1 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:8px 20px;margin:var(--sp-2) 0 var(--sp-3);
}
body.v2 #main-content .lp-price-includes li{font-size:.92rem;line-height:1.45}
body.v2 #main-content .lp-price-card .lp-btn{margin-top:auto;width:100%}
/* Poznámka pod tlačítkem má rezervovanou výšku – bez toho se tlačítka
   v sousedních kartách rozejdou o výšku jednoho řádku. */
body.v2 #main-content .lp-price-note,
body.v2 #main-content .lp-price-card > div[style]:last-child{min-height:3.2em}

/* ══ FAQ ═══════════════════════════════════════════════════════════════
   Otázka je <button> přes celou šířku bloku, šipka u pravého okraje.
   Odpověď je skrytá, dokud landing.js nepřidá třídu `open` (ne is-open). */
body.v2 #main-content .lp-faq{margin-top:var(--sp-1)}
body.v2 #main-content .lp-faq-item{border-top:1px solid var(--line);padding:var(--sp-2) 0}
body.v2 #main-content .lp-faq-item:last-child{border-bottom:1px solid var(--line)}
body.v2 #main-content .lp-faq-q{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  width:100%;min-height:44px;padding:4px 0;margin:0;text-align:left;
  background:none;border:0;box-shadow:none;
  font:700 1rem/1.35 var(--sans);color:var(--ink);cursor:pointer;
}
body.v2 #main-content .lp-faq-q::before,
body.v2 #main-content .lp-faq-q::after{content:none}
body.v2 #main-content .lp-faq-q:hover{color:var(--accent)}
body.v2 #main-content .lp-faq-icon{
  flex:0 0 22px;width:22px;height:22px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:.75rem;color:var(--accent);transition:transform .18s ease;
}
body.v2 #main-content .lp-faq-item.open .lp-faq-icon{transform:rotate(180deg)}
body.v2 #main-content .lp-faq-a{
  display:none;margin-top:var(--sp-1);padding-right:38px;
  color:var(--ink-2);font-size:.96rem;max-width:var(--measure);
}
body.v2 #main-content .lp-faq-item.open .lp-faq-a{display:block}

/* ══ ZÁVĚREČNÉ CTA ═════════════════════════════════════════════════════
   Tmavý pás přes celou šířku okna; blok i text centrované.
   Leží uvnitř .container, proto se vytahuje přes 100vw.                   */
body.v2 #main-content .lp-cta{
  position:relative;width:100vw;left:50%;transform:translateX(-50%);
  padding:clamp(30px,3.4vw,46px) var(--gutter);margin:0;border-radius:0;
  background:var(--dark);color:#fff;text-align:center;
}
body.v2 #main-content .lp-cta > *{max-width:var(--max);margin-inline:auto}
body.v2 #main-content .lp-cta h2,
body.v2 #main-content .lp-cta .lp-section-title{
  color:#fff;font-size:clamp(1.45rem,2.2vw,1.9rem);max-width:26ch;margin:0 auto;
}
body.v2 #main-content .lp-cta p,
body.v2 #main-content .lp-cta .lp-text{
  color:var(--dark-muted);font-size:1rem;margin:var(--sp-2) auto 0;max-width:56ch;
}
body.v2 #main-content .lp-cta-actions{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:var(--sp-3);
}
body.v2 #main-content .lp-cta-actions .lp-btn-hero,
body.v2 #main-content .lp-cta-actions .lp-btn{
  background:var(--app-accent);color:var(--dark);border-color:var(--app-accent);
}
body.v2 #main-content .lp-cta-actions .lp-btn-hero:hover,
body.v2 #main-content .lp-cta-actions .lp-btn:hover{background:#DCC4F2;color:var(--dark)}
body.v2 #main-content .lp-cta-actions .lp-btn-hero-outline,
body.v2 #main-content .lp-cta-actions .lp-btn-outline{
  background:transparent;color:#fff;border-color:rgba(255,255,255,.65);
}
body.v2 #main-content .lp-cta-actions .lp-btn-hero-outline:hover,
body.v2 #main-content .lp-cta-actions .lp-btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.1)}
/* Sekce, která nese CTA, nemá spodní odsazení – pás končí u patičky. */
body.v2 #main-content .lp-section:has(.lp-cta){padding-bottom:0}

/* ══ APLIKACE ══════════════════════════════════════════════════════════
   Odznaky App Store / Google Play (.lp-app-badge*) jsou teď v v2-base.css
   – sdílené i se stránkami, co landing-v2.css nenačítají (home). */
body.v2 #main-content .lp-app-qr{align-items:center;gap:14px;margin-top:var(--sp-3)}
body.v2 #main-content .lp-app-qr img{background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px}
body.v2 #main-content .lp-app-qr span{color:var(--ink-2);font-size:.86rem;max-width:190px;line-height:1.45}
body.v2 #main-content .lp-shots-strip{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;
}
body.v2 #main-content .lp-shots-strip img{
  width:100%;aspect-ratio:9/19;object-fit:cover;
  border-radius:18px;border:4px solid var(--dark-2);box-shadow:var(--shadow-md);
}
/* Hero landingu aplikace drží tmavý tón appky. */
body.v2 #main-content .lp-app-hero{
  background:linear-gradient(160deg,#17151f 0%,var(--dark) 62%);color:var(--dark-text);
}
body.v2 #main-content .lp-app-hero h1{color:#fff}
body.v2 #main-content .lp-app-hero .lp-hero-lead{color:var(--dark-muted)}
body.v2 #main-content .lp-app-hero .lp-hero-badge{background:rgba(201,168,232,.16);color:var(--app-accent)}
body.v2 #main-content .lp-app-hero .lp-hero-text > p[style]{color:var(--dark-muted)!important}
body.v2 #main-content .lp-app-hero .lp-btn-hero{background:var(--app-accent);color:var(--dark);border-color:var(--app-accent)}
body.v2 #main-content .lp-app-hero .lp-btn-hero-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
body.v2 #main-content .lp-app-hero .lp-app-qr span{color:var(--dark-muted)}


/* ══ SVISLÝ RYTMUS MEZI KOMPONENTAMI ═══════════════════════════════════
   Co následuje po mřížce karet, po seznamu kroků nebo po odrážkách,
   dostane odstup automaticky – jinak se tlačítko nalepí na karty. */
body.v2 #main-content [class*="lp-cards"] + *,
body.v2 #main-content [class*="lp-steps"] + *,
body.v2 #main-content .lp-checklist + *,
body.v2 #main-content .lp-compare + *,
body.v2 #main-content .lp-faq + *{margin-top:var(--sp-3)}
body.v2 #main-content [class*="lp-cards"] + .lp-note,
body.v2 #main-content [class*="lp-steps"] + .lp-note{margin-top:var(--sp-3)}
body.v2 #main-content .lp-faq{margin-top:var(--sp-2)}

/* ══ TŘÍDY, KTERÉ NAHRADILY INLINE STYLY ═══════════════════════════════
   V šablonách bylo 88 inline stylů (max-width:960px, padding u tlačítek,
   drobné texty, obaly ikon…). Inline styl přebíjí stylopis, takže se
   vzhled na každé stránce rozjížděl. Šablony jsou nově bez atributu
   style a používají tyto třídy.                                         */

/* obal ikony nad nadpisem karty */
body.v2 #main-content .lp-icon-wrap{margin-bottom:var(--sp-1);line-height:0}
body.v2 #main-content .lp-icon-wrap svg{width:28px;height:28px;fill:none;stroke:var(--ink-2);stroke-width:1.5}

/* drobný doplňkový text (dřív font-size:0.88rem;color:#888) */
body.v2 #main-content .lp-sub{font-size:.88rem;color:var(--ink-2);margin-bottom:var(--sp-1)}
body.v2 #main-content .lp-note{font-size:.86rem;color:var(--ink-3);margin-top:var(--sp-2)}
body.v2 #main-content .lp-app-hero .lp-note,
body.v2 #main-content .lp-cta .lp-note{color:var(--dark-muted)}
/* Zvýrazněný tip/upozornění uvnitř sekce (ne .lp-note - ten je jen
   tichý doplňkový text, tohle je barevně podložený box). */
body.v2 #main-content .lp-callout{
  background:var(--accent-soft);border-radius:var(--r-lg);padding:var(--sp-3);
  margin-top:var(--sp-3);color:var(--ink-2);font-size:.94rem;max-width:var(--measure);
}
/* Poslední krok časové osy, kdy dojde k deaktivaci - varovná barva
   místo běžné akcentové, ať vizuálně upozorní na tenhle rozdíl. */
body.v2 #main-content .lp-step-num--warn{background:#B3261E;color:#fff}
body.v2 #main-content .lp-muted{color:var(--ink-3)}
body.v2 #main-content .lp-accent{color:var(--accent)}

/* cena v ceníkové kartě (dřív inline font-size:1.8rem…) */
body.v2 #main-content .lp-price-value{
  display:block;margin:var(--sp-1) 0 2px;font-size:1.8rem;font-weight:700;
  letter-spacing:-.02em;color:var(--accent);line-height:1.1;
}

/* tlačítka: přes celou šířku / větší varianta */
body.v2 #main-content .lp-btn-block{width:100%}
body.v2 #main-content .lp-btn-lg{height:52px;padding:0 30px;font-size:1.02rem}

/* řádek s akcemi a s filtračními čipy */
body.v2 #main-content .lp-actions-row{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:var(--sp-3);
}
body.v2 #main-content .lp-chips-row{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:var(--sp-3);
}

/* sekce bez horního odsazení (navazuje na předchozí) */
body.v2 #main-content .lp-flush-top{padding-top:0}

/* karta s obrázkem nahoře (katalog okruhů) */
body.v2 #main-content .lp-card-cover{line-height:0;background:var(--dark-2)}
body.v2 #main-content .lp-card-cover img{
  width:100%;aspect-ratio:20/9;object-fit:cover;display:block;
}
body.v2 #main-content .lp-card-cover--empty{
  aspect-ratio:20/9;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#2a2035,var(--dark-2));
}
body.v2 #main-content .lp-card-cover--empty svg{width:34px;height:34px;fill:var(--app-accent)}
body.v2 #main-content .lp-card-body{padding:var(--sp-3)}

/* prázdný stav a vodorovně rolovatelná tabulka */
body.v2 #main-content .lp-empty{text-align:center;padding:var(--sp-5) var(--sp-3)}
body.v2 #main-content .lp-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* dvousloupcová sekce zarovnaná k horní hraně */
body.v2 #main-content .lp-two-col-top{align-items:start}

/* ══ RESPONZIVITA ══════════════════════════════════════════════════════ */
@media (max-width:1024px){
  body.v2 #main-content .lp-hero-inner{grid-template-columns:minmax(0,1fr);gap:32px}
  body.v2 #main-content .lp-hero-image{justify-self:start;max-width:440px}
  body.v2 #main-content .lp-hero-image img{aspect-ratio:16/10}
  body.v2 #main-content .lp-two-col{grid-template-columns:minmax(0,1fr);gap:var(--sp-4)}
  /* 4 karty na 768 px = 165 px na kartu → text po 20 znacích na řádek */
  body.v2 #main-content [class*="lp-cards"]{--cols:2!important}
    body.v2 #main-content .lp-stats-inner{
    grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.v2 #main-content .lp-stat-item:nth-child(odd){border-left:0}
  body.v2 #main-content .lp-stat-item:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:640px){
  body.v2 #main-content .lp-hero{padding-bottom:var(--sp-4)}
  body.v2 #main-content .lp-hero-image{display:none}
  body.v2 #main-content .lp-hero h1{font-size:clamp(1.6rem,7vw,2.1rem);max-width:none}
  body.v2 #main-content [class*="lp-cards"]{--cols:1!important}
  body.v2 #main-content .lp-price-includes,
  body.v2 #main-content .lp-checklist{grid-template-columns:minmax(0,1fr)}
  body.v2 #main-content .lp-shots-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.v2 #main-content .lp-btn-hero,
  body.v2 #main-content .lp-btn-hero-outline,
  body.v2 #main-content .lp-btn,
  body.v2 #main-content .lp-btn-outline,
  body.v2 #main-content .lp-price-card .lp-btn{width:100%}
  body.v2 #main-content .lp-step{grid-template-columns:30px 1fr;gap:12px}
  body.v2 #main-content .lp-faq-a{padding-right:0}
  body.v2 #main-content .lp-app-qr{display:none}
}

/* ══ EXPERIMENT: jemné orámování (.page-frame) na landing stránce ═══════
   Zkouška na /trial. Plnobarevný pás (.lp-section-alt) omezený na šířku
   karty už nepůsobí jako pás přes okno, ale jako nesourodá skvrna –
   uvnitř rámu proto střídání nahrazuje oddělovací linka, stejný princip
   jako už má .lp-stats. Vlastní boční/vnitřní odsazení sekcí (.container)
   zůstává, .page-frame__body proto přichází o svoje – jinak by se sčítalo. */
body.v2 #main-content .lp-framed{margin:var(--sp-3) 0 var(--sp-5)}
body.v2 #main-content .page-frame.lp-framed > .page-frame__body{padding:0}
body.v2 #main-content .lp-framed .lp-hero{margin-top:0}
body.v2 #main-content .lp-framed .lp-section-alt{
  background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
body.v2 #main-content .lp-framed .lp-section-alt:last-child{border-bottom:0}

/* ══ OKRUHY – DETAIL JEDNOHO OKRUHU (/okruhy/{slug}) ════════════════════
   Hero sdílí tmavý textový vzhled s .lp-app-hero (bílý nadpis, fialový
   odznak) – mění se jen pozadí: fotka trasy s tmavým přechodem místo
   plochého tónu appky. Fotku (pokud existuje) dosazuje JS přímo v šabloně
   přes el.style.backgroundImage; tahle vrstva definuje jen přechod
   a záložní barvu pro okruhy bez fotky. */
body.v2 #main-content .lp-tour-hero{
  background:linear-gradient(to bottom,rgba(12,11,17,.55),rgba(12,11,17,.85)),var(--dark) center/cover no-repeat;
}

body.v2 #main-content .lp-tour-stops{margin-top:var(--sp-3)}
body.v2 #main-content .lp-tour-stop{display:flex;gap:14px;align-items:flex-start;margin-bottom:var(--sp-2)}
body.v2 #main-content .lp-tour-stop-num{
  flex:0 0 34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:700;
}
body.v2 #main-content .lp-tour-stop-title{margin-bottom:4px}

body.v2 #main-content .lp-text-center{text-align:center}
body.v2 #main-content .lp-tour-cta-badges{margin-top:var(--sp-3)}
body.v2 #main-content .lp-tour-share{margin-top:var(--sp-4)}
body.v2 #main-content .lp-tour-share-label{margin-bottom:var(--sp-1)}
body.v2 #main-content .lp-tour-back{margin-top:var(--sp-3)}

/* memorial-sharing.css (sdílené s chráněnou memoriálovou kartou, tady
   se neupravuje) styluje ikony přes obyčejnou třídu; v2-base.css ale
   dává odkazům uvnitř #main-content `color:inherit` s vyšší specificitou
   (kvůli odkazům-nadpisům), takže by přebilo zamýšlenou barvu ikon. */
body.v2 #main-content .memorial-share-btn{color:rgba(80,60,40,.9)}
