/*
Theme Name: V-Pohybu
Description: Jednostránkový web V-Pohybu.
Version: 1.1
Text Domain: vpohybu-onepage
*/

@font-face { font-family:'Bebas Neue'; src:url('assets/fonts/bebasneue-regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Open Sans'; src:url('assets/fonts/opensans-regular.ttf') format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Open Sans'; src:url('assets/fonts/opensans-semibold.ttf') format('truetype'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Open Sans'; src:url('assets/fonts/opensans-bold.ttf') format('truetype'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Open Sans'; src:url('assets/fonts/opensans-extrabold.ttf') format('truetype'); font-weight:800 900; font-style:normal; font-display:swap; }

  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

  :root {
    --cyan: #0BB8CC;
    --cyan-dark: #0998AB;
    --cyan-light: #E6F9FC;
    --yellow: #FFD600;
    --yellow-dark: #E6C100;
    --dark: #1A1A2E;
    --dark-2: #2D2D44;
    --text: #1E1E2E;
    --text-2: #555570;
    --text-3: #888899;
    --bg: #F7FAFB;
    --white: #FFFFFF;
    --card: #FFFFFF;
    --border: #E4E8EF;
    --purple: #7C3AED;
    --orange: #F97316;
    --blue: #3B82F6;
    --green: #22C55E;
    --radius: 14px;
    --radius-sm: 8px;
    --radius-lg: 20px;
    --shadow: 0 2px 12px rgba(0,0,0,0.07);
    --shadow-lg: 0 8px 32px rgba(0,0,0,0.10);
  }

  html { scroll-behavior: smooth; }

  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
  }

  body {
    font-family: 'Open Sans', sans-serif;
    background: var(--bg);
    color: var(--text);
    line-height: 1.6;
  }

  /* ─── TOPBAR NOTE ─── */
  .topbar {
    background: var(--yellow);
    text-align: center;
    padding: 8px 20px;
    font-size: 13px;
    font-weight: 700;
    color: var(--dark);
    letter-spacing: 0.02em;
  }

  /* ─── NAV ─── */
  nav {
    background: var(--white);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 100;
    padding: 0 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 68px;
  }
  .nav-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
  }
  .nav-logo-original {
    display: block;
    width: 160px;
    height: 64px;
    object-fit: contain;
    filter: brightness(0);
  }
  .nav-logo-icon {
    width: 42px;
    height: 42px;
    background: var(--dark);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .nav-logo-icon svg { width: 26px; height: 26px; }
  .nav-logo-text {
    font-size: 18px;
    font-weight: 900;
    color: var(--dark);
    letter-spacing: -0.5px;
  }
  .nav-logo-text span { color: var(--cyan); }
  .nav-links {
    display: flex;
    gap: 32px;
    list-style: none;
  }
  .nav-links a {
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    color: var(--text-2);
    transition: color 0.2s;
  }
  .nav-links a:hover, .nav-links a.active { color: var(--cyan); }
  .nav-right {
    display: flex;
    align-items: center;
    gap: 16px;
  }
  .nav-social {
    display: flex;
    gap: 8px;
  }
  .nav-social a {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: var(--bg);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-2);
    transition: background 0.2s;
  }
  .nav-social a:hover { background: var(--cyan-light); color: var(--cyan); }
  .btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    border-radius: var(--radius-sm);
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    border: none;
    transition: all 0.2s;
    text-decoration: none;
  }
  .btn-primary {
    background: var(--cyan);
    color: white;
  }
  .btn-primary:hover { background: var(--cyan-dark); }
  .btn-outline {
    background: transparent;
    border: 2px solid var(--cyan);
    color: var(--cyan);
  }
  .btn-outline:hover { background: var(--cyan-light); }
  .btn-dark {
    background: var(--dark);
    color: white;
  }
  .btn-dark:hover { background: var(--dark-2); }
  .btn-lg {
    padding: 14px 28px;
    font-size: 16px;
    border-radius: 10px;
  }
  .btn-yellow {
    background: var(--yellow);
    color: var(--dark);
  }
  .btn-yellow:hover { background: var(--yellow-dark); }

  /* ─── HERO ─── */
  .hero {
    background: var(--dark);
    min-height: 580px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    padding: 0 48px;
    gap: 48px;
    position: relative;
    overflow: hidden;
  }
  .hero::before {
    content: '';
    position: absolute;
    right: 0; top: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(135deg, #0BB8CC22 0%, #0BB8CC11 100%);
    pointer-events: none;
  }
  .hero-content { position: relative; z-index: 1; }
  .hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(11,184,204,0.15);
    border: 1px solid rgba(11,184,204,0.3);
    color: var(--cyan);
    font-size: 13px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 20px;
    margin-bottom: 20px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }
  .hero-badge span { width: 6px; height: 6px; background: var(--cyan); border-radius: 50%; display: inline-block; }
  .hero h1 {
    font-size: 48px;
    font-weight: 900;
    line-height: 1.1;
    color: white;
    margin-bottom: 20px;
    letter-spacing: -1px;
  }
  .hero h1 em { color: var(--cyan); font-style: normal; }
  .hero-sub {
    font-size: 17px;
    color: rgba(255,255,255,0.7);
    margin-bottom: 32px;
    max-width: 460px;
    line-height: 1.65;
  }
  .hero-cta {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
  }
  .hero-stats {
    display: flex;
    gap: 32px;
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid rgba(255,255,255,0.1);
  }
  .hero-stat-num {
    font-size: 28px;
    font-weight: 900;
    color: white;
  }
  .hero-stat-label {
    font-size: 13px;
    color: rgba(255,255,255,0.55);
    margin-top: 2px;
  }
  .hero-visual {
    position: relative;
    z-index: 1;
  }
  .hero-img-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 220px 180px;
    gap: 12px;
  }
  .hero-img {
    border-radius: var(--radius);
    overflow: hidden;
    background: var(--dark-2);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .hero-img-main { grid-row: 1 / 3; }
  .hero-img > img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .hero-img svg { width: 48px; height: 48px; opacity: 0.3; }
  .hero-img-label {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: rgba(0,0,0,0.6);
    color: white;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 6px;
  }
  .hero-img-placeholder {
    width: 100%;
    height: 100%;
    background: var(--dark-2);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: rgba(255,255,255,0.2);
    font-size: 13px;
  }
  .activity-badge {
    position: absolute;
    bottom: -16px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--yellow);
    color: var(--dark);
    font-size: 13px;
    font-weight: 800;
    padding: 8px 20px;
    border-radius: 20px;
    white-space: nowrap;
    box-shadow: 0 4px 16px rgba(255,214,0,0.4);
  }

  /* ─── SECTION COMMONS ─── */
  section { padding: 72px 48px; }
  .section-header {
    margin-bottom: 48px;
  }
  .section-tag {
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--cyan);
    margin-bottom: 10px;
  }
  .section-header h2 {
    font-size: 36px;
    font-weight: 900;
    line-height: 1.15;
    color: var(--text);
    letter-spacing: -0.5px;
    margin-bottom: 12px;
  }
  .section-header p {
    font-size: 16px;
    color: var(--text-2);
    max-width: 520px;
  }
  .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }

  /* ─── QUICK ACTIONS ─── */
  .quick-actions {
    background: var(--white);
    padding: 0 48px;
    border-bottom: 1px solid var(--border);
  }
  .qa-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
  }
  .qa-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px 20px;
    border-right: 1px solid var(--border);
    cursor: pointer;
    transition: background 0.2s;
    text-decoration: none;
    color: inherit;
  }
  .qa-item:hover { background: var(--bg); }
  .qa-item:last-child { border-right: none; }
  .qa-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .qa-icon svg { width: 22px; height: 22px; }
  .qa-label { font-size: 12px; font-weight: 700; color: var(--text-3); text-transform: uppercase; letter-spacing: 0.05em; }
  .qa-title { font-size: 15px; font-weight: 700; color: var(--text); margin-top: 2px; }
  .qa-arrow { margin-left: auto; color: var(--text-3); }

  /* ─── KURZY ─── */
  .kurzy { background: var(--white); }
  .kurzy-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 36px;
    border-bottom: 2px solid var(--border);
    padding-bottom: 0;
  }
  .kurzy-tab {
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 700;
    font-family: inherit;
    color: var(--dark);
    background: var(--cyan-light);
    appearance: none;
    cursor: pointer;
    border: 0;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    border-radius: 8px 8px 0 0;
    transition: background-color 0.2s, color 0.2s;
  }
  .kurzy-tab.active { background: var(--cyan); color: var(--dark); border-bottom-color: var(--dark); }
  .kurzy-tab:hover:not(.active) { background: #C9F1F7; color: var(--dark); }
  .kurzy-tab.active:hover { background: var(--cyan-dark); color: var(--dark); }
  .kurzy-tab:focus-visible { outline: 3px solid var(--dark); outline-offset: 2px; }
  .kurz-card {
    display: flex;
    flex-direction: column;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
    transition: box-shadow 0.2s, transform 0.2s;
  }
  .kurz-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); }
  .kurz-img {
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    position: relative;
  }
  .kurz-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    font-size: 11px;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 6px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }
  .badge-available { background: #DCFCE7; color: #15803D; }
  .badge-soon { background: #FEF3C7; color: #B45309; }
  .badge-full { background: #FEE2E2; color: #B91C1C; }
  .kurz-body { display: flex; flex-direction: column; flex: 1; padding: 20px; }
  .kurz-category {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 6px;
  }
  .kurz-title { font-size: 18px; font-weight: 800; color: var(--text); margin-bottom: 8px; }
  .kurz-desc { font-size: 14px; color: var(--text-2); line-height: 1.55; margin-bottom: 16px; }
  .kurz-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
  }
  .kurz-pill {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-2);
    background: var(--bg);
    padding: 4px 10px;
    border-radius: 20px;
  }
  .kurz-pill svg { width: 12px; height: 12px; }
  .kurz-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid var(--border);
  }
  .kurz-price { font-size: 20px; font-weight: 900; color: var(--text); }
  .kurz-price-note { font-size: 11px; color: var(--text-3); font-weight: 500; }

  /* ─── TÁBORY ─── */
  .tabory { background: var(--bg); }
  .tabor-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 24px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
    transition: box-shadow 0.2s;
  }
  .tabor-card:hover { box-shadow: var(--shadow); }
  .tabor-date-box {
    flex-shrink: 0;
    width: 70px;
    text-align: center;
    background: var(--cyan-light);
    border-radius: 10px;
    padding: 10px 8px;
  }
  .tabor-date-month {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--cyan);
  }
  .tabor-date-day {
    font-size: 28px;
    font-weight: 900;
    color: var(--dark);
    line-height: 1;
  }
  .tabor-date-day2 {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-3);
  }
  .tabor-content { flex: 1; }
  .tabor-tags {
    display: flex;
    gap: 6px;
    margin-bottom: 8px;
    flex-wrap: wrap;
  }
  .tabor-tag {
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 5px;
    background: var(--cyan-light);
    color: var(--cyan-dark);
  }
  .tabor-title { font-size: 17px; font-weight: 800; color: var(--text); margin-bottom: 6px; }
  .tabor-desc { font-size: 14px; color: var(--text-2); margin-bottom: 12px; }
  .tabor-meta {
    display: flex;
    gap: 16px;
    font-size: 13px;
    color: var(--text-3);
    font-weight: 600;
  }
  .tabor-meta span { display: flex; align-items: center; gap: 4px; }
  .tabor-right {
    flex-shrink: 0;
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
  }
  .tabor-price-main { font-size: 24px; font-weight: 900; color: var(--text); }
  .tabor-price-note { font-size: 12px; color: var(--text-3); }
  .spots-badge {
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 6px;
  }
  .spots-few { background: #FEF3C7; color: #B45309; }
  .spots-ok { background: #DCFCE7; color: #15803D; }

  /* ─── TÝM ─── */
  .tym { background: var(--white); }
  .tym-section-title {
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-3);
    margin-bottom: 24px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border);
  }
  .core-team-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 56px;
  }
  .core-card {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 24px 20px;
    text-align: center;
  }
  .core-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    margin: 0 auto 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 900;
    color: white;
  }
  .core-name { font-size: 16px; font-weight: 800; color: var(--text); margin-bottom: 4px; }
  .core-nickname { font-size: 13px; color: var(--cyan); font-weight: 700; margin-bottom: 8px; }
  .core-role {
    font-size: 13px;
    color: var(--text-2);
    line-height: 1.5;
    margin-bottom: 14px;
  }
  .core-contact {
    font-size: 13px;
    color: var(--text-3);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
  }
  .lektori-filters {
    display: flex;
    gap: 8px;
    margin-bottom: 24px;
    flex-wrap: wrap;
  }
  .filter-btn {
    padding: 8px 16px;
    border-radius: 20px;
    border: 1px solid var(--border);
    background: var(--white);
    font-family: inherit;
    font-size: 13px;
    font-weight: 700;
    color: var(--text-2);
    cursor: pointer;
    transition: all 0.2s;
  }
  .filter-btn.active, .filter-btn:hover {
    background: var(--cyan);
    border-color: var(--cyan);
    color: white;
  }
  .lektori-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
  }
  .lektor-card {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 16px;
    text-align: center;
    transition: box-shadow 0.2s;
  }
  .lektor-card:hover { box-shadow: var(--shadow); }
  .lektor-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    margin: 0 auto 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 800;
    color: white;
  }
  .lektor-name { font-size: 13px; font-weight: 700; color: var(--text); margin-bottom: 4px; }
  .lektor-spec { font-size: 11px; color: var(--text-3); }
  .lektor-spec-badge {
    display: inline-flex;
    margin-top: 6px;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 7px;
    border-radius: 4px;
  }

  /* ─── O NÁS / VALUES ─── */
  .onas { background: var(--dark); color: white; }
  .onas h2 { color: white; }
  .onas .section-tag { color: var(--cyan); }
  .onas .section-header p { color: rgba(255,255,255,0.65); }
  .value-card {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--radius);
    padding: 28px 24px;
  }
  .value-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(11,184,204,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
  }
  .value-icon svg { width: 24px; height: 24px; color: var(--cyan); }
  .value-title { font-size: 17px; font-weight: 800; color: white; margin-bottom: 8px; }
  .value-text { font-size: 14px; color: rgba(255,255,255,0.6); line-height: 1.6; }

  /* ─── KONTAKT ─── */
  .kontakt { background: var(--bg); }
  .kontakt-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
  }
  .kontakt-group { margin-bottom: 28px; }
  .kontakt-group-title {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-3);
    margin-bottom: 14px;
  }
  .kontakt-person {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    margin-bottom: 8px;
  }
  .kontakt-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 800;
    color: white;
    flex-shrink: 0;
  }
  .kontakt-name { font-size: 14px; font-weight: 700; color: var(--text); }
  .kontakt-role { font-size: 12px; color: var(--text-3); }
  .kontakt-detail { font-size: 13px; color: var(--cyan); font-weight: 600; margin-top: 2px; }
  .map-placeholder {
    background: var(--border);
    border-radius: var(--radius);
    height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 12px;
    color: var(--text-3);
    font-size: 14px;
  }
  .map-placeholder svg { width: 40px; height: 40px; }
  .adresa-box {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 16px 20px;
    margin-top: 16px;
  }
  .adresa-line { font-size: 14px; color: var(--text-2); margin-bottom: 4px; }
  .adresa-line strong { color: var(--text); }

  /* ─── FOOTER ─── */
  footer {
    background: var(--dark);
    color: rgba(255,255,255,0.6);
    padding: 56px 48px 32px;
  }
  .footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 40px;
  }
  .footer-brand .nav-logo-original { filter: none; }
  .footer-brand p {
    font-size: 14px;
    color: rgba(255,255,255,0.5);
    margin: 16px 0 20px;
    line-height: 1.65;
    max-width: 280px;
  }
  .footer-social {
    display: flex;
    gap: 10px;
  }
  .footer-social a {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(255,255,255,0.07);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.6);
    transition: background 0.2s;
  }
  .footer-social a:hover { background: var(--cyan); color: white; }
  .footer-col h4 {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: white;
    margin-bottom: 16px;
  }
  .footer-col ul { list-style: none; }
  .footer-col ul li { margin-bottom: 10px; }
  .footer-col ul li a {
    font-size: 14px;
    color: rgba(255,255,255,0.55);
    text-decoration: none;
    transition: color 0.2s;
  }
  .footer-col ul li a:hover { color: var(--cyan); }
  .footer-bottom {
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,0.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
  }
  .footer-bottom a { color: rgba(255,255,255,0.4); text-decoration: none; }

  /* ─── BANNER ─── */
  .cta-banner {
    background: var(--cyan);
    padding: 56px 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
  }
  .cta-banner h2 {
    font-size: 30px;
    font-weight: 900;
    color: white;
    letter-spacing: -0.5px;
    margin-bottom: 8px;
  }
  .cta-banner p { font-size: 16px; color: rgba(255,255,255,0.8); }

  /* ─── INLINE SVG ICONS ─── */
  .icon { display: inline-block; vertical-align: middle; }

  /* ─── ANNOTATION OVERLAY ─── */
  .annotation {
    display: inline-block;
    background: #FFF3CD;
    border: 1px dashed #E6AC00;
    border-radius: 5px;
    font-size: 11px;
    font-weight: 700;
    color: #7A5700;
    padding: 3px 8px;
    margin: 4px 0 0 0;
    vertical-align: middle;
  }

  /* ─── MOCKUP FRAME ─── */
  .mockup-frame {
    max-width: 1200px;
    margin: 0 auto;
    background: white;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 24px 80px rgba(0,0,0,0.18);
  }
  .browser-chrome {
    background: #F0F0F0;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #DADADA;
  }
  .browser-dots { display: flex; gap: 6px; }
  .browser-dot { width: 12px; height: 12px; border-radius: 50%; }
  .browser-dot.red { background: #FF5F57; }
  .browser-dot.yellow { background: #FEBC2E; }
  .browser-dot.green { background: #28C840; }
  .browser-url {
    flex: 1;
    background: white;
    border: 1px solid #DADADA;
    border-radius: 6px;
    padding: 5px 12px;
    font-size: 13px;
    color: #666;
    font-family: monospace;
    margin: 0 10px;
  }

/* Finished, full-width website */
.mockup-frame { max-width:none; margin:0; border-radius:0; box-shadow:none; overflow:visible; }
.browser-chrome { display:none; }
.topbar { display:block; text-decoration:none; }
main { min-height:55vh; }
.page-intro { padding:64px 48px 12px; max-width:1200px; margin:auto; }
.page-intro h1 { font-size:clamp(34px,5vw,54px); line-height:1.12; color:var(--dark); font-weight:900; }
.page-intro p { max-width:660px; margin-top:12px; color:var(--text-2); }
.info-section { padding:48px; max-width:1200px; margin:auto; }
.info-section h2 { margin-bottom:14px; font-size:28px; }
.info-section p { margin-bottom:14px; }
.info-section a { color:var(--cyan-dark); }
.simple-card { background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:28px; max-width:680px; }
.info-section .grid-3 > .simple-card { display:flex; flex-direction:column; align-items:flex-start; max-width:none; }
.info-section .grid-3 > .simple-card .btn { margin-top:auto; color:white; }
.inquiry-wrap { max-width:760px; margin:56px auto 0; text-align:center; }
.inquiry-wrap > p { max-width:620px; margin:0 auto; }
.inquiry-wrap .simple-card { max-width:none; margin:24px auto 0; text-align:left; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.field { display:flex; flex-direction:column; gap:6px; font-weight:700; }
.field.full { grid-column:1/-1; }
.field input,.field select,.field textarea { width:100%; padding:12px 14px; border:1px solid #c7d0db; border-radius:8px; font:inherit; background:white; }
.field textarea { min-height:110px; }
.form-actions { grid-column:1/-1; display:flex; justify-content:center; }
.menu-toggle { display:none; }
.kurz-card[hidden],.lektor-card[hidden] { display:none; }
.topbar:hover { background:var(--yellow-dark); }
.hero-camps-btn { border-color:rgba(255,255,255,0.3); color:white; }
.hero-camps-btn:hover { color:var(--dark); }
.tabor-date-box { width:96px; flex:0 0 96px; }
.tabor-date-month { font-size:10px; letter-spacing:0.04em; white-space:nowrap; }
main [id] { scroll-margin-top: 68px; }
body.admin-bar nav { top:32px; }
body.admin-bar main [id] { scroll-margin-top:100px; }
@media(max-width:782px) {
 body.admin-bar nav { top:46px; }
 body.admin-bar main [id] { scroll-margin-top:114px; }
}
@media(max-width:600px) {
 body.admin-bar nav { top:0; }
 body.admin-bar main [id] { scroll-margin-top:68px; }
}
@media(max-width:1050px) {
 .qa-grid,.core-team-grid,.lektori-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .hero { gap:24px; }
}
@media(max-width:850px) {
 nav { padding:0 20px; flex-wrap:wrap; height:auto; min-height:68px; }
 .menu-toggle { display:block; margin-left:auto; border:0; background:var(--cyan); color:white; border-radius:8px; padding:9px 13px; font:inherit; font-weight:800; }
 .nav-links { display:none; order:3; flex-basis:100%; flex-direction:column; gap:0; padding:12px 0; }
 .nav-links.open { display:flex; }
 .nav-links li a { display:block; padding:9px 0; }
 .nav-right { display:none; }
 .hero { grid-template-columns:1fr; padding:60px 20px; }
 .hero::before { width:100%; }
 .hero-visual { width:100%; }
 .hero-img-grid { grid-template-rows:clamp(190px,40vw,300px) clamp(110px,22vw,180px); gap:8px; }
 .hero-img-main { grid-column:1 / -1; grid-row:1; }
 .hero h1 { font-size:clamp(32px,9vw,48px); }
 section { padding:48px 20px; }
 .quick-actions { padding:0 20px; }
 .kontakt-grid { grid-template-columns:1fr; }
 .tabor-card { flex-wrap:wrap; }
 .tabor-content { flex:1 1 250px; }
 .tabor-right { flex:1 1 160px; }
 .cta-banner { flex-wrap:wrap; padding:40px 20px; }
 footer { padding:48px 20px 24px; }
 .page-intro,.info-section { padding-left:20px; padding-right:20px; }
 .form-grid { grid-template-columns:1fr; }
}
@media(max-width:600px) {
 .grid-3,.qa-grid,.core-team-grid,.lektori-grid,.footer-grid { grid-template-columns:1fr; }
 .hero-stats { flex-wrap:wrap; gap:16px; }
 .hero-stats > div { width:calc(50% - 8px); }
 .footer-bottom { flex-wrap:wrap; gap:16px; }
 .kurzy-tabs,.lektori-filters { flex-wrap:wrap; }
 .tabor-card { display:block; }
 .tabor-date-box,.tabor-content,.tabor-right { width:100%; }
}

/* Eventnetic booking opens over the same one-page design. */
.camp-list { display:flex; flex-direction:column; gap:14px; }
.events-empty { max-width:760px; margin:0 auto; padding:28px; text-align:center; border:1px solid var(--border); border-radius:var(--radius); background:#fff; color:var(--text-2); }
.booking-disabled { opacity:.6; cursor:not-allowed; }
.booking-open { overflow:hidden; }
.booking-overlay { position:fixed; inset:0; z-index:999999; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(22,23,41,.72); }
.booking-panel { position:relative; width:min(860px,100%); max-height:calc(100vh - 40px); overflow:auto; background:#fff; border-radius:18px; padding:34px; box-shadow:0 24px 80px rgba(0,0,0,.25); }
.booking-panel h2 { margin:0 48px 24px 0; font-size:clamp(23px,3vw,32px); line-height:1.2; }
.booking-close { position:absolute; top:15px; right:17px; border:0; background:#f3f7fa; color:#171827; border-radius:50%; width:40px; height:40px; cursor:pointer; font:700 28px/1 'Open Sans',sans-serif; }
.booking-close:hover { background:#e3f7fa; }
@media(max-width:600px) { .booking-overlay { padding:0; } .booking-panel { max-height:100vh; min-height:100vh; border-radius:0; padding:25px 17px; } }
.booking-panel-live { display:flex; flex-direction:column; min-height:260px; }
.booking-panel-live h2 { flex:none; }
.booking-loading { margin:20px 0; text-align:center; color:var(--text-2); }
.booking-frame { display:none; width:100%; height:min(66vh,620px); min-height:340px; border:0; background:#fff; }
.booking-frame.ready { display:block; }
@media(max-width:600px) { .booking-frame { height:calc(100vh - 110px); min-height:0; } }

/* Client-supplied typography and editorial sections. */
h1,h2,h3,h4,h5,h6,.kurz-title,.tabor-title,.core-name,.lektor-name,.value-title,.kontakt-name,.tym-section-title {
  font-family:'Bebas Neue','Open Sans',sans-serif;
  font-weight:400;
  letter-spacing:.015em;
}
.nav-links { gap:clamp(12px,1.7vw,32px); }
.kurz-card { cursor:pointer; }
.kurz-card:focus-visible { outline:3px solid var(--cyan-dark); outline-offset:3px; }
.kurz-img > img { width:100%; height:100%; object-fit:cover; display:block; }
.core-avatar,.lektor-avatar { overflow:hidden; background:var(--cyan); }
.team-photo { width:100%; height:100%; object-fit:cover; display:block; }
.specialization-label { display:block; font-size:13px; font-weight:700; color:var(--text-2); margin-bottom:8px; }
.specialization-select { min-width:min(320px,100%); max-width:100%; margin-bottom:24px; padding:10px 14px; border:1px solid var(--border); border-radius:8px; background:#fff; color:var(--text); font:600 14px 'Open Sans',sans-serif; }
.specialization-select:focus-visible { outline:3px solid var(--cyan); outline-offset:2px; }
.lektor-spec-badge { display:inline-block; background:var(--cyan-light); color:#075d69; border-radius:6px; padding:4px 8px; margin-top:8px; font-size:11px; font-weight:700; }
.lektor-specializations { display:flex; justify-content:center; align-items:flex-start; flex-wrap:wrap; gap:6px; margin-top:10px; }
.lektor-specializations .lektor-spec-badge { margin-top:0; border:1px solid #a4e8f0; line-height:1.35; }
.spoluprace { padding:0 0 72px; background:#fff; }
.spoluprace > .section-header { max-width:none; margin:0; padding:64px 48px 50px; background:var(--dark); color:#fff; }
.spoluprace > .section-header h2 { color:#fff; }
.spoluprace > .section-header p { color:rgba(255,255,255,.84); }
.collab-tabs { display:flex; gap:8px; margin:0 48px; border-bottom:2px solid var(--border); overflow-x:auto; }
.collab-tabs button { flex:none; padding:18px 15px 15px; border:0; border-bottom:3px solid transparent; margin-bottom:-2px; background:transparent; color:var(--text-2); font:700 15px 'Open Sans',sans-serif; cursor:pointer; }
.collab-tabs button:hover,.collab-tabs button[aria-selected="true"] { color:var(--cyan-dark); border-bottom-color:var(--cyan); }
.collab-tabs button:focus-visible { outline:3px solid var(--cyan-dark); outline-offset:-3px; }
.collab-panel { padding:28px 48px 0; }
.collab-panel[hidden] { display:none; }
.collab-panel h3 { font-size:32px; color:var(--dark); }
.collab-intro { max-width:740px; color:var(--text-2); font-size:15px; margin:3px 0 26px; }
.collab-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
#collab-panel-skoly .collab-grid,#collab-panel-kluby .collab-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.collab-card { min-width:0; display:flex; flex-direction:column; border:1px solid var(--border); border-radius:var(--radius); background:#fff; overflow:hidden; box-shadow:var(--shadow); }
.collab-mark { min-height:115px; display:flex; justify-content:center; align-items:center; background:linear-gradient(135deg,#def7fb,#91dfe9); color:#066b79; font:400 54px 'Bebas Neue',sans-serif; letter-spacing:.06em; }
.collab-mark-skoly { background:linear-gradient(135deg,#e4ecfb,#a7c9f4); color:#184c8e; }
.collab-mark-kluby { background:linear-gradient(135deg,#e8e6ff,#b4a7f2); color:#4b299c; }
.collab-card-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:18px; }
.collab-card h4 { margin-bottom:7px; font-size:24px; line-height:1.05; color:var(--dark); }
.collab-card p { color:var(--text-2); font-size:13px; line-height:1.55; }
.collab-address { margin-top:12px; color:var(--text-2); font-size:12px; }
.collab-address::before { content:'⌖'; color:var(--cyan-dark); font-size:19px; vertical-align:-1px; margin-right:5px; }
.collab-link { display:inline-flex; align-items:center; justify-content:center; gap:7px; margin-top:auto; padding:8px 12px; border:1px solid var(--cyan-dark); border-radius:7px; color:#077789; text-decoration:none; font-size:13px; font-weight:700; }
.collab-link:hover,.collab-link:focus-visible { background:var(--cyan-dark); color:#fff; }
.collab-link:focus-visible { outline:3px solid var(--dark); outline-offset:2px; }
.collab-callout { display:flex; justify-content:space-between; align-items:center; gap:30px; margin:28px 48px 0; padding:22px 28px; border-radius:var(--radius); background:var(--cyan-light); }
.collab-callout h3 { font-size:27px; color:var(--dark); }
.collab-callout p { max-width:730px; color:var(--text-2); font-size:14px; }
.collab-callout .btn { flex:none; }
.map-embed { display:block; width:100%; height:280px; border:0; border-radius:var(--radius); background:var(--cyan-light); }
.review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.recenze { background:var(--bg); }
.review-card { background:#fff; border:1px solid var(--border); border-radius:var(--radius); padding:26px; box-shadow:var(--shadow); }
.review-stars { color:#c58a00; font-size:22px; letter-spacing:3px; margin-bottom:12px; }
.review-card p { color:var(--text); line-height:1.7; font-size:15px; }
.review-card cite { display:block; color:var(--text-2); font-size:13px; font-style:normal; font-weight:700; margin-top:18px; }
.partneri { background:#fff; }
.partners-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
.partner-card { min-height:120px; border:1px solid var(--dark); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; padding:16px; background:var(--dark); overflow:hidden; transition:box-shadow .2s,transform .2s; }
.partner-card:hover,.partner-card:focus-visible { box-shadow:var(--shadow-lg); transform:translateY(-2px); }
.partner-card img { width:100%; height:88px; object-fit:cover; }
.partner-card img[src*="logo-louny"],.partner-card img[src*="logo-nsa"],.partner-card img[src*="cyklopoint-logo"] { object-fit:contain; }
.inquiry-dialog { position:fixed; inset:0; margin:auto; width:min(540px,calc(100% - 24px)); max-height:calc(100dvh - 24px); overflow:auto; border:0; border-radius:var(--radius); padding:0; box-shadow:0 24px 80px rgba(0,0,0,.28); }
.inquiry-dialog::backdrop { background:rgba(22,23,41,.72); }
.inquiry-dialog-inner { padding:30px; position:relative; }
.inquiry-dialog h2 { font-size:36px; line-height:1.1; margin:8px 0; }
.inquiry-dialog p { color:var(--text-2); margin-bottom:18px; }
.inquiry-close { position:absolute; right:18px; top:14px; width:38px; height:38px; border:0; border-radius:50%; font-size:26px; background:var(--bg); cursor:pointer; }
.request-form { display:grid; gap:16px; }
.request-form label { display:grid; gap:7px; font-size:14px; font-weight:700; color:var(--text); }
.request-form input:not([type=checkbox]),.request-form textarea { width:100%; border:1px solid #b9c8d1; border-radius:8px; padding:11px 13px; background:#fff; color:var(--text); font:inherit; }
.request-form input:focus-visible,.request-form textarea:focus-visible { outline:3px solid var(--cyan); outline-offset:2px; }
.request-form .btn { justify-self:start; border:0; cursor:pointer; font:700 15px 'Open Sans',sans-serif; }
.honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-notice { padding:14px 18px; border-radius:8px; background:var(--cyan-light); color:var(--dark); margin-bottom:22px; font-weight:700; }
.merch-nav { gap:30px; }
.merch-nav-links { display:flex; align-items:center; gap:26px; margin-left:auto; }
.merch-nav-links a { color:var(--text-2); text-decoration:none; font-weight:700; }
.merch-nav-links a:hover { color:var(--cyan-dark); }
.merch-page { background:var(--bg); }
.merch-intro { background:var(--dark); color:#fff; text-align:center; padding:70px 24px; }
.merch-intro h1 { font-size:clamp(44px,6vw,76px); line-height:1; margin:8px 0 18px; }
.merch-intro p { max-width:660px; margin:auto; color:rgba(255,255,255,.8); }
.merch-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; background:var(--bg); }
.merch-product { background:#fff; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.merch-product img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.merch-product-body { padding:20px; }
.merch-product h2 { font-size:29px; margin-bottom:6px; }
.merch-product p { color:var(--text-2); font-size:14px; }
.merch-order { background:#fff; }
.merch-form { max-width:760px; }
.merch-options { display:grid; gap:10px; }
.merch-option { display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid var(--border); padding:12px 16px; border-radius:8px; background:var(--bg); }
.merch-option > label:first-child { display:flex; align-items:center; gap:10px; }
.merch-option input[type=checkbox] { width:20px; height:20px; accent-color:var(--cyan-dark); }
.quantity-label { display:flex!important; align-items:center; gap:10px!important; white-space:nowrap; }
.quantity-label input { width:72px!important; }
.merch-form .form-grid { margin:8px 0; }
.merch-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.merch-footer a { color:#fff; }
@media(max-width:1050px) { .partners-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } .merch-nav-links { gap:14px; } .collab-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } #collab-panel-skoly .collab-grid,#collab-panel-kluby .collab-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:850px) { .partners-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .merch-nav-links { display:none; } .merch-products { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .review-grid,.merch-products,.collab-grid,#collab-panel-skoly .collab-grid,#collab-panel-kluby .collab-grid { grid-template-columns:1fr; } .partners-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .inquiry-dialog-inner { padding:24px 18px; } .merch-option { align-items:flex-start; flex-direction:column; } .merch-nav { flex-wrap:nowrap; } .merch-nav .btn { font-size:12px; padding:9px 11px; } .spoluprace > .section-header { padding:48px 20px 36px; } .collab-tabs { margin:0 20px; } .collab-panel { padding:24px 20px 0; } .collab-callout { margin:26px 20px 0; padding:22px; flex-direction:column; align-items:flex-start; } }
@media(min-width:851px) and (max-width:1200px) { nav { padding:0 22px; } .nav-links { gap:10px; } .nav-links a { font-size:13px; } .nav-logo-original { width:125px; } .nav-right { gap:8px; } .nav-right .btn { padding:9px 10px; font-size:12px; } }

/* Divi hosts each editable page region in its own Builder section. */
body.vp-divi-page #main-header,
body.vp-divi-page #top-header,
body.vp-divi-page #main-footer { display:none!important; }
body.vp-divi-page #page-container { padding-top:0!important; }
body.vp-divi-page #main-content,
body.vp-divi-page .entry-content { background:var(--bg); }
body.vp-divi-page .entry-content { padding:0!important; }
body.vp-divi-page .vp-divi-block,
body.vp-divi-page .vp-divi-block>.et_pb_row,
body.vp-divi-page .vp-divi-block .et_pb_column,
body.vp-divi-page .vp-divi-block .et_pb_text { padding:0!important; margin:0!important; width:100%!important; max-width:none!important; }
body.vp-divi-page .vp-divi-block .et_pb_text_inner { display:contents; }
body.vp-divi-page .vp-divi-nav { position:sticky!important; top:0; z-index:1000; }
body.admin-bar.vp-divi-page .vp-divi-nav { top:32px; }
body.vp-divi-page .vp-divi-nav nav { position:relative; }
body.vp-divi-page .vp-divi-nav .nav-links { list-style:none!important; padding:0!important; margin:0!important; }
body.vp-divi-page .vp-divi-nav .nav-links li { list-style:none!important; padding:0!important; margin:0!important; }
body.vp-divi-page .vp-divi-nav .nav-links li::before { display:none!important; }
body.vp-divi-page .merch-intro h1 { color:#fff!important; }
body.vp-divi-page .vp-divi-dialog { position:relative; z-index:1001; }
body.vp-divi-page #domu,
body.vp-divi-page #kurzy,
body.vp-divi-page #tabory,
body.vp-divi-page #tym,
body.vp-divi-page #onas,
body.vp-divi-page #recenze,
body.vp-divi-page #kontakt,
body.vp-divi-page #spolupracujeme,
body.vp-divi-page #partneri { scroll-margin-top:116px; }
body.admin-bar.vp-divi-page #domu,
body.admin-bar.vp-divi-page #kurzy,
body.admin-bar.vp-divi-page #tabory,
body.admin-bar.vp-divi-page #tym,
body.admin-bar.vp-divi-page #onas,
body.admin-bar.vp-divi-page #recenze,
body.admin-bar.vp-divi-page #kontakt,
body.admin-bar.vp-divi-page #spolupracujeme,
body.admin-bar.vp-divi-page #partneri { scroll-margin-top:148px; }
body.vp-divi-page #sfsi_floater,
body.vp-divi-page .sfsiplus_footerLnk,
body.vp-divi-page #chaty-widget-0 { display:none!important; }
