/* DriveCars – vlastné dizajnové úpravy. Postupne sem presunieme obsah z Astra Additional CSS. */

/* ======================================================
   0) DIZAJNOVÉ TOKENY – jedna značková paleta pre celý web
   Zjednocuje 3 rôzne modré, ktoré boli na stránke, do jednej.
   ====================================================== */
:root {
  --dc-blue:        #007cfb;   /* značková modrá (hero, header) */
  --dc-blue-dark:   #006edc;   /* hover / tmavší odtieň        */
  --dc-blue-text:   #006fe1;   /* WCAG AA (4.8:1) – použiť pri texte/odkazoch na bielom pozadí namiesto --dc-blue (3.98:1, nespĺňa 4.5:1) */
  --dc-navy:        #031246;   /* nadpisy, tmavý text          */
  --dc-ink:         #0f172a;   /* bežný text                    */
  --dc-muted:       #64748b;   /* vedľajší text                 */
  --dc-line:        rgba(15, 23, 42, 0.08); /* jemné orámovanie */
  --dc-bg-soft:     #f5f8fd;   /* svetlé pozadie sekcií         */
  --dc-radius:      18px;
  --dc-radius-sm:   12px;
  --dc-shadow:      0 10px 28px rgba(15, 23, 42, 0.06);
  --dc-shadow-lg:   0 20px 42px rgba(15, 23, 42, 0.12);
  --dc-section-y:   clamp(48px, 6.5vw, 92px); /* jednotný rytmus sekcií */
}

/* ======================================================
   HERO – full-width (edge-to-edge) pozadie
   Additional CSS robí z hera zaoblenú "kartu" s paddingom,
   čo bráni obrázku roztiahnuť sa na celú šírku. Prelomíme
   ho von z rodičovského kontajnera cez 100vw trik a zrušíme
   zaoblenie/padding karty.
   ====================================================== */
.elementor-element-69b927a {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  border-radius: 0 !important;
  min-height: 78vh;
}

/* obsah heru (nadpis, text, tlačidlo, icon-list) necháme čitateľne
   vycentrovaný a nie natiahnutý na celú šírku obrazovky */
.elementor-element-69b927a > .elementor-container,
.elementor-element-69b927a > .e-con-inner {
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 6vw;
  padding-right: 6vw;
}

body {
  overflow-x: hidden;
}

@media (max-width: 767px) {
  .elementor-element-69b927a {
    min-height: 62vh;
  }
}

/* ======================================================
   "DOPLNKY" / feature bubliny pod herom – moderné karty
   (.bubliny-container .bublina) – pôvodne bez akéhokoľvek CSS
   ====================================================== */
.bubliny-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin: 48px 0;
}

.bublina {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: #ffffff;
  border: 1px solid var(--dc-line);
  border-radius: var(--dc-radius);
  padding: 26px 24px;
  box-shadow: var(--dc-shadow);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}

.bublina:hover {
  transform: translateY(-4px);
  box-shadow: var(--dc-shadow-lg);
  border-color: rgba(0, 124, 251, 0.28);
}

.bublina-ikonka {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  /* zjednotené na značkovú modrú */
  background: linear-gradient(135deg, var(--dc-blue), var(--dc-blue-dark));
  box-shadow: 0 10px 20px -6px rgba(0, 124, 251, 0.55);
}

.bublina.siva .bublina-ikonka {
  background: linear-gradient(135deg, #64748b, #94a3b8);
  box-shadow: 0 10px 20px -6px rgba(100, 116, 139, 0.45);
}

.bublina-ikonka svg {
  width: 24px;
  height: 24px;
}

.bublina-ikonka svg [stroke] {
  stroke: #ffffff !important;
}

.bublina-text h3 {
  margin: 0 0 6px;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--dc-ink);
  line-height: 1.3;
}

.bublina-text p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: var(--dc-muted);
}

@media (max-width: 1024px) {
  .bubliny-container {
    grid-template-columns: 1fr;
  }
}

/* ======================================================================
   ★ HARMONIZAČNÁ VRSTVA – zjednotenie celej stránky do jedného celku
   (Pridané, aby web nepôsobil "rozhádzane": jednotný rytmus sekcií,
    nadpisy, tlačidlá, karty áut, kroky a FAQ.)
   ====================================================================== */

/* ---- 1) RYTMUS SEKCIÍ + striedanie pozadí -------------------------- */
/* Vybrané autá */   .elementor-element-04d70e9 { padding-block: var(--dc-section-y); }
/* Recenzie */       .elementor-element-2f52a3a { padding-block: var(--dc-section-y); background: var(--dc-bg-soft); }
/* Prečo DriveCars */ .elementor-element-9e17dc1 { padding-block: clamp(24px, 3vw, 48px); }
/* Ako prebieha */   .elementor-element-3544f33 { padding-block: var(--dc-section-y); background: var(--dc-bg-soft); }
/* FAQ */            .elementor-element-46986b14 { padding-block: var(--dc-section-y); }

/* ---- 2) JEDNOTNÉ NADPISY SEKCIÍ ------------------------------------ */
.elementor-element-8e4d4aa .elementor-heading-title,   /* Vybrané autá */
.elementor-element-f6e2a89 .elementor-heading-title,   /* Recenzie     */
.elementor-element-96d5e6e .elementor-heading-title,   /* Ako prebieha */
.elementor-element-145c2f9f .elementor-heading-title { /* FAQ          */
  font-size: clamp(1.7rem, 3.2vw, 2.5rem);
  font-weight: 800;
  color: var(--dc-navy);
  line-height: 1.18;
  letter-spacing: -0.01em;
  text-align: center;
  margin: 0 auto 0.35em;
}

/* jemný modrý podčiark pod nadpisom sekcie */
.elementor-element-8e4d4aa .elementor-heading-title::after,
.elementor-element-96d5e6e .elementor-heading-title::after,
.elementor-element-145c2f9f .elementor-heading-title::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--dc-blue), var(--dc-blue-dark));
  margin: 18px auto 0;
}

/* podnadpisy / úvodné texty pod nadpisom – jednotné, čitateľné */
.elementor-element-35eba6d .elementor-widget-container,   /* úvod "Ako prebieha" */
.elementor-element-795ce425 .elementor-heading-title {    /* podnadpis FAQ       */
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: var(--dc-muted);
  font-size: 1.02rem;
  line-height: 1.7;
  font-weight: 400;
}

/* ---- 3) JEDNOTNÉ TLAČIDLÁ (Elementor) ------------------------------ */
.elementor-button,
.elementor-button.elementor-size-sm,
.elementor-button.elementor-size-md {
  background: linear-gradient(135deg, var(--dc-blue), var(--dc-blue-dark));
  color: #ffffff !important;
  border: 0;
  border-radius: var(--dc-radius-sm);
  padding: 14px 30px;
  font-weight: 600;
  letter-spacing: 0.01em;
  box-shadow: 0 10px 24px -8px rgba(0, 124, 251, 0.6);
  transition: transform 200ms ease, box-shadow 200ms ease, filter 200ms ease;
}
.elementor-button:hover,
.elementor-button:focus {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px -8px rgba(0, 110, 220, 0.7);
  filter: brightness(1.03);
  color: #ffffff !important;
}

/* ---- 4) KARTY ÁUT (Vik Rent Car) – najväčšie zladenie -------------- */
.vrcmodcarsgridcont-items.vrcmodcarsgridhorizontal {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 26px;
  float: none !important;
  width: 100%;
}
.vrc-modcars-item.vrc-modcars-grid-item {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
}
.vrc-modcars-item .vrcmodcarsgridcont-item { margin: 0; }

/* samotná karta */
.vrcmodcarsgridboxdiv {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #ffffff;
  border: 1px solid var(--dc-line);
  border-radius: var(--dc-radius);
  overflow: hidden;
  box-shadow: var(--dc-shadow);
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
}
.vrc-modcars-item:hover .vrcmodcarsgridboxdiv {
  transform: translateY(-6px);
  box-shadow: var(--dc-shadow-lg);
  border-color: rgba(0, 124, 251, 0.28);
}

/* obrázok auta – jednotný pomer strán */
.vrcmodcarsgridboxdiv > a { display: block; overflow: hidden; }
.vrcmodcarsgridimg {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  transition: transform 400ms ease;
}
.vrc-modcars-item:hover .vrcmodcarsgridimg { transform: scale(1.05); }

/* detaily */
.vrcmodcarsgrid-item_details {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 22px 6px;
  flex: 1 1 auto;
}
.vrcmodcarsgrid-item_cat {
  align-self: flex-start;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--dc-blue-dark);
  background: rgba(0, 124, 251, 0.10);
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 4px;
}
.vrcmodcarsgrid-item_title {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--dc-navy);
  line-height: 1.3;
  margin: 0;
}
.vrcmodcarsgrid-box-cost { display: flex; align-items: baseline; gap: 6px; margin-top: 2px; }
.vrcmodcarsgridstartfrom { font-size: 0.82rem; color: var(--dc-muted); }
.vrcmodcarsgridcarcost { font-size: 1.25rem; font-weight: 800; color: var(--dc-ink); }
.vrc_currency, .vrc_price { color: var(--dc-ink); }

/* tlačidlo v karte auta */
.vrcmodcarsgridview { padding: 6px 22px 22px; margin-top: auto; }
.btn.btn-vrcmodcarsgrid-btn.vrc-pref-color-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: linear-gradient(135deg, var(--dc-blue), var(--dc-blue-dark)) !important;
  color: #ffffff !important;
  border: 0 !important;
  border-radius: var(--dc-radius-sm) !important;
  padding: 12px 18px !important;
  font-weight: 600 !important;
  box-shadow: 0 10px 22px -10px rgba(0, 124, 251, 0.65);
  transition: transform 200ms ease, box-shadow 200ms ease;
}
.btn.btn-vrcmodcarsgrid-btn.vrc-pref-color-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 28px -10px rgba(0, 110, 220, 0.7);
}
.vrcmodcarsgrid-item-btm { display: none; } /* prázdny doplnkový riadok – skryjeme */

/* ---- 5) KROKY "AKO PREBIEHA" – zarovnaná mriežka 4 krokov ---------- */
#dc-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px 26px;
  align-items: start;
  counter-reset: dcstep;
  max-width: 1180px;
  margin-inline: auto;
}
/* obrázky do 1. riadku, texty do 2. riadku → obrázky a nadpisy zarovnané */
#dc-steps .elementor-widget-image { grid-row: 1; margin: 0; }
#dc-steps .elementor-widget-text-editor { grid-row: 2; margin: 0; text-align: center; }

#dc-steps .elementor-widget-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--dc-radius);
  box-shadow: var(--dc-shadow);
}

/* číselný odznak nad nadpisom kroku */
#dc-steps .elementor-widget-text-editor .elementor-widget-container::before {
  counter-increment: dcstep;
  content: "Krok " counter(dcstep);
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--dc-blue-dark);
  background: rgba(0, 124, 251, 0.10);
  padding: 4px 12px;
  border-radius: 999px;
  margin: 14px 0 10px;
}
#dc-steps .elementor-widget-text-editor strong {
  display: block;
  font-size: 1.05rem;
  color: var(--dc-navy);
  line-height: 1.35;
  margin-bottom: 6px;
}
#dc-steps .elementor-widget-text-editor p { color: var(--dc-muted); line-height: 1.6; margin: 0 0 6px; }
#dc-steps .elementor-widget-text-editor ul { list-style: none; padding: 0; margin: 6px 0 0; color: var(--dc-muted); font-size: 0.92rem; }
#dc-steps .elementor-widget-text-editor ul li { margin: 2px 0; }

@media (max-width: 1024px) {
  #dc-steps { grid-template-columns: repeat(2, 1fr); }
  #dc-steps .elementor-widget-image,
  #dc-steps .elementor-widget-text-editor { grid-row: auto; }
}
@media (max-width: 600px) {
  #dc-steps { grid-template-columns: 1fr; max-width: 420px; }
}

/* ---- 6) FAQ (Elementor toggle) – čisté karty ----------------------
   POZOR: rámik/tieň karty patrí VÝHRADNE sem, na .elementor-toggle-item.
   .elementor-tab-title aj .elementor-tab-content musia mať border:0,
   inak vznikne rámik v rámiku a karta má dole dvojité zakončenie.     */
.elementor-element-543b71b7 .elementor-toggle { max-width: 900px; margin-inline: auto; }
.elementor-element-543b71b7 .elementor-toggle-item {
  background: #ffffff;
  border: 1px solid var(--dc-line);
  border-radius: var(--dc-radius-sm);
  /* !important – Elementor tlačí .elementor-toggle-item:not(:last-child)
     { margin-block-end: 0 }, takže karty 1–6 sedeli nalepené na sebe
     a medzera 12px zostala len pod poslednou (= zdanie druhého konca). */
  margin-bottom: 12px !important;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04);
}
.elementor-element-543b71b7 .elementor-toggle-item:last-child { margin-bottom: 0 !important; }
.elementor-element-543b71b7 .elementor-tab-title {
  display: flex;
  align-items: center;
  gap: 12px;
  /* !important – Elementor tlačí padding:6% 0% 6% 1% s vyššou špecificitou */
  padding: 18px 22px !important;
  margin: 0 !important;
  border: 0 !important;
  cursor: pointer;
  background: #ffffff;
  transition: background 180ms ease, color 180ms ease;
}
.elementor-element-543b71b7 .elementor-tab-title .elementor-toggle-title {
  flex: 1;
  font-size: 1.02rem;
  font-weight: 600;
  color: var(--dc-navy);
}
.elementor-element-543b71b7 .elementor-tab-title .elementor-toggle-icon {
  margin-left: auto;
  color: var(--dc-blue);
}
.elementor-element-543b71b7 .elementor-tab-title.elementor-active {
  background: rgba(0, 124, 251, 0.06);
}
.elementor-element-543b71b7 .elementor-tab-title.elementor-active .elementor-toggle-title { color: var(--dc-blue-dark); }
.elementor-element-543b71b7 .elementor-tab-content {
  padding: 4px 22px 20px !important;
  border: 0 !important;
  color: var(--dc-muted);
  line-height: 1.7;
}
.elementor-element-543b71b7 .elementor-tab-content strong { color: var(--dc-ink); }
.elementor-element-543b71b7 .elementor-tab-content a { color: var(--dc-blue-text); text-decoration: underline; }
/* Zbalená (zatvorená) odpoveď si nechávala prázdny priestor namiesto
   toho, aby úplne zmizla. Položky, na ktoré sa ešte nikdy neklinklo,
   nemajú atribút [hidden] vôbec (spoliehajú sa len na chýbajúcu
   triedu elementor-active) – preto skrývame podľa OBOCH signálov. */
.elementor-element-543b71b7 .elementor-tab-content[hidden],
.elementor-element-543b71b7 .elementor-tab-content:not(.elementor-active) {
  display: none !important;
  padding: 0 !important;
}
.elementor-element-543b71b7 .elementor-tab-content.elementor-active {
  display: block !important;
  padding: 4px 22px 20px !important;
}

/* ---- 7) "PREČO DRIVECARS" – zosúladenie plnej modrej so značkou --- */
.dc-comparison-btn { background: var(--dc-blue) !important; }
.dc-comparison-btn::before { background: var(--dc-blue-dark) !important; }
.dc-comparison-check { color: var(--dc-blue) !important; }
.dc-comparison-badge-icon { color: var(--dc-blue) !important; }
/* Oba tenké farebné pruhy na vrchu kariet (::before) vypnuté – na ľavej
   karte prekážal odznaku "Najlepšia voľba", na pravej (sivý) pôsobil
   krivo/nezaoblene rovnako. Bez nich obe karty vyzerajú čisto. */
.dc-comparison-left::before,
.dc-comparison-right::before {
  display: none !important;
}
/* Odznak "Najlepšia voľba" – jemné doladenie pozície/tvaru, nech
   pôsobí ako samostatný štítok na rohu karty, nie krivo naliaty. */
.dc-comparison-badge {
  top: -14px !important;
  left: 24px !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 18px rgba(0, 124, 251, 0.35) !important;
}

/* ---- 8) PÄTIČKA – jemné doladenie ---------------------------------- */
.site-footer .widget-title,
.site-footer .widget-area .widget-title { color: var(--dc-navy); font-weight: 700; }
.site-footer a { transition: color 160ms ease; }
.site-footer a:hover { color: var(--dc-blue) !important; }
.site-below-footer-wrap { border-top: 1px solid var(--dc-line); }

/* ---- 9) DROBNÉ ZJEDNOTENIA ---------------------------------------- */
/* konzistentná max-šírka obsahu sekcií autá/recenzie/FAQ */
.elementor-element-04d70e9 > .e-con-inner,
.elementor-element-2f52a3a > .e-con-inner { max-width: 1200px; margin-inline: auto; }

/* Pozn.: sekcia "Prečo je DriveCars najlepšia autopožičovňa v Košiciach?"
   (.elementor-element-9e17dc1, .dc-comparison-*) sa VEDOME nemení –
   klient ju bude kompletne prerábať neskôr. */

/* ======================================================================
   10) DOLADENIA – kolo spätnej väzby (header, hero, autá, kroky, FAQ)
   ====================================================================== */

/* --- 10.1 Header: telefón / email – biely text ---------------------- */
.header-cislo-mail,
.header-cislo-mail a {
  color: #ffffff !important;
  font-weight: 700 !important;
}
.header-cislo-mail a:hover {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* --- 10.2 Hero: safe-zone pre text + rozumné limity výšky ----------- */
/* Aby text nesedel nalepený na hranu pri rôznych rozlíšeniach a aby
   hero na veľmi nízkych/veľmi vysokých obrazovkách nevyzeral zle. */
.elementor-element-69b927a {
  min-height: clamp(560px, 72vh, 740px);
  display: flex;
  align-items: center;
  background-position: right 78% !important;
}
.elementor-element-69b927a > .elementor-container,
.elementor-element-69b927a > .e-con-inner {
  padding-top: clamp(32px, 6vh, 72px);
  padding-bottom: clamp(32px, 6vh, 72px);
}
@media (max-width: 767px) {
  .elementor-element-69b927a {
    min-height: clamp(420px, 62vh, 640px);
    background-position: center center !important;
  }
}
@media (min-width: 1920px) {
  .elementor-element-69b927a {
    background-position: center center !important;
  }
}

/* --- 10.3 Hero icon-list – sklenený boxík pri spodku hera ----------- */
/* POZN.: hero kontajner bol v Elementore prestavaný, pôvodné ID
   .elementor-element-69b927a už v DOM neexistuje – nové ID je bd86aba.
   Len na PC (768px+), mobil má vlastné správanie nižšie. */
@media (min-width: 768px) {
  .elementor-element-bd86aba .elementor-widget-icon-list {
    margin-top: auto;
    padding-top: 24px;
  }
  .elementor-element-bd86aba .elementor-icon-list-items {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 16px !important;
    padding: 18px 22px !important;
    -webkit-backdrop-filter: blur(8px) !important;
    backdrop-filter: blur(8px) !important;
  }
}

/* --- 10.4 Karty áut – obrázky (scooter/sedan/van) nesedia na 16:10 -- */
/* "contain" namiesto "cover": každé auto (aj Honda skúter) sa zmestí
   celé, bez orezania, na jednotnom svetlom pozadí karty. */
.vrcmodcarsgridboxdiv > a {
  background: var(--dc-bg-soft);
}
.vrcmodcarsgridimg {
  aspect-ratio: 4 / 3 !important;
  object-fit: contain !important;
  padding: 14px;
  box-sizing: border-box;
  background: var(--dc-bg-soft);
}

/* --- 10.5 "Ako prebieha" – PNG ilustrácie bez tieňa/orezu ----------- */
#dc-steps .elementor-widget-image img {
  aspect-ratio: auto;
  object-fit: contain;
  max-height: 240px;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
  border-radius: 0;
  box-shadow: none;
}

/* Vrátené na jednotné poradie pre všetky 4 kroky (obrázok hore, text
   dole) – striedavý hore/dole layout sme skúsili, ale pôsobil
   rozhádzane, tak sme sa ho zriekli. Poradie riadi pôvodné pravidlo
   v sekcii 5) vyššie (#dc-steps .elementor-widget-image/text-editor). */

/* --- 10.6 FAQ sekcia: ľavý CTA blok ("Potrebujete poradiť") --------- */
/* Iba nadpis vycentrovaný/zvýraznený – tlačidlá FAQ a Kontakt
   necháme presne tam a tak, ako sú (v rovnakom riadku s nadpisom),
   žiadne vynucovanie šírky/pozície, aby sa "neroztrhli" mimo blok. */
.elementor-element-f12ef14 .elementor-heading-title {
  font-size: clamp(1.4rem, 2.4vw, 1.9rem);
  color: var(--dc-navy);
}
