/* ==========================================================================
   Vlastní styly nad rámec šablony – MIX GROUP s.r.o.
   Soubor style.css záměrně needitujeme, aby šlo šablonu kdykoli aktualizovat.
   ========================================================================== */

/* --- Logo: koncovka .cz v akcentové barvě --- */
.site-logo .logo-tld {
  color: #f8c100;
}

/* --- Odznaky u vozů (Novinka / Elektro / Plug-in hybrid / Připravujeme) --- */
.badge-vuz {
  display: inline-block;
  padding: 4px 10px;
  margin: 0 6px 8px 0;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1.4;
}

.badge-elektro   { background: #1f9d55; color: #fff; }
.badge-hybrid    { background: #2b6cb0; color: #fff; }
.badge-pripravujeme { background: #e2e2e2; color: #5a5a5a; }

/* --- Tabulka technických parametrů --- */
.tabulka-specifikaci {
  width: 100%;
  margin-bottom: 1.5rem;
  border-collapse: collapse;
  font-size: 15px;
}

.tabulka-specifikaci th,
.tabulka-specifikaci td {
  padding: .6rem .25rem;
  border-bottom: 1px solid #e9e9e9;
  vertical-align: top;
}

.tabulka-specifikaci th {
  width: 45%;
  font-weight: 400;
  color: #8b8b8b;
  text-align: left;
}

.tabulka-specifikaci td {
  font-weight: 700;
  color: #2f2f2f;
}

/* --- Detailní karta vozu na stránce Vozy --- */
.vuz-detail {
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 6px 24px -12px rgba(0, 0, 0, .35);
  overflow: hidden;
  margin-bottom: 3rem;
}

.vuz-detail .vuz-foto img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  display: block;
}

.vuz-detail .vuz-obsah {
  padding: 2.5rem;
}

@media (max-width: 767.98px) {
  .vuz-detail .vuz-obsah {
    padding: 1.75rem;
  }
}

.vuz-detail h3 {
  font-size: 24px;
  margin-bottom: .35rem;
}

.vuz-detail .vuz-podtitul {
  color: #8b8b8b;
  margin-bottom: 1.25rem;
}

.vuz-cena {
  font-size: 26px;
  font-weight: 900;
  color: #f8c100;
  margin-bottom: 1.5rem;
}

.vuz-cena small {
  font-size: 15px;
  font-weight: 400;
  color: #8b8b8b;
}

/* --- Seznam výbavy --- */
.seznam-vybavy {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem 0;
}

.seznam-vybavy li {
  position: relative;
  padding-left: 1.6rem;
  margin-bottom: .5rem;
  line-height: 1.6;
}

.seznam-vybavy li:before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f8c100;
}

/* --- Blok s podmínkami / ceníkem --- */
.info-box {
  background: #fff;
  border-left: 4px solid #f8c100;
  padding: 1.75rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 18px -12px rgba(0, 0, 0, .4);
  height: 100%;
}

.info-box h3 {
  font-size: 19px;
  margin-bottom: .75rem;
}

.info-box p:last-child,
.info-box ul:last-child {
  margin-bottom: 0;
}

/* --- Ceník --- */
.tabulka-ceniku {
  width: 100%;
  background: #fff;
  border-collapse: collapse;
}

.tabulka-ceniku th,
.tabulka-ceniku td {
  padding: 1rem;
  border-bottom: 1px solid #ececec;
  text-align: left;
}

.tabulka-ceniku thead th {
  background: #2f2f2f;
  color: #fff;
  font-weight: 700;
  border-bottom: none;
}

.tabulka-ceniku tbody tr:hover {
  background: #fcfcfc;
}

.tabulka-ceniku td.cena {
  font-weight: 900;
  white-space: nowrap;
}

/* --- FAQ --- */
.faq-polozka {
  border-bottom: 1px solid #e9e9e9;
  padding: 1.25rem 0;
}

.faq-polozka:last-child {
  border-bottom: none;
}

.faq-polozka h3 {
  font-size: 18px;
  margin-bottom: .5rem;
}

.faq-polozka p {
  margin-bottom: 0;
  color: #6f6f6f;
}

/* --- Kontaktní údaje v patičce i na stránce Kontakt --- */
.kontakt-radek {
  display: flex;
  align-items: flex-start;
  margin-bottom: 1.1rem;
}

.kontakt-radek .kontakt-ikona {
  flex: 0 0 40px;
  font-size: 20px;
  color: #f8c100;
  line-height: 1.4;
}

.kontakt-radek a {
  color: inherit;
  text-decoration: underline;
}

/* --- Zvýraznění místa, které je potřeba doplnit reálným údajem --- */
.doplnit {
  background: #fff4c2;
  color: #7a5c00;
  padding: 0 4px;
  border-radius: 2px;
  font-style: italic;
}

/* --- Fotka se štítkem "Připravujeme" --- */
.foto-pripravujeme {
  position: relative;
}

.foto-pripravujeme:after {
  content: "Fotografie připravujeme";
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  padding: .5rem .75rem;
  background: rgba(0, 0, 0, .65);
  color: #fff;
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* --- Drobná vylepšení čitelnosti šablony --- */
.listing-contents h3 {
  min-height: 2.6em;
}

.site-footer .footer-heading {
  font-size: 18px;
}

/* ==========================================================================
   Lišta s kontaktem na mobilu
   Fixní pruh dole – na telefonu je zavolání to hlavní, co člověk chce udělat.
   ========================================================================== */

.mobilni-lista {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  background: #1f1f1f;
  box-shadow: 0 -4px 16px rgba(0, 0, 0, .25);
  /* aby lišta nekolidovala s gesty na iPhonech bez tlačítka */
  padding-bottom: env(safe-area-inset-bottom, 0);
}

.mobilni-lista-tlacitko {
  flex: 1 1 50%;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .75rem .5rem;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  text-align: center;
}

.mobilni-lista-tlacitko:hover,
.mobilni-lista-tlacitko:focus {
  color: #fff;
  text-decoration: none;
  opacity: .85;
}

.mobilni-lista-tlacitko--hlavni {
  background: #f8c100;
  color: #1a1a1a;
}

.mobilni-lista-tlacitko--hlavni:hover,
.mobilni-lista-tlacitko--hlavni:focus {
  color: #1a1a1a;
}

.mobilni-lista-tlacitko [class^="icon-"] {
  font-size: 17px;
}

/* Aby lišta nepřekrývala konec patičky */
@media (max-width: 991.98px) {
  .site-footer {
    padding-bottom: 90px;
  }
}

/* ==========================================================================
   Mobilní vylepšení
   ========================================================================== */

@media (max-width: 991.98px) {
  /* Značka "AutoNahned.cz" se do sloupce col-3 nevejde – potřebuje víc místa */
  .site-navbar .row > .col-3 {
    flex: 0 0 70%;
    max-width: 70%;
  }

  .site-navbar .row > .col-9 {
    flex: 0 0 30%;
    max-width: 30%;
  }

  .site-navbar .site-logo {
    font-size: 1.35rem;
    white-space: nowrap;
  }

  /* Nic se nesmí vysypat mimo obrazovku do stran */
  .site-wrap {
    overflow-x: hidden;
  }
}

@media (max-width: 767.98px) {
  /* Hero: pevná výška 100vh na telefonu obsah ořezávala.
     Necháme ho růst podle obsahu a odsadíme od absolutně umístěné hlavičky. */
  .hero,
  .hero > .container > .row {
    height: auto !important;
    min-height: 0 !important;
  }

  .hero {
    padding-top: 8.5rem;
    padding-bottom: 3rem;
    background-position: center center;
  }

  /* Vnitřní stránky mají v šabloně vlastní výšku 40vh s !important,
     musíme ji přebít stejně specifickým pravidlem */
  .hero.inner-page,
  .hero.inner-page > .container > .row {
    height: auto !important;
    min-height: 0 !important;
  }

  .hero.inner-page {
    padding-top: 8rem;
    padding-bottom: 2.5rem;
  }

  .hero .intro h1 {
    font-size: 29px;
    line-height: 1.25;
  }

  .hero.inner-page .intro h1 {
    font-size: 32px;
  }

  /* Formulář v heru – pohodlné dotykové cíle */
  .trip-form .form-control,
  .trip-form .custom-select {
    min-height: 48px;
  }

  /* Nadpisy sekcí na malém displeji */
  .section-heading {
    font-size: 26px;
  }

  /* Karty vozů: pevná výška nadpisu tu jen dělá mezery */
  .listing-contents h3 {
    min-height: 0;
  }

  .listing {
    margin-bottom: 20px;
  }

  /* Detail vozu */
  .vuz-detail h3 {
    font-size: 21px;
  }

  .vuz-cena {
    font-size: 23px;
  }

  .vuz-detail .vuz-foto img {
    min-height: 220px;
  }

  /* Tabulka parametrů – dvě řádky vedle sebe se na mobilu netísní */
  .tabulka-specifikaci th {
    width: 50%;
  }

  .tabulka-specifikaci,
  .tabulka-specifikaci th,
  .tabulka-specifikaci td {
    font-size: 14px;
  }

  /* Ceník se nesmí zmáčknout – radši vodorovné posouvání */
  .table-responsive .tabulka-ceniku {
    min-width: 620px;
  }

  /* Formuláře: iOS nezvětšuje stránku jen u písma 16 px a většího */
  .form-control,
  .custom-select,
  textarea.form-control {
    font-size: 16px;
    min-height: 48px;
  }

  textarea.form-control {
    min-height: 120px;
  }

  /* Tlačítka přes celou šířku se na telefonu trefují líp */
  .vuz-obsah .btn,
  .site-section .btn {
    display: block;
    width: 100%;
    margin-left: 0 !important;
    margin-bottom: .75rem;
  }

  .info-box {
    padding: 1.35rem;
  }

  /* Odkazy v patičce jsou na dotek příliš nahusto */
  .site-footer ul li {
    margin-bottom: .5rem;
  }
}
