/* 
============================================
FRÝDLANTSKÁ PADESÁTKA - FONTY
============================================
Created :: 2026-01-22
Updated :: 2026-01-22

Typografie:
- Nadpisy: Montserrat (900 - Black)
- Tělo: Open Sans (400, 600, 700)
- Fallback: system fonts
============================================
*/

/* ==========================================
   CSS PROMĚNNÉ PRO FONTY
   ========================================== */

:root {
    --font-heading: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-body: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    
    /* Font sizes */
    --text-xs: 0.75rem;     /* 12px */
    --text-sm: 0.875rem;    /* 14px */
    --text-base: 1rem;      /* 16px */
    --text-lg: 1.125rem;    /* 18px */
    --text-xl: 1.25rem;     /* 20px */
    --text-2xl: 1.5rem;     /* 24px */
    --text-3xl: 1.875rem;   /* 30px */
    --text-4xl: 2.25rem;    /* 36px */
    --text-5xl: 3rem;       /* 48px */
    --text-6xl: 3.75rem;    /* 60px */
    --text-7xl: 4.5rem;     /* 72px */
    --text-8xl: 6rem;       /* 96px */
    
    /* Line heights */
    --leading-none: 1;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;
    
    /* Letter spacing */
    --tracking-tight: -0.025em;
    --tracking-normal: 0;
    --tracking-wide: 0.025em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;
}

/* ==========================================
   BASE TYPOGRAPHY
   ========================================== */

html {
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: 400;
    line-height: var(--leading-normal);
    letter-spacing: 0.01em;
}

/* ==========================================
   NADPISY
   ========================================== */

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 900;
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
}

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

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

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;
}

/* ==========================================
   HEADER / ZÁHLAVÍ
   ========================================== */

/* Container header - hlavní nadpis na HP */
#container_header li:first-child {
    font-family: var(--font-heading);
    font-size: var(--text-3xl);
    font-weight: 900;
    letter-spacing: var(--tracking-wide);
}

#container_header li:nth-child(2) {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    font-weight: 400;
    letter-spacing: var(--tracking-wider);
    text-transform: uppercase;
}

#container_header li:nth-child(3) {
    font-family: var(--font-heading);
    font-size: var(--text-7xl);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: var(--tracking-tight);
    line-height: var(--leading-none);
}

#container_header li:nth-child(3) span {
    font-family: var(--font-heading);
    font-size: var(--text-7xl);
    font-weight: 900;
}

#container_header li:nth-child(4) {
    font-family: var(--font-body);
    font-size: var(--text-xl);
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: var(--tracking-wider);
    line-height: var(--leading-relaxed);
}

/* Podstránka header */
#container_header.sub li:nth-child(3) {
    font-size: var(--text-5xl);
}

#container_header.sub li:nth-child(3) span {
    font-size: var(--text-5xl);
}

#container_header.sub li:nth-child(4) {
    font-size: var(--text-lg);
    text-transform: none;
    letter-spacing: var(--tracking-normal);
    line-height: var(--leading-relaxed);
}

#container_header.sub h1 {
    font-family: var(--font-heading);
    font-size: var(--text-5xl);
    font-weight: 900;
    text-transform: uppercase;
}

/* ==========================================
   NAVIGACE / MENU
   ========================================== */

#menu ul {
    list-style: none;
}

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

#menu ul li a {
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: 600;
    text-decoration: none;
    letter-spacing: var(--tracking-wide);
}

#menu ul li a:hover {
    text-decoration: none;
}

/* Mobile menu */
.nav_close {
    font-size: 36px;
    font-weight: 300;
}

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

.menu_all li.active a {
    font-weight: 700;
}

/* ==========================================
   CONTENT SECTIONS
   ========================================== */

/* Prvky - úvodní text */
.prvek_hp_uvod .tinymce p {
    font-size: var(--text-lg);
    line-height: var(--leading-relaxed);
}

/* ==========================================
   CONTAINER POCHOD INFO
   ========================================== */

#container_pochod_info h3 {
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    font-weight: 900;
    line-height: var(--leading-snug);
}

#container_pochod_info p {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    letter-spacing: 0.02em;
}

/* ==========================================
   CONTAINER TRASY
   ========================================== */

#container_trasy h3 {
    font-family: var(--font-heading);
    font-size: var(--text-4xl);
    font-weight: 900;
}

#container_trasy h4 {
    font-family: var(--font-heading);
    font-size: var(--text-3xl);
    font-weight: 900;
    line-height: var(--leading-snug);
}

#container_trasy p {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    letter-spacing: 0.02em;
}

#container_trasy .button_desktop a,
#container_trasy .button_respo a {
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: 700;
    text-decoration: none;
}

/* ==========================================
   ARTICLES & NEWS
   ========================================== */

.article_hp .tinymce p,
.article_hp_2 .tinymce p {
    font-size: var(--text-lg);
    line-height: var(--leading-relaxed);
}

.article_hp_2 h2 {
    font-family: var(--font-heading);
    font-size: var(--text-4xl);
    font-weight: 900;
}

.article_hp_2 .button a {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    font-weight: 700;
    text-decoration: none;
}

/* News výpis */
.vypis_box.news h2 {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    font-weight: 700;
}

.vypis_box.news h2 a {
    text-decoration: none;
}

/* Události výpis */
.udalosti_vypis .udalost strong {
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: 700;
}

.udalosti_vypis .udalost a {
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    font-weight: 700;
}

/* ==========================================
   FORMS
   ========================================== */

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

.form_line label {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
}

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

.form_hint {
    font-family: var(--font-body);
    font-size: var(--text-sm);
}

.form_shrnuti legend {
    font-family: var(--font-heading);
    font-size: var(--text-lg);
    font-weight: 700;
}

.shrnuti_label {
    font-family: var(--font-body);
    font-size: var(--text-base);
}

.shrnuti_hodnota {
    font-family: var(--font-body);
    font-size: var(--text-base);
}

.shrnuti_celkem .shrnuti_hodnota {
    font-size: var(--text-xl);
}

.btn_primary,
.udalost_registrace_form button[type="submit"] {
    font-family: var(--font-body);
    font-weight: 700;
    letter-spacing: var(--tracking-wide);
}

/* Událost info tabulka */
.udalost_info_table th {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
}

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

.registrace_open {
    font-family: var(--font-body);
    font-weight: 600;
}

/* ==========================================
   SUCCESS PAGE
   ========================================== */

.success_message p {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    line-height: var(--leading-relaxed);
}

.registrace_summary h2 {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    font-weight: 700;
}

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

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

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

.back_link a {
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: 600;
}

/* ==========================================
   FOOTER / PATIČKA
   ========================================== */

#paticka h4 {
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    font-weight: 900;
}

#paticka ul li {
    font-family: var(--font-body);
    font-size: var(--text-base);
    list-style: none;
}

#paticka ul li a {
    text-decoration: none;
}

/* Copyright */
#copyright {
    font-family: var(--font-body);
}

#copyright span,
#copyright a {
    font-size: var(--text-sm);
}

/* ==========================================
   TINYMCE CONTENT
   ========================================== */

.tinymce {
    font-family: var(--font-body);
}

.tinymce p {
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    letter-spacing: 0.01em;
}

.tinymce h2 {
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    font-weight: 700;
}

.tinymce h3 {
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    font-weight: 700;
}

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

.tinymce li {
    line-height: var(--leading-relaxed);
}

/* ==========================================
   KONTAKTY
   ========================================== */

ul.kontakty li {
    font-family: var(--font-body);
    font-size: var(--text-lg);
}

/* ==========================================
   TABULKA STARTOVNÍ LISTINA
   ========================================== */

table.startlistina {
    font-family: var(--font-body);
    font-size: var(--text-base);
}

table.startlistina th {
    font-size: var(--text-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
}

/* ==========================================
   BADGE
   ========================================== */

.badge {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 600;
}

/* ==========================================
   HOMEPAGE COUNTDOWN (FONTY)
   ========================================== */

#hp_countdown .count-label-small {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
}

#hp_countdown .count-title {
    font-family: var(--font-heading);
    font-size: var(--text-3xl);
    font-weight: 900;
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
}

#hp_countdown .count-number {
    font-family: var(--font-heading);
    font-size: var(--text-5xl);
    font-weight: 900;
    line-height: var(--leading-none);
    letter-spacing: var(--tracking-tight);
}

#hp_countdown .count-label {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: var(--tracking-wide);
    margin-top: 8px;
}