html {
    scroll-behavior: smooth;
}

/* --- UNIVERZÁLNÍ OFFSET PRO STICKY HEADER --- */
:root {
    --header-h: 72px;
}

/* fallback, JS dopočítá reálnou výšku */
[id] {
    scroll-margin-top: calc(var(--header-h) + 8px);
}

/* rezerva 8px */

/* Pomocné třídy – žádné skrytí přes CSS!
Skutečný "initial state" nastavuje až GSAP v JS,
takže bez JS zůstanou prvky normálně viditelné. */
.hero-clip {
    clip-path: inset(0);
}

/* iOS nefunkční background-attachment:fixed – řešíme transformací <img> */
.cover-abs {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Vizuální drobnosti */
.card:hover {
    transform: translateY(-2px);
}

.shadow-smooth {
    box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
}

/* PARTNEŘI – nekonečný slider */
.partner-marquee {
    overflow: hidden;
}

.partner-marquee .marquee {
    position: relative;
}

.partner-marquee .marquee__inner {
    display: flex;
    align-items: center;
    gap: 2.5rem;
    /* ~ Tailwind gap-10 */
    width: max-content;
    /* šířka dle obsahu */
    will-change: transform;
}

/* plynulé posouvání zprava doleva */
@keyframes partners-marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }

    /* posun o šířku první skupiny */
}

.partner-marquee .animate-marquee {
    animation: partners-marquee 28s linear infinite;
}

.partner-marquee:hover .animate-marquee {
    animation-play-state: paused;
}

/* Uživatelé s omezeným pohybem – animace vypnout */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }

    .partner-marquee .animate-marquee {
        animation: none !important;
        transform: none !important;
    }
}

/* PARTNEŘI – vlastní tooltip */
.partner-tooltip {
    position: fixed;
    z-index: 60;
    pointer-events: none;
    background: #fff;
    color: #0f172a;
    border: 1px solid rgba(1, 54, 102, 0.12);
    border-radius: 0.75rem;
    padding: 0.75rem 1rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .14);
    max-width: 22rem;
    font-size: .95rem;
    line-height: 1.45;
}

.partner-tooltip .title {
    font-weight: 700;
    color: #013666;
    margin-bottom: .15rem;
}

.partner-tooltip .desc {
    color: #4b5563;
}

.partner-marquee [data-name] {
    cursor: help;
}

/* JÍZDENKY - odrážky */
.jizdenky li::before {
    content: '✓ ';
    margin-right: 0.5rem;
    color: #48bb78;
    font-weight: bold;
}

/* ===== Scroll Story fotky ===== */

.photo-wrapper {
    position: relative;
    overflow: hidden;

    /* iPhone Safari FIX */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: transform;
    -webkit-mask-image: none;
    mask-image: none;
}

.story-img {
    width: 100%;
    height: 100%;
    /* důležité pro správné vyplnění wrapperu */
    object-fit: cover;
    /* zabrání odhaleným bílým místům */
    display: block;

    /* základní scale pro GSAP parallax */
    transform: scale(1.3);
    will-change: transform;

    /* iPhone Safari FIX */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

/* jemný gradient přes fotku */
.photo-wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,
            rgba(0, 0, 0, 0.35),
            rgba(0, 0, 0, 0.0) 50%);
    pointer-events: none;
}