/* gtv-mobil.css — GarageTV, mobilni a tabletove opravy (GTV-018, 2026-10-11)
   Nacita se z nastaveni webu web_settings.custom_head_html (inc/header.php ho vypisuje v <head>).
   Jen opravy pretekani, prekryvu a dosazitelnosti; zadny redesign. Kazdy blok ma ID nalezu.
   Sablony maji vlastni <style> az v <body>, proto jsou selektory zamerne specifictejsi. */

/* ---- M-001: cookie lista vs. bublina chatu (chat.mediamc.cz, 56x56 px, 12 px od praveho dolniho rohu) ----
   Bublina je ve stinovem DOM s inline !important, posunout nejde; uvolnuje se ji misto v liste. */
@media (max-width: 1399px) {
  body #cookie-initial-banner { padding-right: 88px; }
}
/* M-007: bily text na #007bff ma kontrast 4,0:1 -> tmavsi modra 5,6:1 (hover #0056b3 zustava) */
body #cookie-initial-banner button.btn-primary { background-color: #0062cc; border-color: #0062cc; }
@media (max-width: 640px) {
  body #cookie-initial-banner { padding: 14px 16px 16px; }
  body #cookie-initial-banner .container { gap: 12px; }
  body #cookie-initial-banner p { font-size: 14px; line-height: 1.45; flex-basis: 100%; }
  body #cookie-initial-banner .banner-buttons { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; flex-shrink: 1; }
  body #cookie-initial-banner .banner-buttons button { flex: 1 1 calc(50% - 4px); min-width: 0; min-height: 44px; padding: 10px 8px; white-space: nowrap; }
  /* "Povolit vse" na vlastnim radku, vpravo zustava volne misto pro bublinu chatu */
  body #cookie-initial-banner .banner-buttons button.btn-primary { flex: 0 0 calc(100% - 72px); order: 3; }
}

/* ---- M-002: /mapa — lista filtru se nelame (flex-wrap:nowrap + min-width:180px) -> dokument 1020 px ---- */
@media (max-width: 1439px) {
  .map-wrap .toolbar .toolbar-inner { flex-wrap: wrap; }
}
@media (max-width: 1023px) {
  .map-wrap .toolbar { position: static; }
  .map-wrap .toolbar .toolbar-inner { gap: 8px; padding: 10px 12px; }
  .map-wrap .toolbar-inner .input,
  .map-wrap .toolbar-inner .select { min-width: 0; flex: 1 1 calc(50% - 4px); height: 44px; }
  .map-wrap .toolbar-inner #q { flex-basis: 100%; }
  .map-wrap .toolbar-inner .block-partners { flex: 1 1 100%; min-width: 0; }
  .map-wrap .toolbar-inner .chips { flex-wrap: wrap; }
  .map-wrap .toolbar-inner .chip { flex: 1 1 auto; height: 44px; justify-content: center; }
  .map-wrap .toolbar-inner .quick-brands { flex: 1 1 100%; }
  .map-wrap .toolbar-inner .button { min-width: 0; flex: 1 1 auto; height: 44px; }
  .map-wrap .toolbar-inner #btnClear { margin-left: 0; }
  .map-wrap .quick-menu { width: auto; right: 0; }
  .map-wrap #map { min-height: 420px; }
}
/* ovladani mapy prstem: tlacitka priblizeni 30 -> 44 px */
@media (pointer: coarse), (max-width: 1023px) {
  .map-wrap .leaflet-touch .leaflet-bar a,
  .map-wrap .leaflet-bar a { width: 44px; height: 44px; line-height: 44px; font-size: 24px; }
}

/* ---- M-003: /firm_register (a /firm_login) — formular sirsi nez displej ---- */
@media (max-width: 992px) {
  .page-wrapper .registration-layout { align-items: stretch; }
  .page-wrapper .registration-text,
  .page-wrapper .registration-form-wrapper { flex: 0 1 auto; min-width: 0; width: 100%; max-width: 100%; }
  .page-wrapper .registration-form { max-width: 100%; box-sizing: border-box; }
}
@media (max-width: 480px) {
  .page-wrapper { padding: 32px 0; }
  .page-wrapper .page-header h1 { font-size: 32px; line-height: 1.15; }
  .page-wrapper .registration-form { padding: 20px 16px; overflow: hidden; }
  /* widget overeni (reCAPTCHA / Turnstile) ma pevnych 300-304 px */
  .page-wrapper .registration-form .g-recaptcha,
  .page-wrapper .registration-form .cf-turnstile { max-width: 100%; }
}
@media (max-width: 389px) {
  .page-wrapper .registration-form .g-recaptcha,
  .page-wrapper .registration-form .cf-turnstile { transform: scale(.92); transform-origin: 0 0; }
}

/* ---- M-004: formulare na mobilu — pismo vstupu < 16 px spousti zoom v iOS Safari ---- */
@media (max-width: 767px) {
  body input.input, body select.select,
  body .toolbar-inner .input, body .toolbar-inner .select { font-size: 16px; }
  /* formular newsletteru (MailMC) ma vlastni specifictejsi pravidlo 15 px */
  body .mmcnlbar__input { font-size: 16px !important; }
}

/* ---- M-005: hamburger 30x22 px -> dotykova plocha 46x46 px (vzhled beze zmeny) ---- */
@media (max-width: 1024px) {
  .main-header .mobile-menu-toggle { position: relative; }
  .main-header .mobile-menu-toggle::after { content: ""; position: absolute; top: -12px; bottom: -12px; left: -8px; right: -8px; }
}

/* ---- M-005: otevrene mobilni menu — posun prstem se neprenasi na stranku pod nim ---- */
@media (max-width: 1024px) {
  .mobile-menu-overlay { overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
}

/* ---- M-008: clanek — blok "Prohlednete si fotogalerie" (banner-wrapper) mel na mobilu 754 px,
   pravou cast orizl rodic (overflow:hidden): uriznuty nadpis i snimky, nadpis clanku az 1370 px pod horni hranou ---- */
@media (max-width: 1023px) {
  .rk-post-modern-page .left-column-container .banner-wrapper { max-width: 100%; min-width: 0; }
  .rk-post-modern-page .left-column-container .banner-wrapper > div,
  .rk-post-modern-page .left-column-container [class*="dg-wrap-"] { max-width: 100%; min-width: 0; }
}

/* ---- M-013: chat ma od 481 px vedle bubliny pole "Napiste zpravu" (.mmc-chat__vyzva, 258x46 px,
   zabira 344 px od praveho okraje a 74 px od spodniho); lezelo pres tlacitka cookie listy a bralo jim klik.
   Chat je ve stinovem DOM s inline !important -> misto se uvolnuje v liste. Od 1920 px se nepotkaji. ---- */
@media (min-width: 481px) and (max-width: 767px) {
  /* tlacitka jsou sirsi nez volne misto vlevo od pole -> cela lista konci nad chatem */
  body #cookie-initial-banner { padding-bottom: 90px; }
}
@media (min-width: 768px) and (max-width: 1159px) {
  /* text na vlastnim radku, tlacitka pod nim vlevo (20-404 px), pole chatu zacina nejdrive na 424 px */
  body #cookie-initial-banner p { flex-basis: 100%; }
}
@media (min-width: 1160px) and (max-width: 1919px) {
  body #cookie-initial-banner { padding-right: 364px; }
}

/* ---- M-014: /seznam — lista filtru ma flex-wrap:nowrap a pole s min-width:180px; sablona ji lame az do 1024 px,
   takze na 1025-1438 px koncilo razeni na 1429 px (presah az 404 px, "Kategorie" uriznute). Stejne jako u /mapa (M-002). ---- */
@media (min-width: 1025px) and (max-width: 1439px) {
  .list-wrap .toolbar .toolbar-inner { flex-wrap: wrap; gap: 8px 12px; }
}

/* ---- M-011: clanek do 1024 px — levy sloupec (uvodni foto, "Prohlednete si fotogalerie", reklama) se vypisoval cely
   pred nadpisem clanku (h1 az 930-1400 px pod horni hranou). Levy sloupec se rozpusti (display:contents) a poradi je:
   uvodni foto -> clanek -> blok galerie a reklamy. Desktop (od 1025 px) beze zmeny. Vypnuti = smazat tento blok. ---- */
@media (max-width: 1024px) {
  .rk-post-modern-page .page-content-wrapper > .left-column-container { display: contents; }
  .rk-post-modern-page .page-content-wrapper > .left-column-container > .left-column-photo { order: 1; width: calc(100% - 28px); margin: 14px 14px 0; box-sizing: border-box; }
  .rk-post-modern-page .page-content-wrapper > .right-column-content { order: 2; }
  .rk-post-modern-page .page-content-wrapper > .left-column-container > .banner-wrapper { order: 3; width: calc(100% - 28px); margin: 0 14px 24px; box-sizing: border-box; }
}

/* ---- B-070 (2026-10-11, balik 03): nastaveni "omezit pohyb" (prefers-reduced-motion). Sablony jadra (clanek
   post_modern/alfa/gama.php, detail firmy, bloky titulky) maji ve vlastnim <style> nekonecne animace (pulzujici tecka
   rk-pulse, bezici pas novinek rn-marquee, pas log logo-scroller) a lesk po najeti (shine-sweep) bez pravidla pro
   omezeny pohyb. Pri omezenem pohybu: kazda animace probehne okamzite a jen jednou (prvek skonci v cilovem stavu,
   nic nezustane skryte); bezici pasy se zastavi na zacatku a jdou posouvat rucne (prejetim, koleckem, klavesnici).
   Prechody (transition) se nemeni. Bezne zobrazeni beze zmeny. Vypnuti = smazat tento blok. ---- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0s !important; animation-iteration-count: 1 !important; }
  .rn-marquee-container, .logo-scroller-inner { animation: none !important; transform: none !important; }
  .rn-marquee-wrapper, .logo-scroller { overflow-x: auto !important; }
}

/* ---- M-012/2: krizek lightboxu (GLightbox .gclose) ma 35x35 px - dotykova plocha se zvetsuje na 44x44 px
   neviditelnym presahem 4,5 px na kazdou stranu. Vzhled, velikost ani poloha krizku se nemeni.
   Vypnuti = smazat tento blok. ---- */
body .glightbox-container .gclose::after { content: ""; position: absolute; top: -4.5px; right: -4.5px; bottom: -4.5px; left: -4.5px; }
