/* ===========================================================================
   product-v2.css — nové produktové stránky UTMdev
   ---------------------------------------------------------------------------
   VŠECHNO je zapouzdřené pod .p2, takže se to nemůže potkat se style.css
   ani s Bootstrapem. Když se v2 vypne, tenhle soubor prostě nikdo nenačte.

   Paleta (firemní):  #F2CB40 žlutá · #242423 tmavá · #E8EDEB světlá
   Písma: Roboto (text) + Roboto Condensed (nadpisy a čísla)
   =========================================================================== */

.p2 {
    --p2-accent: #f2cb40;
    --p2-dark: #242423;
    --p2-tint: #e8edeb;
    --p2-line: #dee2e6;
    --p2-muted: #6c757d;
    --p2-text: #495057;

    font-family: "Roboto", Helvetica, Arial, sans-serif;
    color: var(--p2-dark);
    background: #fff;
    line-height: 1.5;
}

.p2 *,
.p2 *::before,
.p2 *::after { box-sizing: border-box; }

.p2 p { margin: 0; }
.p2 h1, .p2 h2, .p2 h3 { margin: 0; font-weight: 700; }
.p2 dl, .p2 dd, .p2 dt { margin: 0; }
.p2 figure { margin: 0; }
.p2 img { max-width: 100%; height: auto; }

.p2-cond { font-family: "Roboto Condensed", "Roboto", Helvetica, Arial, sans-serif; }

/* Šířka obsahu. Návrh je kreslený na 1440 px s odsazením 80 px, takže sloupec
   obsahu má 1280 px. Do 1. 9. 2026 tu bylo max-width 1280 VČETNĚ odsazení —
   obsah tím vycházel na 1136 px, o 11 % užší než návrh. Na stránce se to
   projevilo všude: užší karty, dřív zalomený text, delší stránka, a nad tím
   navigace v 1425 px širokém pruhu. Odsud „furt nic moc".
   Teď: 1440 celkem, obsah 1280, dole fluidní odsazení. */
.p2-wrap {
    max-width: 1440px;
    margin: 0 auto;
    padding-left: clamp(20px, 5.5vw, 80px);
    padding-right: clamp(20px, 5.5vw, 80px);
}

.p2-h1 { font-size: clamp(44px, 6vw, 74px); line-height: 0.98; letter-spacing: -0.015em; }
.p2-h2 { font-size: clamp(26px, 3.2vw, 32px); line-height: 1.15; }

.p2-note {
    font-size: 14px;
    line-height: 1.6;
    color: var(--p2-muted);
    margin-top: 14px;
}
.p2-note--wide { max-width: 780px; }

.p2-sec { padding: clamp(44px, 6vw, 68px) 0; }
.p2-sec--tint { background: var(--p2-tint); }

/* ------------------------------------------------------------------- hero */
.p2-hero {
    background: var(--p2-dark);
    color: #fff;
    /* navbar je fixed-top a měří ~66 px — hero pod něj nesmí zalézt */
    padding-top: 90px;
    padding-bottom: clamp(40px, 5vw, 58px);
}

.p2-hero-in {
    display: flex;
    align-items: center;
    gap: clamp(24px, 4vw, 40px);
    flex-wrap: wrap;
}

.p2-hero-text { flex: 1 1 420px; max-width: 760px; }

.p2-hero-img {
    flex: 0 1 400px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.p2-hero-img img { max-height: 400px; width: auto; }

/* Fotka stroje místo výřezu (SPC 1200). V návrhu je 367 × 549 a ořízne se
   na ten poměr — proto ne max-height, ale pevná výška. */
.p2-hero-img--foto { flex: 0 0 367px; }
.p2-hero-img--foto img {
    width: 367px;
    height: 549px;
    max-height: none;
    object-fit: cover;
}

.p2-eyebrow {
    font-size: 12.5px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--p2-accent);
}

.p2-lead {
    font-size: clamp(17px, 2vw, 20px);
    line-height: 1.45;
    font-weight: 300;
    color: var(--p2-tint);
    margin-top: 24px;
    max-width: 640px;
}

.p2-intro {
    font-size: 15px;
    line-height: 1.65;
    color: #adb5bd;
    margin-top: 18px;
    max-width: 640px;
}

.p2-actions {
    display: flex;
    gap: 16px;
    margin-top: 34px;
    align-items: center;
    flex-wrap: wrap;
}

.p2-btn,
.p2 a.p2-btn {
    display: inline-block;
    background: var(--p2-accent);
    color: var(--p2-dark);
    font-size: 14.5px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 16px 32px;
    border: 0;
    transition: background 0.15s ease;
}
.p2 a.p2-btn:hover,
.p2 a.p2-btn:focus { background: #e0b92c; color: var(--p2-dark); text-decoration: none; }

.p2-btn-ghost,
.p2 a.p2-btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 14.5px;
    text-decoration: none;
    padding: 15px 6px;
    border-bottom: 1px solid var(--p2-muted);
    transition: border-color 0.15s ease;
}
.p2 a.p2-btn-ghost:hover,
.p2 a.p2-btn-ghost:focus { color: #fff; border-bottom-color: var(--p2-accent); text-decoration: none; }

/* ------------------------------------------------------- žlutý pás s čísly */
.p2-band { background: var(--p2-accent); }

/* Flex, ne grid s pevným počtem sloupců: každý produkt má jiný počet údajů
   (Scooper tři, jiné stroje čtyři) a pás se má rozdělit sám. */
.p2-band-in {
    display: flex;
    flex-wrap: wrap;
}

.p2-band-cell {
    flex: 1 1 200px;
    padding: 28px clamp(14px, 2vw, 34px);
    border-right: 1px solid rgba(36, 36, 35, 0.18);
}
.p2-band-cell:last-child { border-right: 0; }
/* první a poslední buňka lícují s okrajem textu ve wrapu */
.p2-band-cell:first-child { padding-left: 0; }
.p2-band-cell:last-child { padding-right: 0; }

.p2-band-value { font-size: clamp(26px, 3.2vw, 42px); font-weight: 700; line-height: 1; white-space: nowrap; }
.p2-band-value span { font-size: 0.52em; }

.p2-band-label {
    font-size: 12px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-top: 8px;
    color: #4a4a45;
}

/* ------------------------------------------------------ dvousloupcová sekce */
.p2-split {
    display: flex;
    gap: clamp(28px, 5vw, 76px);
    align-items: flex-start;
    flex-wrap: wrap;
}
.p2-split-side { flex: 0 1 300px; min-width: 240px; }
.p2-split-main { flex: 1 1 420px; }

/* -------------------------------------------------------- tabulka parametrů */
.p2-spec-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 24px;
    padding: 16px 0;
    border-top: 1px solid var(--p2-tint);
}
.p2-spec-row:first-child { border-top: 2px solid var(--p2-dark); }
.p2-specs { border-bottom: 1px solid var(--p2-tint); }

.p2-spec-row dt { font-size: 15px; color: var(--p2-text); font-weight: 400; }
.p2-spec-row dd { font-size: clamp(16px, 2vw, 20px); font-weight: 700; text-align: right; }

/* ------------------------------------------------------------ přínosy 2×2 */
.p2-gains {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 38px clamp(28px, 5vw, 66px);
    margin-top: 40px;
}

.p2-gain { display: flex; gap: 20px; align-items: flex-start; }

.p2-gain-num {
    font-size: 38px;
    font-weight: 700;
    color: var(--p2-accent);
    line-height: 0.9;
    width: 52px;
    flex-shrink: 0;
}
.p2-gain-h { font-size: 17.5px; font-weight: 500; }
.p2-gain-p { font-size: 14.5px; line-height: 1.6; color: var(--p2-text); margin-top: 7px; }

/* --------------------------------------------------------- galerie s kroky */
.p2-steps {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 32px;
}

/* Sloupec, aby popisek dorostl do výšky řádku. Bez toho se u kratšího
   popisku ukáže pod ním tmavé pozadí figury — dlaždice v řádku mají
   společnou výšku podle té s nejdelším textem. */
.p2-step {
    border: 1px solid var(--p2-line);
    background: #1a1a1a;
    display: flex;
    flex-direction: column;
}

.p2-step-media { position: relative; flex: 0 0 auto; }

.p2-step-media img {
    display: block;
    width: 100%;
    /* Výšku dlaždice si řídí stránka (parts/gallery.html.twig, parametr tileH),
       protože každý stroj má v návrhu jinou — SPC 230, PT 8 260, SPC 1200 320,
       TTS 190 380. Výchozích 300 px platí, když se nic nepředá. */
    height: var(--p2-tile-h, 300px);
    object-fit: cover;
}

.p2-step-num {
    position: absolute;
    top: 10px;
    left: 10px;
    background: rgba(36, 36, 35, 0.85);
    color: var(--p2-accent);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    padding: 3px 8px;
}

.p2-step-cap {
    padding: 14px 16px;
    background: #fff;
    border-top: 1px solid var(--p2-line);
    flex: 1 1 auto;
}
.p2-step-cap b {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--p2-dark);
    margin-bottom: 3px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
.p2-step-cap span { font-size: 13px; line-height: 1.5; color: var(--p2-muted); }

/* ------------------------------------------------------------------ video */
.p2-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 62px;
    height: 62px;
    border-radius: 50%;
    border: 0;
    background: rgba(36, 36, 35, 0.72);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: background 0.15s ease, transform 0.15s ease;
}
.p2-play:hover,
.p2-play:focus {
    background: var(--p2-accent);
    color: var(--p2-dark);
    transform: translate(-50%, -50%) scale(1.06);
    outline: none;
}
.p2-play svg { margin-left: 3px; }

.p2-video video {
    display: block;
    width: 100%;
    height: 300px;
    object-fit: cover;
    background: #000;
}

/* ------------------------------------------------------- rozměry (3 sloupce) */
.p2-dims {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 clamp(24px, 4vw, 56px);
    margin-top: 22px;
}
.p2-dim { padding: 14px 0; border-top: 1px solid var(--p2-line); }
.p2-dim dt { font-size: 13px; color: var(--p2-muted); }
.p2-dim dd { font-size: 18px; font-weight: 700; margin-top: 3px; }

/* ------------------------------------- řetězec přípravy vzorků (pruh)

   Sesterský pruh k teplotní řadě, jen s šipkami mezi kroky. Flex, ne mřížka:
   kroky mají různě dlouhá jména a šipka mezi nimi nesmí dostat vlastní sloupec. */
.p2-retez {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 14px;
}

.p2-retez-sip { color: #adb5bd; flex-shrink: 0; align-self: center; }

.p2-retez-item,
.p2 a.p2-retez-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    background: #ffffff;
    border: 1px solid var(--p2-line);
    padding: 12px 20px;
    text-decoration: none;
    color: var(--p2-dark);
    transition: border-color 0.15s ease, transform 0.15s ease;
}
.p2 a.p2-retez-item:hover,
.p2 a.p2-retez-item:focus {
    border-color: var(--p2-accent);
    transform: translateY(-2px);
    text-decoration: none;
    color: var(--p2-dark);
}

.p2-retez-item--on { background: var(--p2-accent); border-color: var(--p2-accent); }

.p2-retez-name { font-size: 19px; font-weight: 700; line-height: 1.15; }
.p2-retez-sub { font-size: 12.5px; line-height: 1.4; color: var(--p2-muted); }
.p2-retez-item--on .p2-retez-sub { color: #4a4a45; }

/* --------------------------------------------------- pro jaké materiály

   Karta se skupinou materiálů a řádkem značek pod ní. Značky jsou vizuálně
   samostatné prvky schválně — zákazník v nich hledá svou ocel očima.        */
.p2-mats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 30px;
}

.p2-mat {
    background: #ffffff;
    border: 1px solid var(--p2-line);
    border-top: 4px solid var(--p2-accent);
    padding: 22px 26px 24px;
}
.p2-sec--tint .p2-mat { background: #ffffff; }

.p2-mat-h { font-size: 21px; line-height: 1.2; }
.p2-mat-p { font-size: 14px; line-height: 1.6; color: var(--p2-muted); margin-top: 8px; }

.p2-mat-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.p2-mat-tag {
    font-size: 14px;
    font-weight: 700;
    background: var(--p2-tint);
    color: var(--p2-dark);
    padding: 5px 11px;
}
.p2-sec--tint .p2-mat-tag { background: var(--p2-tint); }

.p2-uses { margin-top: 26px; }
.p2-uses-label {
    font-size: 12.5px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--p2-muted);
}
.p2-uses-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 34px;
    margin-top: 14px;
}
.p2-uses-grid p { font-size: 14.5px; line-height: 1.55; color: var(--p2-text); }

/* --------------------------------------------------------- časté dotazy */
.p2-faq {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 40px;
    margin-top: 28px;
}
.p2-faq-q { font-size: 19px; line-height: 1.25; }
.p2-faq-a { font-size: 14.5px; line-height: 1.6; color: var(--p2-text); margin-top: 8px; }

/* ------------------------------------------------- tmavá sekce (dodávka) */
/* ---------------------------------------------------- pruh o projektu (SPC 1200) */
.p2-projekt-sec {
    padding: clamp(34px, 3.4vw, 44px) 0;
    border-bottom: 1px solid #dee2e6;
}

.p2-projekt {
    display: flex;
    gap: 48px;
    align-items: flex-start;
}

.p2-projekt-text { flex: 1 1 auto; max-width: 900px; }
.p2-projekt-p {
    font-size: 14.5px;
    line-height: 1.65;
    color: var(--p2-text);
    margin-top: 10px;
    text-wrap: pretty;
}

.p2-projekt-fakt {
    flex: 0 0 240px;
    border-left: 3px solid var(--p2-accent);
    padding-left: 20px;
}

.p2-projekt-k {
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--p2-muted);
}

.p2-projekt-v { font-size: 22px; font-weight: 700; line-height: 1.2; margin-top: 6px; }
.p2-projekt-note { font-size: 13.5px; line-height: 1.5; color: var(--p2-muted); margin-top: 6px; }

.p2-h2--small { font-size: 26px; }

.p2-sec--dark { background: var(--p2-dark); color: #ffffff; }
.p2-sec--dark .p2-h2 { color: #ffffff; }
.p2-sec--dark .p2-note { color: #adb5bd; }
.p2-sec--dark .p2-card {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.18);
    border-top-color: var(--p2-accent);
}
.p2-sec--dark .p2-card-h { color: #ffffff; }
.p2-sec--dark .p2-card-p { color: #adb5bd; }
.p2-sec--dark .p2-card-tag { color: var(--p2-accent); }
.p2-sec--dark .p2-card-row dt { color: #adb5bd; }
.p2-sec--dark .p2-card-row dd { color: #ffffff; }

/* ------------------------------------------- teplotní řada (pruh pod pásem)

   Pruh sedí hned pod žlutým pásem s čísly, proto je užší než běžná sekce
   (--slim) a má linku dole, aby se neslil se sekcí pod sebou. Pět dlaždic
   v mřížce; aktivní stroj je žlutý a není odkaz.                            */
.p2-sec--slim { padding: 28px 0 30px; border-bottom: 1px solid var(--p2-line); }
.p2-sec--slim.p2-sec--tint { border-bottom-color: #d3dbd8; }

.p2-rada-h {
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--p2-muted);
    font-weight: 400;
}

.p2-rada {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.p2-rada-item,
.p2 a.p2-rada-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    background: #ffffff;
    border: 1px solid var(--p2-line);
    padding: 14px 18px 16px;
    text-decoration: none;
    color: var(--p2-dark);
    transition: border-color 0.15s ease, transform 0.15s ease;
}
.p2 a.p2-rada-item:hover,
.p2 a.p2-rada-item:focus {
    border-color: var(--p2-accent);
    transform: translateY(-2px);
    text-decoration: none;
    color: var(--p2-dark);
}

.p2-rada-item--on { background: var(--p2-accent); border-color: var(--p2-accent); }

.p2-rada-name { font-size: 19px; font-weight: 700; line-height: 1.15; }
.p2-rada-temp { font-size: 14.5px; font-weight: 700; color: var(--p2-muted); }
.p2-rada-text { font-size: 12.5px; line-height: 1.45; color: var(--p2-muted); margin-top: 6px; }

/* na žlutém podkladu je šedá #6c757d málo čitelná */
.p2-rada-item--on .p2-rada-temp,
.p2-rada-item--on .p2-rada-text { color: #4a4a45; }

.p2-rada-note { max-width: 980px; font-size: 12.5px; }

/* ------------------------------------------------- navazující zařízení */
.p2-chain {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 28px;
}

.p2-chain-item,
.p2 a.p2-chain-item {
    display: block;
    background: #ffffff;
    border: 1px solid var(--p2-line);
    border-top: 4px solid var(--p2-line);
    padding: 20px 22px;
    text-decoration: none;
    color: var(--p2-dark);
    transition: border-top-color 0.15s ease, transform 0.15s ease;
}
.p2 a.p2-chain-item:hover,
.p2 a.p2-chain-item:focus {
    border-top-color: var(--p2-accent);
    transform: translateY(-2px);
    text-decoration: none;
    color: var(--p2-dark);
}

.p2-chain-name { display: block; font-size: 20px; font-weight: 700; }
.p2-chain-sub { display: block; font-size: 13px; line-height: 1.45; color: var(--p2-muted); margin-top: 6px; }

.p2-chain-all { margin-top: 22px; font-size: 14.5px; }
.p2-chain-all a { color: #8a6d00; text-decoration: underline; }
.p2 .p2-chain-all a:hover { color: #5c4900; }

/* ------------------------------------------------------------ závěrečná výzva */
.p2-cta {
    background: var(--p2-dark);
    color: #fff;
    padding: clamp(40px, 5vw, 58px) 0;
}
.p2-cta-in {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(24px, 4vw, 56px);
    flex-wrap: wrap;
}
.p2-cta-text { max-width: 700px; }
.p2-cta-p { font-size: 15.5px; line-height: 1.6; color: #adb5bd; margin-top: 12px; }

/* -------------------------------------------- leták + formulář (patička sekce) */
.p2-foot {
    display: flex;
    gap: clamp(28px, 4vw, 56px);
    align-items: flex-start;
    flex-wrap: wrap;
}
.p2-foot-doc { flex: 1 1 380px; }
.p2-foot-form { flex: 1 1 420px; }
.p2-foot-doc .material { margin-top: 24px; }
/* formulář si nese vlastní styly ze style.css — jen ho pustíme na plnou šířku */
.p2-foot-form .contact-form { max-width: none; }

/* =============================================================== responzivita */
@media (max-width: 991px) {
    /* na užších displejích se buňky zalomí do dvou sloupců; první v řádku
       musí lícovat s levým okrajem obsahu, poslední nemá kreslit svislou
       linku do prázdna */
    .p2-band-cell { flex-basis: 45%; }
    .p2-band-cell:nth-child(odd) { padding-left: 0; }
    .p2-band-cell:nth-child(even) { padding-right: 0; border-right: 0; }
    .p2-dims { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .p2-chain { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    /* pět dlaždic vedle sebe se pod 992 px nevejde čitelně */
    .p2-rada { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .p2-uses-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
    .p2-hero-in { flex-direction: column; align-items: flex-start; }
    .p2-hero-img { align-self: center; margin-top: 8px; }
    .p2-projekt { flex-direction: column; gap: 22px; }
    .p2-projekt-fakt { flex: 0 0 auto; }
    .p2-hero-img--foto { flex: 0 1 auto; }
    .p2-hero-img--foto img { width: 100%; max-width: 367px; height: auto; }
    .p2-gains { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .p2-rada { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .p2-mats { grid-template-columns: minmax(0, 1fr); }
    .p2-faq { grid-template-columns: minmax(0, 1fr); }
    .p2-steps { grid-template-columns: minmax(0, 1fr); }
    .p2-spec-row { flex-direction: column; gap: 2px; }
    .p2-spec-row dd { text-align: left; }
    .p2-cta-in { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 575px) {
    .p2-band-cell { flex-basis: 100%; border-right: 0; padding-left: 0; padding-right: 0; border-bottom: 1px solid rgba(36, 36, 35, 0.18); }
    .p2-band-cell:last-child { border-bottom: 0; }
    .p2-dims { grid-template-columns: minmax(0, 1fr); }
    .p2-chain { grid-template-columns: minmax(0, 1fr); }
    .p2-rada { grid-template-columns: minmax(0, 1fr); }
    /* svislý seznam kroků; vodorovná šipka by v něm nedávala smysl */
    .p2-retez { flex-direction: column; }
    .p2-retez-sip { display: none; }
    .p2-actions { flex-direction: column; align-items: stretch; }
    .p2-btn { text-align: center; }
}

/* ------------------------------------------------------------------- tisk */
@media print {
    .p2-hero, .p2-cta { background: #fff !important; color: #000 !important; }
    .p2-intro, .p2-cta-p { color: #333 !important; }
    .p2-play { display: none; }
}

/* ===========================================================================
   Sekce doplněné 29. 8. 2026 pro zbývajících sedm strojů
   ---------------------------------------------------------------------------
   Scooper 50 vystačil s hero + pás + parametry + přednosti + galerie + rozměry.
   Řada SPC potřebuje navíc karty (provedení zatěžování, volba patrony, jak
   získat vzorky), SPC 1200 štítek „novinka“ a fakta o projektu, PIIS jednu
   širokou dlaždici. Všechno zůstává pod .p2.
   =========================================================================== */

/* Štítek nad eyebrow v hero — zatím jen SPC 1200 („Novinka v produktové řadě“) */
.p2-badge {
    display: inline-block;
    background: var(--p2-accent);
    color: var(--p2-dark);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 4px 10px;
    margin-bottom: 14px;
}

/* Druhá poznámka v postranním sloupci u Technických parametrů. */
.p2-note--sep {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--p2-line);
}

/* ------------------------------------------------------------------- karty */
.p2-cards {
    display: grid;
    gap: 20px;
    margin-top: 32px;
}
.p2-cards--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.p2-cards--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.p2-cards--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.p2-card {
    border: 1px solid var(--p2-line);
    border-top: 3px solid var(--p2-accent);
    background: #fff;
    padding: 24px;
    display: flex;
    flex-direction: column;
}

/* Nadpis karty a štítek vedle sebe na účaří — tak je to v návrhu. */
.p2-card-head {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.p2-card-head .p2-card-h { margin-bottom: 0; }

.p2-card-tag {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--p2-muted);
    margin-bottom: 8px;
}

/* Velikost nadpisu karty se v návrhu řídí počtem sloupců: dvě karty vedle
   sebe unesou 26 px, tři 21 px, čtyři 20 px. Jedna hodnota pro všechno
   znamená buď drobný nadpis u dvojice, nebo zalomený u čtveřice. */
.p2-card-h {
    font-size: 21px;
    line-height: 1.2;
    margin-bottom: 10px;
}

.p2-cards--two .p2-card-h { font-size: 26px; }
.p2-cards--four .p2-card-h { font-size: 20px; }

/* Nadpisy karet byly do 1. 9. 2026 VERZÁLKAMI. V návrhu nikdy nebyly a na
   stránkách s pěti skupinami karet (TTS 190) z toho byla stěna velkých písmen,
   která se špatně čte. Verzálky na stránce zůstávají tam, kde je má i návrh:
   eyebrow, tlačítka, popisky ve žlutém pásu, štítky karet, nadpisky dlaždic
   v galerii a nadpis pruhu s řadou. */

.p2-card-sym {
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    color: var(--p2-dark);
    margin-bottom: 6px;
}

.p2-card-sym sub {
    font-size: 0.57em;
    vertical-align: baseline;
    position: relative;
    bottom: -0.12em;
}

/* Pod značkou veličiny nese hlavní váhu ta značka, ne nadpis — proto je
   nadpis menší a bez tučného řezu, jak to má návrh (TTS 190). */
.p2-card-h--sub {
    font-size: 16px;
    font-weight: 500;
}

.p2-card-p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--p2-text);
    flex: 1 1 auto;
}

/* Dvojice název/hodnota uvnitř karty. */
.p2-card-list { margin-top: 18px; border-top: 1px solid var(--p2-line); }
.p2-card-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0;
    border-bottom: 1px solid var(--p2-line);
    font-size: 13px;
}
.p2-card-row dt { color: var(--p2-muted); }
.p2-card-row dd { font-weight: 700; text-align: right; }

/* Poznámka pod skupinou karet — u patrony nese upozornění k mini geometrii. */
.p2-callout {
    margin-top: 24px;
    padding: 16px 20px;
    background: #fff;
    border-left: 3px solid var(--p2-accent);
    font-size: 14px;
    line-height: 1.6;
    color: var(--p2-text);
}
.p2-sec:not(.p2-sec--tint) .p2-callout { background: var(--p2-tint); }

/* --------------------------------------------------- varianty mřížky dlaždic */
.p2-steps--1 { grid-template-columns: minmax(0, 1fr); }
.p2-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.p2-steps--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Fotky vyříznuté ze skenů letáků mají rozházené poměry stran. Cover by je
   ořezal přes půlku stroje, proto contain na světlém podkladu. */
/* Fotka se do dlaždice vejde celá a co zbyde, je TMAVÉ — přesně jak to má
   návrh (figure má background #1a1a1a). Do 1. 9. 2026 tu byla světlá #f4f4f2
   a fotky na ní plavaly v bílém rámu; vypadalo to lacině. */
.p2-steps--fit .p2-step-media img {
    object-fit: contain;
    background: #1a1a1a;
}

/* Jedna široká dlaždice (PIIS 3000 — vizualizace variant uchycení). */
.p2-steps--1 .p2-step-media img { height: 420px; }

/* Formulář bez bloku s letákem (SPC 1200 leták zatím nemá).
   .p2-foot je flexbox, takže se šířka řídí flex-basis, ne mřížkou. */
.p2-foot--solo .p2-foot-form { flex: 1 1 100%; }

@media (max-width: 991px) {
    .p2-cards--three,
    .p2-cards--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .p2-steps--3,
    .p2-steps--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .p2-steps--1 .p2-step-media img { height: 320px; }
}

@media (max-width: 767px) {
    .p2-cards--two,
    .p2-cards--three,
    .p2-cards--four { grid-template-columns: minmax(0, 1fr); }
    .p2-steps--3,
    .p2-steps--4 { grid-template-columns: minmax(0, 1fr); }
    .p2-card { padding: 20px; }
    .p2-card-h { font-size: 19px; }
    .p2-steps--1 .p2-step-media img { height: 220px; }
}

/* ---------------------------------------------------------------------------
   Oprava přetečení na mobilu (nalezeno 29. 8. při vykreslení všech osmi stránek)

   style.css má pro `.no-gutters-xs` pod 576 px zápornou marži −25 px a šířku
   calc(100% + 50px). Bylo to napsané pro starou produktovou stránku, jejíž
   obal měl přesně 25 px odsazení — formulář tím šel od kraje ke kraji. V2 má
   odsazení jiné (clamp v .p2-wrap), takže tam ta záporná marže přečuhuje
   o 5 px a stránka jde vodorovně posunout.

   Uvnitř .p2 to proto rušíme. Týká se to i Scooperu, který je už na webu.
   --------------------------------------------------------------------------- */
@media (max-width: 575.98px) {
    .p2 .no-gutters-xs {
        margin-left: 0;
        margin-right: 0;
        margin-top: 0;
        width: 100%;
    }
}

/* Vložené video (YouTube) — poměr 16:9, bez pevné výšky. */
.p2-embed {
    position: relative;
    margin-top: 32px;
    padding-top: 56.25%;
    background: #1a1a1a;
    border: 1px solid var(--p2-line);
}
.p2-embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
}
