
/* === Modern Light Orange-Grey – Autoškola Brůžek (layout = modern-dark) === */
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,"Noto Sans",sans-serif;
  color:var(--text);
  background:var(--surface-0);
  line-height:1.6;
}

/* ===== LIGHT ORANGE-GREY PALETTE ===== */
:root{
  /* plochy */
  --surface-0:#f2f3f5;   /* pozadí stránky */
  --surface-1:#ffffff;   /* hero / sekce */
  --surface-2:#333333;   /* karty */
  --surface-3:#eceef1;   /* jemné zvýraznění */

  /* texty */
  --text:#ffffff;
  --muted:#666666;

  /* akcenty */
  --accent:#ff7a1a;
  --accent-2:#ffa24c;

  /* rámečky */
  --stroke:#d5d7da;

  /* ostatní */
  --radius:12px;
  --shadow:0 8px 24px rgba(0,0,0,.08);
  --maxw:1240px;
  --gutter:24px;
}

/* ========== Layout / Utility ========== */
.container{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding:72px 0}
.section.narrow p{max-width:70ch}
.center{text-align:center}
.mt-0{margin-top:0}.mb-0{margin-bottom:0}
.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}
.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}
.img-round{border-radius:10px}

/* ========== Typografie ========== */
h1,h2,h3{line-height:1.25;margin:0 0 12px;color:#000}
h1{font-size:clamp(28px,3.2vw,48px);font-weight:800}
h2{font-size:clamp(22px,2.2vw,32px);font-weight:700}
h3{font-size:clamp(18px,1.8vw,24px);font-weight:700}
p{margin:0 0 16px;color:var(--text)}
.lead{font-size:clamp(16px,1.6vw,20px);color:#444}
.muted{color:var(--muted)}

a{color:var(--accent);text-decoration:none;font-weight:600}
a:hover{color:var(--accent-2)}

.btn{
  display:inline-block;border:0;cursor:pointer;
  background:var(--accent);color:#fff;
  font-weight:700;padding:14px 22px;border-radius:10px;
  transition:.2s;
}
.btn:hover{background:var(--accent-2);transform:translateY(-1px)}

/* ========== Header / Nav ========== */
.header{
  position:sticky;top:0;z-index:1000;
  background:#ffffffee;
  backdrop-filter:saturate(120%) blur(8px);
  border-bottom:1px solid var(--stroke)
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.header .logo{display:flex;gap:12px;align-items:center}
.header .logo img{height:44px;width:auto;border-radius:6px}
.header .brand{font-weight:800;color:#222;letter-spacing:.2px}

.nav{display:flex;gap:24px}
.nav a{color:#444;font-weight:650}
.nav a:hover{color:var(--accent)}
.hamburger{display:none;color:#222;font-size:28px;cursor:pointer}

@media (max-width:980px){
  .nav{display:none}
  .hamburger{display:block}
}

/* Mobilní menu – tmavý podklad */
.nav-panel{
  display:none;
  position:fixed;
  inset:72px 0 0 0;
  background:#333333;                 /* tmavý šedý podklad */
  border-top:1px solid #444;          /* jemná linka nahoře */
  padding:16px;
  z-index:9999;
}
.nav-panel a {
    transition: background 0.15s ease-in-out, color 0.15s ease-in-out;
}

/* Oranžový hover */
.nav-panel a:hover {
    background: #ff7a1a;    /* firemní oranžová */
    color: #ffffff;         /* bílé písmo */
}


/* odkazy v menu */
.nav-panel a{
  display:block;
  padding:14px 8px;
  border-bottom:1px solid #444;       /* světlejší linka na #333 */
  color:#ffffff;                      /* bílé písmo */
  font-weight:600;
}
}

.nav-panel a{
  display:block;
  padding:14px 8px;
  border-bottom:1px solid var(--stroke);
  color:#222;
}

.hero {
    position: relative;
    min-height: 60vh;
    overflow: hidden;
}

.hero img.bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}


.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: none !important;
    z-index: 1;
    pointer-events: none;
}

.hero .content {
    position: relative;
    z-index: 2;
    padding-top: 120px;
    padding-left: var(--gutter);
    max-width: 650px;
}

.hero .content h1 {
    color: var(--accent) !important;
}
.hero .content .lead {
    color: #fff !important;
}


.hero-cta .btn {
    margin: 0 !important;
}

/* HERO – textový sloupec ukotvený vlevo i když má .container */
.hero .content.container {
  margin-inline: 0 !important;     /* zruší centrování .container */
  padding-left: var(--gutter);     /* zachová levé odsazení layoutu */
  max-width: 650px;                /* držíme pěkný sloupec na řádky */
}

/* Jistota: nadpis + perex vlevo (barvy už máš nastavené) */
.hero .content h1,
.hero .content .lead {
  text-align: left !important;
}

/* ========== Dvousloupec / Karty ========== */
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:36px}
@media(max-width:980px){.grid-2{grid-template-columns:1fr}}

.card{
  background:var(--surface-2);
  border:1px solid var(--stroke);
  border-radius:var(--radius);
  padding:28px;
  box-shadow:var(--shadow)
}

/* Nadpisy v blocích oranžové */
.course h3,.card h2,.feature h3{color:var(--accent)!important}

/* ========== Kurzy (karty) ========== */
.grid-courses{display:grid;gap:22px;grid-template-columns:repeat(5,1fr)}
@media(max-width:1200px){.grid-courses{grid-template-columns:repeat(4,1fr)}}
@media(max-width:980px){.grid-courses{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.grid-courses{grid-template-columns:1fr}}

.course{
  background:var(--surface-2);
  border:1px solid var(--stroke);
  border-radius:14px;padding:18px;
  display:flex;flex-direction:column;gap:10px;transition:.2s
}
.course:hover{transform:translateY(-3px);border-color:var(--accent)}
.course p{color:#fff;font-size:15px}

/* ========== „Feature“ 3‑grid ========== */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:980px){.grid-3{grid-template-columns:1fr}}
.feature{background:var(--surface-2);border:1px solid var(--stroke);border-radius:14px;padding:22px;box-shadow:var(--shadow)}

/* ========== Ceník ========== */
.pricing{background:var(--surface-1);border-top:1px solid var(--stroke);border-bottom:1px solid var(--stroke)}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:14px;border-bottom:1px solid var(--stroke)}
.table th{color:#fff;font-weight:700;text-align:left}
.table td{color:#222}
.badge{background:#ffe7d0;border:1px solid #ffc899;color:#222;padding:4px 10px;border-radius:999px;font-size:13px}

/* ========== CTA (bez podkladu) ========== */
.cta{background:transparent;padding:36px 0;border:none}
.cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}

/* ========== Footer ========== */
.footer{background:#e4e5e7;border-top:1px solid var(--stroke);padding:36px 0;color:#222}
.footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}
@media(max-width:980px){.footer .cols{grid-template-columns:1fr}}
.footer img{max-width:160px;border-radius:8px}
.footer a{color:var(--accent)} .footer a:hover{color:var(--accent-2)}
.legal{border-top:1px solid var(--stroke);padding:14px 0;color:#444;font-size:14px}

/* ========== Mobile nav toggle ========== */
@media(max-width:980px){
  .nav-open .nav-panel{display:block}
  .nav-open body{overflow:hidden}
}

/* ========== Cookie banner ========== */
.cookie-banner{
  position:fixed;bottom:0;left:0;right:0;background:#ffffff;
  border-top:2px solid var(--accent);padding:16px 0;z-index:99999;display:none;
  animation:slideUp .4s ease-out
}
.cookie-banner p{color:#222}

/* ========== OBRÁZKY V KARTÁCH – ČISTÁ PRAVIDLA ========== */
/* Základně: obrázky v kartách zabírají šířku boxu, výška se dopočítá */
.card img{display:block;width:100%;height:auto;border-radius:12px}

/* Pokud chceš, aby obrázek VYPLNIL CELÝ BLOK (a klidně se ořezal),
   přidej na danou kartu třídu .photofill */
.card.photofill{padding:0!important;display:flex}
.card.photofill img{width:100%;height:100%;object-fit:cover;border-radius:12px}

/* Pokud naopak chceš mít obrázek celý vidět (NEořezávat), použij .photocontain */
.card.photocontain{padding:0!important;display:flex;align-items:center;justify-content:center;background:#fff}
.card.photocontain img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:12px}

/* Animace cookie */
@keyframes slideUp{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}




/* ===== FORMULÁŘ – NOVÉ ZAROVNÁNÍ ===== */

.form-wrap {
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 20px;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px 40px;
}

.form-grid-full {
    grid-column: span 2;
}

.form-grid label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    color: #333;
}

.form-grid input,
.form-grid select,
.form-grid textarea {
    width: 100%;
    padding: 10px 12px;
    font-size: 15px;
    border: 1px solid var(--stroke);
    border-radius: 8px;
    background: #fff;
    color: #222;
}

.form-grid .checkbox-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14px;
    grid-column: span 2;
}

.form-submit {
    grid-column: span 2;
    text-align: center;
}

@media(max-width: 760px) {
    .form-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .form-grid-full {
        grid-column: span 1;
    }
    .form-submit {
        grid-column: span 1;
    }
}

/* ===== FORMULÁŘ – DVOU SLOUPCOVÝ LAYOUT (pouze pro kontakt-form) ===== */

.contact-form .form-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;  /* dva stejné sloupce */
    gap: 28px 40px;                  /* příjemné mezery */
    align-items: start;
}

.contact-form .form-grid-2 > div {
    display: flex;
    flex-direction: column;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--stroke);
    border-radius: 8px;
    background: #fff;
    font-size: 15px;
    color: #222;
}

.contact-form textarea {
    resize: vertical;
}

/* Textarea na celou šířku */
.contact-form .form-grid-2 > div[style] {
    grid-column: span 2;   /* zachová tvé původní inline pravidlo */
}

/* GDPR checkbox */
.contact-form .contact-form-gdpr {
    margin-top: 10px;
    font-size: 14px;
}

/* Tlačítko centrované */
.contact-form button.btn {
    margin-top: 20px;
}
    
@media(max-width: 760px) {
    .contact-form .form-grid-2 {
        grid-template-columns: 1fr;
    }
    .contact-form .form-grid-2 > div[style],
    .contact-form button.btn {
        grid-column: span 1;
    }
}

/* ==== ŠEDÝ BLOK POD FORMULÁŘEM ==== */
.form-panel {
    background: #333333;          /* tvá požadovaná barva */
    padding: 40px 40px 50px;
    border-radius: 14px;
    margin-top: 40px;
}

/* Text uvnitř formuláře bude černý, inputy zůstanou bílé */
.form-panel label {
    color: #fff;
}

.form-panel .contact-form {
    color: #fff;
}

/* Inputy bílé a kontrastní */
.form-panel input,
.form-panel select,
.form-panel textarea {
    background: #fff !important;
    color: #222;
    border: 1px solid #aaa;
}

/* Tlačítko… můžeš nechat původní oranžové */
.form-panel button.btn {
    margin-top: 20px;
}

/* Oprava: footer zpět na černou barvu */
.footer,
.footer p,
.footer a,
.footer li,
.footer label {
    color: #222 !important;
}

/* Ceník – oprava barev v <th> */
.pricing .table th {
    color: #222 !important;
}

/* Oprava — jednotlivé položky menu NEPRŮHLEDNÉ */
.nav-panel a {
    display: block;
    padding: 16px 20px;
    background: #333333;       /* pevné pozadí */
    color: #ffffff;            /* bílé písmo */
    border-bottom: 1px solid #444444; /* jemná linka */
}


/* GDPR checkbox – zarovnání vlevo */
.gdpr-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 20px;
    color: #fff; /* protože je panel tmavý */
}

/* Checkbox trochu posuneme, aby byl s textem zarovnaný */
.gdpr-row input[type="checkbox"] {
    margin-top: 4px;
}

/* Text uvnitř panelu necháme bílý */
.form-panel .gdpr-row label {
    color: #fff;
}



/* GDPR řádek – perfektní zarovnání */
.gdpr-row {
    display: flex;
    align-items: center;
    gap: 10px;
    grid-column: span 2;         /* zarovnání jako textarea */
    margin: 10px 0 20px 0;
}

/* checkbox v panelu */
.form-panel .gdpr-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
}


/* Ceník – zarovnání cen doprava */
.pricing .table td:last-child,
.pricing .table th:last-child {
    text-align: right;
}





/* ===== Cenovka vpravo dole – oranžové písmo + oranžový okraj ===== */
.card { position: relative; }

.price-tag{
    display: inline-flex;
    align-items: center;
    gap: 8px;

    background: #222;              /* tmavý podklad – kontrast k oranžové */
    padding: 8px 14px;
    border-radius: 10px;

    border: 2px solid #ff7a1a;    /* oranžový okraj */
    box-shadow: 0 6px 18px rgba(0,0,0,0.35);

    white-space: nowrap;
}

/* Oranžový text */
.price-tag .price-label,
.price-tag .price-value{
    color: #ff7a1a;               /* ← oranžové písmo */
    font-weight: 700;
}

.price-tag .price-label{
    font-size: 13px;
    text-transform: uppercase;
    opacity: .95;
}

.price-tag .price-value{
    font-size: 17px;
}

/* Umístění vpravo dole uvnitř karty */
.price-tag.on-card{
    position: absolute;
    right: 24px;
    bottom: 32px;   /* ← upraveno z 24 na 32 px */
    z-index: 10;
}

/* Hover – jemné zvýraznění */
.card:hover .price-tag{
    transform: translateY(-1px);
    filter: brightness(1.15);
}

/* Mobil – pod obrázek */
@media (max-width: 980px){
    .price-tag.on-card{
        position: static;
        margin: 12px 0 16px;
    }
}


/* Karta – musí být kontejner pro absolutní pozici odznaku */
.course {
  position: relative;
  overflow: hidden;
  padding: 24px 20px;
  border-radius: 12px;
}

/* Odznak v pravém horním rohu */
.course-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 52px;      /* zmenši/ zvětši podle chuti */
  height: auto;
  display: block;
  pointer-events: none; /* aby šly kliky na odkaz v kartě */
}

/* Volitelné: na mobilech menší odznak */
@media (max-width: 480px) {
  .course-badge { width: 40px; top: 8px; right: 8px; }
}

/* Volitelné: pokud odznak koliduje s nadpisem, přidej víc místa nahoře */
.course { padding-top: 36px; } /* případně uprav zpět, když není potřeba */


/* Mřížka karet: 5 sloupců na desktopu */
.grid-courses {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
}

/* Karty – pokud to ještě nemáš */
.course {
  position: relative;
  border-radius: 12px;
  background: #2f2f2f;
  color: #fff;
  padding: 24px 20px;
}

/* --- TRYCHTÝŘ UMÍSTĚNÍ (desktop) --- */
/* Spodní řada: položky č. 6, 7, 8 (tj. 3 karty dole) 
   posuneme pod sloupce 2, 3, 4 = doprostřed mřížky */
.grid-courses .course:nth-child(6) { grid-column: 2; }
.grid-courses .course:nth-child(7) { grid-column: 3; }
.grid-courses .course:nth-child(8) { grid-column: 4; }

/* --- RESPONSIVE BREAKPOINTY --- */
/* Na ~laptopu (≤ 1200 px) dáme 4 sloupce a spodní tři centrovaně (1–3) */
@media (max-width: 1200px) {
  .grid-courses { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .grid-courses .course:nth-child(6) { grid-column: 2; }
  .grid-courses .course:nth-child(7) { grid-column: 3; }
  .grid-courses .course:nth-child(8) { grid-column: 2 / span 2; } /* prostřední dvojšířka (volitelné) */
}

/* Na tabletu (≤ 900 px) 2 sloupce bez ručního rozmisťování */
@media (max-width: 900px) {
  .grid-courses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-courses .course:nth-child(6),
  .grid-courses .course:nth-child(7),
  .grid-courses .course:nth-child(8) { grid-column: auto; } /* nechat auto-flow */
}

/* Na mobilu (≤ 600 px) jeden sloupec */
@media (max-width: 600px) {
  .grid-courses { grid-template-columns: 1fr; }
}

/* === HERO: text vlevo, CTA beze změny === */

/* Textový sloupec v hero – tvrdé zarovnání vlevo */
.hero .content {
  text-align: left !important;
  display: block !important;         /* jistota: ne-flex, ať nic necentruje */
  max-width: 650px;                  /* klidně uprav, pokud má být delší/kratší */
  padding-left: var(--gutter);       /* stejné odsazení jako zbytek webu */
  padding-top: 120px;                /* pod menu/hlavičku */
}

/* Nadpis + podnadpis vlevo (pro případ starých pravidel) */
.hero .content h1,
.hero .content .lead {
  text-align: left !important;
}


.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-contacts {
  display: flex;
  gap: 12px;
  align-items: center;
}

.header-contacts .contact-item {
  background: #f7f7f7;
  padding: 6px 10px;
  border-radius: 6px;
  color: #222;
  font-size: 14px;
  text-decoration: none;
  border: 1px solid #ddd;
}

.header-contacts .contact-item:hover {
  background: #ff7a1a;
  color: white;
}


/* Blok kontaktů mezi logem a menu – čistě CSS řešení */
.header-contacts {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin: 0 24px;         /* odsazení od loga i menu */
  position: relative;
  top: 2px;               /* jemné srovnání na výšku */
}

img[src="/img/logo-pruhledne.png"] {
    height: 44px !important;
    width: auto !important;
}


/* ===== Logo fix pouze pro mobilní Safari / Chrome ===== */
@media (max-width: 980px) {
    img[src="/img/logo-pruhledne.png"] {
        height: 32px !important;
        width: auto !important;
        max-height: 32px !important;
        object-fit: contain !important;
    }
}


/* Lepší čitelnost textu v hero sekci */
.hero .content h1,
.hero .content p,
.hero .content .lead {
    text-shadow: 0 3px 8px rgba(0,0,0,0.65);
}

.hero .content {
    background: linear-gradient(to bottom, rgba(0,0,0,0.45), rgba(0,0,0,0));
    padding: 20px 24px;
    border-radius: 12px;
}

/* Zarovnání tlačítek vlevo v hero sekci */
.hero .content {
    text-align: left !important;
}

/* Tlačítka v hero sekci vedle sebe vlevo */
.hero .content .btn {
    display: inline-block;
    margin-right: 12px;
}

/* Volitelně – mírný spacing nahoru */
.hero .content p + .btn,
.hero .content .lead + .btn {
    margin-top: 12px;
}

/* Tlačítka v hero sekci vlevo pod textem */
.hero .content .btn {
    display: inline-block;
    margin-right: 12px;
    margin-top: 16px;
    position: relative;
    left: 0; 
}

/* Skupina tlačítek zarovnaná vlevo */
.hero .content {
    text-align: left !important;
}

/* HERO CTA – TLAČÍTKA VLEVO */
.hero-cta {
    width: 100%;
    max-width: 650px;
    margin: 16px 0 0 0;        /* ← ŽÁDNÉ AUTO! */
    padding-left: var(--gutter);
    text-align: left !important;
    position: relative;
    z-index: 10;
}

.hero-cta .btn {
    background: rgba(255,255,255,0.25);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,0.4);
    color: #fff !important;
    padding: 14px 28px;
    border-radius: 12px;
    font-weight: 600;
    box-shadow: 0 6px 16px rgba(0,0,0,0.3);
}

.hero-cta .btn:hover {
    background: rgba(255,255,255,0.35);
}


/* Čistý finální styl pro úvodní šedý blok */
.card.card--intro {
    background: #E8E9EB;
    color: #1F1F1F;
    border: 1px solid #d0d1d3;
    border-left: 4px solid #ff7a1a;
    border-radius: 14px;
    padding: 28px 32px;
    font-size: 16px;        /* menší písmo */
    line-height: 1.65;
    margin-top: -10px;      /* posun výš */
    box-shadow: 0 4px 18px rgba(0,0,0,0.08);
}

.card.card--intro p {
    font-size: 16px;
    line-height: 1.65;
    margin-bottom: 14px;
    color: #1F1F1F;
}

.card.card--intro h2,
.card.card--intro h3 {
    color: #1F1F1F;
    font-weight: 700;
    margin-bottom: 12px;
}

.card.card--intro a {
    color: #ff7a1a;
    font-weight: 600;
}

.card.card--intro a:hover {
    color: #d35f0f;
}

.feature--wide h2 {
    color: var(--accent) !important;
}


/* Roztáhne tuto jedinou sekci přes celý grid */
.grid-3 .feature--wide {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
}

/* Zmenšení mezery mezi kartami – cílení jen na sousedící sekce */
.section + .section {
    padding-top: 40px !important;   /* zmenší horní mezeru */
}

/* A pokud chceš i spodní mezeru menší */
.section {
    padding-bottom: 40px;
}

/* Tmavá karta pro přihlášku (stejný styl jako .course) */
.card--form-dark {
    background: #2f2f2f;               /* stejné jako tmavé boxy */
    border: 1px solid var(--stroke);
    border-radius: 14px;
    padding: 36px 32px;
    box-shadow: var(--shadow);
    color: #fff;
    max-width: 900px;
    margin-inline: auto;
}

/* Nadpis oranžový */
.card--form-dark h2 {
    color: var(--accent) !important;
    margin-bottom: 12px;
}

/* Text */
.card--form-dark p {
    color: #ddd !important;
}

/* Úspěšná zpráva */
.card--form-dark .form-success {
    background: #1f1f1f;
    border: 1px solid #444;
    color: #8df58d;
    padding: 14px 18px;
    border-radius: 8px;
    margin-bottom: 18px;
}

/* Inputy uvnitř tmavé karty */
.card--form-dark input,
.card--form-dark select,
.card--form-dark textarea {
    background: #fff !important;
    color: #222;
    border: 1px solid #aaa;
}

/* Tlačítko */
.card--form-dark .btn {
    background: var(--accent);
    border-radius: 10px;
    margin-top: 20px;
}

.card--form-dark .btn:hover {
    background: var(--accent-2);
}



/* Kompaktnější web – menší vertikální mezery mezi sekcemi */

/* Zmenšíme základní výšku každé sekce */
.section {
    padding: 40px 0 !important;    /* z původních ~72px */
}

/* Ještě menší mezera, když jedna sekce následuje hned po druhé */
.section + .section {
    padding-top: 20px !important;
}

/* Zrušení ručního centrování spodní řady v gridu */
.grid-courses .course:nth-child(6),
.grid-courses .course:nth-child(7),
.grid-courses .course:nth-child(8) {
    grid-column: auto !important;
}

/* === GRID KURZŮ: zrušit trychtýř a zarovnat vlevo === */

/* 1) Zruš jakékoli ruční přestavování sloupců u karet */
.grid-courses .course {
  grid-column: auto !important;        /* přebije nth-child(6..8) apod. */
  margin-inline: 0 !important;         /* jistota: žádné auto centrování kartiček */
}

/* 2) Přirozené řazení po řádcích a zarovnání k levému okraji */
.grid-courses {
  grid-auto-flow: row !important;      /* jistota, že jedeme po řádcích */
  justify-content: start !important;   /* nevycentrovat celou mřížku */
  justify-items: start !important;     /* položky uvnitř buněk k levému okraji */
  align-items: start !important;       /* ať nic neplave na střed na výšku */
}

/* 3) EXTRA: pokud by někde zůstaly staré „trychtýřové“ zápisy, zrušíme je explicitně */
.grid-courses .course:nth-child(6),
.grid-courses .course:nth-child(7),
.grid-courses .course:nth-child(8),
.grid-courses .course:nth-child(9),
.grid-courses .course:nth-child(10) {
  grid-column: auto !important;
}

/* === FINAL FIX: GDPR checkbox doleva === */

/* Zrušíme centrování celé sekce */
.form-panel,
.card--form-dark,
.contact-form {
    text-align: left !important;
}

/* Nastavíme GDPR řádek jako flex vlevo */
.gdpr-row,
.form-panel .gdpr-row,
.contact-form .gdpr-row {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 10px !important;
    margin-left: 0 !important;
}

/* Checkbox */
.gdpr-row input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
}

/* Text */
.gdpr-row label {
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    display: inline-block !important;
}

/* =========================================
   KURZY – JEDNOTNÁ VÝŠKA A SROVNANÝ VZHLED
   ========================================= */

/* Obal gridu – nechá karty natáhnout do stejné výšky */
.grid-courses {
    align-items: stretch !important;   /* všechny sloupce stejná výška */
}

/* Každá karta: sloupcový layout, dorovnání spodu */
.grid-courses .course {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100% !important;
    padding: 24px 20px !important;
    border-radius: 12px !important;
    background: #2f2f2f !important;
}

/* Texty uvnitř karty nesmí roztahovat ostatní */
.grid-courses .course h3,
.grid-courses .course p,
.grid-courses .course img,
.grid-courses .course .more {
    flex-shrink: 0 !important;
}

/* Zajistí, že textová část bude mít rezervu a hezky se roztáhne */
.grid-courses .course p {
    flex-grow: 1 !important;           /* text vyplní střed karty */
    margin-bottom: 12px !important;
}

/* Tlačítko "Více →" vždy dole, pevná pozice */
.grid-courses .course .more {
    margin-top: 16px !important;
    font-weight: 600 !important;
    display: inline-block !important;
}

/* === ORANŽOVÝ NADPIS "Ceník:" === */
.section.pricing h2 {
    color: var(--accent) !important;   /* oranžová */
    font-weight: 800 !important;       /* můžeš ubrat, pokud nechceš tak tučné */
}

/* === ORANŽOVÝ NADPIS CENÍK I NA MOBILU === */
@media (max-width: 720px) {
  .section.pricing h2 {
    color: var(--accent) !important;
  }
}


/* =========================================================
   iPHONE FIX – HEADER CONTACT ICONS + MENU VISIBILITY
   ========================================================= */


/* 2) Globálně vypnout stará skrývací pravidla */
.header-contacts .contact-item .label {
    display: inline !important;
    font-size: 14px !important;
}



/* 4) MENU – vynutit viditelnost v režimu .nav-open */
@media (max-width: 980px) {
    .nav-open .nav-panel {
        display: block !important;
    }
}

/* =======================================================
   IOS CHROME FIX – HEADER CONTACT ICONS + MOBILE MENU
   ======================================================= */

/* 1) Vypnout pseudo-ikonky na 100 % */
.header-contacts .contact-item::before {
    content: none !important;
    background: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* 2) Vypnout textové skrývací bloky */
.header-contacts .contact-item .label {
    display: inline-block !important;
    font-size: 14px !important;
}


    /* Zobrazit tooltip */
    .header-contacts .contact-item:active .label,
    .header-contacts .contact-item:focus .label,
    .header-contacts .contact-item:focus-visible .label {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateX(-50%) translateY(-2px) !important;
    }
}

/* 4) MENU — vynutit zobrazení */
@media (max-width: 980px) {
    .nav-open .nav-panel {
        display: block !important;
    }
}

/* ============================================================
   HEADER CONTACTS — VARIANTA C
   Plně vyčištěná verze pro Safari + Chrome iPhone
   ============================================================ */

/* Vypnutí starých pseudo-ikonek */
.header-contacts .contact-item::before {
    content: none !important;
    background: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* Desktop (minimum 721 px): ikona + text */
@media (min-width: 721px) {
    .header-contacts {
        display: inline-flex !important;
        align-items: center !important;
        gap: 12px !important;
    }
    .header-contacts .contact-item {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        height: 40px !important;
        padding: 6px 10px !important;
        border: 1px solid #ddd !important;
        border-radius: 8px !important;
        background: #f7f7f7 !important;
        text-decoration: none !important;
        color: #222 !important;
    }
    .header-contacts .contact-item .icon {
        width: 18px !important;
        height: 18px !important;
        display: block !important;
    }
    .header-contacts .contact-item .label {
        display: inline !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
        color: #222 !important;
    }
}

/* ============================================================
   MOBILNÍ VERZE (max-width: 720px)
   Zobrazí pouze ikonu, text je tooltip po tapnutí
   ============================================================ */
@media (max-width: 720px) {

    .header-contacts {
        display: inline-flex !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .header-contacts .contact-item {
        display: grid !important;
        place-items: center !important;

        width: 44px !important;
        height: 44px !important;

        padding: 0 !important;
        margin: 0 !important;

        border: 1px solid #ddd !important;
        border-radius: 8px !important;
        background: #ffffffcc !important;

        position: relative !important;
        overflow: visible !important;

        text-decoration: none !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    /* Ikona uvnitř */
    .header-contacts .contact-item .icon {
        width: 22px !important;
        height: 22px !important;
        display: block !important;
    }

    /* Tooltip text (skrytý defaultně) */
    .header-contacts .contact-item .label {
        position: absolute !important;
        top: calc(100% + 6px) !important;
        left: 50% !important;
        transform: translateX(-50%) !important;

        padding: 4px 6px !important;
        font-size: 12px !important;
        color: #fff !important;
        background: #222 !important;

        border-radius: 6px !important;
        white-space: nowrap !important;
        box-shadow: 0 4px 10px rgba(0,0,0,.25) !important;

        opacity: 0 !important;
        pointer-events: none !important;
        transition: opacity .15s ease, transform .15s ease !important;
        z-index: 9999 !important;
    }

    /* Zobrazení tooltipu na tapnutí / focus */
    .header-contacts .contact-item:active .label,
    .header-contacts .contact-item:focus .label,
    .header-contacts .contact-item:focus-visible .label {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateX(-50%) translateY(-2px) !important;
    }
}

/* === Ceník – zabránit zalomení ceny na mobilu === */
.pricing .table td:last-child {
    white-space: nowrap !important;   /* cena zůstane v jednom řádku */
    text-align: right !important;     /* zarovnat doprava */
    width: 1%;                        /* buňka se maximálně zúží */
}

/* =========================================================
   HEADER – kompaktní kontakty (Facebook) + stabilní menu
   Vložte na úplný konec CSS.
   ========================================================= */

/* 1) Tablet režim – kompaktnější kontakty (vejdou se vedle menu) */
@media (max-width: 1180px) {
  .header-contacts {
    gap: 8px !important;
    flex-shrink: 0 !important;         /* zabraň zalomení kontaktů */
  }
  .header-contacts .contact-item {
    height: 36px !important;
    padding: 4px 8px !important;       /* menší „pill“ */
  }
  .header-contacts .contact-item .icon {
    width: 18px !important;
    height: 18px !important;
  }
  /* Facebook: už na tabletu jen ikona (text pryč) */
  .header-contacts .contact-item[href*="facebook.com"] .label {
    display: none !important;
  }
}

/* 2) Mobil – držíme Variant C (jen ikony); jistota i pro FB */
@media (max-width: 720px) {
  .header-contacts .contact-item[href*="facebook.com"] .label {
    display: none !important;
  }
}

/* 3) (Volitelné) Přepnout hamburger o něco dřív, když je potřeba víc místa
   - Pokud nechceš, tento blok klidně smaž. */
@media (max-width: 1100px) {
  .nav       { display: none !important; }
  .hamburger { display: block !important; }
}

/* 4) Bezpečnost – ať kontakty nikdy „neexpandují“ a netlačí menu */
.header-contacts, .header-contacts * { min-width: 0 !important; }



/* =========================================================
   CENÍK – ZABRÁNIT ZALOMENÍ CEN NA MOBILU
   ========================================================= */

.pricing .table td:last-child,
.pricing .table th:last-child {
    white-space: nowrap !important;   /* drží cenu v jednom řádku */
    text-align: right !important;     /* zarovnat doprava */
    width: 1% !important;             /* buňka se co nejméně roztáhne */
}

/* pokud máš ceny v <span> nebo badge, ošetříme i to */
.pricing .table td:last-child *,
.pricing .table td:last-child span,
.pricing .table td:last-child .badge {
    white-space: nowrap !important;
}

/* =========================================================
   HEADER – kontakty ještě kompaktnější na malých mobilech
   Aby hamburger byl vždy krásně zarovnaný vpravo
   ========================================================= */

@media (max-width: 480px) {

  /* kontakty – ještě menší boxy */
  .header-contacts {
    gap: 6px !important;
  }

  .header-contacts .contact-item {
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    border-radius: 8px !important;
  }

  .header-contacts .contact-item .icon {
    width: 18px !important;
    height: 18px !important;
  }

  /* Facebook – jen ikona */
  .header-contacts .contact-item[href*="facebook.com"] .label {
    display: none !important;
  }

  /* zabránit expanzi kontaktů na šířku */
  .header-contacts,
  .header-contacts * {
    max-width: 100% !important;
    flex-shrink: 1 !important;
  }
}

/* =========================================================
   CENÍK – odstranění velkých mezer mezi sekcemi
   ========================================================= */

.pricing {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.pricing .section,
.pricing .section + .section {
    padding: 0 !important;               /* zrušit děděné mezery */
}

.pricing h2,
.pricing h3 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

.pricing table {
    margin-bottom: 10px !important;
}

.pricing p {
    margin-bottom: 12px !important;
}

/* =========================================================
   CENÍK – odstranění obrovské mezery mezi sekcemi
   ========================================================= */

.section.pricing,
.pricing .section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.section.pricing + .section.pricing,
.pricing .section + .section {
    padding-top: 10px !important;   /* malá čistá mezera */
}

.pricing h2,
.pricing h3 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

.pricing table {
    margin-bottom: 10px !important;
}
/* ========================================
   CENÍK – kompaktní mezery mezi sekcemi
   ======================================== */

/* hlavní sekce ceníku */
.section.pricing {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* nadpisy kategorií v ceníku */
.section.pricing h3,
.section.pricing h2 {
    margin-top: 20px !important;
    margin-bottom: 12px !important;
}

/* odskok pod tabulkou */
.section.pricing table {
    margin-bottom: 12px !important;
}

/* odskok pod vysvětlivkami / textem */
.section.pricing p {
    margin: 8px 0 !important;
}

/* === FIX FORMULÁŘE – VYNUCENÍ GRIDU A MOBILNÍHO STACKU === */
.contact-form .form-grid-2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 28px 40px;
}

/* Jednotlivá pole musí mít plnou šířku */
.contact-form .form-grid-2 > div {
    width: 100% !important;
}

/* Pole přes celou šířku (textarea, select atd.) */
.contact-form .form-grid-full {
    grid-column: span 2 !important;
}

/* MOBIL: vše pod sebe */
@media(max-width: 760px) {
    .contact-form .form-grid-2 {
        grid-template-columns: 1fr !important;
        gap: 20px;
    }

    .contact-form .form-grid-full {
        grid-column: span 1 !important;
    }
}

/* === L17 badge – přesun do pravého spodního rohu === */
.course .course-badge {
    position: absolute !important;
    right: 12px !important;
    bottom: 12px !important;
    top: auto !important;      /* vypne umístění nahoře */
}

/* === Cookie UI (banner + modal) === */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:2px solid var(--accent);
  padding:16px 0;z-index:99999;display:none;box-shadow:0 -8px 24px rgba(0,0,0,.08)
}
.cookie-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;z-index:100000}
.cookie-modal__dialog{
  background:#fff;max-width:720px;margin:10vh auto;padding:24px;border-radius:12px;
  box-shadow:var(--shadow)
}
.cookie-opt{display:grid;gap:10px;margin:16px 0}
.cookie-opt__row{display:flex;gap:10px;align-items:flex-start}
.cookie-modal__actions{display:flex;gap:10px;justify-content:flex-end}

/* === COOKIE MODAL FIX – oddělení od layoutu === */

.cookie-modal {
  background: rgba(0,0,0,0.55) !important;
}

.cookie-modal__dialog {
  background: #ffffff !important;
  color: #222 !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 28px rgba(0,0,0,.35) !important;
}

/* Text inside modal */
.cookie-modal__dialog h2,
.cookie-modal__dialog p,
.cookie-opt__row span {
  color: #222 !important;
}

/* Checkbox rows */
.cookie-opt__row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: #222 !important;
}

/* Buttons */
.cookie-modal__actions .btn {
  color: #fff !important;
}

/* Override unintended section background */
.cookie-modal__dialog .container,
.cookie-modal__dialog section {
  background: transparent !important;
}
/* ===========================
   MOBILNÍ VERZE COOKIE BANNERU
   =========================== */
@media (max-width: 640px) {

  /* Banner */
  #cookie-banner .container {
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    gap: 12px !important;
  }

  #cookie-banner p {
    max-width: 100% !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  #cookie-banner .btn {
    width: 100% !important;
    text-align: center !important;
  }

  #cookie-banner div[style*="display:flex"] {
    flex-direction: column !important;
    width: 100% !important;
  }

  /* Modal overlay */
  .cookie-modal {
    padding: 0 14px !important;
    display: none;
  }

  /* Modal box */
  .cookie-modal__dialog {
    width: 100% !important;
    margin: 12vh auto !important;
    padding: 20px !important;
    border-radius: 12px !important;
  }

  .cookie-modal__dialog h2 {
    font-size: 22px !important;
    margin-bottom: 8px !important;
  }

  .cookie-modal__dialog p {
    font-size: 15px !important;
    line-height: 1.5 !important;
  }

  /* Checkboxes */
  .cookie-opt__row {
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 10px !important;
    font-size: 15px !important;
  }

  /* Buttons */
  .cookie-modal__actions {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .cookie-modal__actions .btn {
    width: 100% !important;
    text-align: center !important;
  }
}