/* ==========================================================================
   aom-brand.css v3 – design systém webu Autodoprava AOM nad Netzon baseline (custom.css, needitovat).
   PRINCIP: Netzon dodává layout gridů a základní komponenty; tahle vrstva definuje ZNAČKU a RYTMUS:
     • tokeny (barvy, poloměry, odstupy sekcí, výplně karet, mezery mřížek, škála) – blok 1,
     • jedna rodina tlačítek (grafit = primární na světlém, žlutá = primární na tmavém) – blok 3,
     • jednotné karty, ikonové boxy, odrážky, tabulky – bloky 7–9, 14,
     • rytmus: každá sekce `padding: var(--sec) 0`, výjimky jen hero/pruhy/patička – blok 24.
   Paleta: grafit #1D262B · oranžová #FF7900 (operátor 2026-09-23; dřív stavební #FE5000)
   · tmavá oranžová #AE5200 (text na světlém, 5.2 : 1 na bílé, 4.6 : 1 na betonu) · beton #F2F0EB · text #4E585E.
   Bílé písmo na oranžové má 2.6 : 1 a oranžový text na bílé též → na oranžové je vždy grafit (5.9 : 1),
   na světlém se oranžová píše tmavým odstínem, jako text svítí jen na grafitu (5.9 : 1).
   ========================================================================== */

/* 0) Písmo Sora – self-host (bez Google Fonts). */
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 400; font-display: swap; src: url('../webfonts/sora/sora-400-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 400; font-display: swap; src: url('../webfonts/sora/sora-400-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 600; font-display: swap; src: url('../webfonts/sora/sora-600-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 600; font-display: swap; src: url('../webfonts/sora/sora-600-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 700; font-display: swap; src: url('../webfonts/sora/sora-700-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 700; font-display: swap; src: url('../webfonts/sora/sora-700-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 800; font-display: swap; src: url('../webfonts/sora/sora-800-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Sora'; font-style: normal; font-weight: 800; font-display: swap; src: url('../webfonts/sora/sora-800-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* 1) Tokeny značky a rytmu. Netzon staví na :root proměnných – přebarvení je jedna sada hodnot. */
:root {
  --primary-color: #1D262B;
  --secondary-color: #F2F0EB;
  --text-color: #4E585E;
  --accent-color: #FF7900;
  --accent-secondary-color: #1D262B;
  /* Operátor 2026-09-24: text v akcentu je táž oranžová jako plochy (dřív tmavší #AE5200).
     Na bílé má 2,6 : 1, na betonu 2,4 : 1 – pod WCAG AA; přijato vědomě, stejně jako bílé
     písmo na oranžových tlačítkách. Odkazy a popisky nesou i jiný signál než barvu
     (podtržení, tučnost, verzálky), takže samotná barva není jediný rozlišovač. */
  --accent-text-color: #FF7900;
  --accent-soft: rgba(255, 121, 0, 0.13);
  --accent-mark: rgba(255, 121, 0, 0.29);    /* alfa přepočtená na stejnou optickou váhu na bílé (světlejší akcent → vyšší alfa) */
  --bg-color: #FFFFFF;
  --white-color: #FFFFFF;
  --divider-color: rgba(29, 38, 43, 0.10);
  --dark-divider-color: rgba(255, 255, 255, 0.14);
  --grafit-2: #2B3740;
  --grafit-3: #3A4852;
  --shadow-card: 0 18px 44px rgba(29, 38, 43, 0.10);
  --shadow-soft: 0 6px 18px rgba(29, 38, 43, 0.06);
  --r-card: 18px;
  --r-btn: 12px;
  --r-icon: 16px;
  --sec: 96px;            /* svislý odstup každé sekce nahoře i dole */
  --sec-title: 32px;      /* mezera pod blokem nadpisu sekce – 48 → 32 (operátor 2026-09-24: text nad kartou nebo tabulkou k ní blíž) */
  --aom-sticky-h: 68px;   /* skutečná výška přilepené lišty (audit 2026-09-23) */
  --aom-anchor: 138px;    /* kam doskočí odkaz na kotvu: 30 px odsazení hlavičky + 92 px její výška + 16 px vzduch */
  --aom-radius: var(--r-card);
  /* ODSTUPY – násobky 4 px. Karta má dvě výplně, mřížka dva rozestupy, nadpis dva odstupy k textu.
     Nic jiného se v CSS nepíše číslem: když se objeví jiná hodnota, je to chyba, ne varianta. */
  --pad-s: 20px;          /* kompaktní dlaždice a boxy (důvody, zakázky, příklady, pásma, „V ceně je“) */
  --pad-m: 28px;          /* standardní karta (služby, kroky, park, hodnoty, kontakt, poptávka, patří/nepatří) */
  --pad-l: 40px;          /* velký panel (formulář, banner dokladů) */
  --gap-grid: 16px;       /* mřížka dlaždic, seznamů a řad tlačítek mimo Bootstrap .row */
  --gap-col: 30px;        /* vlastní dvousloupce a svislé mezery karet = Bootstrap gutter (15 + 15) */
  --gap-chip: 8px;        /* štítky a drobné položky v řadě (obce, odkazy mapy, patička, lišta; chipy v heru mají --gap-grid = mezeru tlačítek) */
  --gap-icon: 10px;       /* ikona vedle textu (nadpis s ikonou, tlačítko, popisek, přepínač formuláře) */
  --stack-h2: 16px;       /* nadpis bloku → jeho text */
  --stack-h3: 10px;       /* nadpis karty → její text */
  --stack-block: 48px;    /* blok → blok uvnitř sekce (= --sec-title) */
  --stack-media: 40px;    /* fotka → text ve svislém stohu: hrana fotky nemá řádkový proklad, proto víc než --gap-col (audit 2026-09-23) */
  /* ČÍSLICE mimo text: ceny a čísla v kruzích 22 px, velká čísla (rok, počet vozů, telefon v poptávce) 34 px. */
  --fs-num-m: 22px;
  --fs-num-l: 34px;
}
@media only screen and (max-width: 991px) { :root { --sec: 72px; --sec-title: 26px; --stack-block: 36px; --aom-anchor: 88px; } }   /* mobil: hlavička 72 px + 16 px vzduch */
@media only screen and (max-width: 575px) { :root { --sec: 56px; --sec-title: 22px; --stack-block: 28px; --pad-m: 24px; --pad-l: 28px; } }
html { scroll-padding-top: var(--aom-anchor); scroll-padding-bottom: calc(var(--aom-sticky-h) + 16px); }
body { background: var(--bg-color); font-size: 17px; line-height: 1.6; -webkit-font-smoothing: antialiased; }
/* Řádkování: odstavec 1,65 · položka seznamu, buňka, hodnota 1,6 · nadpisy 1,15–1,3 (blok 5). Jinde se nepíše. */
p { line-height: 1.65; }
li, dd, td, th { line-height: 1.6; }
small { font-size: 13px; }   /* prohlížeč dává small 0,875em = 13,125 px v 15px odstavci; drží se škála 13 */
::selection { background: var(--accent-color); color: var(--primary-color); }

/* 2) Čeština: bez title-case. Magic cursor pryč. */
.btn-default, .readmore-btn, .section-sub-title h3, .section-title h3, .main-menu ul li a,
.slicknav_nav li a, .slicknav_nav .slicknav_row, .section-footer-text p a, .footer-menu ul li a,
.page-header-box ol li.breadcrumb-item, .contact-info-content h3, .our-value-item-content h3,
.how-work-item-content h3, .service-item-title h3, .why-choose-item-content h3 { text-transform: none !important; }
/* `.section-eyebrow` do seznamu výše NEPATŘÍ – verzálky popisku sekce řídí blok 6. */

/* 3) Tlačítka – dvě role, jedna barva na roli, nezávisle na pozadí:
        • `.btn-default.btn-highlighted` = HLAVNÍ akce (vždy telefon) → oranžová s grafitovým písmem.
          Bílé písmo na oranžové má kontrast 2.6 : 1 (WCAG AA vyžaduje 4,5 : 1), grafit má 5.9 : 1 – proto grafit.
        • `.btn-default` = doplňková akce → na světlém grafit plný + bílé písmo (13,9 : 1),
          na tmavém pozadí bílý obrys (grafit na grafitu není vidět).
      Šipka = Netzon ::before; přes `mask` bere barvu písma, takže je čitelná v obou variantách. */
.btn-default {
  display: inline-flex; align-items: center; gap: var(--gap-icon);
  background: var(--primary-color); color: var(--white-color);
  border: 1px solid var(--primary-color); border-radius: var(--r-btn);
  font-size: 15px; font-weight: 700; line-height: 1.25; letter-spacing: 0.005em;
  padding: 15px 46px 15px 22px; box-shadow: var(--shadow-soft);
  transition: background 0.25s, color 0.25s, border-color 0.25s, transform 0.25s, box-shadow 0.25s;
}
.btn-default::before { right: 20px; width: 13px; height: 13px; background: currentColor; background-image: none; -webkit-mask: url('../images/arrow-white.svg') center / contain no-repeat; mask: url('../images/arrow-white.svg') center / contain no-repeat; }
.btn-default:hover, .btn-default:focus-visible { background: var(--grafit-3); color: var(--white-color); border-color: var(--grafit-3); transform: translateY(-2px); box-shadow: 0 12px 26px rgba(29, 38, 43, 0.18); }
.btn-default:hover::before { transform: translateY(-50%) rotate(45deg); }
/* hlavní akce – oranžová všude, BÍLÉ písmo i ikona (operátor 2026-09-23: na všech tlačítkách s oranžovým pozadím
   bílý text; kontrast 2,6 : 1 přijat vědomě, dřív grafit) */
.btn-default.btn-highlighted, .dark-section .btn-default.btn-highlighted, .aom-hero .btn-default.btn-highlighted, .aom-footer .btn-default.btn-highlighted {
  background: var(--accent-color); color: var(--white-color); border-color: var(--accent-color); padding: 15px 46px 15px 22px; box-shadow: 0 8px 22px rgba(255, 121, 0, 0.31);
}
.btn-default.btn-highlighted:hover, .btn-default.btn-highlighted:focus-visible,
.dark-section .btn-default.btn-highlighted:hover, .aom-hero .btn-default.btn-highlighted:hover, .aom-footer .btn-default.btn-highlighted:hover {
  background: var(--primary-color); color: var(--white-color); border-color: var(--primary-color); box-shadow: 0 12px 26px rgba(29, 38, 43, 0.22);
}
.btn-default.btn-highlighted::after { display: none; }   /* Netzon bílá výplň zprava – nahrazena prostým invertem */
/* doplňková akce na tmavém pozadí = bílý obrys */
.dark-section .btn-default, .aom-hero .btn-default, .aom-footer .btn-default, .aom-poptavka-tel .btn-default {
  background: transparent; color: var(--white-color); border-color: rgba(255, 255, 255, 0.55); box-shadow: none;
}
.dark-section .btn-default:hover, .aom-hero .btn-default:hover, .aom-footer .btn-default:hover, .aom-poptavka-tel .btn-default:hover {
  background: var(--white-color); color: var(--primary-color); border-color: var(--white-color);
}
.btn-default .aom-icon { width: 18px; height: 18px; flex: 0 0 18px; }
.readmore-btn { color: var(--accent-text-color); font-weight: 700; font-size: 15px; padding-right: 24px; }
.readmore-btn::before { background: currentColor; background-image: none; -webkit-mask: url('../images/arrow-white.svg') center / contain no-repeat; mask: url('../images/arrow-white.svg') center / contain no-repeat; width: 12px; height: 12px; }
.readmore-btn:hover { color: var(--primary-color); }
.dark-section .readmore-btn, .aom-hero .readmore-btn { color: var(--accent-color); }
.dark-section .readmore-btn:hover, .aom-hero .readmore-btn:hover { color: var(--white-color); }
a { color: var(--accent-text-color); }
a:hover { color: var(--primary-color); }
.section-footer-text p a, .aom-faq-link, .aom-cenik-note a { color: var(--accent-text-color); text-decoration: underline; text-decoration-color: var(--accent-color); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.section-footer-text p a:hover { color: var(--primary-color); }

/* 4) Přístupnost: skip-link, fokus, omezený pohyb. */
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 100000; padding: 12px 20px; background: var(--primary-color); color: var(--white-color); font-weight: 600; border-radius: 0 0 8px 0; text-decoration: none; }
.skip-link:focus { left: 0; }
a:focus-visible, button:focus-visible, [role='button']:focus-visible, input:focus-visible, textarea:focus-visible,
select:focus-visible, summary:focus-visible, .btn-default:focus-visible, .readmore-btn:focus-visible {
  outline: 3px solid var(--accent-text-color) !important; outline-offset: 3px; border-radius: 4px;
}
.dark-section a:focus-visible, .dark-section button:focus-visible, .aom-footer a:focus-visible, .aom-footer button:focus-visible,
.aom-hero a:focus-visible, .aom-sticky a:focus-visible { outline-color: var(--accent-color) !important; }
.skip-link:focus, .skip-link:focus-visible { outline: 3px solid var(--accent-color) !important; outline-offset: -6px; }
.aom-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) {
  /* Univerzální pravidlo místo výčtu tříd: dřívější seznam jmenoval animace Netzonu, které už
     na webu nejsou, a nové by nepokryl. Pohyb se nevypíná úplně (0 ms by zrušilo i události
     `transitionend`), jen zkrátí na neznatelný. */
  *, *::before, *::after {
    animation-duration: 0.01ms !important; animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important; scroll-behavior: auto !important;
  }
  .reveal { visibility: visible !important; }
  .reveal::after { display: none !important; }
  .aom-ring-bar { stroke-dashoffset: 0 !important; }
  .btn-default:hover { transform: none !important; }
}

/* 5) TYPOGRAFICKÁ ŠKÁLA – šest úrovní nadpisů, žádná jiná velikost na webu není:
        L0 hero h1             clamp(2.7rem → 4.4rem) / 800 / +0.01em  (jen titulní strana – blok 11; jediný nadpis s kladným prostrkáním, operátor 2026-09-24)
        L1 h1 vnitřní stránky  clamp(2.1rem → 3.2rem) / 800  (.page-header-box h1, h1 na 404 – bloky 22, 23)
        L2 nadpis sekce        clamp(2rem → 2.75rem) / 700   (.section-title h2)
        L3 nadpis bloku        28 px / 700                   (.aom-sekce-item, .aom-cenik-blok, .aom-kam, .aom-ft-title, právní text)
        L4 nadpis karty        20 px / 700                   (karty a boxy; i když je v boxu značený jako h2)
        L5 popisek             12 px / 700 verzálky          (eyebrow, dt v patičce, hlavička tabulky)
      Text: 17 běžný · 15 v kartách, tabulkách a poznámkách · 13 mikrotext · 12 verzálky.
      Váhy: 400 text · 600 odkazy v textu, menu, popisky formuláře · 700 nadpisy, tlačítka, tučné
      · 800 jen h1, číslice a wordmark. Sora 500 není nahraná – prohlížeč by ji tiše nahradil 400.
      Odstup nadpisu od textu: blok --stack-h2 (16 px), karta --stack-h3 (10 px) – jen tady, ne v blocích níž.
      Zvýrazněná část nadpisu: na světlém žlutý „zvýrazňovač“ (text zůstává grafitový, kontrast 13,9 : 1),
      na tmavém žlutý text (8,6 : 1). */
h1, h2, h3, h4 { letter-spacing: -0.02em; }
.section-title h2, .contact-us-form .section-title h2 { font-size: clamp(2rem, 3.1vw, 2.75rem); font-weight: 700; line-height: 1.15; margin-bottom: 0; }
.aom-sekce-item h2, .aom-cenik-blok > h2, .aom-pravni-text h2, .aom-doklady-box h2 { font-size: 28px; font-weight: 700; line-height: 1.25; margin-bottom: var(--stack-h2); }
.aom-patri-box h2, .aom-patri-box h3, .aom-vaha h2, .aom-misto h2, .aom-misto-title, .aom-priklad h3,
.aom-park-item h3, .aom-vcene-title, .aom-osoba h3, .aom-cenik-sub,
.contact-info-content h3, .our-value-item-content h3, .how-work-item-content h3 { font-size: 20px; font-weight: 700; line-height: 1.3; margin: 0 0 var(--stack-h3); }
.section-title h2 span, .aom-hero .hero-title span { font-weight: 800; }
.section-title h2 span { color: inherit; background: linear-gradient(transparent 64%, var(--accent-mark) 64%, var(--accent-mark) 92%, transparent 92%); padding: 0 0.06em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.dark-section .section-title h2 span, .aom-hero .hero-title span, .aom-firmy .section-title h2 span { background: none; color: var(--accent-color); padding: 0; }
h3, .service-item-title h3, .why-choose-item-content h3 { font-size: 20px; font-weight: 700; line-height: 1.3; }
.service-item-title h3 { margin: 0; }   /* v hlavičce karty odděluje text linka, ne odstup */
.section-title p, .section-title-content p { font-size: 17px; line-height: 1.65; margin-top: 16px; margin-bottom: 0; }
/* `section-title-center` bývá NA `.section-title` (pruh pro firmy, kroky, poptávka), ne nad ní – potomkovský
   selektor proto nikdy nezabral a odstavec s mírou sazby 54ch se lepil vlevo (operátor 2026-09-24). */
.section-title-center .section-title p, .section-title-center p { margin-left: auto; margin-right: auto; }
.section-row { margin-bottom: var(--sec-title); }
.section-title h2, .page-header-box h1, .hero-title, h3, .aom-ft-title, .aom-faq-q { text-wrap: balance; }
/* Blok nadpisu sekce má k dalšímu obsahu vždy --sec-title (Netzon dával 40 px, řádek sekce 48 px –
   dvě hodnoty pro totéž). V .section-row nese odstup řádek, v heru navazuje tělo bez mezery. */
.section-title { margin-bottom: var(--sec-title); }
.section-row .section-title, .aom-hero .section-title, .section-title:last-child { margin-bottom: 0; }
.section-title p, .section-title-content p, .about-us-content p, .our-value-item-content p, .how-work-item-content p,
.service-item-content p, .aom-sekce-item p, .aom-cenik-intro, .why-choose-item-content p { text-wrap: pretty; }
html { scrollbar-width: auto; scrollbar-color: var(--primary-color) #e9e7e2; }
::-webkit-scrollbar { width: 14px; height: 14px; }
::-webkit-scrollbar-track { background: #e9e7e2; }
::-webkit-scrollbar-thumb { background: var(--primary-color); border-radius: 999px; border: 3px solid #e9e7e2; background-clip: padding-box; }
@media only screen and (max-width: 991px) { .section-title p { font-size: 15px; } }
/* Na úzkém displeji se zvýrazněná část nadpisu láme přes dva i tři řádky a zvýrazňovač pak působí
   jako barevná plocha přes půl nadpisu – místo něj tam accent jen zežloutne do okru (5,4 : 1). */
@media only screen and (max-width: 767px) {
  .section-title h2 span { background: none; color: var(--accent-text-color); padding: 0; }
}

/* 5b) ŠÍŘKA ODSTAVCŮ – ŽÁDNÝ `max-width` (operátor 2026-09-24: „žádný max width u odstavců napříč
       celým webem“). Odstavec vyplní sloupec, ve kterém stojí; šířku řádku tedy řídí mřížka,
       ne typografický limit. Do 2026-09-24 tu byla míra sazby 54ch (~72 znaků na řádek);
       zrušena včetně úvodu služeb, ceníku, O nás, Kde jezdíme, právního textu a hero odstavce.
       Nezavádět zpět bez pokynu operátora – a když, tak jen na sloupce, které jsou samy široké. */

/* 6) Popisek sekce („eyebrow“) – odstavec, ne nadpis: verzálky, prostrkání, žlutá linka vlevo. */
.section-sub-title .section-eyebrow, .section-title .section-eyebrow, .section-eyebrow {
  display: inline-flex; align-items: center; gap: var(--gap-icon); margin: 0 0 14px; padding: 0; border: 0; background: transparent;
  font-size: 12px; font-weight: 700; line-height: 1; letter-spacing: 0.14em; text-transform: uppercase !important; color: var(--accent-text-color);
}
.section-sub-title .section-eyebrow::before, .section-title .section-eyebrow::before, .section-eyebrow::before {
  content: ''; position: static; transform: none; width: 22px; height: 3px; border-radius: 2px; background: var(--accent-color);
}
.section-sub-title { margin-bottom: 0; }
.dark-section .section-title .section-eyebrow, .dark-section .section-eyebrow,
.aom-firmy .section-title .section-eyebrow, .aom-hero .section-eyebrow { color: var(--accent-color); }
/* Odznak hera = typografie chipů (blok 11: 13 px / 600, bez verzálek a prostrkání, výplň 7 × 13 → výška 37 px),
   jen na oranžové desce s bílým písmem (operátor 2026-09-24: „písmem jako klasický badge“; dřív 12 px verzálky 0,12 em). */
.aom-hero .section-eyebrow { display: inline-flex; margin-bottom: var(--stack-h2); font-size: 13px; line-height: 1.6; letter-spacing: 0; text-transform: none !important; }
.aom-hero .section-eyebrow::before { display: none; }
.aom-hero .section-eyebrow span { display: inline-block; color: var(--white-color); background: var(--accent-color); border: 1px solid var(--accent-color); border-radius: 999px; padding: 7px 13px; font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; }   /* rámeček v barvě desky = stejná výška 37 px jako chip s 1px rámečkem */
.section-title-center .section-eyebrow { justify-content: center; }

/* 7) PIKTOGRAMY – jedna sada plných siluet (partials/icons.html.twig generuje scripts/ikony-gen.py; stejný jazyk
      jako značka = silueta techniky). Obal nese význam, ne dekoraci (operátor 2026-09-24: „ne všude obdélníkové čtverečky“):
        čtverec 60 × 60 grafit + oranžová silueta  = produkt / položka: karty služeb, vozový park, hodnoty, kontakt, položky služby;
        bez obalu, grafit                          = informace: lišta důvodů 32 px (blok 12), dlaždice zakázek 44 px s nákladem
                                                     `.lo` v akcentu (blok 13);
        oranžový kruh + bílá silueta (echo značky) = vlastní technika: položky ve „Faktech“ 56 px;
        číslice v kroužku                          = krok postupu, bez ikony (dřív box + číslo = dvě značky pro jeden krok).
      Vodoznak ikony 220 px v rohu karty služby zrušen (třetí opakování téhož motivu v jedné kartě). */
.service-item .icon-box, .our-value-item .icon-box, .contact-info-item .icon-box, .aom-park-icon {
  width: 60px; height: 60px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--primary-color); color: var(--accent-color); border-radius: var(--r-icon); border: 0; box-shadow: none; overflow: hidden;
}
.contact-info-item .icon-box::before, .service-item .icon-box::before { display: none; }
.service-item .icon-box .aom-icon, .our-value-item .icon-box .aom-icon, .contact-info-item .icon-box .aom-icon,
.aom-park-icon .aom-icon { width: 30px; height: 30px; position: relative; z-index: 1; color: var(--accent-color); transition: color 0.3s; }
.service-item.active .icon-box, .service-item:hover .icon-box { background: var(--accent-color); }
.service-item.active .icon-box .aom-icon, .service-item:hover .icon-box .aom-icon { color: var(--white-color); }   /* ikona na oranžové bílá (operátor 2026-09-23) */
.why-choose-item .icon-box { width: 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; background: var(--accent-color); color: var(--white-color); border-radius: 50%; border: 0; box-shadow: none; }
.why-choose-item .icon-box::before { display: none; }   /* Netzon překryv v kruhu */
.why-choose-item .icon-box .aom-icon { width: 30px; height: 30px; color: var(--white-color); }
/* Řádek pod kroky je věta, ne flexová řada: Netzon má na `.section-footer-contact p` `display: flex`,
   a ten zahodí mezeru mezi textem a odkazem („povolení –co platí…“ – operátor 2026-09-24).
   Ikona drží svislé zarovnání sama (vertical-align), flex tu k ničemu není. */
.section-footer-text.section-footer-contact p { display: block; }
.aom-footer-text-icon .aom-icon { width: 18px; height: 18px; vertical-align: -3px; }

/* 8) Karty – jedna rodina: bílé, poloměr 18 px, jemný okraj, na hover lehké zvednutí. */
/* Karty služeb jsou stejně vysoké, ale text v nich různě dlouhý. Bez sloupcového rozvržení
   plavaly cena i odkaz v každé kartě jinde (změřeno 490 / 434 / 462 px). Popis roste,
   cena a odkaz sedí na dně – napříč kartami tedy na jedné lince. */
.service-item { display: flex; flex-direction: column; }
.service-item .service-item-body { flex: 1 1 auto; display: flex; flex-direction: column; }
.service-item .service-item-content { flex: 1 1 auto; display: flex; flex-direction: column; }
.service-item .aom-service-price { margin-top: auto; padding-top: 14px; margin-bottom: 0; }
/* POZOR při vkládání: seznam selektorů pokračuje přes konec řádku. Vložený řádek mezi ně
   jednou připojil cizí pravidlo k půlce seznamu a karty přišly o zaoblení. */
.service-item, .how-work-item, .aom-projekt, .aom-faq-item, .aom-recenze-item, .aom-park-item, .aom-patri-box, .aom-priklad,
.contact-info-item, .our-value-item, .aom-vcene, .aom-misto, .aom-pasmo, .aom-poptavka-quick, .aom-cenovy-box, .aom-mapa {
  border-radius: var(--r-card);
}
.contact-info-content p { text-wrap: balance; }   /* vystředěný text karet kontaktu se jinak lámal nesouměrně */
.service-item, .how-work-item, .aom-projekt, .aom-recenze-item, .aom-park-item, .aom-patri-box, .contact-info-item, .our-value-item, .aom-vcene, .aom-misto, .aom-poptavka-quick {
  background: var(--white-color); border: 1px solid var(--divider-color); box-shadow: none; transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}
.service-item:hover, .how-work-item:hover, .aom-projekt:hover, .aom-park-item:hover, .contact-info-item:hover, .our-value-item:hover { transform: translateY(-4px); box-shadow: var(--shadow-card); border-color: transparent; }
.service-item { min-height: 300px; gap: var(--pad-s); padding: var(--pad-m); }
.service-item::before { background: linear-gradient(135deg, var(--primary-color) 0%, var(--grafit-2) 100%) !important; border-radius: var(--r-card); }
.service-item-header { padding-bottom: var(--pad-s); margin-bottom: var(--pad-s); gap: var(--gap-grid); flex-wrap: nowrap; align-items: flex-start; border-bottom: 1px solid var(--divider-color); }
.how-work-item-header { gap: var(--gap-grid); }   /* Netzon 15 px – ikona a název v hlavičce karty drží mřížkový rozestup */
.service-item-header .service-item-title { flex: 1 1 auto; min-width: 0; width: auto; }
.service-item-header .icon-box { flex: 0 0 auto; margin-left: auto; }
.service-item > .service-item-btn { position: relative; z-index: 1; }
.service-item-btn a.aom-service-link { width: auto; height: auto; display: inline-block; background: transparent; border: 0; border-radius: 0; white-space: nowrap; }
.aom-service-link { font-weight: 700; color: var(--accent-text-color); }
.service-item.active .aom-service-link, .service-item:hover .aom-service-link { color: var(--accent-color); }
.aom-service-price { margin-top: 12px; font-size: 15px; color: var(--primary-color); }
.aom-service-price strong { font-size: var(--fs-num-m); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; }
.service-item.active .aom-service-price, .service-item:hover .aom-service-price, .service-item.active .service-item-content p, .service-item:hover .service-item-content p { color: var(--white-color); }
.service-item.active .service-item-header, .service-item:hover .service-item-header { border-bottom-color: var(--dark-divider-color); }
.aom-service-compact { min-height: 200px; }
@media only screen and (min-width: 768px) { .aom-sluzba-karty .service-item-title h3 { min-height: 2.6em; } }   /* linka a popisek v řadě karet stejně (audit 2026-09-23) */
.how-work-item { justify-content: flex-start; padding: var(--pad-m); min-height: 0; gap: var(--pad-s); }   /* Netzon min-height 410 px nechávalo v kartách 100 px prázdna (audit 2026-09-23); mezera číslo → nadpis 30 → 20 px (operátor 2026-09-24) */
.how-work-item-body { display: flex; flex-direction: column; flex: 1; }
/* Číslice je jediná značka kroku (blok 7: ikony u kroků zrušeny) – proto velké číslo, ne 22px v kroužku. */
.how-work-item-no { width: 64px; height: 64px; flex: 0 0 auto; display: flex; align-items: center; justify-content: center; border: 2px solid var(--accent-color); border-radius: 50%; background: var(--accent-soft); }
.how-work-item-no span { font-size: var(--fs-num-l); font-weight: 800; line-height: 1; color: var(--primary-color); }
/* Rezerva na dvouřádkový nadpis, aby texty v řadě začínaly spolu. 2,6 em = přesně dva řádky, ale u tří
   jednořádkových nadpisů to pod každým nechávalo 1,3 em prázdna (operátor 2026-09-24) – 2 em je kompromis:
   jednořádkový dýchá, dvouřádkový si výšku vezme sám. */
@media only screen and (min-width: 992px) { .how-work-item-content h3 { min-height: 1.6em; display: flex; align-items: flex-start; } }
.our-value-item { padding: var(--pad-m); }
.our-value-list .our-value-item:last-child:nth-child(odd) { width: 100%; }
.contact-info-item { padding: var(--pad-m); }
.contact-info-item .icon-box { margin: 0 auto 18px; }
.contact-info-content p { font-size: 15px; }

/* 9) Odrážky – jednotné: oranžový puntík s BÍLOU fajfkou (operátor 2026-09-24; dřív grafitová),
      neutrální = grafitová tečka. Bílá na oranžové je stejné rozhodnutí jako u tlačítek a odznaků. */
.aom-check-list, .aom-vcene ul, .why-choose-counter-list ul, .intro-video-list ul, .aom-patri-box ul, .aom-misto-list, .aom-partneri, .aom-ft-nav, .aom-ft-km-list, .aom-quick-links, .aom-hero-chips, .aom-vyhody-list, .aom-projekty, .aom-oblast-towns ul, .aom-price-card-list, .aom-cenovy-box-list, .aom-faq { list-style: none; margin: 0; padding: 0; }
.aom-check-list li, .why-choose-counter-list ul li, .aom-patri-box--ano li, .aom-vcene ul li { position: relative; padding: 5px 0 5px 30px; }
.aom-check-list li::before, .why-choose-counter-list ul li::before, .aom-patri-box--ano li::before, .aom-vcene ul li::before {
  content: ''; position: absolute; left: 0; top: 0.5em; width: 20px; height: 20px; border-radius: 50%;
  background: var(--accent-color) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.aom-patri-box--ne li { position: relative; padding: 5px 0 5px 30px; }
.aom-patri-box--ne li::before { content: ''; position: absolute; left: 4px; top: 0.85em; width: 10px; height: 10px; border-radius: 50%; background: var(--primary-color); opacity: 0.35; }
.why-choose-counter-list ul li { margin-bottom: 10px; }
.aom-vcene ul li { font-size: 15px; }

/* 10) Hlavička: plovoucí bílý pruh, logotyp, telefon, CTA grafit. Odkazy menu se nelámou; pod 1400 px
       ustoupí provozní doba, pod 1200 px číslo (zůstane ikona) i CTA – kontakt je v menu. Mobil: telefon 44 × 44.
       LOGO: značka (oranžový kruh s bílou siluetou kabiny Atego) + logotyp AOM / popisek, vše v křivkách
       (partials/logo-paths.html.twig); velikost se řídí VÝŠKOU, poměr drží viewBox. Barvy: .lg-plate = oranžová,
       .lg-cab = bílá (na desce, i na tmavém), .lg-main = ink, .lg-sub = akcent – tmavá oranžová na světlém
       (5,3 : 1), oranžová na tmavém (4,7 : 1). */
.main-header .header-sticky { border-radius: 16px; box-shadow: var(--shadow-soft); }
/* Připnutá hlavička plave nad obsahem – potřebuje víc stínu než v klidu, jinak text pod ní prosvítá. */
.main-header .header-sticky.active { box-shadow: 0 10px 30px rgba(29, 38, 43, 0.14); border-color: var(--divider-color); }
@media only screen and (max-width: 991px) { .main-header .header-sticky.active { box-shadow: 0 8px 20px rgba(29, 38, 43, 0.16); } }
.navbar { padding: 15px 22px; }   /* 15 + 62 (logo) + 15 = 92 px hlavičky (--aom-anchor); výška hlavičky je daná (operátor 2026-09-23),
                                     vyšší logo jde z odsazení (2026-09-24: logo 58 → 62 px, odsazení 17 → 15) */
.main-menu ul li { margin: 0 2px; }
/* Mezera mezi odkazy roste s šířkou okna. Změřeno 2026-09-24: v pruhu zbývá na 1400 px jen 69 px volna,
   na 1920 px 564 px – jediná pevná hodnota proto nestačí: co je na 1920 px vzdušné, nalepí menu na
   1400 px na logo. Plynule tedy 10 → 20 px na stranu (mezera textů 24 → 44 px, na 1920 px dvojnásobek
   původních 22 px), strop na 1920 px; každých 52 px šířky okna = +1 px. Pod 1400 px platí hodnoty
   v media query níž – tam se nemění nic (operátor 2026-09-24). */
.main-menu ul li a { font-size: 15px; font-weight: 600; white-space: nowrap;
  padding: 14px clamp(10px, calc(10px + (100vw - 1400px) / 52), 20px) !important; }
.main-menu .navbar-nav .nav-link.active { color: var(--accent-text-color); }   /* Bootstrap .navbar-nav .nav-link.active je (0,3,0) */
/* Odkaz značky musí být flex: jako block měl řádkový box 54 px k SVG 44 px (inline-flex sedí na účaří) a logo
   bylo v hlavičce o 5 px výš než střed (změřeno 2026-09-23: 14 px nad, 24 px pod). */
.main-header .navbar-brand { display: flex; align-items: center; min-height: 62px; }   /* = výška loga: drží výšku hlavičky 92 px (--aom-anchor) */
.aom-logo { display: inline-flex; align-items: center; color: var(--primary-color); text-decoration: none; }
.aom-logo-svg { height: 62px; width: auto; flex: 0 0 auto; display: block; overflow: visible; }   /* 62 px (operátor 2026-09-23: 44 → 50 → 58 → 54 → 58 → 62 → 60 → 58;
                                                                                      2026-09-24 „o 4 px větší na výšku, zachovej poměr stran“ → 62; šířku dává viewBox, 140 px); hlavička 92 px */
.lg-plate { fill: var(--accent-color); }
.lg-cab { fill: var(--white-color); }
.lg-main { fill: currentColor; stroke: currentColor; }   /* stroke-width nese SVG: syntetické zesílení Sora 800 */
.lg-sub { fill: var(--accent-color); stroke: var(--accent-color); }   /* popisek vždy v barvě desky značky; stroke-width nese SVG (operátor 2026-09-23) */
.aom-logo--light { color: var(--white-color); }
.aom-loader-mark { width: 56px; height: 56px; }
.header-btn { display: flex; align-items: center; gap: 18px; }
.header-btn .btn-default { padding: 12px 40px 12px 18px; font-size: 15px; box-shadow: none; white-space: nowrap; }
.aom-hd-phone { display: inline-flex; align-items: center; gap: var(--gap-icon); color: var(--primary-color); text-decoration: none; font-weight: 700; white-space: nowrap; }
.aom-hd-phone .aom-icon { width: 26px; height: 26px; flex: 0 0 26px; color: var(--accent-text-color); }   /* 22 → 26 px (operátor 2026-09-24) */
.aom-hd-phone-num { font-size: 15px; }
.aom-hd-phone > span { display: flex; flex-direction: column; }
.aom-hd-phone-mobile { display: none; }
/* 1200–1399 px: z telefonu zůstane jen žlutá ikona (číslo je v heru, patičce i na Kontaktu),
   menu se stáhne – jinak se 7 odkazů + CTA nevejde a menu spadne do dvou řádků. */
@media only screen and (max-width: 1399px) {
  .header-btn { gap: 12px; }
  .aom-hd-phone > span { display: none; }
  .aom-hd-phone { width: 44px; height: 44px; justify-content: center; border-radius: 12px; background: var(--accent-color); }
  .aom-hd-phone .aom-icon { color: var(--white-color); }
  .main-menu ul li a { font-size: 15px; padding: 14px 7px !important; }
  .navbar { padding: 12px 16px; }
}
/* 992–1199 px: navíc ustoupí CTA tlačítko – cesta ke kontaktu zůstává v menu i přes ikonu telefonu. */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .header-btn .btn-default { display: none; }
  .main-menu ul li a { font-size: 13px; padding: 14px 6px !important; }
  .aom-logo-svg { height: 42px; }
  .main-header .navbar-brand { min-height: 44px; }
}
@media only screen and (max-width: 991px) {
  /* Mobilní menu (SlickNav): Netzon dává panelu žluté pozadí a BÍLÝ text – kontrast 2,0 : 1, tedy
     nečitelné. Panel je proto grafitový s bílým písmem (15,4 : 1), aktivní položka žlutá. */
  .slicknav_menu { background: var(--primary-color); box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22); border-radius: 0 0 16px 16px; overflow: hidden; }
  .slicknav_menu ul { margin: 8px 0; }
  .slicknav_nav .slicknav_row, .slicknav_nav li a { font-size: 16px; font-weight: 600; padding: 12px 22px; color: var(--white-color); }
  .slicknav_nav li a.active { color: var(--accent-color); }
  .slicknav_nav a:hover, .slicknav_nav a:focus, .slicknav_nav .slicknav_row:hover { background-color: rgba(255, 255, 255, 0.08); color: var(--accent-color); }
  .slicknav_btn { width: 44px; height: 44px; border-radius: 12px; background: var(--primary-color); }
  .slicknav_icon .slicknav_icon-bar { background: var(--white-color) !important; }
  .aom-hd-phone-mobile { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-left: auto; margin-right: 12px; border-radius: 12px; background: var(--accent-color); color: var(--white-color); }
  .aom-hd-phone-mobile .aom-icon { width: 22px; height: 22px; }
  /* Logo je na mobilu o 4 px vyšší než tlačítka hamburgeru a telefonu (44 px) – operátor 2026-09-24
     („minimálně stejně vysoké, a pokud už je, ještě o 3–4 px“). Výška hlavičky 70 px zůstává,
     ubralo se odsazení (11 + 48 + 11), takže --aom-anchor 88 platí dál. */
  .aom-logo-svg { height: 48px; }
  .main-header .navbar-brand { min-height: 48px; }
  .navbar { padding: 11px 16px; }   /* 11 + 48 + 11 = 70 px hlavičky jako dřív (12 + 44 + 12) */
}

/* 11) Hero: statická fotka (LCP jako <img>), grafitový scrim, nadpis, chipy, cenová karta. */
.aom-hero { position: relative; overflow: hidden; background: #1A1A1A; min-height: 0; }   /* neutrální šedá, ne grafit s modrým nádechem (operátor 2026-09-23) */
.aom-hero-picture { position: absolute; inset: 0; z-index: 0; }
/* Fotka je vždy cover od kraje ke kraji, bez zvětšování (operátor 2026-09-23). Poloha vozu ve výřezu se řídí ořezem
   zdrojové fotky ve scripts/foto-produkce.py (VYREZY), ne CSS – hero má na 1440 px skoro poměr fotky. */
.aom-hero-picture img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; display: block; }
/* Na 1920 px má hero ~2,25 : 1, fotka 1,78 : 1 → cover ořeže svisle 225 px; 50 % / 50 % = 112 px nahoře i dole. Operátor
   2026-09-23: na 1920 px obraz o 50 px výš → nahoře se ořeže 162 px = 72 %. Pod 1600 px není co ořezávat, hodnota nehraje roli. */
@media only screen and (min-width: 1600px) { .aom-hero-picture img { object-position: 50% 72%; } }
/* Scrim hera je čistě šedý a světlejší (operátor 2026-09-23: bez barevného nádechu, „celkově světlejší“ a „více gradientní“ – z 0,97/0,90/0,72
   na 0,92/0,72/0,22, pak zadání operátora 0,88/0,68/0,38: vlevo pod textem tmavý, vpravo světlejší fotka); grafit #1D262B má modrozelený tón, proto neutrální rgb(24,24,24). */
.aom-hero::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(24, 24, 24, 0.88) 0%, rgba(24, 24, 24, 0.68) 45%, rgba(24, 24, 24, 0.38) 100%); }
.aom-hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: var(--accent-color); z-index: 2; }
.aom-hero .container { position: relative; z-index: 2; }
/* Bez spodního okraje: Netzon dává .hero-content 40 px (u nás bývalo 32) – pod chipy je to mrtvé místo, které řádek
   `align-items: center` započítá, takže karta vpravo seděla o 16 px níž než střed textu (audit 2026-09-24). */
.aom-hero .hero-content { max-width: 100%; margin: 0; text-align: left; }
.aom-hero .hero-body { text-align: left; }
/* L0: o krok větší než dřív (4,1 → 4,4 rem, minimum 2,5 → 2,7 rem) a jediný nadpis webu s kladným prostrkáním
   proti globálnímu −0,02 em nadpisů – operátor 2026-09-24 („trošku větší, maličko rozestupy“,
   po prvním nasazení „ještě trošku přidej“: 0,01 → 0,022 em, na 70 px je to 1,5 px mezi písmeny). */
.aom-hero .hero-title { font-size: clamp(2.7rem, 5.2vw, 4.4rem); line-height: 1.06; font-weight: 800; letter-spacing: 0.022em; color: var(--white-color); margin: 0 0 var(--stack-h3); }
/* Podtitul hera = místo působení pod H1 (operátor 2026-09-23): špendlík v akcentu + bílý text, velikost mezi L4 a L3
   (20–28 px podle šířky), váha 600. Tři třídy kvůli Netzon `.hero-content .section-title p` (0,2,2). */
.aom-hero .hero-content .hero-sub { display: inline-flex; align-items: center; gap: var(--gap-icon); margin: 0 0 var(--stack-h2); font-size: clamp(1.25rem, 1.9vw, 1.75rem); line-height: 1.3; font-weight: 600; color: var(--white-color); max-width: none; }   /* H1 + podtitul = jeden blok (--stack-h3 mezi nimi), pak --stack-h2 k odstavci */
.aom-hero .hero-sub .aom-icon { width: 1.1em; height: 1.1em; flex: 0 0 1.1em; color: var(--accent-color); }
/* Selektor musí mít tři třídy: Netzon má na tentýž odstavec `.hero-content .section-title p`
   (0,2,2 – šířka 890 px) a `.dark-section .section-title p` (0,2,1 – plná bílá). Kratší zápis prohrál. */
.aom-hero .hero-content .hero-lead { font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.6; color: rgba(255, 255, 255, 0.88); margin-bottom: var(--gap-col); }   /* míra sazby jako blok 5b (dřív 42 rem ≈ 672 px), k tlačítkům --gap-col */
/* Levá hrana hera (operátor 2026-09-23: tlačítka a odstavec byly různě odsazené): Netzon centruje `.hero-body` flexem
   (tlačítka o 43 px, chipy o 16 px doprava) a `.section-title p` dostává margin-left – obojí vypnuto, vše na hranu sloupce. */
.aom-hero .hero-body { display: block; }
.aom-tie { white-space: nowrap; }   /* nezlomitelná dvojice (aom-typo.js i ruční použití, např. provozní doba) */
.aom-hero .hero-content .hero-lead { margin-left: 0; margin-top: 0; }
.aom-hero .hero-btn { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gap-grid); }
/* Bílé písmo na oranžové platí od 2026-09-23 pro všechna tlačítka (blok 3), odznak hera je bílý v bloku 6.
   Třetí odkaz „Celý ceník“ v řadě tlačítek zrušen (operátor 2026-09-24) – odkaz na ceník nese jen cenová karta. */
/* Poznámka pod cenovou kartou: plná bílá (operátor 2026-09-24), levá hrana = text karty (--pad-m + proužek 4 px),
   jemný stín, protože leží na nejsvětlejší části scrimu (0,38) přes kabinu a štěrk – bez něj se bílá na světlé fotce ztrácí. */
.aom-hero-micro { margin: var(--gap-grid) 0 0 calc(var(--pad-m) + 4px); font-size: 14px; line-height: 1.6; color: var(--white-color); text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5); }
@media only screen and (min-width: 992px) { .aom-hero .aom-price-card { margin-top: 0; } }   /* karta centrovaná řádkem, ne odsazením */
.aom-hero-chips { display: flex; flex-wrap: wrap; gap: var(--gap-grid); margin-top: var(--gap-col); }   /* mezera chipů = mezera tlačítek (operátor 2026-09-23) */   /* chipy pod tlačítky stejně daleko, jako jsou tlačítka od odstavce (30 px; operátor 2026-09-23) */
.aom-hero-chips li { font-size: 13px; font-weight: 600; color: var(--white-color); border: 1px solid rgba(255, 255, 255, 0.24); background: rgba(255, 255, 255, 0.06); border-radius: 999px; padding: 7px 13px; backdrop-filter: blur(4px); }
.aom-price-card { position: relative; background: var(--white-color); color: var(--primary-color); border-radius: var(--r-card); padding: var(--pad-m) calc(var(--pad-m) + 4px); box-shadow: 0 30px 70px rgba(0, 0, 0, 0.38); margin-top: var(--gap-col); }   /* po stranách +4 px kvůli oranžovým proužkům; na mobilu pod textem s --gap-col (svislý stoh) */
.aom-price-card::before { content: ''; position: absolute; left: 0; top: 22px; bottom: 22px; width: 5px; background: var(--accent-color); border-radius: 0 4px 4px 0; }
.aom-price-card::after { content: ''; position: absolute; right: 0; top: 22px; bottom: 22px; width: 5px; background: var(--accent-color); border-radius: 4px 0 0 4px; }   /* zrcadlově i vpravo (operátor 2026-09-23) */
/* Odstup pod nadpisem je --stack-h2 (16 px), ne --stack-h3: nadpis nestojí nad odstavcem, ale nad seznamem
   tří cen, a první položka nemá horní výplň ani linku (operátor 2026-09-24: „dej trochu větší mezeru“). */
.aom-price-card-title { font-size: 20px; line-height: 1.4; font-weight: 700; color: var(--primary-color); margin: 0 0 var(--pad-m); text-wrap: pretty; }   /* řádkování 1,3 → 1,4 (operátor 2026-09-24) */   /* `balance` nadpis zužoval doprostřed karty – operátor 2026-09-24 chce výčet přes (skoro) celou šířku */   /* L4 karta (operátor 2026-09-23: větším písmem; dřív popisek 12 px verzálky) */
/* Řádkování položky je utažené (1,3 místo zděděných 1,6): popisek patří k tomu, co popisuje –
   „max. 4 t“ k názvu, „vč. DPH“ k ceně. S 1,6 mezi nimi zbývalo 9,6 a 15,7 px leadingu a popisky
   plavaly uprostřed řádku (operátor 2026-09-24). Odstup položek drží `padding`, ne leading. */
.aom-price-card-list li { display: grid; grid-template-columns: 1fr auto; gap: 0 var(--gap-grid); padding: var(--gap-grid) 0; border-top: 1px solid var(--divider-color); line-height: 1.3; }
.aom-price-card-list li:first-child { border-top: 0; padding-top: 0; }
.aom-price-card-label { font-weight: 600; font-size: 15px; grid-column: 1; }
.aom-price-card-price { font-weight: 800; font-size: var(--fs-num-m); line-height: 1.15; letter-spacing: -0.02em; grid-column: 2; grid-row: 1 / span 2; align-self: center; text-align: right; white-space: nowrap; }
.aom-price-card-price small { display: block; margin-top: 3px; font-size: 13px; font-weight: 600; line-height: 1.2; letter-spacing: 0; color: var(--text-color); }   /* mikrotext 13 px jako „max. 4 t“ vedle (dřív 11 px mimo škálu) */
.aom-price-card-max { margin-top: 3px; font-size: 13px; line-height: 1.2; color: var(--text-color); grid-column: 1; }
.aom-price-card-link { font-weight: 700; color: var(--accent-text-color); }
.aom-price-card-fallback { margin: 0 0 var(--stack-h3); color: var(--text-color); }
@media only screen and (max-width: 991px) {
  .aom-hero::before { background: linear-gradient(180deg, rgba(24, 24, 24, 0.62) 0%, rgba(24, 24, 24, 0.82) 100%); }
  .page-header--foto::before { background: linear-gradient(180deg, rgba(24, 24, 24, 0.62) 0%, rgba(24, 24, 24, 0.82) 100%); }
  .aom-hero .hero-btn .btn-default { width: 100%; justify-content: center; }
  .aom-hero-picture img { object-position: 50% 20%; }
}

/* 12) Lišta čtyř důvodů – bílé karty na betonu, těsně pod hero. */
.aom-vyhody { background: var(--secondary-color); border-bottom: 1px solid var(--divider-color); }
.aom-vyhody-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--gap-grid); padding: var(--pad-m) 0; }
.aom-vyhody-item { display: flex; gap: var(--gap-grid); align-items: flex-start; background: var(--white-color); border: 1px solid var(--divider-color); border-radius: var(--r-card); padding: var(--pad-s); }
/* Piktogram bez obalu, grafit, k hornímu okraji textu (dřív 48px grafitový čtverec s 24px ikonou – operátor 2026-09-24). */
.aom-vyhody-icon { flex: 0 0 32px; width: 32px; height: 32px; color: var(--primary-color); display: block; margin-top: 1px; }
.aom-vyhody-icon .aom-icon { width: 32px; height: 32px; display: block; }
.aom-vyhody-title { font-size: 15px; font-weight: 700; margin: 2px 0 4px; color: var(--primary-color); }
.aom-vyhody-text p { margin: 0; font-size: 15px; }
@media only screen and (max-width: 991px) { .aom-vyhody-list { grid-template-columns: repeat(2, 1fr); } }
@media only screen and (max-width: 575px) { .aom-vyhody-list { grid-template-columns: 1fr; padding: var(--pad-s) 0; } }

/* 13) Typické zakázky (dlaždice v sekci Služby) a „Kolik místa kontejner zabere“.
       Karta kontejneru tu byla do zrušení sekce „Co se do kontejneru vejde“ – odstraněna s ní. */
/* Karty služeb na bílé sekci: dlaždice betonové, velké karty s klidovým stínem – bílá na bílé s vlasovou linkou se neodlepila (audit 2026-09-23). */
.aom-sluzby .aom-projekt { background: var(--secondary-color); border-color: transparent; }
.aom-sluzby .service-item { box-shadow: var(--shadow-soft); }
.aom-sluzby .section-footer-text { text-align: left; }
.aom-sluzby .service-list > .col-xl-4 { margin-bottom: var(--gap-col); }
.aom-sluzby .service-list .service-item { height: 100%; margin-bottom: 0; }
.aom-projekty-blok { margin-top: calc(var(--stack-block) - var(--gap-col)); padding-top: var(--pad-m); border-top: 1px solid var(--divider-color); }   /* 30 (sloupec) + 18 = --stack-block od karet */
/* Popisek dlaždic je tentýž typ nadpisu jako popisek sekce – dostal proto i oranžovou úvodní
   linku (operátor 2026-09-24: „před Typické zakázky chybí úvodní pomlčka“). */
.aom-projekty-title { display: inline-flex; align-items: center; gap: var(--gap-icon); font-size: 12px; font-weight: 700; line-height: 1; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent-text-color); margin: 0 0 var(--gap-grid); }
.aom-projekty-title::before { content: ''; width: 22px; height: 3px; border-radius: 2px; background: var(--accent-color); flex: 0 0 22px; }
/* Subgrid: dlaždice sdílí dva řádky mřížky (název / doporučení), takže dvouřádkový název
   v jedné dlaždici posune doporučení ve VŠECH – ne jen v té své. Bez subgridu začínalo
   doporučení v každé dlaždici jinde a řada vypadala rozházeně. */
.aom-projekty { display: grid; grid-template-columns: repeat(5, 1fr); gap: var(--gap-grid); }
.aom-projekt { grid-row: span 2; display: grid; grid-template-rows: subgrid; grid-template-columns: auto 1fr; gap: 0 var(--gap-grid); padding: var(--pad-s); }
/* „Jeden kontejner, pět nákladů“: piktogram bez obalu 44 px, kontejner grafit, náklad (.lo) v akcentu (operátor 2026-09-24). */
.aom-projekt-icon { grid-row: 1 / span 2; align-self: start; width: 44px; height: 44px; color: var(--primary-color); display: block; }
.aom-projekt-icon .aom-icon { width: 44px; height: 44px; display: block; }
.aom-projekt-icon .aom-icon .lo { fill: var(--accent-color); }
.aom-projekt-nazev { grid-column: 2; align-self: start; color: var(--primary-color); font-size: 15px; line-height: 1.4; }
.aom-projekt-dop { grid-column: 2; align-self: start; padding-top: 4px; font-size: 15px; }
@media only screen and (max-width: 1199px) { .aom-projekty { grid-template-columns: repeat(3, 1fr); } }
@media only screen and (max-width: 767px) { .aom-projekty { grid-template-columns: 1fr; } }
.aom-misto { padding: var(--pad-m); }
.aom-misto-list { margin-bottom: var(--gap-grid); }
.aom-misto-list li { display: flex; justify-content: space-between; gap: var(--gap-grid); padding: var(--stack-h3) 0; border-top: 1px dashed var(--divider-color); font-size: 15px; }
@media only screen and (max-width: 575px) { .aom-misto-list li { display: block; } .aom-misto-value { display: block; text-align: left; margin-top: 2px; } }   /* mobil: hodnota pod popiskem, ne pravý praporek (audit 2026-09-23) */
.aom-misto-list li:first-child { border-top: 0; }
.aom-misto-label { font-weight: 700; color: var(--primary-color); white-space: nowrap; }
.aom-misto-value { text-align: right; }
.aom-misto-note { margin: 0; font-size: 15px; color: var(--text-color); }
.aom-misto-note .aom-icon { width: 18px; height: 18px; vertical-align: -3px; color: var(--accent-text-color); }

/* 14) Ceník: tabulky (mobil = karty), výtah, pásma, patří/nepatří, pravidla, příklady. */
.aom-cenik-vytah .section-btn { margin-top: var(--pad-m); text-align: left; }   /* na levou hranu obsahu jako zbytek sekce (audit 2026-09-23) */
.aom-vcene { padding: var(--pad-s); }
@media only screen and (min-width: 768px) {
  .aom-cenik-vytah .aom-table { table-layout: fixed; }
  .aom-cenik-vytah .aom-table th:nth-child(1), .aom-cenik-vytah .aom-table td:nth-child(1) { width: 34%; }
  .aom-cenik-vytah .aom-table th:nth-child(2), .aom-cenik-vytah .aom-table td:nth-child(2) { width: 24%; }
  .aom-cenik-vytah .aom-table th:nth-child(3), .aom-cenik-vytah .aom-table td:nth-child(3) { width: 14%; }
  .aom-cenik-vytah .aom-table th:nth-child(4), .aom-cenik-vytah .aom-table td:nth-child(4) { width: 28%; }
}   /* cena blíž k názvu, ne 190 px prázdna (audit 2026-09-23) */
.aom-vcene-title { color: var(--primary-color); }
.aom-table { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--white-color); border-radius: var(--r-card); overflow: hidden; border: 1px solid var(--divider-color); }
.aom-table th, .aom-table td { text-align: left; padding: var(--gap-grid) var(--pad-s); vertical-align: top; border-top: 1px solid var(--divider-color); font-size: 15px; }
.aom-table thead th { background: var(--primary-color); color: var(--white-color); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; border-top: 0; }
.aom-table tbody tr:first-child th, .aom-table tbody tr:first-child td { border-top: 0; }
.aom-table tbody tr:hover th, .aom-table tbody tr:hover td { background: #FAF9F6; }
.aom-table tbody th { font-weight: 600; color: var(--primary-color); }
.aom-table-label { display: block; }
.aom-table-code { display: block; font-size: 12px; font-weight: 400; color: var(--text-color); margin-top: 2px; }
.aom-price-vat { display: block; font-size: var(--fs-num-m); font-weight: 800; letter-spacing: -0.02em; color: var(--primary-color); line-height: 1.1; }
.aom-price-sub { display: block; font-size: 12px; color: var(--text-color); margin-top: 4px; }
/* .aom-table--compact: jedna hustota tabulek pro celý web (audit 2026-09-23) – třída zůstává jen kvůli kartovému režimu na mobilu */
.aom-cenik-note { margin: var(--gap-grid) 0 0; font-size: 15px; color: var(--text-color); }
.aom-cenik-intro { font-size: 17px; }
.aom-cenik-call { text-align: right; }
.aom-cenik-blok { margin-bottom: var(--stack-block); padding-top: var(--stack-block); border-top: 1px solid var(--divider-color); }
.aom-cenik-blok:first-of-type { padding-top: 0; border-top: 0; }
.aom-cenik-blok:last-child { margin-bottom: 0; }
.aom-cenik-blok > h2 { display: flex; align-items: center; gap: var(--gap-icon); }
.aom-cenik-blok > h2 .aom-icon { width: 30px; height: 30px; flex: 0 0 30px; color: var(--accent-text-color); }
.aom-cenik-blok .section-title h2 { display: flex; align-items: center; gap: var(--gap-icon); }   /* L2 nadpis bloku s ikonou (ceník úvod, Kde jezdíme) */
.aom-cenik-blok .section-title h2 .aom-icon { width: 36px; height: 36px; flex: 0 0 36px; color: var(--accent-text-color); }
@media only screen and (max-width: 767px) { .aom-cenik-blok > h2, .aom-cenik-blok .section-title h2, .aom-misto h2 { align-items: flex-start; } .aom-cenik-blok > h2 .aom-icon, .aom-cenik-blok .section-title h2 .aom-icon { margin-top: 2px; } }   /* ikona k prvnímu řádku dvouřádkového nadpisu */
.aom-cenik-bok { position: sticky; top: var(--aom-anchor); display: flex; flex-direction: column; gap: var(--gap-col); }   /* karta místa + výzva drží u pravidel při rolování */
.aom-cenik-misto .aom-misto { background: var(--secondary-color); border-color: transparent; }
.aom-cenik-cta { background: var(--secondary-color); border-radius: var(--r-card); padding: var(--pad-m); }
.aom-cenik-cta p { font-size: 15px; margin: 0 0 var(--gap-grid); }
.aom-cenik-blok h2 span { color: var(--accent-text-color); }
.aom-cenik-sub { margin-top: 24px; }
/* Obě karty jsou stejně vysoké a jejich obsah sahá ke dnu: řádek drží `stretch`, seznam si vezme
   zbylou výšku a položky se v ní rozprostřou. Bez toho zbývalo v kratší kartě přes 80 px prázdna
   (operátor 2026-09-24). Mezera mezi položkami má spodní hranici, ať se u krátkých seznamů
   nerozjede do prázdna. */
.aom-patri .row { align-items: stretch; }
.aom-patri .row > [class*='col-'] { display: flex; }   /* `height: 100 %` na kartě nestačilo – sloupec musí být flexový, jinak si kartu nenatáhne */
.aom-patri-box { padding: var(--pad-m); flex: 1 1 auto; display: flex; flex-direction: column; }
.aom-patri-box ul { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: space-between; gap: 2px; }
.aom-patri-box .aom-patri-note { margin-top: auto; padding-top: var(--stack-h2); }   /* poznámka u dna, seznamy začínají na stejné lince (audit 2026-09-23) */
.aom-patri-box h2, .aom-patri-box h3 { display: flex; align-items: center; gap: var(--gap-icon); }
.aom-patri-box h2 .aom-icon, .aom-patri-box h3 .aom-icon { width: 22px; height: 22px; }
.aom-patri-box li { font-size: 15px; }
/* „věc – kam s ní“: název nese váhu a barvu textu, doplněk ustoupí – seznam se pak čte po názvech. */
.aom-patri-vec { display: block; font-weight: 700; color: var(--primary-color); }
.aom-patri-kam { display: block; font-size: 13px; color: var(--text-color); }
/* Dvojice `ano` / `ne`: stejný kruh, liší se jen znakem – kontejner vedle „i“ spolu neladily
   a byly drobné (operátor 2026-09-24). 32 px, fajfka v akcentu, zákaz šedý jako neutrální odrážky. */
.aom-patri-box h2 .aom-icon, .aom-patri-box h3 .aom-icon { width: 32px; height: 32px; flex: 0 0 32px; }
.aom-patri-box--ne h2 .aom-icon, .aom-patri-box--ne h3 .aom-icon { color: rgba(29, 38, 43, 0.35); }
.aom-patri-box--ano { border-color: rgba(255, 121, 0, 0.51); }
.aom-patri-box--ano h2 .aom-icon, .aom-patri-box--ano h3 .aom-icon { color: var(--accent-text-color); }
.aom-patri-note { margin: var(--stack-h2) 0 0; font-size: 15px; color: var(--text-color); }
/* Spodní okraj sloupce jen na mobilu (karty pod sebou). Na desktopu ho měl jen první sloupec,
   a protože se při `stretch` vyrovnávají vnější výšky, končily karty o 30 px jinde (operátor 2026-09-24). */
@media only screen and (max-width: 991px) { .aom-patri .col-lg-6 { margin-bottom: var(--gap-col); } }
.aom-patri .row { margin-bottom: 0; }
.aom-patri .row > [class*="col-"]:last-child { margin-bottom: 0; }   /* spodní odstup sekce = --sec, ne 66 px (záporný okraj řádku sahal pod poznámku; změřeno 2026-09-23) */
.aom-pasma { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gap-grid); margin: 8px 0 var(--gap-grid); }
.aom-pasmo { position: relative; padding: var(--pad-s); background: var(--secondary-color); }   /* bez barevné levé linky (operátor 2026-09-23: levé oranžové okraje karet pryč všude mimo hero); pásmo rozlišuje písmeno */
.aom-pasma-sekce .aom-pasmo { background: var(--white-color); border: 1px solid var(--divider-color); }   /* na betonové sekci beton splýval s pozadím (audit 2026-09-23) */
.aom-pasmo-key { position: absolute; right: 16px; top: 12px; font-size: 40px; font-weight: 800; color: rgba(29, 38, 43, 0.08); line-height: 1; margin: 0; }
.aom-pasmo-label { font-weight: 700; color: var(--primary-color); margin: 0 0 4px; font-size: 15px; }
.aom-pasmo-label span { font-weight: 400; color: var(--text-color); font-size: 15px; }
.aom-pasmo-price { font-weight: 700; color: var(--accent-text-color); margin: 0 0 8px; }
.aom-pasmo-towns { margin: 0; font-size: 13px; line-height: 1.6; color: var(--text-color); }
.aom-pravidla { padding-left: 1.5em; margin: 0; }
.aom-pravidla li { margin-bottom: var(--stack-h3); line-height: 1.65; padding-left: 4px; }
.aom-pravidla li::marker { font-weight: 700; color: var(--accent-text-color); }
.aom-priklad { background: var(--secondary-color); padding: var(--pad-s); height: 100%; border: 0; }
.aom-priklad p { margin: 0; font-size: 15px; }
.aom-cenik .row .col-lg-4, .aom-cenik .row .col-md-6 { margin-bottom: var(--gap-col); }
@media only screen and (min-width: 992px) { .aom-cenik .row > [class*="col-"] { margin-bottom: 0; } }   /* nad 992 px jsou řady jednořádkové (audit 2026-09-23) */
.aom-cenik .row > [class*="col-"]:last-child { margin-bottom: 0; }
.aom-pravidla li:last-child { margin-bottom: 0; }
@media only screen and (max-width: 991px) {
  .aom-cenik-call { text-align: left; margin-top: 12px; }
  .aom-pasma { grid-template-columns: 1fr; }
}
@media only screen and (max-width: 767px) {
  .aom-cenik-tabulka .aom-table thead, .aom-table--compact thead { display: none; }
  .aom-cenik-tabulka .aom-table tr, .aom-table--compact tr { display: block; border-top: 6px solid var(--secondary-color); }
  .aom-cenik-tabulka .aom-table tbody tr:first-child, .aom-table--compact tbody tr:first-child { border-top: 0; }
  .aom-cenik-tabulka .aom-table th, .aom-cenik-tabulka .aom-table td, .aom-table--compact th, .aom-table--compact td { display: block; border-top: 0; padding: 8px 16px; }
  .aom-cenik-tabulka .aom-table tbody th, .aom-table--compact tbody th { padding-top: 14px; }
  .aom-cenik-tabulka .aom-table td[data-label]::before, .aom-table--compact td[data-label]::before { content: attr(data-label); display: block; font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-color); margin-bottom: 2px; }
  .aom-cenik-tabulka .aom-table td:last-child, .aom-table--compact td:last-child { padding-bottom: 14px; }
  .aom-cenik-tabulka .aom-table td[data-label]:empty, .aom-table--compact td[data-label]:empty { display: none; }
}

/* 15) Oblast, důvěra (kruhový ukazatel, odznak roku), recenze, pro firmy, poptávka. */
/* Kde jezdíme – kompaktní pruh: text vlevo, obce vpravo. */
.aom-oblast-pruh { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-col); align-items: center; }
.aom-oblast-text p { margin-bottom: 0; }
.aom-oblast-text .aom-oblast-link { margin-top: var(--stack-h2); }   /* 28 → 16 px (operátor 2026-09-24) */
.aom-oblast-dal { margin: var(--stack-h2) 0 0; font-size: 15px; }   /* druhý odstavec (dřív se nevykresloval) vyplní pravou polovinu pruhu (audit 2026-09-23) */
@media only screen and (max-width: 991px) { .aom-oblast-pruh { grid-template-columns: 1fr; gap: var(--gap-col); } }
.aom-oblast-towns { flex: 1 1 320px; }
.aom-oblast-towns-label { font-weight: 700; color: var(--primary-color); margin: 0 0 10px; }
.aom-oblast-towns-label .aom-icon { width: 20px; height: 20px; vertical-align: -4px; color: var(--accent-text-color); }
.aom-oblast-towns ul { display: flex; flex-wrap: wrap; gap: var(--gap-chip); }
.aom-oblast-towns li { font-size: 13px; font-weight: 600; background: var(--white-color); border: 1px solid var(--divider-color); border-radius: 999px; padding: 6px 12px; color: var(--primary-color); }
.aom-photo { position: relative; margin: 0; }
.aom-photo img { display: block; width: 100%; height: auto; border-radius: var(--r-card); }
.about-us-image figure, .about-us-image figure img, .why-choose-image figure { border-radius: var(--r-card); }
/* Fotka vedle karet „Jak jednáme“ je na výšku, sloupec s kartami je ale mnohem vyšší –
   při svislém vystředění zůstávalo nad fotkou přes 180 px prázdna. Fotka proto vyplní
   celou výšku sloupce a ořízne se (object-fit), takže oba sloupce začínají i končí spolu. */
.aom-hodnoty .row.align-items-center { align-items: stretch !important; }
/* Netzon skládá dvě překrývající se fotky (img-1 65 % šířky + 160 px místa dole pro img-2). Máme jednu –
   bez resetu měla fotka 310 × 672 px v sloupci 477 × 832 (zjištěno 2026-09-23 při nasazení výřezu 2 : 3). */
.aom-hodnoty .our-value-image-box { margin: 0; display: block; }
.our-value-img-1 { width: 100%; padding-bottom: 0; }
.aom-hodnoty .row.align-items-center > .col-xl-5 { display: flex; flex-direction: column; }
/* `flex-basis: 0` (ne auto): fotka si nebere přirozenou výšku z poměru, ale jen zbytek sloupce
   po boxu s doklady – výšku řádku tak určí karty vpravo a box dole končí spolu s nimi
   (operátor 2026-09-24: box přesahoval o 245 px). */
.aom-hodnoty .our-value-image-box { flex: 1 1 0; min-height: 0; }
.aom-hodnoty .our-value-image-box, .our-value-img-1, .our-value-img-1 .aom-photo { height: 100%; }
.our-value-img-1 .aom-photo img { height: 100%; object-fit: cover; }
@media only screen and (max-width: 1199px) { .aom-hodnoty .row.align-items-center > .col-xl-5 { display: block; margin-bottom: var(--stack-media); } .aom-hodnoty .our-value-image-box, .our-value-img-1, .our-value-img-1 .aom-photo, .our-value-img-1 .aom-photo img { height: auto; } }   /* mobil: fotka v toku, pod ní --stack-media */
.our-value-img-1 figure, .our-value-img-1 figure img { border-radius: var(--r-card); }
.why-choose-counter { border-radius: var(--r-card); }
.why-choose-counter .circle { width: 96px; height: 96px; }
.why-choose-counter .aom-ring { display: block; width: 100%; height: 100%; transform: rotate(-90deg); }
.why-choose-counter .aom-ring-track, .why-choose-counter .aom-ring-bar { fill: none; stroke-width: 6; }
.why-choose-counter .aom-ring-track { stroke: rgba(29, 38, 43, 0.12); }
/* Prstenec je vykreslený rovnou. Dřív ho „naplnila“ animace spuštěná třídou `.animated` od WOW.js;
   po jejím odstranění by zůstal navždy prázdný (stroke-dashoffset: 283 = neviditelný). */
.why-choose-counter .aom-ring-bar { stroke: var(--accent-color); stroke-linecap: round; stroke-dasharray: 283; stroke-dashoffset: 0; }
.why-choose-counter .progress_value { width: 72px; height: 72px; font-size: var(--fs-num-l); font-weight: 800; transform: translate(-50%, -50%); }
/* Box „fakta“: kruh s číslem + popisek vedle sebe, odrážky ve druhém sloupci. Netzon počítá šířky
   z 50 : 50 a popisek se pak lámal po jednom slově – proto vlastní poměr i vnitřní flex. */
.why-choose-counter-box { background: var(--white-color); border: 1px solid var(--divider-color); border-radius: var(--r-card); padding: var(--pad-m); }
.why-choose-counter { padding: 0; background: transparent; border: 0; }
/* `flex-wrap` kvůli snímku vozu pod kruhem a popiskem (operátor 2026-09-24): fotka má flex-basis 100 %,
   takže se zalomí pod ně a zabere celou šířku levého sloupce. `align-items: flex-start` drží kruh
   a popisek nahoře – s `center` by je fotka stáhla doprostřed. */
.why-choose-counter-content { width: calc(46% - 16px); display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--gap-grid); padding-right: 0; border-right: 0; }   /* Netzon druhá linka pryč (audit 2026-09-23) */
.aom-duvera-counter-foto { flex: 0 0 100%; margin-top: 4px; }   /* 4 px + gap 16 = --pad-s od popisku */
.aom-duvera-counter-foto figure, .aom-duvera-counter-foto img { display: block; width: 100%; height: auto; border-radius: var(--r-icon); }
.why-choose-counter-list { width: calc(54% - 16px); padding-left: var(--gap-col); border-left: 1px solid var(--divider-color); }
/* Mobil: kruh + odrážky ve stohu, linka vodorovná – ve dvou sloupcích se odrážky lámaly po slově (audit 2026-09-23). */
@media only screen and (max-width: 767px) {
  .why-choose-counter-box { flex-wrap: wrap; }
  .why-choose-counter-content, .why-choose-counter-list { width: 100%; }
  .why-choose-counter-list { padding-left: 0; padding-top: var(--pad-s); margin-top: var(--pad-s); border-left: 0; border-top: 1px solid var(--divider-color); }
}
/* Popisek stojí VEDLE kruhu, ne pod ním (operátor 2026-09-24) – `flex: 1 1 0` + `min-width: 0` ho nechá
   zalomit uvnitř zbytku řádku; o ušetřenou výšku je vyšší fotka pod nimi. */
.why-choose-counter-info { width: auto; flex: 1 1 0; min-width: 0; align-self: center; }   /* popisek na svislý střed kruhu (operátor 2026-09-24) */
.why-choose-counter-info p { margin: 0; font-size: 15px; }
.why-choose-counter-info p strong { display: block; font-weight: 800; font-size: var(--fs-num-m); line-height: 1.1; color: var(--primary-color); margin-bottom: 4px; }
/* Netzon skládá dvě fotky vedle sebe (image-1 + image-2); my máme jednu. Bez úpravy zabírala
   půl sloupce (325 z 620 px), odznak roku visel pod ní a sloupec byl o 260 px nižší než text vlevo.
   Fotka proto vyplní celý sloupec i výšku řádku (object-fit) a odznak leží přes její dolní roh. */
.aom-duvera .row.align-items-center { align-items: stretch !important; }
.aom-duvera-image { display: block; height: 100%; }
.aom-duvera-image .why-choose-img-box-1 { position: relative; width: 100%; height: 100%; min-height: 420px; background: var(--secondary-color); border-radius: var(--r-card); }   /* podklad, ať box nikdy nepůsobí jako díra (audit 2026-09-23) */
/* Fotka je absolutně v rámečku, aby výšku řádku určoval TEXT vlevo, ne vlastní poměr fotky
   (jinak si 4 : 5 snímek vynutil 983 px a přerostl sloupec s fakty). Na mobilu drží min-height. */
.aom-duvera-image .why-choose-img-box-1 .why-choose-image { background: none; padding: 0; position: absolute; inset: 0; }
.aom-duvera-image .aom-photo, .aom-duvera-image .aom-photo img { height: 100%; width: 100%; }
.aom-duvera-image .aom-photo img { object-fit: cover; object-position: 50% 40%; }
.aom-duvera-image .year-experience-box { position: absolute; left: var(--pad-s); right: auto; top: auto; bottom: var(--pad-s); margin: 0; transform: none; box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35); }
/* Šířka podle obsahu, ne pevných 320 px – u krátkého popisku zůstávalo vpravo prázdno (operátor 2026-09-24). */
.year-experience-box { width: fit-content; max-width: 280px; background: var(--primary-color); border-radius: var(--r-card); }
.year-experience-box .aom-year-num { font-size: var(--fs-num-l); font-weight: 800; line-height: 1.1; color: var(--accent-color); width: auto; margin: 0 var(--gap-grid) 0 0; }   /* rozestup 10 → 16 px, šířka podle obsahu (operátor 2026-09-24: „20 km“ se do 90 px pevných nevešlo vzdušně) */
.year-experience-box .aom-year-label { flex: 0 1 auto; font-size: 15px; font-weight: 700; line-height: 1.2; letter-spacing: 0.06em; text-transform: uppercase; color: var(--white-color); margin: 0; }   /* nerozpíná se do zbytku karty – popisek je krátký (operátor 2026-09-24) */
.aom-recenze-item { padding: var(--pad-m); margin: 0 0 var(--gap-col); height: calc(100% - var(--gap-col)); }
.aom-recenze-item p { font-size: 15px; line-height: 1.65; margin: 0 0 14px; color: var(--primary-color); }
.aom-recenze-item footer { font-size: 13px; color: var(--text-color); }
.aom-recenze-note { font-size: 13px; color: var(--text-color); text-align: center; margin: 6px 0 0; }
.aom-firmy { position: relative; background-size: cover; background-position: center; background-attachment: scroll; }
/* Netzon dává scrimu `opacity: 50%` – bez přebití vyšla tmavá sekce světle šedá a bílý text v ní ztrácel kontrast. */
/* Dvě třídy schválně: blok 25 vypíná Netzon `.intro-video::before` (stejná specificita, pozdější řádek) a s jednou
   třídou by vypnul i náš scrim – s grafitovým placeholderem to nebylo vidět, s fotkou byl text nečitelný (2026-09-23). */
.intro-video.aom-firmy::before { content: ''; position: absolute; inset: 0; display: block; opacity: 1; background: linear-gradient(180deg, rgba(29, 38, 43, 0.93) 0%, rgba(29, 38, 43, 0.88) 100%); }
.aom-firmy .container { position: relative; }
/* Body pro firmy: mřížka 2 × 2 místo vystředěné řádky – vystředěné pilulky různé délky dělaly „schody“.
   Fajfka je Netzon ::before s absolutní pozicí → text musí mít levý odsazovací prostor, jinak se překrývají. */
/* `align-items: stretch` schválně: Netzon má na tomto seznamu `center`, takže dvouřádkový box
   byl vyšší než jednořádkový vedle něj a jejich horní hrany se rozešly o 11 px. */
.intro-video-list ul { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: var(--gap-grid); max-width: none; margin: 0; }   /* na šířku kontejneru jako ostatní sekce (audit 2026-09-23) */
.intro-video-list ul li { position: relative; margin: 0; padding: 16px var(--pad-s) 16px 50px; text-align: left; border: 1px solid rgba(255, 255, 255, 0.18); background: rgba(255, 255, 255, 0.06); border-radius: var(--r-icon); color: rgba(255, 255, 255, 0.92); font-size: 15px; backdrop-filter: none; }
.intro-video-list ul li::before { content: ''; left: 18px; top: 18px; transform: none; width: 20px; height: 20px; border-radius: 50%; font-size: 0;
  background: var(--accent-color) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat; }
.intro-video-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--gap-grid); margin-top: var(--stack-block); }
@media only screen and (max-width: 767px) { .intro-video-list ul { grid-template-columns: 1fr; } }
.aom-poptavka-tel, .aom-poptavka-quick { padding: var(--pad-m); height: 100%; }
.aom-poptavka-quick { display: flex; flex-direction: column; justify-content: center; }   /* obsah souměrně, ne napěchovaný nahoru (audit 2026-09-23) */
.aom-poptavka-tel { background: var(--primary-color); color: var(--white-color); border-radius: var(--r-card); }
.aom-poptavka-label { font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; margin: 0 0 10px; color: var(--accent-color); }
.aom-poptavka-quick .aom-poptavka-label { color: var(--accent-text-color); }
.aom-poptavka-num { display: inline-flex; align-items: center; gap: var(--gap-icon); font-size: clamp(26px, 3vw, var(--fs-num-l)); font-weight: 800; letter-spacing: -0.02em; color: var(--accent-color); text-decoration: none; }
.aom-poptavka-num .aom-icon { width: 30px; height: 30px; }
.aom-poptavka-num:hover { color: var(--white-color); }
.aom-poptavka-sec { margin: 8px 0 0; font-size: 15px; color: rgba(255, 255, 255, 0.8); }
.aom-poptavka-sec a { color: var(--white-color); }
.aom-poptavka-hours { margin: var(--pad-s) 0 0; font-weight: 600; }
.aom-poptavka-note { margin: 8px 0 0; font-size: 15px; color: rgba(255, 255, 255, 0.72); }
.aom-quick-links { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-grid); }
.aom-quick-links li { display: flex; }
.aom-quick-links li .btn-default { display: inline-flex; align-items: center; }   /* obě tlačítka řádku stejně vysoká (audit 2026-09-23) */
.aom-quick-links .btn-default { width: 100%; text-align: left; padding-right: 48px; box-shadow: none; }
.aom-poptavka-form { margin-top: var(--pad-m); }
@media only screen and (max-width: 991px) { .aom-poptavka-quick { margin-top: var(--gap-col); } .aom-quick-links { grid-template-columns: 1fr; } }

/* 16) FAQ – nativní <details>: bílé karty, otázka jako tlačítko, plus/mínus, otevřená = stín. */
.aom-faq { display: flex; flex-direction: column; gap: var(--gap-grid); }
.aom-faq-item { background: var(--white-color); border: 1px solid var(--divider-color); overflow: hidden; position: relative; transition: border-color 0.25s, box-shadow 0.25s; }
/* levá oranžová linka položky FAQ při otevření zrušena (operátor 2026-09-23) */
.aom-faq-item[open] { border-color: transparent; box-shadow: var(--shadow-card); }
.aom-faq-q { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: var(--gap-grid); padding: var(--pad-s); font-size: 15px; font-weight: 700; color: var(--primary-color); }   /* vlevo +4 px kvůli žluté lince otevřené otázky */
.aom-faq-q::-webkit-details-marker { display: none; }
.aom-faq-icon { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; background: var(--accent-soft); position: relative; }
.aom-faq-icon::before, .aom-faq-icon::after { content: ''; position: absolute; left: 50%; top: 50%; background: var(--primary-color); transform: translate(-50%, -50%); }
.aom-faq-icon::before { width: 12px; height: 2px; }
.aom-faq-icon::after { width: 2px; height: 12px; transition: transform 0.25s; }
.aom-faq-item[open] .aom-faq-icon::after { transform: translate(-50%, -50%) scaleY(0); }
.aom-faq-a { padding: 0 var(--pad-s) var(--pad-s); }
.aom-faq-a p { margin: 0 0 8px; }
.aom-faq-link { font-weight: 600; }
.our-faqs .our-faqs-content { margin-bottom: 30px; }
@media only screen and (min-width: 1200px) { .aom-faq-sekce .row { align-items: center; } .our-faqs .our-faqs-content { margin-bottom: 0; } }   /* nadpis na střed vedle otázek, ne 250 px prázdna pod ním (audit 2026-09-23) */

/* 17) Sekce s kotvami (+ přilepená fotka a karta místa), úvod vnitřní stránky, cenový box. „Kam odpad putuje“ a hmotnosti služeb byly 2026-09-23 odebrány. */
/* Text bloku drží měřítko řádku (~75 znaků) a je vycentrovaný – na šířku 1440 px by u levého okraje
   vznikl pruh textu a půl obrazovky prázdna. */
/* Kontejner sekce s kotvami byl zúžený na 900 px a tím vysazený o 200 px doprava proti
   všem ostatním sekcím – obsah stránky „skákal“. Čitelnou šířku dnes drží míra sazby (blok 5b),
   zúžení kontejneru tedy není potřeba a levá hrana sedí všude stejně. */
.aom-sekce-item { max-width: 100%; margin-bottom: var(--stack-block); }
.aom-sekce-item:last-child { margin-bottom: 0; }
.aom-sekce-misto { max-width: 100%; }   /* karta „Kolik místa potřebujeme“ ve sloupci sekcí (operátor 2026-09-23) – karta, ne próza, míra sazby se na ni nevztahuje */
/* Fotka vedle textových bloků: vyplní sloupec absolutně, výšku řádku dává TEXT (stejný vzor jako úvod stránky).
   Dřív sticky s vlastní výškou – fotka určovala výšku řádku a pod textem zbývalo až 350 px (audit 2026-09-23). */
.aom-sekce-row { align-items: stretch; }
.aom-sekce-row > .col-xl-5 { position: relative; }
.aom-sekce-foto { position: absolute; inset: 0 15px; }
.aom-sekce-foto .aom-photo { height: 100%; background: var(--secondary-color); border-radius: var(--r-card); }   /* podklad = nikdy díra */
.aom-sekce-foto .aom-photo img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; border-radius: var(--r-card); }
.aom-sekce-misto .aom-misto { background: var(--secondary-color); border-color: transparent; }   /* karta na bílé sekci má betonový podklad jako .aom-sekce-example */
.aom-sekce-item > p a { font-weight: 600; text-decoration: underline; text-decoration-color: var(--accent-color); text-decoration-thickness: 2px; text-underline-offset: 4px; }   /* odkaz v textu = stejná podoba jako v FAQ a pod kartami */
.aom-sekce-example { background: var(--secondary-color); border-radius: var(--r-btn); padding: 14px var(--pad-s); font-size: 15px; }
.aom-check-list { margin-bottom: var(--gap-grid); }
.aom-sluzba-intro .about-us-body { flex-direction: column; align-items: stretch; gap: var(--gap-col); }
/* ÚVOD VNITŘNÍ STRÁNKY (služby, O nás, Kde jezdíme – jedna Netzon struktura .about-us):
   fotka vlevo byla 336 px v 433px sloupci (Netzon .about-image-box má margin-right 4,7 vw) a vedle
   textu vysokého 530 px plavala ve vzduchu. Fotka vyplní celý sloupec, výšku řádku určuje text
   (fotka je absolutní, takže si sama výšku nevynutí); na úzkém displeji drží min-height. */
:is(.aom-sluzba-intro, .aom-onas, .aom-oblast-intro) .row { align-items: stretch; }
:is(.aom-sluzba-intro, .aom-onas, .aom-oblast-intro) .about-image-box { margin-right: 0; height: 100%; display: block; }
:is(.aom-sluzba-intro, .aom-onas, .aom-oblast-intro) .about-us-image { position: relative; width: 100%; height: 100%; min-height: 360px; margin: 0; padding: 0; }
.aom-oblast-intro .about-us-image { min-height: 300px; }   /* kratší úvod Kde jezdíme – fotka 4 : 3 sedí bez prázdna pod textem (audit 2026-09-23) */
:is(.aom-sluzba-intro, .aom-onas, .aom-oblast-intro) .about-us-image::before, :is(.aom-sluzba-intro, .aom-onas, .aom-oblast-intro) .about-us-image::after { display: none; }
:is(.aom-sluzba-intro, .aom-onas, .aom-oblast-intro) .about-us-image .aom-photo { position: absolute; inset: 0; }
:is(.aom-sluzba-intro, .aom-onas, .aom-oblast-intro) .about-us-image .aom-photo img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
/* Pod 1200 px se sloupce stohují: fotka musí být v toku, ne absolutní – s height: 100 % na obou obalech se margin-bottom
   ztrácel a nadpis byl nalepený 0 px na fotku (změřeno 2026-09-23 na 390 px, operátor to reklamoval). Fotka 4 : 3, pod ní --gap-col. */
@media only screen and (max-width: 1199px) {
  :is(.aom-sluzba-intro, .aom-onas, .aom-oblast-intro) .about-image-box { height: auto; }
  :is(.aom-sluzba-intro, .aom-onas, .aom-oblast-intro) .about-us-image { height: auto; min-height: 0; margin-bottom: var(--stack-media); }
  :is(.aom-sluzba-intro, .aom-onas, .aom-oblast-intro) .about-us-image .aom-photo { position: static; }
  :is(.aom-sluzba-intro, .aom-onas, .aom-oblast-intro) .about-us-image .aom-photo img { height: auto; aspect-ratio: 4 / 3; }
}
.aom-cenovy-box { background: var(--secondary-color); padding: var(--pad-m); }   /* bez levé oranžové linky (operátor 2026-09-23); výplň hlavního panelu = --pad-m (audit) */
.aom-cenovy-box-list li { display: grid; grid-template-columns: 1fr auto; gap: 2px var(--gap-grid); padding: var(--stack-h3) 0; border-top: 1px solid var(--divider-color); }
.aom-cenovy-box-list li:first-child { border-top: 0; padding-top: 0; }
.aom-cenovy-label { font-weight: 700; color: var(--primary-color); }
.aom-cenovy-price { grid-column: 2; grid-row: 1 / span 2; text-align: right; font-weight: 800; font-size: var(--fs-num-m); letter-spacing: -0.02em; color: var(--primary-color); white-space: nowrap; }
.aom-cenovy-price small { display: block; font-size: 11px; font-weight: 600; letter-spacing: 0; color: var(--text-color); }
.aom-cenovy-max { font-size: 13px; color: var(--text-color); }
.aom-cenovy-note { margin: var(--stack-h3) 0 0; font-size: 15px; color: var(--text-color); }
.aom-cenovy-vice { margin: calc(-1 * var(--gap-col) + var(--gap-grid)) 0 0; }   /* odkaz těsně pod boxem, ne o celou mezeru sloupce */
.aom-sluzba-cta { display: flex; flex-wrap: wrap; gap: var(--gap-grid); }
.aom-vaha h2, .aom-misto h2 { display: flex; align-items: center; gap: var(--gap-icon); }
.aom-vaha h2 .aom-icon { width: 24px; height: 24px; flex: 0 0 24px; color: var(--accent-text-color); }
@media only screen and (max-width: 575px) {
  .aom-cenovy-box-list li { grid-template-columns: 1fr; gap: var(--gap-chip); }
  .aom-cenovy-price { grid-column: 1; grid-row: auto; text-align: left; white-space: normal; font-size: var(--fs-num-m); }
  .aom-cenovy-price small { display: inline; margin-left: var(--gap-chip); }
}   /* mobil: položka ve stohu, cena v číselné škále 22 px (audit 2026-09-23) */

/* 18) Kde jezdíme: obce, mapa pásem; kontakt: mapa s odkazy, formulář; právní stránka. */
.aom-obce { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--gap-col); margin: 0; }
.aom-obec { padding: 14px 0; border-top: 1px solid var(--divider-color); }
.aom-obec dt { font-weight: 700; color: var(--primary-color); }
.aom-obec dd { margin: 2px 0 0; font-size: 15px; }
.aom-mapa { margin: 0; background: var(--secondary-color); padding: var(--pad-s); color: var(--primary-color); }
.aom-mapa-svg { width: 100%; height: auto; display: block; }
.aom-mapa-zone { fill: none; stroke: var(--primary-color); stroke-width: 1.2; }
.aom-mapa-zone--a { fill: rgba(255, 121, 0, 0.16); stroke: var(--accent-text-color); stroke-width: 2; }
.aom-mapa-zone--b { fill: rgba(255, 121, 0, 0.08); stroke-dasharray: 6 5; }
.aom-mapa-zone--c { stroke-dasharray: 4 6; stroke-opacity: 0.6; }
.aom-mapa-zone--d { stroke-dasharray: 2 6; stroke-opacity: 0.4; }
.aom-mapa-zonelabel { font-size: 16px; font-weight: 700; text-anchor: middle; fill: var(--primary-color); }
.aom-mapa-town circle { fill: var(--primary-color); }
.aom-mapa-town text { font-size: 15px; fill: var(--primary-color); font-weight: 600; }
.aom-mapa-town--home circle { fill: var(--accent-color); stroke: var(--primary-color); stroke-width: 2; }
.aom-mapa-town--home text { font-size: 20px; font-weight: 800; }
/* Popisky obcí byly 8,7 px na desktopu a 5,6 px na mobilu (audit 2026-09-23): větší písmo, pod 1200 px jen střed – obce jsou v kartách pásem. */
@media only screen and (max-width: 1199px) { .aom-mapa-town:not(.aom-mapa-town--home) text { display: none; } }
@media only screen and (max-width: 575px) { .aom-mapa-zonelabel { font-size: 26px; } .aom-mapa-town--home text { font-size: 30px; } }
/* Schéma stojí vedle karet pásem a má s nimi začínat i končit (operátor 2026-09-24: „ať je to správně
   vedle sebe“). Sloupec je proto flexový a schéma si vezme jen zbylou výšku – SVG je čtvercové,
   takže se zmenší samo a zůstane vycentrované. */
.aom-pasma-sekce .row > [class*='col-'] { display: flex; flex-direction: column; }
.aom-pasma-sekce .aom-mapa { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; justify-content: center; margin: 0; }
.aom-pasma-sekce .aom-mapa-svg { max-width: 360px; max-height: 100%; margin-inline: auto; }   /* 420 → 360: s popiskem se sloupec vejde do výšky karet pásem */
.aom-mapa-caption { font-size: 13px; color: var(--text-color); margin-top: 10px; }
.aom-mapa-links { display: flex; flex-wrap: wrap; gap: var(--gap-chip) 24px; margin: var(--gap-grid) 0 0; font-weight: 600; }
.aom-contact-map-col > div { display: flex; flex-direction: column; height: 100%; }
.aom-mapa-kontakt { flex: 1 1 auto; display: flex; flex-direction: column; gap: var(--gap-col); }
.aom-mapa--adresa .aom-misto-title { margin-bottom: var(--stack-h3); }
.aom-mapa-adresa { font-weight: 700; color: var(--primary-color); margin: 0 0 4px; }
.aom-mapa-hodiny { margin: 0; font-size: 15px; }
.aom-kontakt-misto { position: sticky; top: var(--aom-anchor); }   /* karta místa drží u formuláře při rolování (audit 2026-09-23) */
@media only screen and (min-width: 992px) { .aom-kontakt .contact-info-item { width: calc((100% - 60px) / 3); } }   /* tři karty místo čtyř (fakturační údaje jsou v patičce) */
.contact-info-list { margin-bottom: var(--sec-title); }
.aom-kontakt-hours { font-size: 13px; color: var(--text-color); }
.contact-us-form { padding: var(--pad-l); border-radius: var(--r-card); background: var(--secondary-color); }
.contact-us-form form .form-field { margin-bottom: var(--pad-s); }
.contact-us-form form .form-label { margin-bottom: 10px; }
.contact-us-form form .form-label label { display: block; font-size: 15px; font-weight: 600; line-height: 1.3; color: var(--primary-color); margin: 0; }
.contact-us-form form .form-label .required { color: var(--accent-text-color); margin-left: 2px; }
.contact-us-form form .form-control { background-color: var(--white-color); border: 1px solid rgba(29, 38, 43, 0.18); border-radius: 12px; transition: border-color 0.25s, box-shadow 0.25s; }
.contact-us-form form .form-control:hover { border-color: rgba(29, 38, 43, 0.4); }
.contact-us-form form .form-control:focus { border-color: var(--accent-text-color); box-shadow: 0 0 0 3px var(--accent-soft); }
.contact-us-form form textarea.form-control { min-height: 110px; resize: vertical; }
.contact-us-form form .buttons { margin-top: var(--pad-m); }
.contact-us-form form .form-data[data-grav-field="radio"] { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap-chip) var(--gap-grid); }
.contact-us-form form .radio { display: flex; align-items: flex-start; gap: var(--gap-icon); margin: 0; }
.contact-us-form form .radio input[type="radio"] { flex: 0 0 20px; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--accent-text-color); cursor: pointer; }
.contact-us-form form .radio label { margin: 0; font-size: 15px; font-weight: 400; line-height: 1.4; color: var(--primary-color); cursor: pointer; }
.contact-us-form form .form-input-file { padding: 10px 14px; min-height: 0; }
.contact-us-form form .form-input-file input[type="file"] { display: block; width: 100%; font-size: 15px; color: var(--text-color); }
.contact-us-form form .form-input-file input[type="file"]::file-selector-button { font: inherit; font-weight: 700; color: var(--white-color); background: var(--primary-color); border: 0; border-radius: 10px; padding: 8px 16px; margin-right: 12px; cursor: pointer; }
.aom-form-privacy, .aom-form-consumer { font-size: 13px; color: var(--text-color); margin: 14px 0 0; line-height: 1.6; }
.basic-captcha .form-input-addon { display: flex; align-items: center; gap: var(--gap-icon); margin-bottom: var(--gap-grid); }
.basic-captcha .form-input-addon img { border: 1px solid var(--divider-color); border-radius: 10px; background: var(--white-color); }
.basic-captcha .reload-captcha-button { flex: 0 0 auto; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 1px solid var(--divider-color); border-radius: 50%; background: var(--white-color); color: var(--primary-color); cursor: pointer; }
.basic-captcha .reload-captcha-button svg { width: 18px; height: 18px; display: block; }
.basic-captcha .reload-captcha-button:hover { background: var(--accent-color); border-color: var(--accent-color); }
.aom-pravni-text { }
.aom-pravni-text > :last-child { margin-bottom: 0; }   /* spodní odstup stránky = --sec (poslední odstavec měl 26 px navíc; změřeno 2026-09-23) */
.aom-pravni-text h2 { margin-top: var(--stack-block); }
.aom-pravni-updated { font-size: 13px; color: var(--text-color); margin-bottom: 0; }   /* poslední prvek stránky – spodní odstup sekce = --sec */
@media only screen and (max-width: 991px) { .aom-obce { grid-template-columns: 1fr; } .contact-us-form { padding: var(--pad-m); } .contact-us-form form .form-data[data-grav-field="radio"] { grid-template-columns: 1fr; } }

/* 19) O nás: vozový park, lidé, hodnoty, doklady. Rotující razítko (Rinoh) zrušeno 2026-09-22 –
       mělo 0 × 0 px (Netzon .about-us-circle čeká <img>), takže bylo neviditelné, a jen opakovalo logo. */
.aom-park-item { padding: var(--pad-m); height: calc(100% - var(--gap-col)); margin-bottom: var(--gap-col); }
@media only screen and (min-width: 992px) { .aom-park-item { height: 100%; margin-bottom: 0; } }   /* čtyři karty v jednom řádku – bez spodního okraje (audit 2026-09-23) */
.aom-park-icon { margin-bottom: var(--gap-grid); }
.aom-park-item p { margin: 0; font-size: 15px; }
/* Karta s fotkou (operátor 2026-09-23 – fotky i jako detaily): výřez 4 : 3 přes celou šířku karty nahoře,
   ikonový box překrývá jeho spodní hranu o polovinu (bílý rámeček ho odděluje od fotky), text pod ním. */
.aom-park-item--foto { padding: 0; overflow: hidden; }
.aom-park-foto { margin: 0; }
.aom-park-foto img { display: block; width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; border-radius: 0; }
.aom-park-item--foto .aom-park-body { padding: 0 var(--pad-m) var(--pad-m); }
.aom-park-item--foto .aom-park-icon { position: relative; z-index: 1; margin-top: -30px; border: 3px solid var(--white-color); box-sizing: content-box; }
.aom-osoba { text-align: center; margin-bottom: 24px; }
.aom-osoba figure { margin: 0 0 12px; border-radius: 50%; overflow: hidden; aspect-ratio: 1; }
.aom-osoba img { width: 100%; height: 100%; object-fit: cover; }
.aom-osoba h3 { margin-bottom: 2px; }   /* jméno → role: těsně, jde o jeden údaj */
.aom-osoba p { margin: 0; font-size: 13px; }
.aom-doklady-box { background: var(--primary-color); color: var(--white-color); border-radius: var(--r-card); padding: var(--pad-m); margin-top: var(--gap-col); }   /* pod fotkou v sekci Jak jednáme (audit 2026-09-23) */
.aom-doklady-box h2 { color: var(--white-color); display: flex; align-items: center; gap: var(--gap-icon); }
.aom-doklady-box h2 .aom-icon { width: 24px; height: 24px; flex: 0 0 24px; color: var(--accent-color); }
.aom-doklady-box p { margin: 0 0 6px; color: rgba(255, 255, 255, 0.85); }
.aom-doklady-box small { font-size: 13px; }
.aom-onas-shop { margin-top: 18px; font-size: 15px; }
/* Tři čísla „2003 · 2 · 12“ na /o-nas: číslice jsou odstavce (ne <h3> – v osnově dokumentu by
   vypadaly jako tři nadpisy), jednotná barva a oddělovač jen tam, kde vedle sebe opravdu něco je –
   na mobilu ve sloupci visel svislý proužek ve vzduchu. */
.about-google-review-box { display: grid; grid-template-columns: repeat(3, 1fr); align-items: start; gap: 0; width: 100%; }
.about-google-review { padding-right: var(--gap-col); border-right: 1px solid var(--divider-color); }
.about-google-review + .about-google-review { padding-left: var(--gap-col); }
.about-google-review:last-child { padding-right: 0; border-right: 0; }
.aom-onas .about-review-box { border-right: 0; margin-right: 0; padding-right: 0; }   /* Netzon linka za posledním číslem (audit 2026-09-23) */
.aom-fakt-num { color: var(--primary-color); font-size: var(--fs-num-l); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; margin: 0 0 4px; }
.about-author-content p:not(.aom-fakt-num) { margin: 0; font-size: 15px; }
@media only screen and (max-width: 991px) {
  .about-google-review-box { grid-template-columns: 1fr; }
  .about-google-review, .about-google-review + .about-google-review { padding: 14px 0; border-right: 0; border-bottom: 1px solid var(--divider-color); }
  .about-google-review:last-child { border-bottom: 0; padding-bottom: 0; }
}

/* 20) Patička – „přepravní list“. */
/* Telefon ani e-mail se nikdy nelámou přes řádek – v patičce se „+420 379 724 676“ lámalo
   za druhou trojicí a na dalším řádku zůstalo samotné „676“. */
a[href^="tel:"], a[href^="mailto:"] { white-space: nowrap; }
.aom-footer { position: relative; overflow: hidden; background: var(--primary-color); color: rgba(255, 255, 255, 0.82); padding: var(--sec) 0 32px; }
/* Kresba vozu je přesná silueta z výkresu (ft-kresba-gen.py), proto je širší než dřívější schéma –
   sedí do pravého dolního rohu a nesmí lézt do sloupců patičky (operátor 2026-09-24). */
.aom-ft-signature { position: absolute; right: -40px; bottom: 16px; width: 82%; min-width: 620px; max-width: 1400px; opacity: 0.085; pointer-events: none; }   /* 58 → 82 % šířky patičky (operátor 2026-09-24: „zvětši o třetinu až polovinu“) */
.aom-ft-signature .sg-line { stroke: var(--white-color); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.aom-ft-inner { position: relative; }
.aom-ft-cta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: var(--gap-col) var(--pad-l); }
.aom-ft-eyebrow { display: inline-flex; align-items: center; gap: var(--gap-icon); font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent-color); margin-bottom: 12px; }
.aom-ft-eyebrow::before { content: ''; width: 22px; height: 3px; border-radius: 2px; background: var(--accent-color); }
/* Věta drží jeden řádek (operátor 2026-09-24) – `max-width: 34rem` ji lámala na dva. Na užších
   obrazovkách se zalomí sama, `text-wrap` je proto v bloku 5 vypnuté jen tady. */
.aom-ft-title { color: var(--white-color); font-size: 28px; font-weight: 700; line-height: 1.25; margin: 0; max-width: none; text-wrap: nowrap; }
@media only screen and (max-width: 1199px) { .aom-ft-title { text-wrap: balance; max-width: 34rem; } }
.aom-ft-cta-action { display: flex; flex-wrap: wrap; gap: var(--gap-grid); }
.aom-ft-btn { display: inline-flex; align-items: center; gap: var(--gap-icon); padding: 15px 24px; border-radius: var(--r-btn); font-weight: 700; font-size: 15px; text-decoration: none; transition: all 0.25s; }
.aom-ft-btn .aom-icon { width: 18px; height: 18px; }
.aom-ft-btn--call { background: var(--accent-color); color: var(--white-color); box-shadow: 0 10px 26px rgba(0, 0, 0, 0.28); }
.aom-ft-btn--call:hover { background: var(--white-color); color: var(--primary-color); }
.aom-ft-btn--ghost { border: 1px solid rgba(255, 255, 255, 0.5); color: var(--white-color); }
.aom-ft-btn--ghost:hover { background: var(--white-color); border-color: var(--white-color); color: var(--primary-color); }
.aom-ft-road { position: relative; margin: var(--pad-l) 0 44px; }   /* odstup CTA věty od linky: 48 → 28 → 40 px (operátor 2026-09-24 dvakrát doladil) */
.aom-ft-road-line { display: block; height: 0; border-top: 3px dashed rgba(255, 255, 255, 0.22); }
.aom-ft-km { margin-top: 12px; font-size: 13px; }
.aom-ft-km summary { cursor: pointer; color: var(--accent-color); font-weight: 600; }
.aom-ft-km-list { margin-top: 8px; display: flex; flex-wrap: wrap; gap: var(--gap-chip) 18px; }
.aom-ft-km-list strong { color: var(--white-color); }
.aom-ft-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 0.9fr; gap: var(--gap-col); }
.aom-ft-brandnote { font-size: 13px; line-height: 1.6; margin: 18px 0 0; max-width: 20rem; }
.aom-ft-licence { font-size: 13px; margin-top: 10px; }
.aom-ft-vice { display: inline-block; margin-top: var(--gap-chip); color: var(--accent-color) !important; font-weight: 700; }   /* odkaz se odliší od seznamu obcí (audit 2026-09-23) */
.aom-ft-licence .aom-icon { width: 16px; height: 16px; vertical-align: -3px; color: var(--accent-color); }
.aom-ft-list { margin: 0; }
/* MUSÍ být až za `.aom-ft-list { margin: 0 }` – stejná specificita, takže dřív zapsané `margin-top`
   pravidlo nad ním prohrávalo a odstup byl 0 (operátor 2026-09-24: „Provozní dobu odsaď od textu nad ní“). */
.aom-ft-list--brand { margin-top: var(--pad-m); }
.aom-ft-field { margin-bottom: var(--gap-grid); }
.aom-ft-field dt { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent-color); margin-bottom: 4px; }
/* `balance` rozloží řádky rovnoměrně – jinak zůstávalo v zápise do rejstříku na druhém
   řádku samotné číslo vložky a v obcích visela tečka oddělovače na konci řádku. */
.aom-ft-field dd { margin: 0; font-size: 15px; color: rgba(255, 255, 255, 0.85); text-wrap: balance; }
.aom-ft-field dd a { color: var(--white-color); text-decoration: none; }
.aom-ft-field dd a:hover { color: var(--accent-color); }
.aom-ft-nav li { margin-bottom: 6px; }
.aom-ft-nav a { color: rgba(255, 255, 255, 0.85); text-decoration: none; }
.aom-ft-nav a:hover { color: var(--accent-color); }
.aom-ft-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--gap-chip) 24px; margin-top: 36px; padding-top: 22px; border-top: 1px solid var(--dark-divider-color); font-size: 13px; color: rgba(255, 255, 255, 0.6); }
.aom-ft-base p { margin: 0; }
@media only screen and (max-width: 1199px) { .aom-ft-grid { grid-template-columns: 1fr 1fr; } }
@media only screen and (max-width: 991px) { .aom-footer { padding-bottom: calc(var(--aom-sticky-h) + 24px); } }   /* lišta je do 991 px, patička jí musí uhnout i na tabletu (audit 2026-09-23) */
@media only screen and (max-width: 767px) { .aom-ft-grid { grid-template-columns: 1fr; gap: var(--gap-col); } .aom-ft-signature { display: none; } .aom-ft-road { margin: 36px 0 32px; } }

/* 21) Sticky lišta (jen mobil): Zavolat žlutá 60 % + Poptávka obrys 40 %. */
.aom-sticky { display: none; }
@media only screen and (max-width: 991px) {
  .aom-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1500; display: flex; gap: var(--gap-icon); padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: var(--primary-color); box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.25); transition: transform 0.25s; }
  .aom-sticky.is-hidden { transform: translateY(110%); }
  .aom-sticky a { display: inline-flex; align-items: center; justify-content: center; gap: var(--gap-chip); height: 46px; border-radius: var(--r-btn); font-weight: 700; text-decoration: none; }
  .aom-sticky-call { flex: 0 0 60%; background: var(--accent-color); color: var(--white-color); }
  .aom-sticky-call .aom-icon { width: 20px; height: 20px; }
  .aom-sticky-quote { flex: 1 1 auto; border: 1px solid rgba(255, 255, 255, 0.5); color: var(--white-color); }
}

/* 22) Hlavička vnitřní stránky – grafit s mřížkou, sevřená. */
/* Záhlaví vnitřních stránek = fotka pod týmž neutrálním gradientem jako hero (operátor 2026-09-23), nadpis i drobečky
   na levé hraně kontejneru, dole oranžová linka jako pod herem. Bez fotky (header_image prázdné) zůstává jen šedá. */
.page-header { position: relative; overflow: hidden; background: #1A1A1A; }
.page-header .container { position: relative; z-index: 2; }
.aom-zahlavi-foto { position: absolute; inset: 0; z-index: 0; }
.aom-zahlavi-foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; display: block; }
.page-header::before { display: none; }
.page-header--foto::before { content: ''; display: block; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(24, 24, 24, 0.88) 0%, rgba(24, 24, 24, 0.68) 45%, rgba(24, 24, 24, 0.38) 100%); }
.page-header::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 6px; background: var(--accent-color); z-index: 2; }
.page-header-box { text-align: left; }
.page-header-box h1 { font-size: clamp(2.1rem, 4vw, 3.2rem); line-height: 1.08; font-weight: 800; margin-bottom: 14px; color: var(--white-color); }
.page-header-box h1 span { color: var(--accent-color); }
.page-header-box ol.breadcrumb { position: relative; padding-bottom: 0; justify-content: flex-start; margin: 0; }
.page-header-box ol li.breadcrumb-item, .page-header-box ol li.breadcrumb-item a { color: rgba(255, 255, 255, 0.8); font-size: 15px; }
.page-header-box ol li.breadcrumb-item.active { color: var(--accent-color); }
.page-header-box ol.breadcrumb::after { display: none; }   /* vystředěná linka pod drobečky zrušena – záhlaví je zarovnané vlevo */

/* 23) Chybová stránka (404). */
.aom-error { text-align: center; }
.aom-error-box { max-width: 640px; margin: 0 auto; }
.aom-error-code { margin: 0 0 -0.12em; font-size: clamp(84px, 18vw, 184px); font-weight: 800; line-height: 1; letter-spacing: -0.02em; color: var(--accent-color); opacity: 0.3; }
.aom-error-title { margin: 0 0 var(--stack-h2); font-size: clamp(2.1rem, 4vw, 3.2rem); font-weight: 800; line-height: 1.08; }   /* L1 – stejná úroveň jako h1 vnitřní stránky */
.aom-error-lead { margin: 0 0 32px; font-size: 17px; text-wrap: balance; }   /* jinak zůstávalo na druhém řádku samotné „přistavíme.“ */
.aom-error-actions { display: flex; flex-wrap: wrap; gap: var(--gap-grid) 28px; align-items: center; justify-content: center; }

/* 24) RYTMUS SEKCÍ – jediné místo, kde se řídí svislé odstupy. Každá sekce = padding var(--sec) nahoře
       i dole; výjimky: hero, lišta důvodů, hlavička stránky, 404. Střídání pozadí bílá / beton / grafit;
       výkresová pozadí Netzon zrušena. */
/* `!important` je tu nutné: Netzon dává sekcím `padding: 100px 0` přes třídu (.about-us, .our-faqs, …),
   což má vyšší specificitu než `main > *`. Bez toho měly stránky mix 96 a 100 px. */
main > .aom-home > *, main > * { padding-top: var(--sec) !important; padding-bottom: var(--sec) !important; }
main > .aom-home, main > .aom-home > .aom-vyhody { padding-top: 0 !important; padding-bottom: 0 !important; }
/* Lišta důvodů nese kolem karet vlastní --pad-m, který se k odstupu další sekce přičítá (124 px místo 96).
   Sekce hned po ní proto o tutéž hodnotu ubere a výsledná mezera je přesně --sec (operátor 2026-09-24). */
main > .aom-home > .aom-vyhody + * { padding-top: calc(var(--sec) - var(--pad-m)) !important; }
main > .aom-home > .aom-hero { padding: 268px 0 calc(var(--sec) + 40px) !important; }   /* 30 + 92 hlavička + 146 vzduch; dole --sec + 40 – celý pruh o kus vyšší (operátor 2026-09-24) */
main > .page-header { padding: 200px 0 var(--sec) !important; }   /* 30 + 92 hlavička + 78 vzduch; dole odstup sekce, ať je fotka vidět */
main > .aom-error { padding: 200px 0 var(--sec) !important; }
@media only screen and (max-width: 991px) { main > .aom-home > .aom-hero { padding: 178px 0 calc(var(--sec) + 28px) !important; } main > .page-header { padding: 150px 0 var(--sec) !important; } main > .aom-error { padding: 150px 0 var(--sec) !important; } }
.our-services, .how-it-work, .why-choose-us, .our-faqs, .about-us, .our-value, .our-features, .page-contact-us, .intro-video { background-image: none; }
.our-services .section-row, .aom-park .section-row, .aom-poptavka .section-row, .aom-cenik-vytah .section-row, .aom-cenik .section-row { margin-bottom: var(--sec-title); }
/* střídání pozadí titulní strany */
.aom-sluzby { background: var(--white-color); }
.aom-postup { background: var(--secondary-color); }
.aom-cenik-vytah { background: var(--secondary-color); }
.aom-oblast { background: var(--white-color); }
.aom-duvera { background: var(--secondary-color); }
.aom-faq-sekce { background: var(--white-color); }
.aom-poptavka { background: var(--secondary-color); }
.aom-recenze { background: var(--white-color); }
/* vnitřní stránky */
/* Střídání bílá → beton → bílá … Když po sobě přesto přijdou dvě sekce se stejným pozadím (stránky
   mají různé sady sekcí – např. Hydraulická ruka nemá „patří/nepatří“ ani váhu), spojí se do jednoho
   pruhu: druhá ztratí horní odsazení, takže mezi obsahem zůstane 96 px, ne 192. */
:is(.aom-sluzby, .aom-oblast, .aom-faq-sekce, .aom-recenze, .aom-sluzba-intro, .aom-sekce, .aom-cenik:not(.aom-pasma-sekce), .aom-lide, .aom-kontakt, .aom-pravni, .aom-onas, .aom-oblast-intro, .aom-hodnoty)
+ :is(.aom-sluzby, .aom-oblast, .aom-faq-sekce, .aom-recenze, .aom-sluzba-intro, .aom-sekce, .aom-cenik:not(.aom-pasma-sekce), .aom-lide, .aom-kontakt, .aom-pravni, .aom-onas, .aom-oblast-intro, .aom-hodnoty) { padding-top: 0 !important; }
:is(.aom-postup, .aom-cenik-vytah, .aom-duvera, .aom-poptavka, .aom-patri, .aom-park, .aom-doklady, .aom-pasma-sekce, .aom-vaha-misto, .aom-sluzba-karty)
+ :is(.aom-postup, .aom-cenik-vytah, .aom-duvera, .aom-poptavka, .aom-patri, .aom-park, .aom-doklady, .aom-pasma-sekce, .aom-vaha-misto, .aom-sluzba-karty) { padding-top: 0 !important; }
.aom-sluzba-intro, .aom-onas, .aom-oblast-intro { background: var(--white-color); }
.aom-patri, .aom-park, .aom-doklady, .aom-pasma-sekce, .aom-vaha-misto, .aom-sluzba-karty { background: var(--secondary-color); }
.aom-sekce, .aom-cenik, .aom-lide, .aom-kontakt, .aom-pravni, .aom-hodnoty { background: var(--white-color); }
.aom-cenik.aom-pasma-sekce { background: var(--secondary-color); }   /* pásma na /kde-jezdime nesou obě třídy */
.intro-video::before { display: none; }

/* 25) VIDITELNOST OBSAHU – žádná animace neřídí, co návštěvník uvidí. Netzon skrývá `.reveal`
       přes `visibility: hidden` (custom.css:178) a spoléhá, že ho odkryje GSAP; na /cenik to
       selhalo u 7 z 11 bloků a část ceníku byla trvale neviditelná. Obsah je proto viditelný VŽDY.
       WOW.js i animate.css jsou odstraněné, `.wow` už nikdo neskrývá – ze seznamu je pryč.
       Scroll-driven varianta (`animation-timeline: view()`) tu byla a je zrušená schválně: prvek
       mimo viewport zůstává na začátku animace, takže se neobjeví v tisku ani na celostránkovém
       snímku. Web je čitelný hned – to je záměr, ne opomenutí. */
.reveal { visibility: visible !important; opacity: 1 !important; }
