:root {
    --dark-bg: #050614;
    --accent-blue: #00f2ff;
    --accent-purple: #bc00ff;
    --glass: rgba(255, 255, 255, 0.05);
    --text: #ffffff;
    --muted: rgba(255,255,255,0.72);
    --border: rgba(255,255,255,0.10);
    --menu-purple: rgba(132, 72, 108, 0.96);
    --shadow-soft: 0 10px 30px rgba(0,0,0,0.22);
    --shadow-card: 0 18px 40px rgba(0,0,0,0.30);
    --shadow-glow: 0 0 22px rgba(0,242,255,0.18);
    --radius-xl: 30px;
    --radius-lg: 26px;
    --radius-md: 20px;
    --radius-sm: 16px;
    --container: min(1200px, 90%);
    --container-narrow: min(1100px, 90%);
    --header-height: 74px;
    --page-top-offset: 132px;
}

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

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--dark-bg);
    color: var(--text);
    overflow-x: hidden;
    background: radial-gradient(circle at 20% 30%, #161845 0%, var(--dark-bg) 70%);
}


/* =========================================================
   GLOBAL TYPOGRAPHY + SPACING SYSTEM
   jednotné mezery napříč webem
   ========================================================= */

:where(h1, h2, h3, h4, h5, h6) {
    line-height: 1.15;
    letter-spacing: -0.03em;
    overflow-wrap: balance;
}

:where(h1) {
    margin-bottom: clamp(18px, 2vw, 28px);
}

:where(h2) {
    margin-bottom: clamp(16px, 1.8vw, 24px);
}

:where(h3, h4, h5, h6) {
    margin-bottom: 14px;
}

:where(p) {
    color: var(--muted);
    line-height: 1.8;
    margin-bottom: 18px;
}

:where(p:last-child) {
    margin-bottom: 0;
}

:where(ul, ol) {
    margin-bottom: 20px;
}

:where(li) {
    line-height: 1.7;
    margin-bottom: 8px;
}

:where(li:last-child) {
    margin-bottom: 0;
}

:where(section) {
    position: relative;
}

.page-wrap > section,
.page-wrap > .glass-card,
.page-wrap > .highlight-box,
.page-wrap > .quote-box,
.page-wrap > .featured-event,
.page-wrap > .waitlist-box {
    margin-bottom: clamp(46px, 6vw, 82px);
}

.section + .section,
.analysis-section + .analysis-section {
    margin-top: clamp(40px, 6vw, 78px);
}

.section-head > :last-child,
.page-hero > :last-child,
.hero-simple > :last-child,
.glass-card > :last-child,
.highlight-box > :last-child,
.quote-box > :last-child,
.timeline-card > :last-child,
.event-card > :last-child,
.analysis-hero > :last-child,
.analysis-feature-card > :last-child,
.analysis-compare-card > :last-child,
.analysis-cta > :last-child {
    margin-bottom: 0;
}

.glass-card h2,
.glass-card h3,
.timeline-card h3,
.event-card h3,
.featured-event h2,
.analysis-feature-card h3,
.analysis-flow .glass-card h3,
.analysis-compare-card h3 {
    margin-bottom: 16px;
}

.glass-card p,
.timeline-card p,
.event-card p,
.featured-event p,
.analysis-feature-card p,
.analysis-flow .glass-card p,
.analysis-compare-card p {
    margin-bottom: 22px;
}

.glass-card p:last-child,
.timeline-card p:last-child,
.event-card p:last-child,
.featured-event p:last-child,
.analysis-feature-card p:last-child,
.analysis-flow .glass-card p:last-child,
.analysis-compare-card p:last-child {
    margin-bottom: 0;
}

.eyebrow,
.tag,
.badge-soft,
.featured-badge,
.weekend-badge {
    margin-bottom: 20px;
}

.cards,
.cards-2,
.cards-3,
.grid,
.grid-2,
.grid-3,
.split,
.about-split,
.glp-box,
.events-grid,
.experience-grid,
.schedule-grid,
.stats-grid,
.blog-grid,
.analysis-kpi-grid,
.analysis-media-grid,
.analysis-compare {
    row-gap: clamp(18px, 2.5vw, 28px);
}

@media (max-width: 620px) {
    .page-wrap > section,
    .page-wrap > .glass-card,
    .page-wrap > .highlight-box,
    .page-wrap > .quote-box,
    .page-wrap > .featured-event,
    .page-wrap > .waitlist-box {
        margin-bottom: 46px;
    }

    :where(p) {
        line-height: 1.72;
    }
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 80% 20%, rgba(0,242,255,0.08), transparent 25%),
        radial-gradient(circle at 20% 80%, rgba(188,0,255,0.08), transparent 25%);
    animation: bgFloat 10s ease-in-out infinite alternate;
    z-index: -2;
}

img {
    max-width: 100%;
    display: block;
}

a {
    color: inherit;
}

button,
input,
textarea,
select {
    font: inherit;
}

@keyframes bgFloat {
    0% { transform: scale(1) translateY(0); }
    100% { transform: scale(1.05) translateY(-10px); }
}

@keyframes logoGlow {
    0% { filter: drop-shadow(0 0 4px rgba(0,242,255,0.25)); }
    100% { filter: drop-shadow(0 0 12px rgba(0,242,255,0.7)); }
}

@keyframes fadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeUpVisual {
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes titleShift {
    0% { background-position: 0% center; }
    100% { background-position: 200% center; }
}

@keyframes shine {
    0% { left: -120%; }
    100% { left: 140%; }
}

@keyframes orbMove {
    0% { transform: translate(0, 0) scale(1); }
    100% { transform: translate(-20px, 20px) scale(1.12); }
}

@keyframes floatCard {
    0%, 100% { transform: translateY(0px) scale(1); }
    50% { transform: translateY(-10px) scale(1); }
}

@keyframes drawLine {
    to { stroke-dashoffset: 0; }
}

@keyframes pulseGlow {
    0% {
        opacity: 0.55;
        filter: drop-shadow(0 0 2px rgba(0,242,255,0.2));
    }
    100% {
        opacity: 1;
        filter: drop-shadow(0 0 10px rgba(0,242,255,0.8));
    }
}

@keyframes wheelMove {
    0% { opacity: 0; transform: translateX(-50%) translateY(0); }
    30% { opacity: 1; }
    100% { opacity: 0; transform: translateX(-50%) translateY(12px); }
}

@keyframes fadeIndicator {
    0%,100% { opacity: 0.65; }
    50% { opacity: 1; }
}

/* NAV */
nav {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:2px 5%;
    position:fixed;
    width:100%;
    top:0;
    z-index:1000;
    backdrop-filter:blur(15px);
    border-bottom:1px solid rgba(255,255,255,0.1);
    transition:
        background .3s ease,
        border-color .3s ease,
        padding .3s ease;
}
nav.scrolled,
nav.is-solid {
    background:rgba(5,6,20,.72);
    border-bottom:1px solid rgba(0,242,255,.18);
    padding:0 5%;
}
#mainNav{
    min-height:0 !important;
}
nav.nav-sticky {
    position: sticky;
}

.logo-area{
    display:flex;
    align-items:center;
    gap:18px;
    z-index:1100;
    flex-shrink:0;
}
.logo-img{
    height:96px;
    width:auto;
    display:block;
}
.logo-link:hover .logo-img{
    transform:scale(1.04);
}
.nav-links {
    display: flex;
    gap: 28px;
    align-items: center;
    flex-wrap: wrap;
}

.nav-links a,
.dropdown-toggle {
    text-decoration: none;
    color: rgba(255,255,255,0.7);
    transition: 0.3s;
    position: relative;
    font: inherit;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
}

.nav-links a::after,
.dropdown-toggle::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -7px;
    width: 0;
    height: 2px;
    background: var(--accent-blue);
    box-shadow: 0 0 12px var(--accent-blue);
    transition: width 0.25s ease;
}

.nav-links a:hover,
.nav-links a.active,
.dropdown:hover .dropdown-toggle,
.dropdown.open .dropdown-toggle,
.dropdown-toggle.active {
    color: var(--accent-blue);
}

.nav-links a:hover::after,
.nav-links a.active::after,
.dropdown:hover .dropdown-toggle::before,
.dropdown.open .dropdown-toggle::before,
.dropdown-toggle.active::before {
    width: 100%;
}

.btn-login {
    background: linear-gradient(90deg, var(--accent-blue), #00a2ff) !important;
    color: #000 !important;
    padding: 10px 25px !important;
    border-radius: 50px;
    font-weight: 700;
    box-shadow: 0 0 15px rgba(0, 242, 255, 0.4);
}

.btn-login::after {
    display: none !important;
}

.btn-login:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 0 22px rgba(0, 242, 255, 0.6);
}

.dropdown {
    position: relative;
}

.dropdown-toggle {
    padding-right: 18px;
}

.dropdown-toggle::after {
    content: "▾";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-52%);
    font-size: 0.72rem;
    color: rgba(255,255,255,0.7);
    transition: 0.25s ease;
}

.dropdown:hover .dropdown-toggle::after,
.dropdown.open .dropdown-toggle::after,
.dropdown-toggle.active::after {
    color: var(--accent-blue);
}

.dropdown-menu {
    position: absolute;
    top: calc(100% + 16px);
    left: -14px;
    min-width: 250px;
    background: var(--menu-purple);
    border: 1px solid rgba(255,255,255,0.08);
    padding: 12px 0;
    box-shadow: 0 18px 40px rgba(0,0,0,0.30);
    backdrop-filter: blur(18px);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: 0.25s ease;
    z-index: 1200;
}

.dropdown:hover .dropdown-menu,
.dropdown.open .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.dropdown-menu a {
    display: block;
    padding: 11px 20px;
    color: rgba(255,255,255,0.88);
    text-decoration: none;
    font-weight: 600;
}

.dropdown-menu a::after {
    display: none !important;
}

.dropdown-menu a:hover,
.dropdown-menu a.active-sub {
    color: #fff;
    background: rgba(255,255,255,0.06);
}

.modern-dropdown {
    top: calc(100% + 14px);
    left: -10px;
    background: rgba(10, 12, 40, 0.95);
    backdrop-filter: blur(25px);
    border-radius: 20px;
    border: 1px solid rgba(0, 242, 255, 0.15);
    padding: 18px 0;
    min-width: 280px;
    box-shadow:
        0 20px 60px rgba(0,0,0,0.5),
        0 0 0 1px rgba(255,255,255,0.03) inset;
    transform: translateY(10px);
    transition: all .25s ease;
}

.modern-dropdown a {
    display: block;
    padding: 14px 26px;
    color: rgba(255,255,255,0.75);
    font-weight: 600;
    font-size: 15px;
    transition: all .2s ease;
}

.modern-dropdown a:hover,
.modern-dropdown a.active-sub {
    color: #fff;
    background: rgba(255,255,255,0.04);
    padding-left: 30px;
}

.modern-dropdown a::after {
    display: none !important;
}

.mobile-toggle {
    display: none;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.10);
    background: rgba(255,255,255,0.04);
    color: white;
    font-size: 1.35rem;
    cursor: pointer;
}

/* LAYOUT */
.page-wrap,
.section,
.container {
    width: var(--container);
    margin: 0 auto;
}

.container-narrow,
.page-wrap.narrow {
    width: var(--container-narrow);
    margin: 0 auto;
}

.page-wrap {
    padding: var(--page-top-offset, 132px) 0 80px;
}

.section {
    margin: 0 auto 38px;
    padding: 20px 0;
}

.section-lg {
    margin: 0 auto 50px;
    padding: 40px 0;
}

.section-head {
    text-align: center;
    margin-bottom: 28px;
}

.section-head h2 {
    font-size: 2.4rem;
    margin-bottom: 12px;
    background: linear-gradient(to right, #fff, var(--accent-blue));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.section-head p {
    color: var(--muted);
    max-width: 800px;
    margin: 0 auto;
    line-height: 1.8;
}

/* HOME HERO */
.hero {
    height: 100vh;
    min-height: 760px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10%;
    padding-top: 80px;
    position: relative;
    gap: 40px;
}

.hero-content {
    max-width: 550px;
    opacity: 0;
    transform: translateY(30px);
    animation: fadeUp 1s ease forwards;
    animation-delay: 0.15s;
    z-index: 2;
}

.hero-brand {
    margin-bottom: 22px;
}

.hero-brand img {
    width: 320px;
    max-width: 100%;
    height: auto;
    filter: drop-shadow(0 0 18px rgba(0,242,255,0.28)) drop-shadow(0 0 34px rgba(188,0,255,0.18));
}

.hero-content h1 {
    font-size: 4.5rem;
    line-height: 1.1;
    margin-bottom: 20px;
    background: linear-gradient(to right, #fff, var(--accent-blue));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: 200% auto;
    animation: titleShift 5s linear infinite;
}

.hero-content p {
    font-size: 1.2rem;
    color: rgba(255,255,255,0.7);
    margin-bottom: 35px;
    line-height: 1.65;
}

.cta-group {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.hero-visual {
    position: relative;
    width: 520px;
    height: 520px;
    background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
    border-radius: 36px;
    border: 1px solid rgba(255,255,255,0.12);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    box-shadow: 0 25px 60px rgba(0,0,0,0.35), 0 0 30px rgba(0,242,255,0.08);
    opacity: 0;
    transform: translateY(30px) scale(0.96);
    animation: fadeUpVisual 1.1s ease forwards, floatCard 5s ease-in-out infinite;
    animation-delay: 0.35s, 1.6s;
    z-index: 2;
}

.hero-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg, rgba(0,242,255,0.10), transparent 35%),
        linear-gradient(315deg, rgba(188,0,255,0.12), transparent 35%);
    pointer-events: none;
    z-index: 1;
}

.hero-visual::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(0,242,255,0.14), transparent 70%);
    border-radius: 50%;
    top: -30px;
    right: -30px;
    z-index: 0;
    animation: orbMove 6s ease-in-out infinite alternate;
}

.hero-visual img {
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 20px 40px rgba(0,0,0,0.35)) drop-shadow(0 0 22px rgba(0,242,255,0.14));
    transition: transform 0.8s ease;
    position: relative;
    z-index: 2;
}

.hero-visual:hover img {
    transform: scale(1.05);
}

.bg-blur {
    position: absolute;
    inset: 0;
    background: url("app-preview.png") center/cover no-repeat;
    filter: blur(35px) brightness(0.6);
    transform: scale(1.2);
    z-index: 1;
}

.scroll-indicator {
    position: absolute;
    left: 10%;
    bottom: 0px;
    color: rgba(255,255,255,0.45);
    font-size: 0.9rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 10px;
    animation: fadeIndicator 2s ease-in-out infinite;
}

.scroll-indicator span {
    width: 26px;
    height: 42px;
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 20px;
    position: relative;
    display: inline-block;
}

.scroll-indicator span::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 8px;
    width: 4px;
    height: 9px;
    background: var(--accent-blue);
    border-radius: 6px;
    transform: translateX(-50%);
    animation: wheelMove 1.6s ease-in-out infinite;
}

.pulse-line {
    position: absolute;
    bottom: 8%;
    left: 50%;
    transform: translateX(-50%);
    width: min(1000px, 100%);
    height: 100px;
    opacity: 0.28;
    z-index: 0;
    pointer-events: none;
}

.pulse-line path {
    stroke-dasharray: 1200;
    stroke-dashoffset: 1200;
    animation: drawLine 2.8s ease forwards, pulseGlow 2.4s ease-in-out infinite alternate;
    animation-delay: 0.7s, 2.2s;
}

/* SIMPLE PAGE HERO */
.page-hero,
.hero-simple {
    text-align: center;
    margin-bottom: 38px;
    padding-top: 10px;
}

.page-hero h1,
.hero-simple h1,
.page-title {
    font-size: 3.6rem;
    margin-bottom: 16px;
    background: linear-gradient(to right,#fff,var(--accent-blue));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.page-hero p,
.hero-simple p,
.page-intro {
    max-width: 860px;
    margin: 0 auto;
    color: var(--muted);
    line-height: 1.8;
}

.eyebrow,
.tag,
.badge-soft {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    color: var(--accent-blue);
    font-size: 0.85rem;
    font-weight: 700;
    margin-bottom: 18px;
}

/* BUTTONS */
.btn-main,
.btn-primary {
    padding: 18px 35px;
    border-radius: 12px;
    border: none;
    background: var(--accent-purple);
    color: white;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 10px 25px rgba(188, 0, 255, 0.3);
    transition: 0.3s;
    position: relative;
    overflow: hidden;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-main::before,
.btn-primary::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 80%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
    transform: skewX(-20deg);
}

.btn-main:hover,
.btn-primary:hover,
.btn-outline:hover {
    transform: translateY(-3px);
}

.btn-main:hover::before,
.btn-primary:hover::before {
    animation: shine 0.9s ease;
}

.btn-outline,
.btn-secondary {
    padding: 18px 28px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.04);
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
}

.btn-block {
    width: 100%;
}

/* CARDS / GRIDS */
.cards,
.cards-2,
.cards-3,
.grid,
.grid-2,
.grid-3,
.split,
.about-split,
.glp-box {
    display: grid;
    gap: 24px;
}

.cards,
.cards-3,
.grid-3 {
    grid-template-columns: repeat(3, 1fr);
}

.cards-2,
.grid-2,
.glp-box {
    grid-template-columns: repeat(2, 1fr);
}

.split,
.about-split {
    grid-template-columns: 1.05fr 0.95fr;
    align-items: stretch;
}

.glass-card,
.metric-card,
.info-item,
.step,
.stat,
.timeline-item,
.auth-card {
    background: var(--glass);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    backdrop-filter: blur(14px);
    box-shadow: var(--shadow-soft);
    transition: 0.3s;
}

.glass-card,
.auth-card,
.timeline-item {
    padding: 28px;
}

.glass-card:hover,
.metric-card:hover,
.info-item:hover,
.step:hover {
    transform: translateY(-6px);
    border-color: rgba(0, 242, 255, 0.28);
    box-shadow: var(--shadow-card);
}

.card-icon,
.icon {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    font-size: 1.1rem;
    font-weight: 800;
    background: linear-gradient(135deg, rgba(0,242,255,0.16), rgba(188,0,255,0.16));
    border: 1px solid rgba(255,255,255,0.08);
    color: var(--accent-blue);
}

.glass-card h2,
.glass-card h3,
.auth-card h1,
.auth-card h2,
.timeline-item h3 {
    margin-bottom: 12px;
}

.glass-card h3 {
    font-size: 1.25rem;
}

.glass-card p,
.timeline-item p,
.metric-card .desc,
.quote-box p,
.highlight-box p,
.auth-card p,
.info-item span {
    color: var(--muted);
    line-height: 1.8;
}

.glass-card ul,
.timeline-item ul,
.feature-list,
.check-list,
.steps,
.timeline {
    list-style: none;
    display: grid;
    gap: 10px;
}

.glass-card li,
.timeline-item li,
.feature-list li,
.check-list li {
    color: rgba(255,255,255,0.88);
    line-height: 1.6;
}

.glass-card li::before,
.timeline-item li::before,
.feature-list li::before,
.check-list li::before {
    content: "• ";
    color: var(--accent-blue);
    font-weight: 800;
}

.about-photo {
    min-height: 420px;
    border-radius: var(--radius-xl);
    overflow: hidden;
    background: linear-gradient(135deg, rgba(0,242,255,0.10), rgba(188,0,255,0.14)), rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.10);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.45);
    font-size: 1rem;
    text-align: center;
    padding: 24px;
    box-shadow: 0 16px 40px rgba(0,0,0,0.28);
}

.about-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.about-photo.contain img {
    object-fit: contain;
}

.stats,
.metric-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 18px;
}

.metric-grid {
    grid-template-columns: 1fr 1fr;
}

.stat,
.metric-card,
.info-item,
.step {
    padding: 18px;
    border-radius: 18px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
}

.stat strong,
.metric-card .value {
    display: block;
    font-size: 1.4rem;
    margin-bottom: 6px;
}

.metric-card .value {
    font-size: 2.1rem;
    font-weight: 800;
}

.metric-card .label,
.timeline-phase {
    color: var(--accent-blue);
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.stat span {
    color: rgba(255,255,255,0.55);
    font-size: 0.9rem;
    line-height: 1.5;
}

.timeline-item {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 18px;
    align-items: start;
    background: var(--glass);
    border-radius: 24px;
    padding: 24px;
}

.client-card strong {
    display: block;
    margin-bottom: 8px;
    font-size: 1rem;
    color: #fff;
}

.client-result,
.badge {
    display: inline-block;
    margin-top: 10px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(0,242,255,0.08);
    border: 1px solid rgba(0,242,255,0.18);
    color: var(--accent-blue);
    font-size: 0.85rem;
    font-weight: 700;
}

.badge.floating {
    position: absolute;
    top: -12px;
    left: 24px;
    margin-top: 0;
    background: linear-gradient(90deg,var(--accent-blue),#8efcff);
    color: #07101a;
    font-size: 0.78rem;
    text-transform: uppercase;
}

.quote-box,
.highlight-box {
    width: min(1100px, 90%);
    margin: 40px auto 80px;
    background: linear-gradient(135deg, rgba(0,242,255,0.08), rgba(188,0,255,0.10));
    border: 1px solid var(--border);
    border-radius: 30px;
    padding: 40px;
    backdrop-filter: blur(14px);
}

.quote-box {
    text-align: center;
    margin: 30px auto 50px;
}

.quote-box strong {
    display: block;
    font-size: 1.8rem;
    margin-bottom: 10px;
}

.highlight-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
}

.highlight-box h2 {
    font-size: 2rem;
    margin-bottom: 10px;
}

/* FORMS */
.field {
    margin-bottom: 16px;
}

.field label {
    display: block;
    margin-bottom: 8px;
    font-size: 0.94rem;
    color: rgba(255,255,255,0.9);
}

.field input,
.field textarea,
.field select,
.auth-card input,
.auth-card textarea,
.auth-card select {
    width: 100%;
    padding: 16px 18px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.10);
    background: rgba(255,255,255,0.04);
    color: white;
    font-family: inherit;
    font-size: 1rem;
    outline: none;
}

.field textarea,
.auth-card textarea {
    min-height: 160px;
    resize: vertical;
}

.auth-wrap {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 140px 20px 60px;
}

.auth-card {
    width: 100%;
    max-width: 480px;
    padding: 36px;
    box-shadow: 0 20px 50px rgba(0,0,0,.35);
}

.helper {
    text-align: center;
    margin-top: 18px;
    color: var(--muted);
    font-size: 0.95rem;
}

.helper a {
    color: var(--accent-blue);
    text-decoration: none;
}

.price {
    font-size: 2.5rem;
    font-weight: 900;
    letter-spacing: -0.05em;
    margin-bottom: 6px;
}

.sub {
    color: rgba(255,255,255,.55);
    margin-bottom: 16px;
}

.featured {
    border-color: rgba(0,242,255,.26);
    transform: translateY(-6px);
}

.note {
    margin-top: 26px;
    color: rgba(255,255,255,.55);
    line-height: 1.8;
    text-align: center;
}

footer {
    border-top: 1px solid var(--border);
    padding: 30px 5%;
    text-align: center;
    color: rgba(255,255,255,0.5);
    margin-top: 40px;
}

/* UTILITIES */
.text-center { text-align: center; }
.mt-0 { margin-top: 0 !important; }
.mt-20 { margin-top: 20px !important; }
.mt-30 { margin-top: 30px !important; }
.mt-40 { margin-top: 40px !important; }
.mb-0 { margin-bottom: 0 !important; }
.mb-20 { margin-bottom: 20px !important; }
.mb-30 { margin-bottom: 30px !important; }
.hidden { display: none !important; }

/* RESPONSIVE */
@media (max-width: 1100px) {
    .nav-links {
        gap: 18px;
    }
}

@media (max-width: 968px) {
    .mobile-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        z-index: 1100;
    }

    .nav-links {
        position: absolute;
        top: calc(100% + 10px);
        left: 5%;
        right: 5%;
        display: none;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding: 18px;
        background: rgba(5, 6, 20, 0.95);
        border: 1px solid rgba(255,255,255,0.08);
        border-radius: 22px;
        backdrop-filter: blur(18px);
        box-shadow: 0 20px 50px rgba(0,0,0,0.35);
    }

    .nav-links.open {
        display: flex;
    }

    .dropdown {
        width: 100%;
    }

    .dropdown-toggle {
        display: inline-block;
    }

    .dropdown-menu,
    .modern-dropdown {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        display: none;
        width: 100%;
        margin-top: 12px;
        background: rgba(10, 12, 40, 0.95);
        border-radius: 18px;
        min-width: 100%;
        left: 0;
        padding: 8px 0;
        box-shadow: none;
        border: 1px solid rgba(255,255,255,0.08);
        backdrop-filter: blur(18px);
    }

    .dropdown.open .dropdown-menu,
    .dropdown.open .modern-dropdown {
        display: block;
    }

    .hero {
        flex-direction: column;
        text-align: center;
        padding-top: 150px;
        justify-content: center;
        gap: 30px;
        height: auto;
        min-height: 100vh;
        padding-bottom: 80px;
    }

    .hero-content h1,
    .page-hero h1,
    .hero-simple h1,
    .page-title {
        font-size: 2.8rem;
    }

    .hero-visual {
        margin-top: 35px;
        width: min(100%, 340px);
        height: 340px;
    }

    .hero-brand img {
        width: 220px;
        margin: 0 auto;
    }

    .cta-group {
        justify-content: center;
    }

    .scroll-indicator {
        display: none;
    }

    .pulse-line {
        bottom: 2%;
    }

    .cards,
    .cards-2,
    .cards-3,
    .grid,
    .grid-2,
    .grid-3,
    .split,
    .about-split,
    .glp-box,
    .stats,
    .metric-grid {
        grid-template-columns: 1fr;
    }

    .timeline-item {
        grid-template-columns: 1fr;
    }

    .highlight-box {
        flex-direction: column;
        text-align: center;
    }

    .about-photo {
        min-height: auto;
        padding: 12px;
    }

    .about-photo img {
        max-height: 350px;
        object-fit: contain;
        border-radius: 16px;
    }
}


/* ===== PROGRAMY / PRICING ===== */
.page-wrap .hero.page-hero,
.page-wrap .hero-simple,
.page-wrap .page-hero {
    text-align: center;
    margin-bottom: 38px;
    min-height: auto;
    height: auto;
    display: block;
    padding: 0;
}

.page-wrap .hero.page-hero h1,
.page-wrap .hero-simple h1,
.page-wrap .page-hero h1 {
    font-size: 3.6rem;
    margin-bottom: 16px;
    background: linear-gradient(to right, #fff, var(--accent-blue));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.page-wrap .hero.page-hero p,
.page-wrap .hero-simple p,
.page-wrap .page-hero p {
    max-width: 820px;
    margin: 0 auto;
    color: var(--muted);
    line-height: 1.8;
    font-size: 1rem;
}

.pricing-grid {
    margin-top: 36px;
}

.pricing-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.pricing-card .btn-main {
    width: 100%;
    margin-top: auto;
}

.pricing-card .price {
    font-size: 2.6rem;
}

.pricing-card p {
    line-height: 1.75;
    margin-bottom: 14px;
}

.pricing-card ul {
    margin-bottom: 20px;
}

.pricing-card.featured {
    border-color: rgba(0,242,255,.26);
    transform: translateY(-6px);
}


.theme-toggle-floating {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 999;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
  cursor: pointer;
}


.pricing-card .badge,
.badge.badge-floating {
    position: absolute;
    top: -12px;
    left: 24px;
    margin-top: 0;
    padding: 8px 12px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--accent-blue), #8efcff);
    color: #07101a;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    border: none;
}

.trust-strip {
    font-size: 1.05rem;
    line-height: 1.7;
}

.trust-strip p {
    margin-bottom: 0;
}

@media (max-width: 968px) {
    .page-wrap .hero.page-hero h1,
    .page-wrap .hero-simple h1,
    .page-wrap .page-hero h1 {
        font-size: 2.6rem;
    }

    .pricing-grid {
        margin-top: 24px;
    }

    .pricing-card.featured {
        transform: none;
    }
}

/* =========================================================
   GLOBAL THEME SYSTEM + PREMIUM MENU TOGGLE
   ========================================================= */
body.theme-light {
    --dark-bg: #f6f8ff;
    --text: #07101a;
    --muted: rgba(7,16,26,0.68);
    --glass: rgba(255,255,255,0.78);
    --border: rgba(11,18,32,0.10);
    --menu-purple: rgba(255,255,255,0.94);
    --shadow-soft: 0 14px 34px rgba(17, 24, 39, 0.08);
    --shadow-card: 0 22px 55px rgba(17, 24, 39, 0.13);
    color: var(--text);
    background: radial-gradient(circle at 12% 10%, rgba(24,119,255,0.13), transparent 32%), radial-gradient(circle at 92% 18%, rgba(255,46,166,0.12), transparent 30%), linear-gradient(180deg, #ffffff 0%, #f6f8ff 58%, #eef4ff 100%);
}

body.theme-dark {
    --dark-bg: #050614;
    --text: #ffffff;
    --muted: rgba(255,255,255,0.72);
    --glass: rgba(255,255,255,0.05);
    --border: rgba(255,255,255,0.10);
    --menu-purple: rgba(10,12,40,0.95);
    --shadow-soft: 0 10px 30px rgba(0,0,0,0.22);
    --shadow-card: 0 18px 40px rgba(0,0,0,0.30);
    color: var(--text);
    background: radial-gradient(circle at 20% 30%, #161845 0%, #050614 70%);
}

body.theme-light::before { background: radial-gradient(circle at 80% 20%, rgba(24,119,255,0.10), transparent 26%), radial-gradient(circle at 20% 80%, rgba(255,46,166,0.10), transparent 26%); }
body.theme-dark::before { background: radial-gradient(circle at 80% 20%, rgba(0,242,255,0.08), transparent 25%), radial-gradient(circle at 20% 80%, rgba(188,0,255,0.08), transparent 25%); }

body.theme-light nav { background: rgba(255,255,255,0.68); border-bottom: 1px solid rgba(11,18,32,0.08); box-shadow: 0 8px 30px rgba(17,24,39,0.06); }
body.theme-light nav.scrolled, body.theme-light nav.is-solid { background: rgba(255,255,255,0.86); border-bottom: 1px solid rgba(24,119,255,0.15); }
body.theme-light .logo-area, body.theme-light .nav-links a, body.theme-light .dropdown-toggle { color: rgba(7,16,26,0.76); }
body.theme-light .nav-links a:hover, body.theme-light .nav-links a.active, body.theme-light .dropdown:hover .dropdown-toggle, body.theme-light .dropdown.open .dropdown-toggle, body.theme-light .dropdown-toggle.active { color: #1877ff; }
body.theme-light .nav-links a::after, body.theme-light .dropdown-toggle::before { background: linear-gradient(90deg, #1877ff, #ff2ea6); box-shadow: 0 0 14px rgba(24,119,255,0.28); }
body.theme-light .dropdown-toggle::after { color: rgba(7,16,26,0.50); }
body.theme-light .modern-dropdown, body.theme-light .dropdown-menu { background: rgba(255,255,255,0.94); border: 1px solid rgba(24,119,255,0.12); box-shadow: 0 22px 60px rgba(17,24,39,0.14); }
body.theme-light .modern-dropdown a, body.theme-light .dropdown-menu a { color: rgba(7,16,26,0.72); }
body.theme-light .modern-dropdown a:hover, body.theme-light .dropdown-menu a:hover, body.theme-light .modern-dropdown a.active-sub, body.theme-light .dropdown-menu a.active-sub { color: #07101a; background: rgba(24,119,255,0.07); }
body.theme-light .btn-login { background: linear-gradient(90deg, #1877ff, #ff2ea6) !important; color: #ffffff !important; box-shadow: 0 12px 30px rgba(24,119,255,0.20); }
body.theme-light .mobile-toggle { color: #07101a; background: rgba(255,255,255,0.72); border-color: rgba(7,16,26,0.10); }

.theme-toggle-nav { min-width: 92px; height: 44px; padding: 0 14px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.10); background: rgba(255,255,255,0.055); color: #fff; cursor: pointer; position: relative; overflow: hidden; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); transition: transform .24s ease, background .24s ease, border-color .24s ease, box-shadow .24s ease; }
.theme-toggle-nav::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(120deg, transparent, rgba(0,242,255,0.22), rgba(255,46,166,0.18), transparent); opacity: 0; transition: opacity .24s ease; }
.theme-toggle-nav__icon, .theme-toggle-nav__text { position: relative; z-index: 1; }
.theme-toggle-nav__icon { font-size: 17px; line-height: 1; transition: transform .38s ease; }
.theme-toggle-nav__text { font-size: 0.86rem; font-weight: 800; letter-spacing: -0.01em; }
.theme-toggle-nav:hover { transform: translateY(-2px); border-color: rgba(0,242,255,0.24); background: rgba(255,255,255,0.09); box-shadow: 0 12px 28px rgba(0,0,0,0.16), 0 0 20px rgba(0,242,255,0.10); }
.theme-toggle-nav:hover::before { opacity: 1; }
.theme-toggle-nav:active { transform: translateY(0) scale(0.97); }
.theme-toggle-nav.is-switching .theme-toggle-nav__icon { transform: rotate(180deg) scale(1.15); }
body.theme-light .theme-toggle-nav { color: #07101a; background: rgba(255,255,255,0.76); border-color: rgba(7,16,26,0.09); box-shadow: 0 12px 28px rgba(17,24,39,0.07); }
body.theme-light .theme-toggle-nav:hover { background: rgba(255,255,255,0.94); border-color: rgba(24,119,255,0.22); box-shadow: 0 16px 34px rgba(17,24,39,0.10), 0 0 20px rgba(24,119,255,0.10); }

body.theme-light .hero-content h1, body.theme-light .section-head h2, body.theme-light .page-hero h1, body.theme-light .hero-simple h1, body.theme-light .page-title { background: linear-gradient(90deg, #07101a, #1877ff 58%, #ff2ea6); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
body.theme-light .hero-content p, body.theme-light .section-head p, body.theme-light .glass-card p, body.theme-light .highlight-box p, body.theme-light .timeline-item p, body.theme-light .auth-card p { color: rgba(7,16,26,0.68); }
body.theme-light .glass-card, body.theme-light .auth-card, body.theme-light .timeline-item, body.theme-light .highlight-box, body.theme-light .quote-box { background: rgba(255,255,255,0.78); border-color: rgba(11,18,32,0.08); box-shadow: 0 16px 44px rgba(17,24,39,0.08); }
body.theme-light .glass-card li, body.theme-light .timeline-item li, body.theme-light .feature-list li, body.theme-light .check-list li, body.theme-light .client-card strong, body.theme-light .glass-card h3, body.theme-light .glass-card h2 { color: rgba(7,16,26,0.88); }
body.theme-light .card-icon, body.theme-light .icon { background: linear-gradient(135deg, rgba(24,119,255,0.10), rgba(255,46,166,0.10)); border-color: rgba(24,119,255,0.12); color: #1877ff; }
body.theme-light .btn-outline, body.theme-light .btn-secondary { color: #07101a; background: rgba(255,255,255,0.70); border-color: rgba(7,16,26,0.10); }
body.theme-light footer { border-top-color: rgba(7,16,26,0.08); color: rgba(7,16,26,0.48); }
body.theme-light .hero-visual { background: linear-gradient(180deg, rgba(255,255,255,0.90), rgba(255,255,255,0.60)); border-color: rgba(24,119,255,0.12); box-shadow: 0 24px 60px rgba(17,24,39,0.12), 0 0 32px rgba(24,119,255,0.08); }
body.theme-light .scroll-indicator { color: rgba(7,16,26,0.42); }
body.theme-light .scroll-indicator span { border-color: rgba(7,16,26,0.18); }

.hero-visual { aspect-ratio: 1 / 1; }
.hero-visual img { width: 100%; height: 100%; object-fit: contain; }
@media (min-width: 969px) { .hero-visual { width: min(43vw, 520px); height: auto; flex: 0 0 min(43vw, 520px); } }
@media (max-width: 968px) { .theme-toggle-nav { width: 100%; min-width: 100%; justify-content: flex-start; padding: 0 16px; } body.theme-light .nav-links { background: rgba(255,255,255,0.95); border-color: rgba(7,16,26,0.08); } }

/* ===== SMOOTH THEME TRANSITION ===== */
body,
nav,
.nav-links,
.dropdown-menu,
.modern-dropdown,
.glass-card,
.highlight-box,
.quote-box,
.auth-card,
.timeline-item,
.hero-visual,
.btn-login,
.btn-main,
.btn-outline,
.btn-secondary,
.theme-toggle-nav,
.mobile-toggle,
footer {
    transition:
        background 0.35s ease,
        background-color 0.35s ease,
        color 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease,
        filter 0.35s ease;
}

body::before {
    transition:
        background 0.45s ease,
        opacity 0.45s ease;
}

.hero-content h1,
.section-head h2,
.page-title,
.page-hero h1,
.hero-simple h1 {
    transition:
        background 0.35s ease,
        color 0.35s ease,
        -webkit-text-fill-color 0.35s ease;
}


/* =========================================================
   DRY MENU SYSTEM — final overrides
   ========================================================= */
html.theme-light body:not(.theme-dark),
body.theme-light {
    --dark-bg: #f6f8ff;
    --text: #07101a;
    --muted: rgba(7,16,26,0.68);
    --glass: rgba(255,255,255,0.78);
    --border: rgba(11,18,32,0.10);
    --menu-purple: rgba(255,255,255,0.94);
    --shadow-soft: 0 14px 34px rgba(17, 24, 39, 0.08);
    --shadow-card: 0 22px 55px rgba(17, 24, 39, 0.13);
    color: var(--text);
    background: radial-gradient(circle at 12% 10%, rgba(24,119,255,0.13), transparent 32%), radial-gradient(circle at 92% 18%, rgba(255,46,166,0.12), transparent 30%), linear-gradient(180deg, #ffffff 0%, #f6f8ff 58%, #eef4ff 100%);
}

html.theme-dark body,
body.theme-dark {
    --dark-bg: #050614;
    --text: #ffffff;
    --muted: rgba(255,255,255,0.72);
    --glass: rgba(255,255,255,0.05);
    --border: rgba(255,255,255,0.10);
    --menu-purple: rgba(10,12,40,0.95);
    --shadow-soft: 0 10px 30px rgba(0,0,0,0.22);
    --shadow-card: 0 18px 40px rgba(0,0,0,0.30);
    color: var(--text);
    background: radial-gradient(circle at 20% 30%, #161845 0%, #050614 70%);
}

.logo-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: inherit;
    text-decoration: none;
}

nav {
    isolation: isolate;
}

.nav-links {
    gap: clamp(14px, 1.45vw, 24px);
}

.dropdown-menu,
.modern-dropdown {
    flex-direction: initial;
    white-space: nowrap;
}

.dropdown-menu a,
.modern-dropdown a {
    display: block;
    width: 100%;
    white-space: nowrap;
    box-sizing: border-box;
}

body.theme-light nav {
    background: rgba(255,255,255,0.68);
    border-bottom: 1px solid rgba(11,18,32,0.08);
    box-shadow: 0 8px 30px rgba(17,24,39,0.06);
}

body.theme-light nav.scrolled,
body.theme-light nav.is-solid {
    background: rgba(255,255,255,0.86);
    border-bottom: 1px solid rgba(24,119,255,0.15);
}

body.theme-light .logo-area,
body.theme-light .nav-links a,
body.theme-light .dropdown-toggle {
    color: rgba(7,16,26,0.76);
}

body.theme-light .nav-links a:hover,
body.theme-light .nav-links a.active,
body.theme-light .dropdown:hover .dropdown-toggle,
body.theme-light .dropdown.open .dropdown-toggle,
body.theme-light .dropdown-toggle.active {
    color: #1877ff;
}

body.theme-light .nav-links a::after,
body.theme-light .dropdown-toggle::before {
    background: linear-gradient(90deg, #1877ff, #ff2ea6);
    box-shadow: 0 0 14px rgba(24,119,255,0.28);
}

body.theme-light .modern-dropdown,
body.theme-light .dropdown-menu {
    background: rgba(255,255,255,0.94);
    border: 1px solid rgba(24,119,255,0.12);
    box-shadow: 0 22px 60px rgba(17,24,39,0.14);
}

body.theme-light .modern-dropdown a,
body.theme-light .dropdown-menu a {
    color: rgba(7,16,26,0.72);
}

body.theme-light .modern-dropdown a:hover,
body.theme-light .dropdown-menu a:hover,
body.theme-light .modern-dropdown a.active-sub,
body.theme-light .dropdown-menu a.active-sub {
    color: #07101a;
    background: rgba(24,119,255,0.07);
}

body.theme-light .btn-login {
    background: linear-gradient(90deg, #1877ff, #ff2ea6) !important;
    color: #ffffff !important;
    box-shadow: 0 12px 30px rgba(24,119,255,0.20);
}

.theme-toggle-nav {
    min-width: 92px;
    height: 44px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.10);
    background: rgba(255,255,255,0.055);
    color: #fff;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition: transform .24s ease, background .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.theme-toggle-nav::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(120deg, transparent, rgba(0,242,255,0.22), rgba(255,46,166,0.18), transparent);
    opacity: 0;
    transition: opacity .24s ease;
}

.theme-toggle-nav__icon,
.theme-toggle-nav__text {
    position: relative;
    z-index: 1;
}

.theme-toggle-nav__icon {
    font-size: 17px;
    line-height: 1;
    transition: transform .38s ease;
}

.theme-toggle-nav__text {
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.theme-toggle-nav:hover {
    transform: translateY(-2px);
    border-color: rgba(0,242,255,0.24);
    background: rgba(255,255,255,0.09);
    box-shadow: 0 12px 28px rgba(0,0,0,0.16), 0 0 20px rgba(0,242,255,0.10);
}

.theme-toggle-nav:hover::before { opacity: 1; }
.theme-toggle-nav:active { transform: translateY(0) scale(0.97); }
.theme-toggle-nav.is-switching .theme-toggle-nav__icon { transform: rotate(180deg) scale(1.15); }

body.theme-light .theme-toggle-nav {
    color: #07101a;
    background: rgba(255,255,255,0.76);
    border-color: rgba(7,16,26,0.09);
    box-shadow: 0 12px 28px rgba(17,24,39,0.07);
}

body.theme-light .theme-toggle-nav:hover {
    background: rgba(255,255,255,0.94);
    border-color: rgba(24,119,255,0.22);
    box-shadow: 0 16px 34px rgba(17,24,39,0.10), 0 0 20px rgba(24,119,255,0.10);
}

@media (min-width: 969px) {
    .dropdown-menu,
    .modern-dropdown {
        min-width: 280px;
        max-width: min(320px, calc(100vw - 32px));
    }

    #aboutDropdown .modern-dropdown,
    #aboutDropdown .dropdown-menu {
        left: 50%;
        transform: translate(-50%, 10px);
    }

    #aboutDropdown:hover .modern-dropdown,
    #aboutDropdown.open .modern-dropdown,
    #aboutDropdown:hover .dropdown-menu,
    #aboutDropdown.open .dropdown-menu {
        transform: translate(-50%, 0);
    }
}

@media (max-width: 968px) {
    .mobile-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        z-index: 1100;
        transition: transform .22s ease, background .22s ease, border-color .22s ease;
    }

    .mobile-toggle.active {
        transform: rotate(90deg);
    }

    .nav-links {
        position: absolute;
        top: calc(100% + 10px);
        left: 5%;
        right: 5%;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
        padding: 16px;
        background: rgba(5, 6, 20, 0.95);
        border: 1px solid rgba(255,255,255,0.08);
        border-radius: 22px;
        backdrop-filter: blur(18px);
        box-shadow: 0 20px 50px rgba(0,0,0,0.35);
        animation: menuFade .24s ease both;
    }

    .nav-links.open {
        display: flex;
    }

    body.theme-light .nav-links {
        background: rgba(255,255,255,0.95);
        border-color: rgba(7,16,26,0.08);
        box-shadow: 0 20px 50px rgba(17,24,39,0.12);
    }

    .dropdown {
        width: 100%;
    }

    .nav-links a,
    .dropdown-toggle,
    .theme-toggle-nav {
        width: 100%;
        min-width: 100%;
        justify-content: flex-start;
        padding: 12px 14px;
        border-radius: 14px;
        text-align: left;
    }

    .dropdown-menu,
    .modern-dropdown {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        display: none;
        width: 100%;
        min-width: 100%;
        left: 0;
        margin-top: 10px;
        padding: 8px 0;
        background: var(--menu-purple) !important;
        border-radius: 18px;
        box-shadow: none;
        border: 1px solid rgba(255,255,255,0.08);
        backdrop-filter: blur(18px);
    }

    .dropdown.open .dropdown-menu,
    .dropdown.open .modern-dropdown {
        display: block;
        animation: submenuFade .22s ease both;
    }

    .modern-dropdown a,
    .dropdown-menu a {
        padding: 12px 16px;
        white-space: normal;
        line-height: 1.35;
    }
}

@keyframes menuFade {
    from { opacity: 0; transform: translateY(-8px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes submenuFade {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

body,
nav,
.nav-links,
.dropdown-menu,
.modern-dropdown,
.glass-card,
.highlight-box,
.quote-box,
.auth-card,
.timeline-item,
.hero-visual,
.btn-login,
.btn-main,
.btn-outline,
.btn-secondary,
.theme-toggle-nav,
.mobile-toggle,
footer {
    transition: background 0.35s ease, background-color 0.35s ease, color 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, filter 0.35s ease;
}

/* ===== SOCIAL FINAL CLEAN ===== */

.social-box {
    text-align: center;
}

.social-icons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: clamp(14px, 2vw, 24px);
    margin-top: 16px;
    flex-wrap: wrap;
}

.social-icon {
    width: clamp(52px, 6vw, 68px);
    height: clamp(52px, 6vw, 68px);
    border-radius: 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;

    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.10);
    backdrop-filter: blur(12px);

    transition: all 0.25s ease;
}

/* PNG IKONY */
.social-icon img {
    width: 65%;
    height: 65%;
    object-fit: contain;
    display: block;
    transition: 0.3s;
}

/* FB */
.social-icon.fb:hover {
    background: linear-gradient(135deg, #1877F2, #4e9fff);
    box-shadow: 0 0 20px rgba(24,119,242,0.5);
}

/* IG */
.social-icon.ig:hover {
    background: linear-gradient(135deg, #FF2EA6, #1877FF);
    box-shadow: 0 0 20px rgba(255,46,166,0.5);
}

/* ANIMACE */
.social-icon:hover {
    transform: translateY(-3px) scale(1.05);
}

.social-icon:hover img {
    transform: scale(1.05);
}

/* ===== BLOG SYSTEM ===== */
.blog-filter {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.blog-card,
.blog-featured {
    text-decoration: none;
    overflow: hidden;
    display: block;
}

.blog-card__image,
.blog-featured__image {
    border-radius: 22px;
    overflow: hidden;
    margin-bottom: 20px;
    background: rgba(255,255,255,0.04);
}

.blog-card__image img,
.blog-featured__image img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform .35s ease;
}

.blog-card:hover img,
.blog-featured:hover img {
    transform: scale(1.04);
}

.blog-card__tag {
    display: inline-flex;
    margin-bottom: 10px;
    color: var(--accent-blue);
    font-weight: 800;
    font-size: .84rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.blog-card h3,
.blog-featured h2 {
    margin-bottom: 10px;
}

.blog-card__meta {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 16px;
    color: var(--muted);
    font-size: .9rem;
}

.blog-featured {
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 28px;
    align-items: center;
}

.blog-featured__image {
    margin-bottom: 0;
}

@media (max-width: 968px) {
    .blog-grid,
    .blog-featured {
        grid-template-columns: 1fr;
    }

    .blog-featured__image {
        margin-bottom: 20px;
    }
}

.article-date {
    font-size: 12px;
    opacity: 0.6;
    margin-bottom: 6px;
}

/* BADGES */
.badge-featured,
.badge-new {
    position: absolute;
    top: 10px;
    padding: 4px 8px;
    font-size: 11px;
    border-radius: 8px;
    font-weight: 600;
}

.badge-featured {
    left: 10px;
    background: linear-gradient(135deg, #FF2EA6, #1877FF);
    color: white;
}

.badge-new {
    right: 10px;
    background: #00ffae;
    color: #000;
}

/* IMAGE WRAP */
.article-image {
    position: relative;
}

.event-filters {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    margin: 40px 0;
}

.event-filter {
    padding: 12px 18px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.1);
    background: rgba(255,255,255,.04);
    color: white;
    cursor: pointer;
    font-weight: 700;
}

.event-filter.active,
.event-filter:hover {
    background: linear-gradient(135deg, rgba(0,242,255,.18), rgba(188,0,255,.18));
    border-color: rgba(0,242,255,.25);
}

.featured-event {
    padding: 42px;
    border-radius: 34px;
    margin-bottom: 40px;
    background: linear-gradient(135deg, rgba(0,242,255,.08), rgba(188,0,255,.08)), rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
}

.featured-grid {
    display: grid;
    grid-template-columns: 1.3fr .7fr;
    gap: 40px;
    align-items: center;
}

.featured-badge {
    display: inline-flex;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    margin-bottom: 20px;
    font-size: .82rem;
    font-weight: 800;
    color: var(--accent-blue);
}

.featured-event h2 {
    font-size: clamp(2rem, 5vw, 4rem);
    margin-bottom: 20px;
}

.featured-event p {
    color: var(--muted);
    line-height: 1.9;
}

.featured-points {
    display: grid;
    gap: 14px;
    margin-top: 26px;
}

.featured-point {
    display: flex;
    align-items: center;
    gap: 12px;
}

.point-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--accent-blue);
    box-shadow: 0 0 16px var(--accent-blue);
}

.featured-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 35px;
}

.btn-secondary {
    padding: 14px 22px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.1);
    color: white;
    text-decoration: none;
    background: rgba(255,255,255,.04);
}

.events-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 40px;
}

.event-card {
    position: relative;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: .3s ease;
}

.event-card:hover {
    transform: translateY(-8px);
}

.event-status {
    position: absolute;
    top: 22px;
    right: 22px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    font-size: .72rem;
    font-weight: 800;
}

.event-date {
    color: var(--accent-blue);
    font-size: .9rem;
    margin-bottom: 16px;
    font-weight: 800;
}

.event-card h3 {
    font-size: 1.45rem;
    margin-bottom: 14px;
    line-height: 1.2;
}

.event-card p {
    color: var(--muted);
    line-height: 1.8;
    margin-bottom: 20px;
}

.event-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 22px;
}

.event-tag {
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    font-size: .78rem;
}

.event-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 18px;
}

.event-link {
    color: var(--accent-blue);
    font-weight: 800;
}

.timeline-wrap {
    margin-top: 80px;
}

.timeline {
    position: relative;
    display: grid;
    gap: 28px;
}

.timeline-item {
    position: relative;
    margin-left: 54px;
}

.timeline-dot {
    position: absolute;
    left: -42px;
    top: 8px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--accent-blue);
    box-shadow: 0 0 18px var(--accent-blue);
}

.timeline-card {
    padding: 26px;
    border-radius: 24px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
}

.timeline-card p {
    color: var(--muted);
    line-height: 1.8;
}

.waitlist-box {
    margin-top: 80px;
    text-align: center;
    padding: 60px 40px;
    border-radius: 36px;
    background: linear-gradient(135deg, rgba(0,242,255,.08), rgba(188,0,255,.08)), rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
}

.waitlist-box h2 {
    font-size: clamp(2rem, 5vw, 3.5rem);
    margin-bottom: 20px;
}

.waitlist-box p {
    max-width: 760px;
    margin: 0 auto 35px;
    color: var(--muted);
    line-height: 1.9;
}

.waitlist-form {
    display: flex;
    gap: 16px;
    max-width: 900px;
    margin: 0 auto;
    flex-wrap: wrap;
    justify-content: center;
}

.waitlist-form input,
.waitlist-form select {
    flex: 1;
    min-width: 220px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.05);
    color: white;
}

@media (max-width: 980px) {
    .featured-grid,
    .events-grid {
        grid-template-columns: 1fr;
    }

    .featured-event {
        padding: 30px;
    }
}

/* =========================================================
   EVENTS SYSTEM — FINAL FIXED OVERRIDES
   Události / Víkendy / Waiting list
   ========================================================= */

.event-filters {
    display: flex !important;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 40px 0 46px;
}

.event-filter {
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.045);
    color: #fff;
    cursor: pointer;
    font-weight: 800;
    line-height: 1;
    box-shadow: none;
    transition: transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.event-filter.active,
.event-filter:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, rgba(0,242,255,.18), rgba(188,0,255,.18));
    border-color: rgba(0,242,255,.26);
    box-shadow: 0 12px 28px rgba(0,0,0,.18), 0 0 18px rgba(0,242,255,.08);
}

.featured-event {
    width: 100%;
    display: block;
    padding: clamp(28px, 4vw, 48px);
    border-radius: 34px;
    margin: 0 0 44px;
    background: linear-gradient(135deg, rgba(0,242,255,.08), rgba(188,0,255,.08)), rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}

.featured-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
    gap: clamp(24px, 4vw, 44px);
    align-items: center;
}

.featured-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.08);
    margin-bottom: 20px;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .03em;
    color: var(--accent-blue);
}

.featured-event h2 {
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: 1.05;
    margin-bottom: 18px;
    background: linear-gradient(to right, #fff, var(--accent-blue));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.featured-event p {
    color: var(--muted);
    line-height: 1.9;
    max-width: 760px;
}

.featured-points {
    display: grid;
    gap: 12px;
    margin-top: 26px;
}

.featured-point {
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255,255,255,.92);
    font-weight: 700;
}

.point-dot {
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--accent-blue);
    box-shadow: 0 0 16px var(--accent-blue);
}

.featured-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 34px;
}

.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 24px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.12);
    color: white;
    text-decoration: none;
    background: rgba(255,255,255,.045);
    font-weight: 800;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.btn-secondary:hover {
    transform: translateY(-3px);
    border-color: rgba(0,242,255,.26);
    box-shadow: 0 14px 30px rgba(0,0,0,.18);
}

.events-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 40px;
}

.event-card {
    position: relative;
    overflow: hidden;
    text-decoration: none !important;
    color: inherit !important;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
    min-height: 340px;
    display: flex !important;
    flex-direction: column;
    padding: 30px 28px !important;
}

.event-card:hover {
    transform: translateY(-8px);
    border-color: rgba(0,242,255,.28);
    box-shadow: var(--shadow-card);
}

.event-status {
    position: absolute;
    top: 22px;
    right: 22px;
    max-width: 145px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.07);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-align: center;
    color: rgba(255,255,255,.92);
}

.event-date {
    color: var(--accent-blue);
    font-size: .92rem;
    margin-bottom: 18px;
    font-weight: 900;
    padding-right: 125px;
    min-height: 22px;
}

.event-card h3 {
    font-size: 1.45rem;
    margin-bottom: 14px;
    line-height: 1.2;
    color: #fff;
}

.event-card p {
    color: var(--muted);
    line-height: 1.8;
    margin-bottom: 22px;
}

.event-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 22px;
}

.event-tag {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.86);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1;
}

.event-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-top: auto;
    padding-top: 8px;
    color: rgba(255,255,255,.72);
}

.event-link {
    color: var(--accent-blue);
    font-weight: 900;
    white-space: nowrap;
}

.timeline-wrap {
    margin-top: 82px;
}

.timeline-wrap .timeline {
    position: relative;
    display: grid;
    gap: 26px;
    list-style: none;
}

.timeline-wrap .timeline::before {
    content: "";
    position: absolute;
    left: 9px;
    top: 10px;
    bottom: 10px;
    width: 2px;
    background: rgba(255,255,255,.08);
}

.timeline-wrap .timeline-item {
    position: relative;
    margin-left: 54px;
    display: block;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}

.timeline-wrap .timeline-item:hover {
    transform: none;
    box-shadow: none;
}

.timeline-dot {
    position: absolute;
    left: -54px;
    top: 10px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--accent-blue);
    box-shadow: 0 0 18px var(--accent-blue);
}

.timeline-card {
    padding: 26px;
    border-radius: 24px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
}

.timeline-card h3 {
    margin-bottom: 10px;
}

.timeline-card p {
    color: var(--muted);
    line-height: 1.8;
}

.waitlist-box {
    margin-top: 82px;
    text-align: center;
    padding: clamp(34px, 5vw, 60px) clamp(22px, 4vw, 40px);
    border-radius: 36px;
    background: linear-gradient(135deg, rgba(0,242,255,.08), rgba(188,0,255,.08)), rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: var(--shadow-soft);
}

.waitlist-box h2 {
    font-size: clamp(2rem, 5vw, 3.5rem);
    margin-bottom: 18px;
}

.waitlist-box p {
    max-width: 760px;
    margin: 0 auto 34px;
    color: var(--muted);
    line-height: 1.9;
}

.waitlist-form {
    display: flex;
    gap: 16px;
    max-width: 900px;
    margin: 0 auto;
    flex-wrap: wrap;
    justify-content: center;
}

.waitlist-form input,
.waitlist-form select,
.waitlist-form textarea {
    flex: 1;
    min-width: 220px;
    padding: 16px 18px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.05);
    color: white;
    font-family: inherit;
    outline: none;
}

.waitlist-form textarea {
    flex-basis: 100%;
    min-height: 140px;
    resize: vertical;
}

.waitlist-form button {
    min-width: 220px;
}

body.theme-light .event-filter {
    color: rgba(7,16,26,.86);
    background: rgba(255,255,255,.72);
    border-color: rgba(7,16,26,.10);
}

body.theme-light .event-filter.active,
body.theme-light .event-filter:hover {
    background: linear-gradient(135deg, rgba(24,119,255,.12), rgba(255,46,166,.10));
    border-color: rgba(24,119,255,.18);
}

body.theme-light .featured-event,
body.theme-light .waitlist-box,
body.theme-light .timeline-card {
    background: linear-gradient(135deg, rgba(24,119,255,.08), rgba(255,46,166,.08)), rgba(255,255,255,.78);
    border-color: rgba(11,18,32,.08);
}

body.theme-light .featured-event h2 {
    background: linear-gradient(90deg, #07101a, #1877ff 58%, #ff2ea6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

body.theme-light .featured-point,
body.theme-light .event-card h3 {
    color: rgba(7,16,26,.9);
}

body.theme-light .event-status,
body.theme-light .event-tag {
    color: rgba(7,16,26,.76);
    background: rgba(24,119,255,.06);
    border-color: rgba(24,119,255,.10);
}

body.theme-light .event-footer {
    color: rgba(7,16,26,.62);
}

body.theme-light .waitlist-form input,
body.theme-light .waitlist-form select,
body.theme-light .waitlist-form textarea {
    color: #07101a;
    background: rgba(255,255,255,.76);
    border-color: rgba(7,16,26,.10);
}

/* Weekend landing shared styles */
.weekend-hero {
    position: relative;
    overflow: hidden;
    border-radius: 42px;
    padding: clamp(54px, 7vw, 90px) clamp(28px, 5vw, 60px);
    background: linear-gradient(135deg, rgba(0,242,255,.08), rgba(188,0,255,.08)), radial-gradient(circle at top right, rgba(0,242,255,.12), transparent 35%), rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    margin-bottom: 50px;
}

.weekend-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.08);
    color: var(--accent-blue);
    font-size: .82rem;
    font-weight: 900;
    margin-bottom: 24px;
}

.weekend-hero h1 {
    font-size: clamp(3rem, 7vw, 6rem);
    line-height: .95;
    margin-bottom: 26px;
    max-width: 980px;
    background: linear-gradient(to right, #fff, var(--accent-blue));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.weekend-hero p {
    max-width: 760px;
    color: var(--muted);
    line-height: 1.9;
    font-size: 1.05rem;
}

.hero-actions {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    margin-top: 38px;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 62px;
}

.stat-card {
    text-align: center;
}

.stat-number {
    font-size: clamp(1.7rem, 3vw, 2.6rem);
    font-weight: 900;
    margin-bottom: 10px;
    color: var(--accent-blue);
}

.stat-label {
    color: var(--muted);
}

.section-title {
    text-align: center;
    margin-bottom: 46px;
}

.section-title h2 {
    font-size: clamp(2rem, 5vw, 4rem);
    margin-bottom: 18px;
}

.section-title p {
    max-width: 760px;
    margin: 0 auto;
    color: var(--muted);
    line-height: 1.9;
}

.experience-grid,
.schedule-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 82px;
}

.experience-card {
    position: relative;
    overflow: hidden;
}

.experience-icon {
    width: 70px;
    height: 70px;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    margin-bottom: 24px;
    background: linear-gradient(135deg, rgba(0,242,255,.15), rgba(188,0,255,.15));
    border: 1px solid rgba(255,255,255,.08);
}

.day-label {
    display: inline-block;
    padding: 10px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    color: var(--accent-blue);
    font-size: .82rem;
    font-weight: 900;
    margin-bottom: 20px;
}

.schedule-list {
    display: grid;
    gap: 14px;
}

.schedule-item {
    padding: 14px 16px;
    border-radius: 18px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.06);
}

.schedule-item strong {
    display: block;
    margin-bottom: 6px;
}

.schedule-item span {
    color: var(--muted);
    line-height: 1.7;
    font-size: .94rem;
}

.gallery-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 20px;
    margin-bottom: 90px;
}

.gallery-item {
    min-height: 260px;
    border-radius: 28px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(0,242,255,.12), rgba(188,0,255,.12)), rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    display: flex;
    align-items: flex-end;
    padding: 26px;
}

.gallery-item.large {
    min-height: 540px;
}

.gallery-overlay p {
    color: var(--muted);
    line-height: 1.8;
}

.faq-wrap {
    display: grid;
    gap: 18px;
    margin-bottom: 90px;
}

.faq-item {
    border-radius: 24px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.04);
    overflow: hidden;
}

.faq-question {
    padding: 24px 28px;
    font-weight: 800;
}

.faq-answer {
    padding: 0 28px 24px;
    color: var(--muted);
    line-height: 1.9;
}

@media (max-width: 980px) {
    .featured-grid,
    .events-grid,
    .stats-grid,
    .experience-grid,
    .schedule-grid,
    .gallery-grid {
        grid-template-columns: 1fr !important;
    }

    .featured-event,
    .weekend-hero {
        padding: 30px;
    }

    .event-date {
        padding-right: 0;
        max-width: calc(100% - 150px);
    }

    .event-card {
        min-height: auto;
    }

    .gallery-item.large {
        min-height: 320px;
    }
}

/* =========================================================
   ANALÝZA TĚLA / ANOVATOR A5 — PREMIUM PAGE
   ========================================================= */

.analysis-hero {
    position: relative;
    overflow: hidden;
    border-radius: 42px;
    padding: clamp(34px, 5vw, 62px);
    background:
        radial-gradient(circle at 82% 12%, rgba(0,242,255,.16), transparent 34%),
        radial-gradient(circle at 8% 85%, rgba(188,0,255,.16), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.035));
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 28px 80px rgba(0,0,0,.32);
    margin-bottom: 54px;
}

.analysis-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(360px, 1.05fr);
    gap: clamp(28px, 5vw, 56px);
    align-items: center;
}

.analysis-hero h1 {
    font-size: clamp(2.7rem, 6vw, 5.9rem);
    line-height: .96;
    letter-spacing: -.055em;
    margin-bottom: 22px;
    background: linear-gradient(90deg, #fff 0%, var(--accent-blue) 58%, #d88cff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.analysis-hero p {
    color: var(--muted);
    line-height: 1.9;
    font-size: 1.06rem;
    max-width: 760px;
}

.analysis-hero-media {
    position: relative;
    min-height: 460px;
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    background:
        radial-gradient(circle at 50% 20%, rgba(0,242,255,.16), transparent 42%),
        rgba(255,255,255,.045);
    box-shadow: 0 28px 80px rgba(0,0,0,.38);
}

.analysis-hero-media img {
    width: 100%;
    height: 100%;
    min-height: 460px;
    object-fit: cover;
    display: block;
    opacity: .94;
}

.analysis-hero-badge {
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 24px;
    padding: 18px 20px;
    border-radius: 24px;
    background: rgba(5,6,20,.74);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 18px 46px rgba(0,0,0,.28);
}

.analysis-hero-badge strong {
    display: block;
    margin-bottom: 6px;
    color: #fff;
}

.analysis-hero-badge span {
    display: block;
    color: rgba(255,255,255,.72);
    line-height: 1.55;
    font-size: .94rem;
}

.analysis-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 30px;
}

.analysis-kpi {
    padding: 22px;
    border-radius: 26px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 16px 38px rgba(0,0,0,.18);
}

.analysis-kpi strong {
    display: block;
    font-size: clamp(1.5rem, 3vw, 2rem);
    line-height: 1;
    margin-bottom: 8px;
    background: linear-gradient(135deg, var(--accent-blue), var(--accent-purple));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.analysis-kpi span {
    display: block;
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.55;
}

.analysis-section {
    margin-top: clamp(54px, 7vw, 86px);
}

.analysis-section .section-head {
    margin-bottom: 34px;
}

.analysis-feature-card {
    position: relative;
    overflow: hidden;
    min-height: 100%;
}

.analysis-feature-card::after {
    content: "";
    position: absolute;
    inset: auto -30% -45% auto;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(0,242,255,.12), transparent 68%);
    pointer-events: none;
}

.analysis-feature-card h3,
.analysis-flow .glass-card h3 {
    margin-bottom: 12px;
}

.analysis-feature-card p,
.analysis-flow .glass-card p {
    margin-bottom: 0;
}

.analysis-pill-list,
.analysis-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.analysis-pill-list span,
.analysis-chip-list span,
.analysis-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 13px;
    border-radius: 999px;
    background: rgba(0,242,255,.08);
    border: 1px solid rgba(0,242,255,.18);
    color: rgba(255,255,255,.84);
    font-size: .82rem;
    font-weight: 750;
    line-height: 1.2;
    white-space: normal;
}

.analysis-media-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
    gap: 22px;
    align-items: stretch;
}

.analysis-media-stack {
    display: grid;
    grid-template-columns: 1fr;
    gap: 22px;
}

.analysis-photo-card {
    position: relative;
    overflow: hidden;
    min-height: 280px;
    border-radius: 30px;
    border: 1px solid rgba(255,255,255,.11);
    background: rgba(255,255,255,.045);
    box-shadow: var(--shadow-soft);
}

.analysis-photo-card.large {
    min-height: 590px;
}

.analysis-photo-card img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    object-fit: cover;
    display: block;
}

.analysis-photo-card figcaption {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    padding: 14px 16px;
    border-radius: 20px;
    background: rgba(5,6,20,.74);
    border: 1px solid rgba(255,255,255,.10);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    font-size: .88rem;
    color: rgba(255,255,255,.84);
    line-height: 1.55;
}

.analysis-video {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.04);
    aspect-ratio: 16 / 9;
    box-shadow: var(--shadow-soft);
}

.analysis-video iframe,
.analysis-video video {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.analysis-flow {
    counter-reset: analysis-step;
    display: grid;
    gap: 16px;
}

.analysis-flow .glass-card {
    position: relative;
    padding-left: 82px;
}

.analysis-flow .glass-card::before {
    counter-increment: analysis-step;
    content: counter(analysis-step);
    position: absolute;
    left: 26px;
    top: 28px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--accent-blue), var(--accent-purple));
    color: #050614;
    font-weight: 900;
    box-shadow: 0 0 18px rgba(0,242,255,.20);
}

.analysis-warning {
    border-color: rgba(255,200,90,.22) !important;
    background:
        linear-gradient(135deg, rgba(255,200,90,.09), rgba(255,255,255,.04)) !important;
}

.analysis-warning h3::before {
    content: "⚠️ ";
}

.analysis-compare {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.analysis-compare-card {
    padding: 30px;
    border-radius: 30px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.045);
}

.analysis-compare-card.is-premium {
    background:
        linear-gradient(135deg, rgba(0,242,255,.10), rgba(188,0,255,.10)),
        rgba(255,255,255,.05);
    border-color: rgba(0,242,255,.22);
    box-shadow: 0 18px 48px rgba(0,242,255,.08);
}

.analysis-compare-card h3 {
    margin-bottom: 16px;
}

.analysis-compare-card ul {
    list-style: none;
    display: grid;
    gap: 12px;
}

.analysis-compare-card li {
    color: rgba(255,255,255,.86);
    line-height: 1.6;
}

.analysis-compare-card li::before {
    content: "✓ ";
    color: var(--accent-blue);
    font-weight: 900;
}

.analysis-cta {
    margin-top: 76px;
    padding: clamp(34px, 5vw, 58px);
    border-radius: 38px;
    background:
        radial-gradient(circle at 80% 18%, rgba(0,242,255,.16), transparent 34%),
        linear-gradient(135deg, rgba(0,242,255,.10), rgba(188,0,255,.10)),
        rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: var(--shadow-soft);
    text-align: center;
}

.analysis-cta h2 {
    font-size: clamp(2rem, 5vw, 3.7rem);
    margin-bottom: 16px;
}

.analysis-cta p {
    max-width: 760px;
    margin: 0 auto 28px;
    color: var(--muted);
    line-height: 1.9;
}

/* Light theme support */
body.theme-light .analysis-hero,
body.theme-light .analysis-kpi,
body.theme-light .analysis-photo-card,
body.theme-light .analysis-video,
body.theme-light .analysis-compare-card,
body.theme-light .analysis-cta {
    background: rgba(255,255,255,.78);
    border-color: rgba(11,18,32,.08);
    box-shadow: 0 18px 48px rgba(17,24,39,.08);
}

body.theme-light .analysis-hero {
    background:
        radial-gradient(circle at 82% 12%, rgba(24,119,255,.13), transparent 34%),
        radial-gradient(circle at 8% 85%, rgba(255,46,166,.12), transparent 34%),
        rgba(255,255,255,.80);
}

body.theme-light .analysis-hero h1 {
    background: linear-gradient(90deg, #07101a, #1877ff 58%, #ff2ea6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

body.theme-light .analysis-hero-badge,
body.theme-light .analysis-photo-card figcaption {
    background: rgba(255,255,255,.78);
    border-color: rgba(11,18,32,.10);
}

body.theme-light .analysis-hero-badge strong,
body.theme-light .analysis-hero-badge span,
body.theme-light .analysis-photo-card figcaption,
body.theme-light .analysis-pill-list span,
body.theme-light .analysis-chip-list span,
body.theme-light .analysis-chip,
body.theme-light .analysis-compare-card li {
    color: rgba(7,16,26,.78);
}

body.theme-light .analysis-pill-list span,
body.theme-light .analysis-chip-list span,
body.theme-light .analysis-chip {
    background: rgba(24,119,255,.07);
    border-color: rgba(24,119,255,.13);
}

body.theme-light .analysis-compare-card.is-premium,
body.theme-light .analysis-cta {
    background:
        linear-gradient(135deg, rgba(24,119,255,.08), rgba(255,46,166,.07)),
        rgba(255,255,255,.82);
    border-color: rgba(24,119,255,.14);
}

@media (max-width: 1100px) {
    .analysis-hero-grid,
    .analysis-media-grid {
        grid-template-columns: 1fr;
    }

    .analysis-hero-media,
    .analysis-hero-media img {
        min-height: 380px;
    }

    .analysis-photo-card.large {
        min-height: 420px;
    }
}

@media (max-width: 980px) {
    .analysis-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .analysis-compare {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .analysis-hero {
        border-radius: 30px;
        padding: 26px;
    }

    .analysis-kpi-grid {
        grid-template-columns: 1fr;
    }

    .analysis-hero-media,
    .analysis-hero-media img {
        min-height: 320px;
    }

    .analysis-hero-badge {
        left: 14px;
        right: 14px;
        bottom: 14px;
        padding: 14px 16px;
        border-radius: 18px;
    }

    .analysis-flow .glass-card {
        padding-left: 24px;
        padding-top: 76px;
    }

    .analysis-flow .glass-card::before {
        top: 24px;
        left: 24px;
    }

    .analysis-photo-card,
    .analysis-photo-card.large {
        min-height: 240px;
    }
}


/* =========================================================
   FINAL SPACING OVERRIDES — cards, chips, analysis
   ========================================================= */

.analysis-section {
    margin-top: clamp(58px, 7vw, 92px);
    margin-bottom: clamp(46px, 6vw, 82px);
}

.analysis-section .section-head {
    margin-bottom: clamp(28px, 4vw, 42px);
}

.analysis-section > .eyebrow,
.analysis-section > .badge-soft {
    margin-bottom: 22px;
}

.analysis-section > h2,
.analysis-section .section-title h2 {
    margin-bottom: 16px;
}

.analysis-section > p,
.analysis-section .section-intro {
    margin-bottom: 34px;
    max-width: 920px;
}

.analysis-kpi {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.analysis-kpi strong,
.analysis-kpi span {
    margin-bottom: 0;
}

.analysis-feature-card,
.analysis-flow .glass-card,
.analysis-compare-card {
    padding: clamp(26px, 3vw, 34px);
}

.analysis-flow {
    gap: 20px;
}

.analysis-flow .glass-card {
    padding-left: 82px;
}

.analysis-flow .glass-card::before {
    top: 30px;
}

.analysis-pill-list,
.analysis-chip-list,
.event-tags,
.featured-points,
.schedule-list {
    margin-top: 20px;
}

.analysis-pill-list span,
.analysis-chip-list span,
.analysis-chip,
.event-tag {
    margin: 0;
}

.analysis-compare-card ul,
.glass-card ul,
.timeline-item ul,
.feature-list,
.check-list,
.steps,
.timeline {
    margin-bottom: 0;
    padding-left: 0;
}

@media (max-width: 620px) {
    .analysis-feature-card,
    .analysis-flow .glass-card,
    .analysis-compare-card {
        padding: 24px;
    }

    .analysis-flow .glass-card {
        padding-top: 76px;
        padding-left: 24px;
    }

    .analysis-flow .glass-card::before {
        top: 24px;
    }
}


/* =========================================================
   FINAL LAYOUT SYSTEM — fixed menu offset + premium polish
   ========================================================= */

html {
    scroll-padding-top: calc(var(--header-height, 74px) + 24px);
}

nav {
    min-height: var(--header-height, 74px);
}

.page-wrap {
    padding-top: var(--page-top-offset, 132px) !important;
    padding-bottom: 80px;
}

.page-wrap > :first-child,
.page-wrap > .analysis-hero:first-child,
.page-wrap > .page-hero:first-child,
.page-wrap > .weekend-hero:first-child {
    margin-top: 0;
}

.page-hero,
.hero-simple,
.analysis-hero,
.weekend-hero {
    margin-top: 0;
}

/* Hero tightening for analyzer landing page */
.analysis-hero {
    max-width: var(--container);
    margin-left: auto;
    margin-right: auto;
}

.analysis-hero .badge-soft,
.analysis-hero .eyebrow {
    margin-left: auto;
    margin-right: auto;
}

.analysis-hero h1 {
    text-wrap: balance;
}

.analysis-hero p {
    margin-left: auto;
    margin-right: auto;
    text-wrap: pretty;
}

.analysis-hero .cta-group,
.analysis-hero .hero-actions {
    margin-top: 34px;
    justify-content: center;
}

.analysis-hero-media {
    margin-top: 0;
}

.analysis-hero-media img {
    object-position: center center;
}

/* Better global card rhythm */
.glass-card,
.metric-card,
.info-item,
.step,
.timeline-card,
.analysis-kpi,
.analysis-compare-card {
    overflow-wrap: anywhere;
}

.cards,
.cards-2,
.cards-3,
.grid,
.grid-2,
.grid-3,
.events-grid,
.blog-grid,
.analysis-kpi-grid,
.analysis-media-grid,
.analysis-compare {
    align-items: stretch;
}

/* Better chip readability */
.analysis-pill-list,
.analysis-chip-list,
.event-tags {
    align-items: center;
}

.analysis-pill-list span,
.analysis-chip-list span,
.analysis-chip,
.event-tag {
    min-height: 36px;
}

/* Larger readable mobile spacing */
@media (max-width: 968px) {
    :root {
        --header-height: 74px;
        --page-top-offset: 118px;
    }

    .page-wrap {
        padding-top: var(--page-top-offset, 118px) !important;
        padding-bottom: 64px;
    }

    .analysis-hero,
    .weekend-hero,
    .featured-event,
    .waitlist-box {
        border-radius: 30px;
    }

    .analysis-hero h1,
    .weekend-hero h1,
    .page-hero h1,
    .hero-simple h1,
    .page-title {
        font-size: clamp(2.35rem, 9vw, 3.25rem);
        line-height: 1.02;
    }

    .analysis-hero .cta-group,
    .analysis-hero .hero-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 620px) {
    :root {
        --page-top-offset: 108px;
    }

    .page-wrap {
        width: min(100% - 28px, 1200px);
        padding-top: var(--page-top-offset, 108px) !important;
    }

    .btn-main,
    .btn-primary,
    .btn-outline,
    .btn-secondary {
        width: 100%;
    }

    .analysis-hero .cta-group,
    .analysis-hero .hero-actions {
        gap: 12px;
    }
}


/* =========================================================
   ANALÝZA TĚLA HERO — FINAL READABILITY FIX
   ========================================================= */
.analysis-hero {
    text-align: left;
    padding: clamp(34px, 4.2vw, 58px);
}

.analysis-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(360px, .72fr) !important;
    gap: clamp(34px, 5vw, 70px) !important;
    align-items: center;
}

.analysis-hero-copy {
    min-width: 0;
    max-width: 820px;
}

.analysis-hero h1 {
    max-width: 780px;
    font-size: clamp(3rem, 4.9vw, 5.45rem) !important;
    line-height: .98 !important;
    letter-spacing: -0.055em;
    text-wrap: balance;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.analysis-hero p {
    max-width: 720px;
    margin-left: 0 !important;
    margin-right: 0 !important;
    font-size: clamp(1rem, 1.2vw, 1.1rem);
}

.analysis-hero .eyebrow {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
}

.analysis-hero .hero-actions {
    justify-content: flex-start !important;
}

.analysis-hero-media {
    min-height: 430px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.analysis-hero-media img {
    width: 100%;
    height: 100%;
    min-height: 430px;
    object-fit: cover;
    object-position: center;
}

.analysis-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1180px) {
    .analysis-hero-grid {
        grid-template-columns: 1fr !important;
        gap: 38px !important;
    }

    .analysis-hero-copy,
    .analysis-hero h1,
    .analysis-hero p {
        max-width: 100%;
    }

    .analysis-hero-media {
        min-height: 360px;
        order: -1;
    }

    .analysis-hero-media img {
        min-height: 360px;
    }
}

@media (max-width: 720px) {
    .analysis-hero {
        padding: 28px 22px;
        border-radius: 28px;
    }

    .analysis-hero h1 {
        font-size: clamp(2.35rem, 10vw, 3.5rem) !important;
        line-height: 1.02 !important;
        letter-spacing: -0.045em;
    }

    .analysis-hero-media,
    .analysis-hero-media img {
        min-height: 300px;
    }

    .analysis-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* =========================================================
   ANALÝZA TĚLA — HERO + KPI FINÁLNÍ OVERRIDE
   vloženo pro čisté lámání textů a premium layout
   ========================================================= */

.analysis-hero{
    text-align:left !important;
    position:relative;
    overflow:hidden;
    padding:clamp(34px,4.2vw,58px) !important;
    border-radius:42px;
}

.analysis-hero-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr) !important;
    gap:clamp(34px,5vw,70px) !important;
    align-items:center !important;
}

.analysis-hero-copy{
    min-width:0;
    max-width:820px;
}

.analysis-hero h1{
    max-width:780px;
    font-size:clamp(3rem,4.9vw,5.45rem) !important;
    line-height:.98 !important;
    letter-spacing:-0.055em;
    text-wrap:balance;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
}

.analysis-hero p{
    max-width:720px;
    margin-left:0 !important;
    margin-right:0 !important;
    font-size:clamp(1rem,1.2vw,1.1rem);
}

.analysis-hero .eyebrow{
    margin-left:0 !important;
    margin-right:0 !important;
    max-width:100%;
}

.analysis-hero .hero-actions{
    justify-content:flex-start !important;
    margin-top:34px;
    margin-bottom:42px;
}

.analysis-hero-media{
    min-height:430px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.analysis-hero-media img{
    width:100%;
    height:100%;
    min-height:430px;
    object-fit:cover;
    object-position:center;
}

.analysis-hero .analysis-kpi-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(140px,1fr)) !important;
    gap:18px !important;
    margin-top:32px !important;
    align-items:stretch !important;
}

.analysis-hero .analysis-kpi{
    min-height:170px;
    min-width:0;
    padding:24px 20px !important;
    border-radius:28px;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    align-items:flex-start !important;
    gap:12px !important;
    overflow-wrap:normal !important;
}

.analysis-hero .analysis-kpi strong{
    font-size:clamp(2rem,3vw,2.5rem) !important;
    line-height:1 !important;
    margin:0 !important;
    white-space:nowrap !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
}

.analysis-hero .analysis-kpi span{
    display:block;
    font-size:.95rem !important;
    line-height:1.55 !important;
    margin:0 !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
    max-width:100%;
}

.analysis-feature-card{
    padding:clamp(28px,3vw,36px) !important;
}

.analysis-pill-list span{
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
}

@media (max-width:1180px){
    .analysis-hero-grid{
        grid-template-columns:1fr !important;
        gap:38px !important;
    }

    .analysis-hero-copy,
    .analysis-hero h1,
    .analysis-hero p{
        max-width:100%;
    }

    .analysis-hero-media{
        min-height:360px;
        order:-1;
    }

    .analysis-hero-media img{
        min-height:360px;
    }
}

@media (max-width:900px){
    .analysis-hero .analysis-kpi-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .analysis-hero .analysis-kpi{
        min-height:unset;
    }
}

@media (max-width:720px){
    .analysis-hero{
        padding:28px 22px !important;
        border-radius:28px;
    }

    .analysis-hero h1{
        font-size:clamp(2.35rem,10vw,3.5rem) !important;
        line-height:1.02 !important;
        letter-spacing:-0.045em;
    }

    .analysis-hero-media,
    .analysis-hero-media img{
        min-height:300px;
    }
}

@media (max-width:560px){
    .analysis-hero .analysis-kpi-grid{
        grid-template-columns:1fr !important;
    }
}

/* =========================================================
   FINAL MENU OFFSET + HERO TOP + SELECT FIX
   ========================================================= */

:root {
    --header-height: 86px;
    --page-top-offset: 110px;
}

html {
    scroll-padding-top: calc(var(--header-height) + 34px);
}

body {
    padding-top: 0 !important;
}

nav {
    min-height: var(--header-height);
    background: rgba(5, 6, 20, .76);
}

nav.scrolled,
nav.is-solid {
    background: rgba(5, 6, 20, .94) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.page-wrap,
.container.page-wrap,
main.page-wrap {
    padding-top: var(--page-top-offset) !important;
    padding-bottom: 80px;
}

/* Horní odstup první sekce pod fixed menu */

/* Programy nesmí používat homepage .hero spacing */
.page-wrap .hero.page-hero,
.page-wrap .page-hero,
.page-wrap .hero-simple {
    min-height: auto !important;
    height: auto !important;
    display: block !important;
}

/* Select / dropdown fix pro Windows a prohlížeče */
select,
option {
    font-family: inherit;
}

.waitlist-form select,
.field select,
.auth-card select {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    color: #ffffff !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.035)) !important;
}

.waitlist-form select option,
.field select option,
.auth-card select option,
option {
    color: #07101a !important;
    background: #ffffff !important;
}

body.theme-light nav {
    background: rgba(255,255,255,.78) !important;
}

body.theme-light nav.scrolled,
body.theme-light nav.is-solid {
    background: rgba(255,255,255,.94) !important;
}

body.theme-light .waitlist-form select,
body.theme-light .field select,
body.theme-light .auth-card select {
    color: #07101a !important;
    background: rgba(255,255,255,.84) !important;
}

@media (max-width: 968px) {
    :root {
        --header-height: 74px;
        --page-top-offset: 132px;
    }

    .page-wrap,
    .container.page-wrap,
    main.page-wrap {
        padding-top: var(--page-top-offset) !important;
    }

    .page-wrap > :first-child {
        margin-top: 10px !important;
    }

    .page-hero,
    .hero-simple,
    .analysis-hero,
    .weekend-hero {
        margin-top: 12px !important;
        padding-top: 14px !important;
    }
}


/* =========================================================
   ORLICKÉ HORY — page styles moved from inline CSS
   ========================================================= */
        :root {
            --weekend-cyan: #00f2ff;
            --weekend-purple: #bc00ff;
            --weekend-bg: #050614;
            --soft-border: rgba(255,255,255,.09);
            --soft-card: rgba(255,255,255,.045);
        }

        body {
            background:
                radial-gradient(circle at 20% 0%, rgba(0,242,255,.11), transparent 35%),
                radial-gradient(circle at 90% 12%, rgba(188,0,255,.12), transparent 36%),
                var(--weekend-bg);
        }

        .weekend-hero {
            position:relative;
            overflow:hidden;
            border-radius:42px;
            padding:86px 60px;
            background:
                linear-gradient(135deg, rgba(0,242,255,.09), rgba(188,0,255,.09)),
                radial-gradient(circle at top right, rgba(0,242,255,.14), transparent 34%),
                rgba(255,255,255,.04);
            border:1px solid var(--soft-border);
            margin-bottom:34px;
            box-shadow:0 34px 120px rgba(0,0,0,.26);
        }

        .weekend-hero::before {
            content:"";
            position:absolute;
            inset:0;
            background:
                radial-gradient(circle at 80% 18%, rgba(0,242,255,.16), transparent 25%),
                radial-gradient(circle at 18% 82%, rgba(188,0,255,.13), transparent 26%);
            pointer-events:none;
        }

        .weekend-hero > * {
            position:relative;
            z-index:1;
        }

        .weekend-badge,
        .mini-pill {
            display:inline-flex;
            align-items:center;
            gap:10px;
            padding:12px 18px;
            border-radius:999px;
            background:rgba(255,255,255,.08);
            border:1px solid rgba(255,255,255,.08);
            color:var(--accent-blue, #00f2ff);
            font-size:.82rem;
            font-weight:800;
            letter-spacing:.02em;
        }

        .weekend-badge {
            margin-bottom:24px;
        }

        .hero-kicker {
            display:flex;
            gap:12px;
            flex-wrap:wrap;
            margin-bottom:24px;
        }

        .weekend-hero h1 {
            font-size:clamp(3rem,7vw,6.2rem);
            line-height:.95;
            letter-spacing:-.07em;
            margin-bottom:26px;
            max-width:980px;
        }

        .weekend-hero p {
            max-width:840px;
            color:var(--muted, rgba(255,255,255,.68));
            line-height:1.9;
            font-size:1.08rem;
        }

        .hero-tags {
            display:flex;
            flex-wrap:wrap;
            gap:10px;
            margin-top:28px;
        }

        .hero-tag {
            padding:10px 13px;
            border-radius:999px;
            color:rgba(255,255,255,.84);
            background:rgba(255,255,255,.06);
            border:1px solid rgba(255,255,255,.08);
            font-size:.86rem;
            font-weight:650;
        }

        .hero-actions {
            display:flex;
            gap:18px;
            flex-wrap:wrap;
            margin-top:40px;
        }

        .btn-secondary {
            padding:15px 22px;
            border-radius:18px;
            border:1px solid rgba(255,255,255,.1);
            color:white;
            text-decoration:none;
            background:rgba(255,255,255,.05);
            transition:.25s ease;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            font-weight:750;
        }

        .btn-secondary:hover {
            transform:translateY(-3px);
            border-color:rgba(0,242,255,.28);
        }

        .inline-link {
            color:var(--accent-blue, #00f2ff);
            text-decoration:none;
            font-weight:800;
        }

        .inline-link:hover {
            text-decoration:underline;
        }

        .card-link {
            color:white;
            text-decoration:none;
        }

        .card-link:hover {
            color:var(--accent-blue, #00f2ff);
        }

        .info-strip {
            display:grid;
            grid-template-columns:repeat(4,1fr);
            gap:18px;
            margin-bottom:76px;
        }

        .info-card {
            min-height:138px;
        }

        .info-card small {
            display:block;
            color:var(--muted, rgba(255,255,255,.65));
            margin-bottom:10px;
            font-weight:700;
        }

        .info-card strong {
            display:block;
            font-size:1.26rem;
            line-height:1.35;
        }

        .section-title {
            text-align:center;
            margin-bottom:44px;
        }

        .section-title h2 {
            font-size:clamp(2rem,5vw,4rem);
            margin-bottom:18px;
            letter-spacing:-.045em;
        }

        .section-title p {
            max-width:820px;
            margin:0 auto;
            color:var(--muted, rgba(255,255,255,.68));
            line-height:1.9;
        }

        .cards-4 {
            display:grid;
            grid-template-columns:repeat(4,1fr);
            gap:20px;
            margin-bottom:82px;
        }

        .experience-grid {
            display:grid;
            grid-template-columns:repeat(3,1fr);
            gap:24px;
            margin-bottom:86px;
        }

        .experience-card {
            position:relative;
            overflow:hidden;
            transition:.3s ease;
        }

        .experience-card:hover {
            transform:translateY(-7px);
        }

        .experience-icon {
            width:70px;
            height:70px;
            border-radius:22px;
            display:flex;
            align-items:center;
            justify-content:center;
            font-size:1.8rem;
            margin-bottom:24px;
            background:linear-gradient(135deg, rgba(0,242,255,.15), rgba(188,0,255,.15));
            border:1px solid rgba(255,255,255,.08);
        }

        .experience-card h3,
        .bonus-card h3,
        .measurement-card h3,
        .video-card h3 {
            font-size:1.42rem;
            margin-bottom:14px;
        }

        .experience-card p,
        .bonus-card p,
        .measurement-card p,
        .video-card p {
            color:var(--muted, rgba(255,255,255,.68));
            line-height:1.9;
        }

        .schedule-wrap {
            margin-bottom:92px;
        }

        .schedule-grid {
            display:grid;
            grid-template-columns:repeat(3,1fr);
            gap:24px;
        }

        .day-card {
            position:relative;
            overflow:hidden;
        }

        .day-card::after {
            content:"";
            position:absolute;
            width:180px;
            height:180px;
            border-radius:999px;
            right:-80px;
            top:-70px;
            background:radial-gradient(circle, rgba(0,242,255,.13), transparent 68%);
            pointer-events:none;
        }

        .day-label {
            display:inline-block;
            padding:10px 14px;
            border-radius:999px;
            background:rgba(255,255,255,.06);
            color:var(--accent-blue, #00f2ff);
            font-size:.82rem;
            font-weight:800;
            margin-bottom:20px;
        }

        .day-card h3 {
            font-size:1.7rem;
            margin-bottom:20px;
        }

        .schedule-list {
            display:grid;
            gap:14px;
        }

        .schedule-item {
            padding:14px 16px;
            border-radius:18px;
            background:rgba(255,255,255,.04);
            border:1px solid rgba(255,255,255,.06);
        }

        .schedule-item strong {
            display:block;
            margin-bottom:6px;
        }

        .schedule-item span {
            color:var(--muted, rgba(255,255,255,.68));
            line-height:1.7;
            font-size:.94rem;
        }

        .measurement-section {
            display:grid;
            grid-template-columns:1.1fr .9fr;
            gap:24px;
            align-items:stretch;
            margin-bottom:90px;
        }

        .measurement-card {
            position:relative;
            overflow:hidden;
            padding:38px;
        }

        .measurement-card::before {
            content:"";
            position:absolute;
            inset:auto -90px -130px auto;
            width:260px;
            height:260px;
            border-radius:999px;
            background:radial-gradient(circle, rgba(188,0,255,.16), transparent 70%);
        }

        .feature-list {
            display:grid;
            gap:12px;
            margin-top:24px;
            padding:0;
            list-style:none;
        }

        .feature-list li {
            padding:13px 15px;
            border-radius:16px;
            background:rgba(255,255,255,.045);
            border:1px solid rgba(255,255,255,.065);
            color:rgba(255,255,255,.83);
        }

        .bonus-card {
            margin-bottom:90px;
            padding:42px;
            background:
                linear-gradient(135deg, rgba(0,242,255,.08), rgba(188,0,255,.08)),
                rgba(255,255,255,.04);
        }

        .bonus-grid {
            display:grid;
            grid-template-columns:1fr 1fr;
            gap:22px;
            margin-top:24px;
        }

        .video-grid {
            display:grid;
            grid-template-columns:1fr 1fr;
            gap:24px;
            margin-bottom:90px;
        }

        .video-card {
            overflow:hidden;
            padding:0;
        }

        .video-content {
            padding:26px;
        }

        .video-frame {
            position:relative;
            width:100%;
            aspect-ratio:16/9;
            background:rgba(255,255,255,.05);
            overflow:hidden;
        }

        .video-frame.short {
            aspect-ratio:9/16;
            max-height:520px;
            margin:0 auto;
        }

        .video-frame iframe {
            position:absolute;
            inset:0;
            width:100%;
            height:100%;
            border:0;
        }

        .gallery-grid {
            display:grid;
            grid-template-columns:2fr 1fr 1fr;
            gap:20px;
            margin-bottom:90px;
        }

        .gallery-item {
            position:relative;
            min-height:260px;
            border-radius:28px;
            overflow:hidden;
            background:
                linear-gradient(135deg, rgba(0,242,255,.12), rgba(188,0,255,.12)),
                rgba(255,255,255,.04);
            border:1px solid rgba(255,255,255,.08);
            display:flex;
            align-items:flex-end;
            padding:26px;
        }

        .gallery-item.large {
            min-height:540px;
        }

        .gallery-overlay h3 {
            margin-bottom:10px;
        }

        .gallery-overlay p {
            color:var(--muted, rgba(255,255,255,.68));
            line-height:1.8;
        }

        .faq-wrap {
            display:grid;
            gap:18px;
            margin-bottom:90px;
        }

        .faq-item {
            border-radius:24px;
            border:1px solid rgba(255,255,255,.08);
            background:rgba(255,255,255,.04);
            overflow:hidden;
        }

        .faq-question {
            padding:24px 28px;
            font-weight:800;
        }

        .faq-answer {
            padding:0 28px 24px;
            color:var(--muted, rgba(255,255,255,.68));
            line-height:1.9;
        }

        .waitlist-box {
            text-align:center;
            padding:60px 40px;
            border-radius:36px;
            background:
                linear-gradient(135deg, rgba(0,242,255,.08), rgba(188,0,255,.08)),
                rgba(255,255,255,.04);
            border:1px solid rgba(255,255,255,.08);
        }

        .waitlist-box h2 {
            font-size:clamp(2rem,5vw,4rem);
            margin-bottom:18px;
        }

        .waitlist-box p {
            max-width:760px;
            margin:0 auto 36px;
            color:var(--muted, rgba(255,255,255,.68));
            line-height:1.9;
        }

        .waitlist-form {
            display:grid;
            grid-template-columns:repeat(2,1fr);
            gap:18px;
            max-width:900px;
            margin:0 auto;
        }

        .waitlist-form input,
        .waitlist-form select,
        .waitlist-form textarea {
            width:100%;
            padding:18px;
            border-radius:18px;
            border:1px solid rgba(255,255,255,.08);
            background:rgba(255,255,255,.05);
            color:white;
            font-family:inherit;
            outline:none;
        }

        .waitlist-form select option {
            color:#111;
        }

        .waitlist-form textarea {
            min-height:150px;
            resize:vertical;
            grid-column:1/-1;
        }

        .waitlist-form button {
            grid-column:1/-1;
        }

        .form-note {
            grid-column:1/-1;
            color:var(--muted, rgba(255,255,255,.65));
            font-size:.92rem;
            line-height:1.7;
        }

        footer {
            color:var(--muted, rgba(255,255,255,.65));
            text-align:center;
            padding:45px 20px;
        }


        .form-check {
            display:flex;
            align-items:flex-start;
            gap:12px;
            text-align:left;
            padding:14px 16px;
            border-radius:18px;
            background:rgba(255,255,255,.045);
            border:1px solid rgba(255,255,255,.07);
        }

        .form-check input {
            width:auto;
            margin-top:4px;
            accent-color:var(--weekend-cyan);
        }

        .form-check span {
            display:block;
        }

        .btn-main:disabled {
            opacity:.55;
            cursor:not-allowed;
            transform:none;
        }

        @media(max-width:1100px) {
            .info-strip,
            .cards-4 {
                grid-template-columns:repeat(2,1fr);
            }

            .experience-grid,
            .schedule-grid,
            .measurement-section,
            .video-grid,
            .gallery-grid {
                grid-template-columns:1fr;
            }

            .gallery-item.large {
                min-height:320px;
            }
        }

        @media(max-width:720px) {
            .weekend-hero {
                padding:54px 26px;
                border-radius:30px;
            }

            .info-strip,
            .cards-4,
            .waitlist-form,
            .bonus-grid {
                grid-template-columns:1fr;
            }

            .waitlist-box {
                padding:44px 22px;
            }

            .measurement-card,
            .bonus-card {
                padding:28px;
            }

            .hero-actions a {
                width:100%;
            }
        }

/* =========================================================
   ORLICKÉ HORY — stronger date/place visibility
   ========================================================= */
.weekend-hero-meta {
    display: grid;
    grid-template-columns: minmax(240px, .62fr) minmax(280px, 1fr);
    gap: 18px;
    max-width: 920px;
    margin: 34px 0 10px;
}

.weekend-hero-meta-card {
    position: relative;
    overflow: hidden;
    padding: 24px 26px;
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(0,242,255,.13), rgba(188,0,255,.10)),
        rgba(255,255,255,.055);
    border: 1px solid rgba(0,242,255,.18);
    box-shadow: 0 18px 50px rgba(0,0,0,.18);
}

.weekend-hero-meta-card::after {
    content: "";
    position: absolute;
    inset: auto -60px -90px auto;
    width: 190px;
    height: 190px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(0,242,255,.18), transparent 68%);
    pointer-events: none;
}

.weekend-hero-meta-card span {
    display: block;
    color: var(--accent-blue);
    font-size: .86rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 10px;
}

.weekend-hero-meta-card strong {
    display: block;
    color: #fff;
    font-size: clamp(1.45rem, 3vw, 2.55rem);
    line-height: 1.12;
    letter-spacing: -.045em;
}

.info-card-primary {
    border-color: rgba(0,242,255,.22) !important;
    background:
        linear-gradient(135deg, rgba(0,242,255,.10), rgba(188,0,255,.075)),
        rgba(255,255,255,.05) !important;
}

.info-card-primary small {
    color: var(--accent-blue) !important;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .8rem;
}

.info-card-primary strong {
    font-size: clamp(1.5rem, 2.4vw, 2.15rem) !important;
    line-height: 1.12 !important;
}

body.theme-light .weekend-hero-meta-card {
    background:
        linear-gradient(135deg, rgba(24,119,255,.10), rgba(255,46,166,.08)),
        rgba(255,255,255,.78);
    border-color: rgba(24,119,255,.16);
}

body.theme-light .weekend-hero-meta-card strong {
    color: #07101a;
}

@media(max-width:720px) {
    .weekend-hero-meta {
        grid-template-columns: 1fr;
        margin-top: 28px;
    }

    .weekend-hero-meta-card {
        padding: 22px;
        border-radius: 24px;
    }
}

/* =========================================================
   ORLICKÉ HORY — cena, kapacita a podmínky
   ========================================================= */

.weekend-terms {
    position: relative;
    overflow: hidden;
    padding: clamp(32px, 5vw, 60px);
    text-align: center;
}

.weekend-terms::before {
    content: "";
    position: absolute;
    inset: -20%;
    background:
        radial-gradient(circle at top left, rgba(0,242,255,.14), transparent 40%),
        radial-gradient(circle at bottom right, rgba(188,0,255,.14), transparent 40%);
    pointer-events: none;
}

.weekend-terms > * {
    position: relative;
    z-index: 1;
}

.weekend-terms h2 {
    font-size: clamp(2rem, 5vw, 3.8rem);
    margin-bottom: 18px;
}

.section-text {
    max-width: 780px;
    margin: 0 auto;
    text-align: center;
    line-height: 1.85;
    color: var(--muted);
}

.terms-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 42px;
}

.terms-card {
    position: relative;
    padding: 28px;
    border-radius: 30px;
    text-align: left;
    background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04));
    border: 1px solid rgba(255,255,255,.09);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.terms-card:hover {
    transform: translateY(-6px);
    border-color: rgba(0,242,255,.28);
    box-shadow: 0 20px 40px rgba(0,0,0,.24);
}

.terms-icon {
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    margin-bottom: 22px;
    font-size: 1.4rem;
    background: linear-gradient(135deg, rgba(0,242,255,.18), rgba(188,0,255,.18));
    border: 1px solid rgba(255,255,255,.08);
}

.terms-card small {
    display: block;
    margin-bottom: 12px;
    font-size: .82rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--accent-blue);
}

.terms-card strong {
    display: block;
    margin-bottom: 14px;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    line-height: 1.1;
    color: #fff;
}

.terms-card p {
    line-height: 1.75;
    color: var(--muted);
}

.terms-info {
    display: grid;
    grid-template-columns: 1.3fr .7fr;
    gap: 24px;
    margin-top: 34px;
    text-align: left;
}

.terms-box,
.terms-note {
    padding: 30px;
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
    border: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.terms-box h3 {
    margin-bottom: 24px;
    font-size: 1.35rem;
}

.terms-list {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.terms-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px;
    border-radius: 20px;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.06);
}

.terms-list li::before {
    display: none;
}

.terms-list span {
    color: var(--muted);
}

.terms-list strong {
    color: #fff;
    font-size: .96rem;
    text-align: right;
}

.terms-note {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.note-icon {
    width: 62px;
    height: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    border-radius: 20px;
    font-size: 1.5rem;
    background: linear-gradient(135deg, rgba(0,242,255,.18), rgba(188,0,255,.18));
    border: 1px solid rgba(255,255,255,.08);
}

.terms-note p {
    margin: 0 0 16px;
    line-height: 1.8;
    color: var(--muted);
}

.info-card-price,
.info-card-capacity {
    border-color: rgba(0,242,255,.22) !important;
    background:
        linear-gradient(135deg, rgba(0,242,255,.10), rgba(188,0,255,.075)),
        rgba(255,255,255,.05) !important;
}

.info-card-price small,
.info-card-capacity small {
    color: var(--accent-blue) !important;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .8rem;
}

.info-card-price strong,
.info-card-capacity strong {
    font-size: clamp(1.5rem, 2.4vw, 2.15rem) !important;
    line-height: 1.12 !important;
}

.weekend-hero-price,
.weekend-hero-capacity {
    border-color: rgba(188,0,255,.22);
}

body.theme-light .terms-card,
body.theme-light .terms-box,
body.theme-light .terms-note {
    background: rgba(255,255,255,.78);
    border-color: rgba(11,18,32,.08);
}

body.theme-light .terms-card strong,
body.theme-light .terms-list strong {
    color: #07101a;
}

body.theme-light .terms-list li {
    background: rgba(24,119,255,.055);
    border-color: rgba(24,119,255,.10);
}

@media(max-width: 980px) {
    .terms-grid,
    .terms-info {
        grid-template-columns: 1fr;
    }

    .terms-list li {
        flex-direction: column;
        align-items: flex-start;
    }

    .terms-list strong {
        text-align: left;
    }
}

/* FIX — Pro koho je víkend vhodný */
.retreat-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    margin-bottom:70px;
}

.retreat-card{
    overflow:hidden;
    padding:0 !important;
    border-radius:28px;
}

.retreat-card-image{
    height:150px;
    overflow:hidden;
}

.retreat-card.large .retreat-card-image{
    height:150px;
}

.retreat-card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.retreat-card-content{
    padding:22px;
}

.retreat-card-content h3{
    font-size:1.25rem;
    margin-bottom:10px;
}

.retreat-card-content p{
    font-size:.95rem;
    line-height:1.6;
}

@media(max-width:900px){
    .retreat-grid{
        grid-template-columns:1fr;
    }

    .retreat-card-image,
    .retreat-card.large .retreat-card-image{
        height:180px;
    }
}

.success-box{
    padding:32px;
    border-radius:28px;

    background:
        linear-gradient(
            135deg,
            rgba(0,212,255,.12),
            rgba(168,85,247,.12)
        );

    border:1px solid rgba(255,255,255,.08);

    text-align:center;
}

.success-box h3{
    margin-bottom:12px;
}

/* FIX — dropdown se nezavírá při přejezdu myší */
@media (min-width: 969px) {

    .dropdown {
        padding-bottom: 18px;
        margin-bottom: -18px;
    }

    .dropdown-menu,
    .modern-dropdown {
        top: calc(100% + 4px) !important;
    }

    .dropdown::after {
        content: "";
        position: absolute;
        left: -12px;
        right: -12px;
        top: 100%;
        height: 22px;
        background: transparent;
    }

}

body.theme-light .nav-links a,
body.theme-light .dropdown-toggle {
    color: #111827 !important;
}

.nav-socials{
    display:flex;
    align-items:center;
    gap:10px;
    margin-left:14px;
}

.nav-social{
    width:38px;
    height:38px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.08);
    transition:.25s ease;
    backdrop-filter:blur(10px);
}

.nav-social:hover{
    transform:translateY(-2px);
    border-color:rgba(0,229,255,.35);
    background:rgba(255,255,255,.1);
}

.nav-social img{
    width:18px;
    height:18px;
    object-fit:contain;
}

/* =========================================================
   FINAL NAV CLEAN — jednotná výška menu
   ========================================================= */

#mainNav{
    height:64px !important;
    min-height:64px !important;
    padding:0 5% !important;
    align-items:center !important;
    background:rgba(5,6,20,.82);
    transition:background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

#mainNav.scrolled,
#mainNav.is-solid{
    height:64px !important;
    min-height:64px !important;
    padding:0 5% !important;
    background:rgba(5,6,20,.94) !important;
}

#mainNav .logo-area{
    height:64px !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
}

#mainNav .logo-link{
    display:inline-flex !important;
    align-items:center !important;
    line-height:1 !important;
    text-decoration:none !important;
}

#mainNav .logo-img{
    height:72px !important;
    width:auto !important;
    max-height:none !important;
    display:block !important;
}

#mainNav .nav-links{
    align-items:center !important;
    gap:clamp(10px,1.1vw,18px) !important;
    flex-wrap:nowrap !important;
}

#mainNav .nav-links a,
#mainNav .dropdown-toggle{
    font-size:14px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
}

#mainNav .btn-login{
    padding:8px 18px !important;
    font-size:14px !important;
}

#mainNav .nav-socials{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin-left:10px !important;
}

#mainNav .nav-social{
    width:32px !important;
    height:32px !important;
    flex:0 0 32px !important;
    border-radius:10px !important;
}

#mainNav .nav-social img{
    width:17px !important;
    height:17px !important;
    object-fit:contain !important;
}

:root{
    --header-height:64px;
    --page-top-offset:88px;
}

html{
    scroll-padding-top:98px !important;
}

.page-wrap,
.container.page-wrap,
main.page-wrap{
    padding-top:var(--page-top-offset) !important;
}

/* mobile menu */
@media(max-width:968px){
    #mainNav{
        height:68px !important;
        min-height:68px !important;
        padding:0 5% !important;
    }

    #mainNav.scrolled,
    #mainNav.is-solid{
        height:68px !important;
        min-height:68px !important;
    }

    #mainNav .logo-area{
        height:68px !important;
    }

    #mainNav .logo-img{
        height:58px !important;
    }

    #mainNav .nav-socials{
        display:none !important;
    }

    #mainNav .nav-links{
        flex-wrap:nowrap !important;
        gap:10px !important;
    }

    .nav-links a,
    .dropdown-toggle,
    .theme-toggle-nav{
        width:100% !important;
        min-width:100% !important;
        padding:12px 14px !important;
    }

    :root{
        --header-height:68px;
        --page-top-offset:94px;
    }

    .page-wrap,
    .container.page-wrap,
    main.page-wrap{
        padding-top:var(--page-top-offset) !important;
    }
}
.theme-toggle-nav{
    display:none !important;
}

body{
    background: radial-gradient(circle at 20% 30%, #161845 0%, #050614 70%) !important;
    color:#fff !important;
}

/* =========================================================
   FINAL DARK ONLY + MENU + GLP FIX
   Tento blok je schválně úplně dole, aby přepsal starší styly.
   ========================================================= */

/* Zrušení světlého režimu */
.theme-toggle-nav,
.theme-toggle-floating{
    display:none !important;
}

html.theme-light body,
body.theme-light,
html.theme-dark body,
body.theme-dark,
body{
    --dark-bg:#050614 !important;
    --text:#ffffff !important;
    --muted:rgba(255,255,255,.72) !important;
    --glass:rgba(255,255,255,.05) !important;
    --border:rgba(255,255,255,.10) !important;
    --menu-purple:rgba(10,12,40,.95) !important;
    --shadow-soft:0 10px 30px rgba(0,0,0,.22) !important;
    --shadow-card:0 18px 40px rgba(0,0,0,.30) !important;

    color:#ffffff !important;
    background:
        radial-gradient(circle at 20% 30%, #161845 0%, #050614 70%) !important;
}

body::before{
    background:
        radial-gradient(circle at 80% 20%, rgba(0,242,255,.08), transparent 25%),
        radial-gradient(circle at 20% 80%, rgba(188,0,255,.08), transparent 25%) !important;
}

/* Menu sjednocené na všech stránkách */
#mainNav,
#mainNav.scrolled,
#mainNav.is-solid{
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    padding:0 5% !important;
    align-items:center !important;
    background:rgba(5,6,20,.92) !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
}

#mainNav .logo-area{
    height:64px !important;
    min-height:64px !important;
    max-height:64px !important;
    display:flex !important;
    align-items:center !important;
    gap:12px !important;
}

#mainNav .logo-link{
    display:inline-flex !important;
    align-items:center !important;
    line-height:1 !important;
    text-decoration:none !important;
}

#mainNav .logo-img{
    height:72px !important;
    width:auto !important;
    max-height:72px !important;
    display:block !important;
}

#mainNav .nav-links{
    align-items:center !important;
    gap:clamp(10px,1.1vw,18px) !important;
    flex-wrap:nowrap !important;
}

#mainNav .nav-links a,
#mainNav .dropdown-toggle{
    color:rgba(255,255,255,.78) !important;
    font-size:14px !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
}

#mainNav .nav-links a:hover,
#mainNav .nav-links a.active,
#mainNav .dropdown:hover .dropdown-toggle,
#mainNav .dropdown.open .dropdown-toggle,
#mainNav .dropdown-toggle.active{
    color:var(--accent-blue) !important;
}

#mainNav .btn-login{
    padding:8px 18px !important;
    font-size:14px !important;
}

#mainNav .nav-socials{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin-left:10px !important;
}

#mainNav .nav-social{
    width:32px !important;
    height:32px !important;
    flex:0 0 32px !important;
    border-radius:10px !important;
}

#mainNav .nav-social img{
    width:17px !important;
    height:17px !important;
    object-fit:contain !important;
}

/* Globální offset pod fixním menu */
:root{
    --header-height:64px !important;
    --page-top-offset:88px !important;
}

html{
    scroll-padding-top:98px !important;
}

.page-wrap,
.container.page-wrap,
main.page-wrap{
    padding-top:var(--page-top-offset) !important;
}

/* GLP / moderní léčba box */
.glp-box{
    display:flex !important;
    grid-template-columns:unset !important;
    gap:18px !important;
    align-items:flex-start !important;

    width:100%;
    margin-top:28px !important;
    padding:24px !important;

    border-radius:28px !important;

    background:
        linear-gradient(
            135deg,
            rgba(0,242,255,.09),
            rgba(188,0,255,.09)
        ) !important;

    border:1px solid rgba(255,255,255,.10) !important;

    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);

    box-shadow:0 14px 40px rgba(0,0,0,.18);
}

.glp-icon{
    width:64px !important;
    height:64px !important;
    min-width:64px !important;

    border-radius:20px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    flex:0 0 64px !important;

    background:
        linear-gradient(
            135deg,
            #00f2ff,
            #7b61ff
        ) !important;

    font-size:30px !important;

    box-shadow:0 10px 30px rgba(0,242,255,.25);
}

.glp-content{
    min-width:0;
}

.glp-content strong{
    display:block !important;
    margin-bottom:10px !important;

    color:#fff !important;
    font-size:1.15rem !important;
    line-height:1.35;
}

.glp-content p{
    margin:0 !important;

    color:rgba(255,255,255,.78) !important;

    line-height:1.85 !important;
}

/* Mobil */
@media(max-width:968px){
    #mainNav,
    #mainNav.scrolled,
    #mainNav.is-solid{
        height:68px !important;
        min-height:68px !important;
        max-height:68px !important;
    }

    #mainNav .logo-area{
        height:68px !important;
        min-height:68px !important;
        max-height:68px !important;
    }

    #mainNav .logo-img{
        height:58px !important;
        max-height:58px !important;
    }

    #mainNav .nav-socials{
        display:none !important;
    }

    #mainNav .nav-links{
        flex-wrap:nowrap !important;
        gap:10px !important;
    }

    .nav-links a,
    .dropdown-toggle{
        width:100% !important;
        min-width:100% !important;
        padding:12px 14px !important;
    }

    :root{
        --header-height:68px !important;
        --page-top-offset:94px !important;
    }

    .page-wrap,
    .container.page-wrap,
    main.page-wrap{
        padding-top:var(--page-top-offset) !important;
    }
}

@media(max-width:720px){
    .glp-box{
        flex-direction:column !important;
        padding:22px !important;
    }

    .glp-icon{
        width:58px !important;
        height:58px !important;
        min-width:58px !important;
        flex-basis:58px !important;
        font-size:28px !important;
    }
}

