/* 
 * Tábor Vlna - Typografie & Fonty
 * Verze: 3.0 - Optimalizovaná
 * Vytvořeno: 2026-01-30
 * Fonty: Aleo, Luckiest Guy, Grand Hotel
 */

/* ═══════════════════════════════════════════════════════════════════════
   GOOGLE FONTS - PŘIDAT DO <head>:
   <link rel="preconnect" href="https://fonts.googleapis.com">
   <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
   <link href="https://fonts.googleapis.com/css2?family=Aleo:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Grand+Hotel&family=Luckiest+Guy&display=swap" rel="stylesheet">
   ═══════════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════════════
   CSS PROMĚNNÉ - FONTY
   ═══════════════════════════════════════════════════════════════════════ */

:root {
    /* ─────────────────────────────────────────────────────────────────
       Font families
       ───────────────────────────────────────────────────────────────── */
    --font-primary: 'Aleo', Georgia, serif;
    --font-display: 'Luckiest Guy', cursive;
    /* --font-script: 'Grand Hotel', cursive; */
    /* --font-script: 'Pacifico', cursive; */
    --font-script: "Montserrat", system-ui, -apple-system, "Segoe UI",
               Roboto, Helvetica, Arial, sans-serif;
    
    /* ─────────────────────────────────────────────────────────────────
       Font sizes - základní škála
       ───────────────────────────────────────────────────────────────── */
    --text-xs: 1.2rem;
    --text-sm: 1.4rem;
    --text-base: 1.6rem;
    --text-lg: 1.8rem;
    --text-xl: 2rem;
    --text-2xl: 2.4rem;
    --text-3xl: 3rem;
    --text-4xl: 3.6rem;
    --text-5xl: 4.8rem;
    --text-6xl: 6rem;
    
    /* ─────────────────────────────────────────────────────────────────
       Line heights
       ───────────────────────────────────────────────────────────────── */
    --leading-tight: 1.2;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 1.8;
}

/* ═══════════════════════════════════════════════════════════════════════
   ZÁKLADNÍ TYPOGRAFIE
   ═══════════════════════════════════════════════════════════════════════ */

html {
    font-size: 62.5%; /* 1rem = 10px */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: var(--font-primary);
    font-size: var(--text-base);
    font-weight: 400;
    line-height: var(--leading-relaxed);
}

/* ═══════════════════════════════════════════════════════════════════════
   NADPISY
   ═══════════════════════════════════════════════════════════════════════ */

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    font-weight: 400;
    line-height: var(--leading-tight);
    letter-spacing: 0.02em;
}

h1 {
    font-size: var(--text-5xl);
}

h2 {
    font-size: var(--text-4xl);
}

h3 {
    font-size: var(--text-2xl);
}

h4 {
    font-size: var(--text-xl);
}

h5 {
    font-size: var(--text-lg);
}

h6 {
    font-size: var(--text-base);
}

/* ═══════════════════════════════════════════════════════════════════════
   ODKAZY
   ═══════════════════════════════════════════════════════════════════════ */

a {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* ═══════════════════════════════════════════════════════════════════════
   LABEL VLNA - SCRIPT FONT
   ═══════════════════════════════════════════════════════════════════════ */

.label-vlna {
    font-family: var(--font-script);
    font-size: var(--text-2xl);
    font-weight: 400;
    letter-spacing: 0.01em;
}

/* ═══════════════════════════════════════════════════════════════════════
   MENU - DESKTOP
   ═══════════════════════════════════════════════════════════════════════ */

#menu ul li {
    list-style-type: none;
}

#menu ul li a {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

#menu ul li.special.call-to-action a {
    font-weight: 700;
    letter-spacing: 0.08em;
}

/* ═══════════════════════════════════════════════════════════════════════
   MENU BURGER - MOBIL
   ═══════════════════════════════════════════════════════════════════════ */

.nav_close {
    font-size: 2.8rem;
    font-weight: 300;
    line-height: 1;
}

.menu_all li a {
    font-family: var(--font-primary);
    font-size: var(--text-lg);
    font-weight: 600;
    text-decoration: none;
}

/* ═══════════════════════════════════════════════════════════════════════
   HP INTRO
   ═══════════════════════════════════════════════════════════════════════ */

#hp_intro .col-left h2 {
    font-size: var(--text-5xl);
}

#hp_intro .col-left p {
    font-size: var(--text-lg);
}

#hp_intro .btn {
    font-family: var(--font-primary);
    font-size: var(--text-base);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* ═══════════════════════════════════════════════════════════════════════
   HP COUNTDOWN
   ═══════════════════════════════════════════════════════════════════════ */

.count-left .count-label-small {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 600;
}

.count-left .count-title {
    font-family: var(--font-display);
    font-size: var(--text-3xl);
}

.count-item .count-number {
    font-family: var(--font-display);
    font-size: var(--text-4xl);
}

.count-item .count-label {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════════════════
   KDO JSME
   ═══════════════════════════════════════════════════════════════════════ */

#kdo_jsme .col-left h2 {
    font-size: var(--text-4xl);
}

#kdo_jsme .col-left p {
    font-size: var(--text-base);
}

#kdo_jsme .box h3 {
    font-family: var(--font-display);
    font-size: var(--text-xl);
}

#kdo_jsme .box p {
    font-size: var(--text-sm);
}

/* ═══════════════════════════════════════════════════════════════════════
   HP SLOVO VEDOUCÍHO
   ═══════════════════════════════════════════════════════════════════════ */

#hp_slovo .col-right p {
    font-family: var(--font-primary);
    font-size: var(--text-xl);
    font-style: italic;
}

#hp_slovo .col-right p::before {
    font-family: var(--font-script);
    font-size: 8rem;
}

#hp_slovo .col-right > div:first-of-type {
    font-family: var(--font-display);
    font-size: var(--text-2xl);
}

#hp_slovo .col-right > div:last-of-type {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.15em;
}

/* ═══════════════════════════════════════════════════════════════════════
   HP GALERIE
   ═══════════════════════════════════════════════════════════════════════ */

#hp_galerie h2 {
    font-size: var(--text-4xl);
}

.galerie-btn a { 
    font-weight: 700;
    letter-spacing: 0.08em;
    }
.galerie-btn a:hover{text-decoration: none;color: white;}

/* ═══════════════════════════════════════════════════════════════════════
   HP INFO
   ═══════════════════════════════════════════════════════════════════════ */

.info-left h2 {
    font-family: var(--font-display);
    font-size: var(--text-3xl);
}

.info-right .btn {
    font-family: var(--font-primary);
    font-size: var(--text-base);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* ═══════════════════════════════════════════════════════════════════════
   HP CALL TO ACTION
   ═══════════════════════════════════════════════════════════════════════ */

#hp_call_to_action > div:first-child {
    font-family: var(--font-script);
    font-size: var(--text-3xl);
}

#hp_call_to_action > div:nth-child(2) {
    font-family: var(--font-display);
    font-size: var(--text-5xl);
}

#hp_call_to_action .btn {
    font-family: var(--font-primary);
    font-size: var(--text-lg);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* ═══════════════════════════════════════════════════════════════════════
   TLAČÍTKA - BTN
   ═══════════════════════════════════════════════════════════════════════ */

.btn {
    font-family: var(--font-primary);
    font-size: var(--text-base);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* ═══════════════════════════════════════════════════════════════════════
   PATIČKA
   ═══════════════════════════════════════════════════════════════════════ */

#paticka .column h4 {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    letter-spacing: 0.03em;
}

#paticka .column p {
    font-size: var(--text-sm);
}

#paticka .column ul li {
    font-size: var(--text-sm);
}

#paticka .column ul li a {
    font-weight: 400;
}

/* Social link */
.social-link {
    font-size: var(--text-sm);
    font-weight: 500;
}

/* ═══════════════════════════════════════════════════════════════════════
   COPYRIGHT
   ═══════════════════════════════════════════════════════════════════════ */

#copyright {
    font-size: var(--text-xs);
    text-align: center;
}

#copyright span {
    font-weight: 400;
}

/* ═══════════════════════════════════════════════════════════════════════
   STRÁNKY - OBSAH
   ═══════════════════════════════════════════════════════════════════════ */

.obsah_uvod header h1 {
    font-size: var(--text-4xl);
}

/* ═══════════════════════════════════════════════════════════════════════
   UDÁLOSTI
   ═══════════════════════════════════════════════════════════════════════ */

.udalosti_uvod header h1 {
    font-size: var(--text-4xl);
}

.udalosti_vypis .udalost strong {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 600;
    letter-spacing: 0.05em;
}

.udalosti_vypis .udalost > a {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    text-decoration: none;
}

.udalosti_vypis .udalost p {
    font-size: var(--text-sm);
}

/* ═══════════════════════════════════════════════════════════════════════
   DETAIL UDÁLOSTI
   ═══════════════════════════════════════════════════════════════════════ */

.udalost_uvod header h1 {
    font-size: var(--text-4xl);
}

.udalost_info_table th {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 600;
}

.udalost_info_table td {
    font-size: var(--text-base);
}

.udalost_info_table td strong {
    font-weight: 700;
}

.kapacita_volna {
    font-size: var(--text-sm);
    font-weight: 600;
}

.registrace_open,
.registrace_closed {
    font-size: var(--text-sm);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ═══════════════════════════════════════════════════════════════════════
   FORMULÁŘ REGISTRACE
   ═══════════════════════════════════════════════════════════════════════ */

.udalost_registrace_form h2 {
    font-family: var(--font-display);
    font-size: var(--text-3xl);
}

.form_section h3 {
    font-family: var(--font-display);
    font-size: var(--text-xl);
}

.form_subsection h4 {
    font-family: var(--font-primary);
    font-size: var(--text-base);
    font-weight: 600;
}

.form_note {
    font-size: var(--text-sm);
}

.form_line label {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 600;
}

.form_line input,
.form_line textarea {
    font-family: var(--font-primary);
    font-size: var(--text-base);
}

.platba_option label {
    font-size: var(--text-base);
}

.platba_option label strong {
    font-weight: 700;
}

.priplatek_badge {
    font-size: var(--text-xs);
    font-weight: 600;
}

.platba_note {
    font-size: var(--text-sm);
}

.form_line_checkbox label {
    font-size: var(--text-sm);
}

.cena_summary {
    font-size: var(--text-base);
}

.cena_row_total strong {
    font-size: var(--text-lg);
}

.udalost_registrace_form button[type="submit"] {
    font-family: var(--font-primary);
    font-size: var(--text-lg);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

/* Tlačítko přidat další dítě */
.btn_secondary {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0.02em;
}

/* Tlačítko odebrat dítě */
.btn_remove_dite {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: 500;
}

/* ═══════════════════════════════════════════════════════════════════════
   KONTAKTY
   ═══════════════════════════════════════════════════════════════════════ */

.tinymce table.kontakty.adresy th {
    font-family: var(--font-display);
    font-size: var(--text-lg);
}

.tinymce table.kontakty.adresy td {
    font-size: var(--text-base);
    line-height: var(--leading-loose);
}

.tinymce table.kontakty.lide td strong {
    font-family: var(--font-primary);
    font-size: var(--text-base);
    font-weight: 700;
}

.tinymce table.kontakty.lide td {
    font-size: var(--text-base);
    line-height: var(--leading-loose);
}

/* ═══════════════════════════════════════════════════════════════════════
   TINYMCE OBSAH
   ═══════════════════════════════════════════════════════════════════════ */

.tinymce {
    font-size: var(--text-base);
}

.tinymce h2 {
    font-size: var(--text-3xl);
}

.tinymce h3 {
    font-size: var(--text-2xl);
}

.tinymce p {
    font-size: var(--text-base);
}

.tinymce strong {
    font-weight: 700;
}

.tinymce em {
    font-style: italic;
}

.tinymce ul,
.tinymce ol {
    font-size: var(--text-base);
}

/* ═══════════════════════════════════════════════════════════════════════
   FAQ
   ═══════════════════════════════════════════════════════════════════════ */

.faq-item summary {
    font-family: var(--font-primary);
    font-size: var(--text-base);
    font-weight: 600;
}

.faq-content {
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
}

/* ═══════════════════════════════════════════════════════════════════════
   SUCCESS STRÁNKA
   ═══════════════════════════════════════════════════════════════════════ */

.success_message {
    font-size: var(--text-lg);
}

.registrace_summary h2 {
    font-family: var(--font-display);
    font-size: var(--text-xl);
}

.registrace_summary th {
    font-size: var(--text-sm);
}

.registrace_summary td {
    font-size: var(--text-base);
}

.qr_platba h3 {
    font-family: var(--font-display);
    font-size: var(--text-xl);
}

.important_notice h3 {
    font-family: var(--font-display);
    font-size: var(--text-lg);
}