/* ==========================================================================
   aom-brand.css — override vrstva motivu Autodoprava AOM nad Netzon baseline (custom.css).
   PRINCIP: layouty sekcí a komponenty = Netzon (custom.css, needitovat). Tady jen to, co dělá
   z generické šablony značku AOM a co opravuje přístupnost/lokalizaci. Bloky jsou číslované;
   u každého je řečeno PROČ existuje. Paleta: grafit #1D262B · signální žlutá #F2A900 · okr
   #8A5300 (text na světlém) · beton #F2F0EB · text #4E585E (plán §8.1). Písmo Sora self-host.
   ========================================================================== */

/* 0) Písmo Sora – self-host (bez Google Fonts: žádná třetí strana, žádné cookies). */
@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. Netzon staví vše na proměnných :root – přebarvení je jedna sada hodnot.
      --accent-color je ŽLUTÁ: Netzon na ni dává bílý text (nečitelné) → blok 3 opravuje tlačítka,
      pro texty/odkazy na světlém pozadí je okr (--accent-text-color, kontrast 5,4 : 1 na bílé). */
:root {
  --primary-color: #1D262B;
  --secondary-color: #F2F0EB;
  --text-color: #4E585E;
  --accent-color: #F2A900;
  --accent-secondary-color: #1D262B;
  --accent-text-color: #8A5300;
  --accent-soft: rgba(242, 169, 0, 0.14);
  --bg-color: #FFFFFF;
  --white-color: #FFFFFF;
  --divider-color: rgba(29, 38, 43, 0.12);
  --dark-divider-color: rgba(255, 255, 255, 0.14);
  --grafit-2: #2B3740;
  --aom-radius: 14px;
  --aom-sticky-h: 64px;
}
html { scroll-padding-top: 96px; scroll-padding-bottom: calc(var(--aom-sticky-h) + 16px); }
body { background: var(--bg-color); }

/* 2) Čeština: zrušit Netzon title-case (velké písmeno má jen první slovo). 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,
.section-sub-title .section-eyebrow, .section-title .section-eyebrow { text-transform: none !important; }
body { cursor: auto; }
.mouse-cursor, .cursor-inner, .cursor-outer { display: none !important; }

/* 3) Tlačítka: žlutá výplň + grafitový text (Netzon dává na accent bílý text = 1,9 : 1).
      Hover: grafit + bílá. Netzon kreslí šipku přes ::before s pravým paddingem – necháváme. */
.btn-default {
  background: var(--accent-color);
  color: var(--primary-color);
  border-color: var(--accent-color);
  font-weight: 700;
}
.btn-default:hover, .btn-default:focus-visible { background: var(--primary-color); color: var(--white-color); border-color: var(--primary-color); }
.btn-default.btn-highlighted { background: var(--primary-color); color: var(--white-color); border-color: var(--primary-color); }
.btn-default.btn-highlighted:hover { background: var(--accent-color); color: var(--primary-color); border-color: var(--accent-color); }
.dark-section .btn-default { background: var(--accent-color); color: var(--primary-color); }
.dark-section .btn-default:hover { background: var(--white-color); color: var(--primary-color); }
.dark-section .btn-default.btn-highlighted { background: var(--white-color); color: var(--primary-color); }
.dark-section .btn-default.btn-highlighted:hover { background: var(--accent-color); }
.btn-default .aom-icon { width: 18px; height: 18px; vertical-align: -3px; margin-right: 8px; }
.readmore-btn { color: var(--accent-text-color); font-weight: 600; }
.readmore-btn:hover { color: var(--primary-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, .aom-cenik-blok a:not(.btn-default):not(.readmore-btn) { color: var(--accent-text-color); text-decoration: underline; text-underline-offset: 3px; }
.section-footer-text p a:hover { color: var(--primary-color); }

/* 4) Skip-link (WCAG 2.4.1), viditelný fokus (WCAG 2.4.7), kontrast, 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 6px 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,
.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) {
  .wow, .animated, .reveal, .image-anime, .text-anime-style-2, .text-anime-style-3, .text-effect,
  .text-anime-style-2 div, .text-anime-style-3 div, .text-effect div {
    animation: none !important; transition: none !important; visibility: visible !important; opacity: 1 !important; transform: none !important; clip-path: none !important;
  }
  .image-anime::after, .reveal::after { display: none !important; }
  .parallaxie { background-attachment: scroll !important; }
  .aom-ring-bar { stroke-dashoffset: 0 !important; animation: none !important; }
}

/* 5) Sazba: vyvážené řádky nadpisů, odstavce bez sirotků. Posuvník v barvách značky. */
.section-title h2, .page-header-box h1, .hero-title, .service-item-title h3, .how-work-item-content h3,
.our-value-item-content h3, .why-choose-item-content h3, .aom-ft-title, .aom-faq-q { text-wrap: balance; }
.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 { text-wrap: pretty; }
/* aom-typo.js obaluje „předložka + slovo“ do <span class="aom-tie"> – Netzon i my barvíme <span>
   v nadpisech jako zvýraznění; obal sazby musí zůstat v barvě nadpisu (na /cenik svítilo „a odvozu“). */
h1 .aom-tie, h2 .aom-tie, h3 .aom-tie, .hero-title .aom-tie, .aom-ft-title .aom-tie { color: inherit !important; font-weight: inherit !important; }
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; }

/* 6) Popisky sekcí („eyebrow“) – odstavec, ne nadpis (WCAG 1.3.1), vzhled pilulky s tečkou. */
.section-sub-title .section-eyebrow, .section-title .section-eyebrow {
  position: relative; display: inline-block; font-size: 14px; font-weight: 600; line-height: normal; letter-spacing: 0.02em;
  color: var(--primary-color); border: 1px solid var(--divider-color); border-radius: 100px; padding: 8px 16px 8px 32px; margin-bottom: 15px; background: var(--white-color);
}
.section-sub-title .section-eyebrow::before, .section-title .section-eyebrow::before {
  content: ''; position: absolute; left: 16px; top: 50%; transform: translateY(-50%); background: var(--accent-color); border-radius: 50%; width: 8px; height: 8px;
}
.dark-section .section-title .section-eyebrow, .dark-section .section-eyebrow { color: var(--white-color); border-color: var(--dark-divider-color); background: rgba(255, 255, 255, 0.06); }
.hero-content .section-title .section-eyebrow { padding: 0; border: 0; background: transparent; }
.hero-content .section-title .section-eyebrow::before { display: none; }
.hero-content .section-title .section-eyebrow span { display: inline-block; color: var(--primary-color); background: var(--accent-color); border-radius: 100px; padding: 7px 14px; font-weight: 700; }
@media only screen and (max-width: 991px) {
  .section-sub-title .section-eyebrow, .section-title .section-eyebrow { margin-bottom: 10px; padding: 7px 12px 7px 28px; }
  .section-sub-title .section-eyebrow::before, .section-title .section-eyebrow::before { left: 12px; }
}

/* 7) Inline SVG ikony v Netzon icon-boxech (počítají s <img>; SVG řídíme přes currentColor).
      Ikony v kroužcích na grafitu jsou žluté – to je „značkový“ akcent. */
.service-item .icon-box .aom-icon { width: 30px; height: 30px; position: relative; z-index: 1; color: var(--accent-color); transition: color 0.4s ease-in-out; }
.service-item.active .icon-box .aom-icon, .service-item:hover .icon-box .aom-icon { color: var(--primary-color); }
.service-item .icon-box { background: var(--primary-color); }
.service-item.active .icon-box, .service-item:hover .icon-box { background: var(--accent-color); }
.service-bg-icon .aom-icon { width: 220px; height: 220px; color: rgba(29, 38, 43, 0.06); transition: color 0.3s ease-in-out; }
.service-item.active .service-bg-icon .aom-icon, .service-item:hover .service-bg-icon .aom-icon { color: rgba(255, 255, 255, 0.18); }
.why-choose-item .icon-box .aom-icon, .our-value-item .icon-box .aom-icon, .contact-info-item .icon-box .aom-icon,
.how-work-item .icon-box .aom-icon { position: relative; width: 26px; height: 26px; z-index: 1; color: var(--primary-color); }
.contact-info-item .icon-box, .contact-info-item .icon-box::before { border-radius: 50%; }
.contact-info-item .icon-box { background: var(--accent-color); }
.aom-footer-text-icon .aom-icon { width: 18px; height: 18px; vertical-align: -3px; }

/* 8) Karty služeb: ikona vpravo v hlavičce, odkaz dole, nižší karta; aktivní/hover karta
      přechází do grafitu (Netzon má modrý gradient přes --primary/--accent → tady grafit→grafit-2). */
.service-item { min-height: 320px; gap: 22px; padding: 34px 32px; border-radius: var(--aom-radius); border: 1px solid var(--divider-color); }
.service-item::before { background: linear-gradient(135deg, var(--primary-color) 0%, var(--grafit-2) 100%) !important; }
.service-item-header { padding-bottom: 18px; margin-bottom: 18px; flex-wrap: nowrap; align-items: flex-start; }
.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; }
/* Netzon má v .service-item-btn kulaté tlačítko 44 × 44 jen s ikonou; my tam máme textový odkaz
   „Odvoz suti →“ – kruh a pevná šířka pryč, jinak se text láme a kruh prosvítá. */
.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: 1.25em; font-weight: 800; }
.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); }
.aom-service-compact { min-height: 200px; }
@media only screen and (max-width: 1024px) { .service-item { min-height: 260px; } }

/* 9) Hlavička: logo + wordmark, telefon jako text, CTA. Mobil: ikona telefonu 44 × 44 vedle hamburgeru. */
.aom-logo { display: inline-flex; align-items: center; gap: 12px; color: var(--primary-color); text-decoration: none; }
.aom-logo-svg { width: 50px; height: 50px; flex: 0 0 auto; }
.aom-logo .lg-plate { fill: var(--accent-color); }
.aom-logo .lg-ink { stroke: var(--primary-color); }
.aom-logo--light { color: var(--white-color); }
.aom-logo--light .lg-ink { stroke: var(--primary-color); }
.aom-wordmark { display: flex; flex-direction: column; line-height: 1; }
.aom-wordmark-top { font-size: 11px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: currentColor; opacity: 0.85; margin-bottom: 3px; }
.aom-wordmark-main { font-size: 30px; font-weight: 800; letter-spacing: -0.02em; color: currentColor; }
.aom-loader-mark { width: 44px; height: 44px; }
.aom-loader-mark .lg-plate { fill: var(--accent-color); }
.aom-loader-mark .lg-ink { stroke: var(--primary-color); }
.header-btn { display: flex; align-items: center; gap: 22px; }
.aom-hd-phone { display: inline-flex; align-items: center; gap: 10px; color: var(--primary-color); text-decoration: none; font-weight: 700; white-space: nowrap; }
.aom-hd-phone .aom-icon { width: 22px; height: 22px; color: var(--accent-text-color); }
.aom-hd-phone-num { font-size: 17px; }
.aom-hd-phone-hours { display: block; font-size: 12px; font-weight: 500; color: var(--text-color); }
.aom-hd-phone > span { display: flex; flex-direction: column; }
.aom-hd-phone-mobile { display: none; }
.main-menu ul li a { font-weight: 600; }
.main-menu ul li a.active { color: var(--accent-text-color); }
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  .aom-hd-phone-hours { display: none; }
  .header-btn { gap: 14px; }
  .header-btn .btn-default { padding: 14px 44px 14px 16px; }
}
@media only screen and (max-width: 991px) {
  .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: 50%; background: var(--accent-color); color: var(--primary-color); }
  .aom-hd-phone-mobile .aom-icon { width: 22px; height: 22px; }
  .aom-logo-svg { width: 42px; height: 42px; }
  .aom-wordmark-main { font-size: 24px; }
  .aom-wordmark-top { font-size: 9.5px; }
}

/* 10) Hero: statická fotka (LCP jako <img>), grafitový scrim zleva, nadpis, chipy, cenová karta. */
.aom-hero { position: relative; overflow: hidden; background: var(--primary-color); padding: 210px 0 90px; min-height: 0; }
.aom-hero-picture { position: absolute; inset: 0; z-index: 0; }
.aom-hero-picture img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; display: block; }
.aom-hero::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(29, 38, 43, 0.94) 0%, rgba(29, 38, 43, 0.82) 45%, rgba(29, 38, 43, 0.35) 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; }
.aom-hero .hero-title { font-size: clamp(2.2rem, 5vw, 3.9rem); line-height: 1.08; font-weight: 800; color: var(--white-color); margin: 12px 0 18px; }
.aom-hero .hero-title span { color: var(--accent-color); }
.aom-hero .hero-lead { font-size: clamp(1.02rem, 1.4vw, 1.2rem); line-height: 1.65; color: rgba(255, 255, 255, 0.9); max-width: 44rem; margin-bottom: 26px; }
.aom-hero .hero-btn { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 20px; }
.aom-hero-pricelink { color: var(--accent-color); font-weight: 600; }
.aom-hero-pricelink:hover { color: var(--white-color); }
.aom-hero-micro { margin: 18px 0 0; font-size: 14px; color: rgba(255, 255, 255, 0.78); }
.aom-hero-chips { list-style: none; padding: 0; margin: 22px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.aom-hero-chips li { font-size: 13px; font-weight: 600; color: var(--white-color); border: 1px solid rgba(255, 255, 255, 0.28); border-radius: 100px; padding: 6px 12px; backdrop-filter: blur(2px); }
.aom-hero-ai { position: absolute; right: 12px; top: 96px; z-index: 3; }
.aom-price-card { position: relative; background: var(--white-color); color: var(--primary-color); border-radius: var(--aom-radius); padding: 26px 26px 22px; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35); margin-top: 24px; }
.aom-price-card::before { content: ''; position: absolute; left: 0; top: 18px; bottom: 18px; width: 6px; background: var(--accent-color); border-radius: 0 4px 4px 0; }
.aom-price-card-title { font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--text-color); margin: 0 0 14px; }
.aom-price-card-list { list-style: none; padding: 0; margin: 0 0 16px; }
.aom-price-card-list li { display: grid; grid-template-columns: 1fr auto; gap: 2px 14px; padding: 12px 0; border-top: 1px solid var(--divider-color); }
.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: 20px; grid-column: 2; grid-row: 1 / span 2; align-self: center; text-align: right; white-space: nowrap; }
.aom-price-card-price small { display: block; font-size: 11px; font-weight: 600; color: var(--text-color); }
.aom-price-card-max { font-size: 13px; 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 12px; color: var(--text-color); }
@media only screen and (max-width: 991px) {
  .aom-hero { padding: 150px 0 60px; }
  .aom-hero::before { background: linear-gradient(180deg, rgba(29, 38, 43, 0.72) 0%, rgba(29, 38, 43, 0.9) 100%); }
  .aom-hero .hero-btn .btn-default { width: 100%; text-align: center; }
  .aom-hero-picture img { object-position: 50% 40%; }
}

/* 11) Lišta čtyř důvodů. */
.aom-vyhody { background: var(--secondary-color); border-bottom: 1px solid var(--divider-color); }
.aom-vyhody-list { list-style: none; margin: 0; padding: 28px 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.aom-vyhody-item { display: flex; gap: 14px; align-items: flex-start; }
.aom-vyhody-icon { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 12px; background: var(--white-color); border: 1px solid var(--divider-color); display: inline-flex; align-items: center; justify-content: center; color: var(--accent-text-color); }
.aom-vyhody-icon .aom-icon { width: 26px; height: 26px; }
.aom-vyhody-title { font-size: 16px; font-weight: 700; margin: 2px 0 4px; color: var(--primary-color); }
.aom-vyhody-text p { margin: 0; font-size: 14px; line-height: 1.55; }
@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; gap: 14px; padding: 22px 0; } }

/* 12) Kroky zakázky: číslo v kroužku, jedna účaří karet. */
.how-work-item { justify-content: flex-start; border: 1px solid var(--divider-color); border-radius: var(--aom-radius); }
.how-work-item-body { display: flex; flex-direction: column; flex: 1; }
.how-work-item-body .how-work-btn { margin-top: auto; }
.how-work-item-no { width: 60px; height: 60px; 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 h3 { font-size: 22px; font-weight: 800; line-height: 1; margin: 0; color: var(--primary-color); }
.how-work-item .icon-box { background: var(--primary-color); }
.how-work-item .icon-box .aom-icon { color: var(--accent-color); }
.section-footer-text p span.aom-footer-text-icon { color: var(--accent-text-color); }
@media only screen and (min-width: 992px) { .how-work-item-content h3 { min-height: 2.8em; display: flex; align-items: flex-start; } }

/* 13) Kontejnery: dlaždice projektů, karta kontejneru s kótovaným obrysem, „Kolik místa“. */
.aom-kontejnery { padding: 100px 0; background: var(--white-color) url('../images/pattern-mrizka.svg') repeat; }
.aom-kontejnery .section-row { margin-bottom: 40px; }
.aom-projekty { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.aom-projekt { display: flex; gap: 14px; align-items: flex-start; background: var(--white-color); border: 1px solid var(--divider-color); border-radius: var(--aom-radius); padding: 18px; }
.aom-projekt-icon { flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; background: var(--primary-color); color: var(--accent-color); display: inline-flex; align-items: center; justify-content: center; }
.aom-projekt-icon .aom-icon { width: 24px; height: 24px; }
.aom-projekt-text { display: flex; flex-direction: column; gap: 4px; font-size: 14px; line-height: 1.5; }
.aom-projekt-text strong { color: var(--primary-color); font-size: 15px; }
.aom-kontejner-karta { background: var(--primary-color); color: var(--white-color); border-radius: var(--aom-radius); padding: 24px; margin-bottom: 18px; }
.aom-kontejner-obrys svg { width: 100%; height: auto; fill: none; stroke: var(--accent-color); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.aom-kontejner-nazev { font-weight: 800; font-size: 20px; margin: 10px 0 12px; }
.aom-kontejner-nazev span { color: var(--accent-color); }
.aom-kontejner-data { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; margin: 0 0 12px; }
.aom-kontejner-data dt { font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; color: rgba(255, 255, 255, 0.7); }
.aom-kontejner-data dd { margin: 0; font-weight: 700; }
.aom-kontejner-fits { margin: 0; font-size: 14px; color: rgba(255, 255, 255, 0.85); }
.aom-misto { background: var(--white-color); border: 1px solid var(--divider-color); border-radius: var(--aom-radius); padding: 22px 24px; }
.aom-misto-title { font-size: 18px; margin: 0 0 12px; }
.aom-misto-list { list-style: none; margin: 0 0 12px; padding: 0; }
.aom-misto-list li { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; border-top: 1px dashed var(--divider-color); font-size: 14px; }
.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: 14px; color: var(--text-color); }
.aom-misto-note .aom-icon { width: 18px; height: 18px; vertical-align: -3px; color: var(--accent-text-color); }
@media only screen and (max-width: 991px) { .aom-kontejnery { padding: 70px 0; } .aom-kontejnery .col-xl-5 { margin-top: 18px; } }
@media only screen and (max-width: 575px) { .aom-projekty { grid-template-columns: 1fr; } }

/* 14) Ceník: tabulky (mobil = karty), výtah, pásma, patří/nepatří boxy, pravidla, příklady. */
.aom-cenik-vytah { padding: 100px 0; background: var(--secondary-color); }
.aom-cenik-vytah .section-btn { margin-top: 24px; }
.aom-vcene { background: var(--white-color); border-radius: var(--aom-radius); border: 1px solid var(--divider-color); padding: 20px 22px; }
.aom-vcene-title { font-weight: 700; color: var(--primary-color); margin: 0 0 10px; }
.aom-vcene ul { list-style: none; margin: 0; padding: 0; }
.aom-vcene li { display: flex; gap: 10px; align-items: flex-start; padding: 5px 0; font-size: 14px; }
.aom-vcene li .aom-icon { flex: 0 0 18px; width: 18px; height: 18px; color: var(--accent-text-color); margin-top: 2px; }
.aom-table { width: 100%; border-collapse: collapse; background: var(--white-color); border-radius: var(--aom-radius); overflow: hidden; border: 1px solid var(--divider-color); }
.aom-table th, .aom-table td { text-align: left; padding: 16px 18px; 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: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; border-top: 0; }
.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: 500; color: var(--text-color); margin-top: 2px; }
.aom-price-vat { display: block; font-size: 22px; font-weight: 800; 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 th, .aom-table--compact td { padding: 12px 14px; font-size: 14px; }
.aom-table--compact .aom-price-vat { font-size: 18px; }
.aom-cenik-note { margin: 16px 0 0; font-size: 14px; color: var(--text-color); }
.aom-cenik { padding: 80px 0 100px; }
.aom-cenik .section-row { margin-bottom: 40px; }
.aom-cenik-intro { font-size: 1.05rem; line-height: 1.7; }
.aom-cenik-call { text-align: right; }
.aom-cenik-blok { margin-bottom: 56px; scroll-margin-top: 110px; }
.aom-cenik-blok > h2 { font-size: clamp(1.5rem, 2.4vw, 2rem); margin-bottom: 18px; }
.aom-cenik-blok > h2 .aom-icon { width: 28px; height: 28px; vertical-align: -5px; color: var(--accent-text-color); margin-right: 6px; }
.aom-cenik-blok h2 span { color: var(--accent-text-color); }
.aom-cenik-sub { font-size: 1.15rem; margin: 22px 0 8px; }
.aom-patri-box { border-radius: var(--aom-radius); padding: 22px 24px; height: 100%; border: 1px solid var(--divider-color); background: var(--white-color); }
.aom-patri-box h2, .aom-patri-box h3 { font-size: 1.15rem; margin: 0 0 12px; display: flex; align-items: center; gap: 10px; }
.aom-patri-box h2 .aom-icon, .aom-patri-box h3 .aom-icon { width: 22px; height: 22px; }
.aom-patri-box ul { list-style: none; margin: 0; padding: 0; }
.aom-patri-box li { position: relative; padding: 5px 0 5px 24px; font-size: 15px; }
.aom-patri-box li::before { content: ''; position: absolute; left: 0; top: 12px; width: 12px; height: 12px; border-radius: 50%; }
.aom-patri-box--ano { border-color: rgba(242, 169, 0, 0.5); }
.aom-patri-box--ano li::before { background: var(--accent-color); }
.aom-patri-box--ano h2 .aom-icon, .aom-patri-box--ano h3 .aom-icon { color: var(--accent-text-color); }
.aom-patri-box--ne li::before { background: var(--primary-color); opacity: 0.35; }
.aom-patri-note { margin: 14px 0 0; font-size: 14px; color: var(--text-color); }
.aom-patri { padding: 0 0 80px; }
.aom-patri .col-lg-6 { margin-bottom: 20px; }
.aom-pasma { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 8px 0 18px; }
.aom-pasmo { position: relative; border-radius: var(--aom-radius); padding: 20px 20px 18px 24px; background: var(--secondary-color); border-left: 6px solid var(--accent-color); }
.aom-pasmo--b { border-left-color: #C98A00; }
.aom-pasmo--c { border-left-color: var(--grafit-2); }
.aom-pasmo--d { border-left-color: rgba(29, 38, 43, 0.35); }
.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: 16px; }
.aom-pasmo-label span { font-weight: 500; color: var(--text-color); font-size: 14px; }
.aom-pasmo-price { font-weight: 800; 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.4em; margin: 0; }
.aom-pravidla li { margin-bottom: 12px; line-height: 1.65; }
.aom-pravidla li::marker { font-weight: 800; color: var(--accent-text-color); }
.aom-priklad { background: var(--secondary-color); border-radius: var(--aom-radius); padding: 20px 22px; height: 100%; }
.aom-priklad h3 { font-size: 1.05rem; margin: 0 0 8px; }
.aom-priklad p { margin: 0; font-size: 14.5px; }
.aom-cenik .row .col-lg-4, .aom-cenik .row .col-md-6 { margin-bottom: 20px; }
@media only screen and (max-width: 991px) {
  .aom-cenik { padding: 50px 0 70px; }
  .aom-cenik-call { text-align: left; margin-top: 12px; }
  .aom-pasma { grid-template-columns: 1fr; }
}
@media only screen and (max-width: 767px) {
  /* tabulky jako karty: hlavička skrytá, buňky s popiskem z data-label */
  .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 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.06em; color: var(--text-color); margin-bottom: 2px; }
  .aom-cenik-tabulka .aom-table td:last-child, .aom-table--compact td:last-child { padding-bottom: 14px; }
  /* prázdná poznámka: na mobilu by zůstal samotný popisek „POZNÁMKA“ – buňku skryjeme */
  .aom-cenik-tabulka .aom-table td[data-label]:empty, .aom-table--compact td[data-label]:empty { display: none; }
}

/* 15) Oblast (jsme odsud), důvěra (kruhový ukazatel, odznak roku), recenze, pro firmy, poptávka. */
.aom-oblast-box { display: flex; flex-wrap: wrap; gap: 24px; }
.aom-oblast-towns { flex: 1 1 320px; }
.aom-oblast-towns-label { font-weight: 700; color: var(--primary-color); margin: 0 0 8px; }
.aom-oblast-towns-label .aom-icon { width: 20px; height: 20px; vertical-align: -4px; color: var(--accent-text-color); }
.aom-oblast-towns ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.aom-oblast-towns li { font-size: 13px; font-weight: 600; background: var(--secondary-color); border-radius: 100px; padding: 5px 11px; color: var(--primary-color); }
.aom-oblast-link { margin-top: 22px; }
.aom-photo { position: relative; margin: 0; }
.aom-photo img { display: block; width: 100%; height: auto; }
.aom-photo-label { position: absolute; right: 10px; bottom: 10px; z-index: 2; font-size: 11px; font-weight: 600; letter-spacing: 0.04em; color: var(--white-color); background: rgba(29, 38, 43, 0.72); border-radius: 100px; padding: 4px 10px; pointer-events: none; }
.why-choose-counter .circle { width: 96px; height: 96px; }
.why-choose-counter-info { width: calc(100% - 116px); }
.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); }
.why-choose-counter .aom-ring-bar { stroke: var(--accent-color); stroke-linecap: round; stroke-dasharray: 283; stroke-dashoffset: 283; }
.why-choose-body.animated .aom-ring-bar, .why-choose-body[style*="visible"] .aom-ring-bar { animation: aomRingFill 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.2s forwards; }
@keyframes aomRingFill { to { stroke-dashoffset: 0; } }
.why-choose-counter .progress_value { width: 72px; height: 72px; font-size: 30px; font-weight: 800; transform: translate(-50%, -50%); }
.why-choose-counter-content, .why-choose-counter-list { width: calc(50% - 15px); }
.why-choose-counter-info p strong { display: block; font-weight: 800; font-size: 1.4em; color: var(--primary-color); margin-bottom: 2px; }
.why-choose-counter-list ul { list-style: none; padding-left: 0; }
.why-choose-counter-list ul li { position: relative; padding-left: 28px; margin-bottom: 12px; }
.why-choose-counter-list ul li::before { content: ''; position: absolute; left: 0; top: 0.2em; width: 18px; height: 18px; 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='%231D262B' 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 / 11px no-repeat; }
.why-choose-item .icon-box { background: var(--primary-color); }
.why-choose-item .icon-box .aom-icon { color: var(--accent-color); }
/* Netzon podkládá fotku modrými tečkami (why-choose-image-bg.png) – mimo paletu, pryč. */
.aom-duvera-image .why-choose-img-box-1 .why-choose-image { background: none; padding: 0; }
.year-experience-box { max-width: 320px; background: var(--primary-color); }
.year-experience-box .aom-year-num { font-size: 34px; font-weight: 800; line-height: 1.1; color: var(--accent-color); width: 90px; margin: 0 10px 0 0; }
.year-experience-box .aom-year-label { flex: 1; font-size: 15px; font-weight: 700; line-height: 1.15; letter-spacing: 0.04em; text-transform: uppercase; color: var(--white-color); margin: 0; }
.aom-duvera-image .why-choose-img-box-1 .aom-photo img { border-radius: var(--aom-radius); }
.aom-recenze { padding: 100px 0; background: var(--secondary-color); }
.aom-recenze-item { background: var(--white-color); border-radius: var(--aom-radius); padding: 26px; margin: 0 0 20px; height: calc(100% - 20px); border: 1px solid var(--divider-color); }
.aom-recenze-item p { font-size: 15.5px; 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: 10px 0 0; }
.aom-firmy { position: relative; background-size: cover; background-position: center; }
.aom-firmy::before { content: ''; position: absolute; inset: 0; background: rgba(29, 38, 43, 0.86); }
.aom-firmy .container { position: relative; }
.aom-firmy-ai { top: 16px; bottom: auto; }
.intro-video-list ul li { border-color: rgba(255, 255, 255, 0.28); }
.intro-video-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 18px; margin-top: 30px; }
.aom-poptavka { padding: 100px 0; background: var(--white-color) url('../images/pattern-mrizka.svg') repeat; }
.aom-poptavka .section-row { margin-bottom: 36px; }
.aom-poptavka-tel, .aom-poptavka-quick { border-radius: var(--aom-radius); padding: 30px; height: 100%; }
.aom-poptavka-tel { background: var(--primary-color); color: var(--white-color); }
.aom-poptavka-quick { background: var(--white-color); border: 1px solid var(--divider-color); }
.aom-poptavka-label { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin: 0 0 10px; opacity: 0.8; }
.aom-poptavka-num { display: inline-flex; align-items: center; gap: 12px; font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; 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: 14px; color: rgba(255, 255, 255, 0.8); }
.aom-poptavka-sec a { color: var(--white-color); }
.aom-poptavka-hours { margin: 16px 0 0; font-weight: 600; }
.aom-poptavka-note { margin: 8px 0 0; font-size: 14px; color: rgba(255, 255, 255, 0.78); }
.aom-quick-links { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.aom-quick-links .btn-default { width: 100%; text-align: left; padding-right: 48px; }
.aom-poptavka-form { margin-top: 24px; }
@media only screen and (max-width: 991px) { .aom-poptavka { padding: 70px 0; } .aom-poptavka-quick { margin-top: 18px; } .aom-quick-links { grid-template-columns: 1fr; } .aom-recenze { padding: 70px 0; } }

/* 16) FAQ – nativní <details>: bílé karty, otázka jako tlačítko, plus/mínus ikona. */
.aom-faq { display: flex; flex-direction: column; gap: 12px; }
.aom-faq-item { background: var(--white-color); border: 1px solid var(--divider-color); border-radius: var(--aom-radius); overflow: hidden; }
.aom-faq-item[open] { border-color: rgba(242, 169, 0, 0.6); }
.aom-faq-q { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 22px; font-size: 16px; font-weight: 700; color: var(--primary-color); }
.aom-faq-q::-webkit-details-marker { display: none; }
.aom-faq-icon { flex: 0 0 28px; width: 28px; height: 28px; 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 22px 20px; }
.aom-faq-a p { margin: 0 0 8px; line-height: 1.65; }
.aom-faq-link { font-weight: 600; }
.our-faqs .our-faqs-content { margin-bottom: 30px; }

/* 17) „Kam odpad putuje“ (tmavá sekce), sekce s kotvami, patří/nepatří, váha. (CTA pruh před patičkou
       zrušen – patička má vlastní CTA, dvakrát za sebou stejná výzva působila jako chyba.) */
.aom-kam { padding: 70px 0; background: var(--grafit-2); color: var(--white-color); }
.aom-kam-title { color: var(--white-color); font-size: clamp(1.4rem, 2.2vw, 1.8rem); }
.aom-kam-title .aom-icon { width: 26px; height: 26px; vertical-align: -5px; color: var(--accent-color); margin-right: 6px; }
.aom-kam p { color: rgba(255, 255, 255, 0.85); line-height: 1.7; }
.aom-partneri { list-style: none; margin: 0; padding: 0; }
.aom-partneri li { padding: 10px 0; border-top: 1px solid var(--dark-divider-color); }
.aom-partneri li span { color: rgba(255, 255, 255, 0.6); font-size: 13px; }
.aom-sekce { padding: 0 0 60px; }
.aom-sekce-item { max-width: 52rem; margin-bottom: 40px; scroll-margin-top: 110px; }
.aom-sekce-item h2 { font-size: clamp(1.4rem, 2.2vw, 1.85rem); margin-bottom: 12px; }
.aom-sekce-item p { line-height: 1.7; }
.aom-sekce-example { background: var(--secondary-color); border-radius: 10px; padding: 14px 16px; font-size: 14.5px; }
.aom-check-list { list-style: none; padding: 0; margin: 0 0 14px; }
.aom-check-list li { position: relative; padding: 5px 0 5px 26px; }
.aom-check-list li::before { content: ''; position: absolute; left: 0; top: 11px; width: 14px; height: 14px; border-radius: 50%; background: var(--accent-color); }
.aom-sluzba-intro .about-us-body { flex-direction: column; align-items: stretch; gap: 22px; }
.aom-cenovy-box { background: var(--secondary-color); border-radius: var(--aom-radius); padding: 20px 22px; border-left: 6px solid var(--accent-color); }
.aom-cenovy-box-list { list-style: none; margin: 0; padding: 0; }
.aom-cenovy-box-list li { display: grid; grid-template-columns: 1fr auto; gap: 2px 16px; padding: 10px 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: 20px; color: var(--primary-color); white-space: nowrap; }
.aom-cenovy-price small { display: block; font-size: 11px; font-weight: 600; color: var(--text-color); }
.aom-cenovy-max { font-size: 13px; color: var(--text-color); }
.aom-cenovy-note { margin: 10px 0 0; font-size: 14px; color: var(--text-color); }
.aom-sluzba-cta { display: flex; flex-wrap: wrap; gap: 14px; }
.aom-vaha-misto { padding: 0 0 70px; }
.aom-vaha h2, .aom-misto h2 { font-size: 1.3rem; margin-bottom: 14px; }
.aom-vaha h2 .aom-icon { width: 24px; height: 24px; vertical-align: -5px; color: var(--accent-text-color); }
.aom-vaha p { margin-top: 14px; font-size: 14.5px; }
.aom-vaha-misto .col-lg-6 { margin-bottom: 20px; }
.aom-sluzba-karty { padding-top: 0; }
@media only screen and (max-width: 767px) { .aom-cenovy-price { font-size: 18px; } }

/* 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: 12px 28px; margin: 0; }
.aom-obec dt { font-weight: 800; color: var(--primary-color); }
.aom-obec dd { margin: 2px 0 0; font-size: 14.5px; line-height: 1.6; }
.aom-mapa { margin: 0; background: var(--secondary-color); border-radius: var(--aom-radius); padding: 14px; 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(242, 169, 0, 0.22); stroke: var(--accent-text-color); stroke-width: 2; }
.aom-mapa-zone--b { fill: rgba(242, 169, 0, 0.1); 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: 12px; font-weight: 700; text-anchor: middle; fill: var(--primary-color); }
.aom-mapa-town circle { fill: var(--primary-color); }
.aom-mapa-town text { font-size: 11px; 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: 13px; font-weight: 800; }
.aom-mapa-caption { font-size: 12.5px; color: var(--text-color); margin-top: 10px; }
.aom-mapa-links { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 12px 0 0; font-weight: 600; }
.aom-contact-map-col > div { display: flex; flex-direction: column; height: 100%; }
.aom-mapa-kontakt { flex: 1 1 auto; }
.contact-info-list { margin-bottom: 56px; }
.aom-kontakt-hours { font-size: 13.5px; color: var(--text-color); }
.contact-us-form { padding: 44px; border-radius: var(--aom-radius); }
.contact-us-form form .form-field { margin-bottom: 22px; }
.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-color: rgba(29, 38, 43, 0.2); 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: 26px; }
/* Radio „Co potřebujete?“ – markup Form pluginu: .form-data[data-grav-field=radio] > .radio > input + label */
.contact-us-form form .form-data[data-grav-field="radio"] { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; }
.contact-us-form form .radio { display: flex; align-items: flex-start; gap: 10px; 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: 500; line-height: 1.4; color: var(--primary-color); cursor: pointer; }
/* Fotka: nativní <input type=file> uvnitř .form-input-file (Dropzone JS pluginu nenačítáme) – kompaktně */
.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: 14px; color: var(--text-color); }
.contact-us-form form .form-input-file input[type="file"]::file-selector-button { font: inherit; font-weight: 600; color: var(--primary-color); background: var(--accent-color); border: 0; border-radius: 100px; 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: 12px; margin-bottom: 12px; }
.basic-captcha .form-input-addon img { border: 1px solid var(--divider-color); border-radius: 8px; 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 { padding: 70px 0 100px; }
.aom-pravni-text { max-width: 46rem; line-height: 1.75; }
.aom-pravni-text h2 { font-size: 1.35rem; margin: 34px 0 12px; }
.aom-pravni-updated { font-size: 13px; color: var(--text-color); }
@media only screen and (max-width: 991px) { .aom-obce { grid-template-columns: 1fr; } .contact-us-form { padding: 30px 24px; } .contact-us-form form .form-data[data-grav-field="radio"] { grid-template-columns: 1fr; } }

/* 19) O nás: vozový park, lidé, doklady; jediné rotující razítko. */
.aom-park { padding: 90px 0; background: var(--secondary-color); }
.aom-park .section-row { margin-bottom: 36px; }
.aom-park-item { background: var(--white-color); border-radius: var(--aom-radius); padding: 26px 24px; height: calc(100% - 20px); margin-bottom: 20px; border: 1px solid var(--divider-color); }
.aom-park-icon { display: inline-flex; width: 56px; height: 56px; border-radius: 50%; background: var(--primary-color); color: var(--accent-color); align-items: center; justify-content: center; margin-bottom: 14px; }
.aom-park-icon .aom-icon { width: 28px; height: 28px; }
.aom-park-item h3 { font-size: 1.1rem; margin-bottom: 8px; }
.aom-park-item p { margin: 0; font-size: 14.5px; }
.aom-lide { padding: 80px 0 40px; }
.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 { font-size: 1rem; margin: 0 0 2px; }
.aom-osoba p { margin: 0; font-size: 13.5px; }
.aom-hodnoty .our-value-item .icon-box { background: var(--primary-color); }
.aom-hodnoty .our-value-item .icon-box .aom-icon { color: var(--accent-color); }
.our-value-list .our-value-item:last-child:nth-child(odd) { width: 100%; }
.aom-doklady { padding: 0 0 90px; }
.aom-doklady-box { background: var(--primary-color); color: var(--white-color); border-radius: var(--aom-radius); padding: 30px 34px; }
.aom-doklady-box h2 { color: var(--white-color); font-size: 1.35rem; margin-bottom: 10px; }
.aom-doklady-box h2 .aom-icon { width: 24px; height: 24px; vertical-align: -5px; color: var(--accent-color); margin-right: 6px; }
.aom-doklady-box p { margin: 0 0 6px; color: rgba(255, 255, 255, 0.85); }
.aom-onas-shop { margin-top: 18px; font-size: 14px; }
.aom-circle { animation: aomSpin 22s linear infinite; }
@keyframes aomSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .aom-circle { animation: none; } }
.aom-circle .lg-plate { fill: var(--accent-color); }
.aom-circle .lg-ink { stroke: var(--primary-color); }
.about-google-review-box { flex-wrap: wrap; gap: 16px; }
.about-author-content h3 { color: var(--accent-text-color); }

/* 20) Patička – „přepravní list“. */
.aom-footer { position: relative; overflow: hidden; background: var(--primary-color); color: rgba(255, 255, 255, 0.82); padding: 90px 0 30px; }
.aom-ft-signature { position: absolute; right: -40px; bottom: 60px; width: 560px; max-width: 70vw; opacity: 0.07; pointer-events: none; }
.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: 24px 40px; }
.aom-ft-eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent-color); margin-bottom: 10px; }
.aom-ft-title { color: var(--white-color); font-size: clamp(1.4rem, 2.6vw, 2.1rem); margin: 0; max-width: 36rem; }
.aom-ft-cta-action { display: flex; flex-wrap: wrap; gap: 12px; }
.aom-ft-btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; border-radius: 100px; font-weight: 700; 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(--primary-color); }
.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.4); color: var(--white-color); }
.aom-ft-btn--ghost:hover { border-color: var(--accent-color); color: var(--accent-color); }
.aom-ft-road { position: relative; margin: 44px 0 40px; }
.aom-ft-road-line { display: block; height: 0; border-top: 3px dashed rgba(255, 255, 255, 0.25); }
.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 { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 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: 36px; }
.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-licence .aom-icon { width: 16px; height: 16px; vertical-align: -3px; color: var(--accent-color); }
.aom-ft-list { margin: 0; }
.aom-ft-field { margin-bottom: 16px; }
.aom-ft-field dt { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-color); margin-bottom: 4px; }
.aom-ft-field dd { margin: 0; font-size: 14px; line-height: 1.6; color: rgba(255, 255, 255, 0.85); }
.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 { list-style: none; margin: 0; padding: 0; }
.aom-ft-nav li { margin-bottom: 4px; }
.aom-ft-base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--dark-divider-color); font-size: 12.5px; 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: 767px) { .aom-footer { padding: 60px 0 calc(var(--aom-sticky-h) + 24px); } .aom-ft-grid { grid-template-columns: 1fr; gap: 20px; } .aom-ft-signature { display: none; } }

/* 21) Sticky lišta (jen mobil): Zavolat 60 % žlutá + Poptávka 40 % obrys. */
.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: 10px; 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: 8px; height: 44px; border-radius: 100px; font-weight: 700; text-decoration: none; }
  .aom-sticky-call { flex: 0 0 60%; background: var(--accent-color); color: var(--primary-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); }
  /* místo pod lištou dělá patička (padding-bottom v bloku 20), ne body – jinak bílý pruh pod patičkou */
}

/* 22) Hlavička vnitřní stránky – sevřenější; pozadí grafit s mřížkou místo Netzon obrázku. */
.page-header { padding: 196px 0 74px; background: var(--primary-color) url('../images/pattern-mrizka.svg') repeat; }
.page-header::before { display: none; }
.page-header-box h1 { font-size: clamp(2.1rem, 4vw, 3.1rem); line-height: 1.08; 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: 18px; }
.page-header-box ol li.breadcrumb-item, .page-header-box ol li.breadcrumb-item a { color: rgba(255, 255, 255, 0.8); }
.page-header-box ol li.breadcrumb-item.active { color: var(--accent-color); }
.page-header-box ol.breadcrumb::after { content: ''; position: absolute; left: 50%; bottom: 0; width: 64px; height: 3px; border-radius: 2px; transform: translateX(-50%); background: var(--accent-color); }
@media only screen and (max-width: 991px) { .page-header { padding: 150px 0 50px; } }

/* 23) Chybová stránka (404). */
.aom-error { padding: 160px 0 120px; 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 16px; font-size: clamp(28px, 4vw, 40px); }
.aom-error-lead { margin: 0 0 34px; font-size: 1.05rem; line-height: 1.7; }
.aom-error-actions { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; justify-content: center; }

/* 24) Rytmus sekcí a pozadí (výkresová pozadí Rinoh zrušena; střídání bílá / beton / grafit). */
.our-services .section-row { margin-bottom: 36px; }
.our-services, .how-it-work, .why-choose-us, .our-faqs, .about-us { background-image: none; }
.how-it-work { background: var(--secondary-color); }
.our-faqs { background: var(--white-color); }
.why-choose-us { background: var(--white-color); }
.about-us { background: var(--white-color); }
.aom-oblast { background: var(--secondary-color); }
/* .intro-video::before = náš grafitový scrim (.aom-firmy::before, blok 15) – nevypínat, bez něj je bílý text na bílé. */
