/**
 * Kormuth Site Manager — frontend styles
 *
 * Štruktúra cez @layer pre čistý cascade management:
 *  - reset    → základ
 *  - base     → typografia + premenné
 *  - layout   → sekcie
 *  - nav      → hlavička (s modernými scroll-driven animáciami)
 *  - footer   → pätka
 *  - player   → music player
 *  - anim     → animácie
 *  - modern   → progresívne vylepšenia pre nové prehliadače
 *  - responsive
 */

@layer reset, base, layout, nav, footer, player, anim, modern, responsive, astra-override;

/* ════════════════════ RESET ════════════════════ */
@layer reset {
    .kormuth-page *,
    .kormuth-page *::before,
    .kormuth-page *::after { box-sizing: border-box; margin: 0; padding: 0; }
}

/* ════════════════════ BASE ════════════════════ */
@layer base {
    .kormuth-page {
        --peach: #d6a787;
        --peach-soft: #e6c1a4;
        --peach-dark: #b8825e;
        --gold: #b89567;
        --gold-light: #d4b88e;
        --dark: #2a2520;
        --cream: #f4ede2;
        --text: #3b3530;
    }

    html { scroll-behavior: smooth; }

    .kormuth-page {
        font-family: 'Jost', sans-serif;
        font-weight: 300;
        background: #fff;
        color: var(--text);
        overflow-x: hidden;
        line-height: 1.6;
    }
    .kormuth-page img { display: block; max-width: 100%; }
}

/* ════════════════════ NAV ════════════════════ */
@layer nav {
    .kk-nav {
        position: fixed;
        top: 0; left: 0; right: 0;
        z-index: 100;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 18px 40px;
        background: rgba(255,255,255,0);
        transition: background .4s, padding .4s, box-shadow .4s;
    }
    .kk-nav.scrolled {
        background: rgba(255,255,255,0.97);
        padding: 12px 40px;
        box-shadow: 0 1px 20px rgba(0,0,0,.06);
    }
    .kk-nav .nav-links { display: flex; gap: 34px; list-style: none; }
    .kk-nav .nav-links a {
        text-decoration: none;
        color: #fff;
        mix-blend-mode: difference;
        font-family: 'Jost', sans-serif;
        font-size: 11px;
        letter-spacing: 3px;
        text-transform: uppercase;
        font-weight: 400;
        transition: opacity .25s;
    }
    .kk-nav.scrolled .nav-links a { color: var(--dark); mix-blend-mode: normal; }
    .kk-nav .nav-links a:hover { opacity: .65; }

    .kk-nav .lang-switcher { display: flex; gap: 8px; align-items: center; }
    .kk-nav .lang-btn {
        display: flex;
        align-items: center;
        gap: 6px;
        background: none;
        border: 1px solid transparent;
        cursor: pointer;
        padding: 5px 9px;
        border-radius: 2px;
        font-family: 'Jost', sans-serif;
        font-size: 10.5px;
        letter-spacing: 2px;
        font-weight: 500;
        color: #fff;
        mix-blend-mode: difference;
        transition: all .2s;
    }
    .kk-nav.scrolled .lang-btn { color: var(--dark); mix-blend-mode: normal; }
    .kk-nav .lang-btn.active { border-color: currentColor; }
    .kk-nav .lang-btn:hover { opacity: .7; }

    .kk-nav .flag {
        width: 18px; height: 12px;
        display: inline-block;
        border-radius: 1px;
        box-shadow: 0 0 0 1px rgba(0,0,0,.15);
        flex-shrink: 0;
    }
    .kk-nav .flag-sk {
        background: linear-gradient(180deg, #fff 33.33%, #0b4ea2 33.33%, #0b4ea2 66.66%, #ee1c25 66.66%);
    }
    .kk-nav .flag-en {
        background-image:
            linear-gradient(45deg, transparent 45%, #fff 45%, #fff 55%, transparent 55%),
            linear-gradient(-45deg, transparent 45%, #fff 45%, #fff 55%, transparent 55%),
            linear-gradient(180deg, transparent 40%, #C8102E 40%, #C8102E 60%, transparent 60%),
            linear-gradient(90deg, transparent 40%, #C8102E 40%, #C8102E 60%, transparent 60%),
            linear-gradient(180deg, #012169, #012169);
    }
    .kk-nav .flag-de {
        background: linear-gradient(180deg, #000 33.33%, #DD0000 33.33%, #DD0000 66.66%, #FFCE00 66.66%);
    }
    /* NOVÁ vlajka: Španielsko (červeno-žlto-červená) */
    .kk-nav .flag-es {
        background: linear-gradient(180deg, #aa151b 25%, #f1bf00 25%, #f1bf00 75%, #aa151b 75%);
    }
}

/* ════════════════════ LAYOUT (sekcie) ════════════════════ */
@layer layout {
    /* HERO */
    .hero {
        display: grid;
        grid-template-columns: 1fr 1fr;
        min-height: 100vh;
        background: var(--peach);
    }
    .hero-left {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 80px 60px;
        text-align: center;
        color: #fff;
    }
    .hero-title {
        font-family: 'Cormorant Garamond', 'Cormorant', serif;
        font-weight: 400;
        font-size: clamp(48px, 5.5vw, 92px);
        line-height: 1.05;
        letter-spacing: 0.5px;
        margin-bottom: 50px;
        color: #fff;
        text-shadow: 0 2px 20px rgba(0,0,0,0.08);
    }
    .hero-eyebrow {
        font-family: 'Jost', sans-serif;
        font-size: 12px;
        letter-spacing: 5px;
        text-transform: uppercase;
        font-weight: 400;
        margin-bottom: 14px;
        color: #fff;
    }
    .hero-divider {
        width: 60px;
        height: 1px;
        background: #fff;
        transform: rotate(-18deg);
        margin: 24px auto 36px;
        opacity: .85;
    }

    /* Hero 3D logo — náhrada za lomítko, otáča sa okolo zvislej osi (Y) */
    .hero-logo-3d {
        margin: 18px auto 30px;
        width: clamp(56px, 6vw, 84px);
        height: auto;
        perspective: 800px;
        display: block;
    }
    .hero-logo-3d img {
        width: 100%;
        height: auto;
        display: block;
        filter: drop-shadow(0 4px 12px rgba(0,0,0,.25));
        animation: kk-hero-flip 7s cubic-bezier(.5,0,.5,1) infinite;
        transform-style: preserve-3d;
        backface-visibility: visible;
    }
    @keyframes kk-hero-flip {
        0%   { transform: rotateY(0deg); }
        45%  { transform: rotateY(180deg); }
        55%  { transform: rotateY(180deg); }   /* malá pauza na "rube" */
        100% { transform: rotateY(360deg); }
    }
    .hero-logo-3d[data-spin="off"] img { animation: none; }
    .hero-text {
        max-width: 380px;
        font-size: 14.5px;
        line-height: 2;
        font-weight: 300;
        color: #fff;
    }
    .hero-right {
        position: relative;
        overflow: hidden;
        background-size: cover;
        background-position: center;
        will-change: transform;
    }
    .hero-right .hero-video {
        position: absolute; inset: 0;
        width: 100%; height: 100%;
        object-fit: cover;
    }

    /* PARALLAX INTERIOR */
    .parallax-interior {
        position: relative;
        height: 100vh;
        min-height: 600px;
        overflow: hidden;
        background-color: var(--dark);
    }
    .parallax-interior .bg {
        position: absolute;
        inset: -10% 0;
        background-size: cover;
        background-position: center;
        will-change: transform;
    }
    .parallax-interior .overlay {
        position: absolute;
        inset: 0;
        background: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.2) 50%, rgba(0,0,0,.45) 100%);
    }
    .parallax-interior .title-block {
        position: absolute;
        top: 50%;
        left: 8%;
        transform: translateY(-50%);
        display: flex;
        align-items: center;
        gap: 36px;
        z-index: 2;
    }
    .parallax-interior .logo-emblem {
        width: calc(110px * var(--kk-logo-scale, 1));
        height: auto;
        filter: drop-shadow(0 4px 12px rgba(0,0,0,.4));
        flex-shrink: 0;
        /* offset z dashboardu (X / Y v pixeloch) */
        translate: var(--kk-logo-x, 0px) var(--kk-logo-y, 0px);
        /* spin: pomalá otáčka s pauzou (70 % času stojí, 30 % sa otáča). */
        animation: kk-logo-spin var(--kk-logo-spin-duration, 25s) ease-in-out infinite;
        transform-origin: center center;
    }
    @keyframes kk-logo-spin {
        0%, 70%   { transform: rotate(0deg); }
        100%      { transform: rotate(360deg); }
    }
    /* OFF stav — vypnutie spinu z dashboardu */
    .parallax-interior .logo-emblem[data-spin="off"] {
        animation: none;
    }

    /* 3D logo (GLB cez <model-viewer>) — náhrada za 2D obrázok */
    .parallax-interior .logo-emblem-3d {
        width: calc(180px * var(--kk-logo-scale, 1));
        height: calc(180px * var(--kk-logo-scale, 1));
        flex-shrink: 0;
        translate: var(--kk-logo-x, 0px) var(--kk-logo-y, 0px);
        background-color: transparent;
        --poster-color: transparent;
        filter: drop-shadow(0 10px 25px rgba(0,0,0,.5));
        /* žiadne CSS spin — auto-rotate rieši samotné model-viewer */
    }
    @media (max-width: 900px) {
        .parallax-interior .logo-emblem-3d {
            width: calc(120px * var(--kk-logo-scale, 1));
            height: calc(120px * var(--kk-logo-scale, 1));
        }
    }
    .parallax-interior .title {
        color: #fff;
        font-family: 'Cormorant Garamond', serif;
        font-weight: 300;
        font-size: clamp(48px, 6vw, 96px);
        line-height: 1.05;
        letter-spacing: 1.5px;
        text-shadow: 0 4px 30px rgba(0,0,0,.5);
    }

    /* TRIPLE GALLERY */
    .triple-gallery {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0;
        background: #fff;
    }
    .triple-gallery .cell {
        position: relative;
        aspect-ratio: 1 / 1;
        overflow: hidden;
    }
    .triple-gallery .cell img {
        position: absolute;
        inset: 0;
        width: 100%; height: 100%;
        object-fit: cover;
        transition: transform 1.2s cubic-bezier(.2,.8,.2,1), filter .6s;
    }
    .triple-gallery .cell:hover img {
        transform: scale(1.06);
        filter: brightness(1.05);
    }

    /* BRAND SECTION */
    .brand-section { background: #fff; padding: 100px 40px 110px; text-align: center; position: relative; }
    .brand-meta { display: flex; justify-content: center; gap: 80px; margin-bottom: 50px; }
    .brand-meta span {
        font-size: 11px;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--text);
        font-weight: 400;
    }
    .brand-title-row { display: flex; align-items: center; justify-content: center; gap: 60px; flex-wrap: wrap; }
    .brand-title {
        font-family: 'Cormorant Garamond', serif;
        font-weight: 300;
        font-size: clamp(54px, 7vw, 110px);
        line-height: 1;
        color: var(--dark);
        letter-spacing: 1px;
    }
    .brand-divider {
        width: 80px; height: 1px;
        background: var(--gold);
        transform: rotate(-22deg);
        flex-shrink: 0;
    }

    /* ABOUT / HISTORY */
    .about-history { background: var(--cream); padding: 110px 40px; }
    .about-grid {
        max-width: 1100px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: 1fr 1.2fr;
        gap: 80px;
        align-items: center;
    }
    .about-grid img, .about-grid > .fade-up:first-child {
        width: 100%;
        aspect-ratio: 4/5;
        object-fit: cover;
        box-shadow: 0 30px 60px -20px rgba(0,0,0,.25);
    }
    .about-text .section-label {
        font-size: 11px;
        letter-spacing: 5px;
        text-transform: uppercase;
        color: var(--gold);
        margin-bottom: 18px;
        font-weight: 500;
    }
    .about-text h3 {
        font-family: 'Cormorant Garamond', serif;
        font-size: clamp(34px, 4vw, 50px);
        font-weight: 400;
        line-height: 1.15;
        color: var(--dark);
        margin-bottom: 28px;
    }
    .about-text p {
        font-size: 15px;
        line-height: 2;
        font-weight: 300;
        color: var(--text);
        margin-bottom: 18px;
    }

    /* MENU */
    .menu-section { background: #fff; padding: 110px 40px; text-align: center; }
    .menu-section .section-label {
        font-size: 11px;
        letter-spacing: 5px;
        text-transform: uppercase;
        color: var(--gold);
        margin-bottom: 18px;
        font-weight: 500;
    }
    .menu-section h2 {
        font-family: 'Cormorant Garamond', serif;
        font-size: clamp(40px, 5vw, 64px);
        font-weight: 300;
        color: var(--dark);
        margin-bottom: 70px;
        letter-spacing: 1px;
    }
    .menu-grid {
        max-width: 1100px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 80px;
        text-align: left;
    }
    .menu-col h4 {
        font-family: 'Cormorant Garamond', serif;
        font-size: 28px;
        font-weight: 400;
        color: var(--dark);
        letter-spacing: 1px;
        margin-bottom: 6px;
    }
    .menu-col .col-meta {
        font-size: 10px;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--gold);
        margin-bottom: 30px;
        font-weight: 500;
    }
    .menu-item {
        display: flex;
        align-items: baseline;
        gap: 12px;
        padding: 16px 0;
        border-bottom: 1px dotted rgba(0,0,0,.12);
    }
    .menu-item:last-child { border-bottom: none; }
    .menu-name { font-size: 14.5px; color: var(--text); font-weight: 400; flex: 0 0 auto; }
    .menu-dots {
        flex: 1 1 auto;
        border-bottom: 1px dotted rgba(0,0,0,.2);
        transform: translateY(-4px);
    }
    .menu-price {
        font-family: 'Cormorant Garamond', serif;
        font-size: 18px;
        font-weight: 500;
        color: var(--gold-light);
        flex: 0 0 auto;
        letter-spacing: 1px;
    }
    .menu-cta {
        margin-top: 60px;
        display: inline-block;
        padding: 14px 38px;
        border: 1px solid var(--gold);
        color: var(--gold);
        text-decoration: none;
        font-size: 11px;
        letter-spacing: 3px;
        text-transform: uppercase;
        transition: background .3s, color .3s;
    }
    .menu-cta:hover { background: var(--gold); color: #fff; }

    /* INSTAGRAM */
    .insta-strip { background: #fff; padding: 70px 0 0; text-align: center; }
    .insta-strip .section-label {
        font-size: 11px; letter-spacing: 5px; text-transform: uppercase;
        color: var(--gold); margin-bottom: 12px; font-weight: 500;
    }
    .insta-strip h2 {
        font-family: 'Cormorant Garamond', serif;
        font-size: clamp(28px, 3vw, 40px);
        font-weight: 300; color: var(--dark); margin-bottom: 50px;
    }
    .insta-strip h2 a { color: inherit; text-decoration: none; transition: color .2s; }
    .insta-strip h2 a:hover { color: var(--gold); }
    .insta-row { display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; }
    .insta-row .insta-cell {
        position: relative; aspect-ratio: 1 / 1; overflow: hidden; cursor: pointer;
    }
    .insta-row .insta-cell img {
        position: absolute; inset: 0;
        width: 100%; height: 100%;
        object-fit: cover;
        transition: transform .8s ease, filter .3s;
    }
    .insta-row .insta-cell::after {
        content: '';
        position: absolute; inset: 0;
        background: rgba(184,149,103,0);
        transition: background .35s;
    }
    .insta-row .insta-cell:hover img { transform: scale(1.08); filter: brightness(.85); }
    .insta-row .insta-cell:hover::after { background: rgba(184,149,103,0.3); }

    /* MAP */
    .map-strip { position: relative; height: 380px; width: 100%; }
    .map-strip iframe {
        width: 100%; height: 100%;
        border: 0; display: block;
        filter: grayscale(0.2) contrast(1.05);
    }
    .map-overlay {
        position: absolute;
        top: 50%; left: 50%;
        transform: translate(-50%, -50%);
        background: rgba(255,255,255,.96);
        padding: 30px 44px;
        box-shadow: 0 20px 60px rgba(0,0,0,.18);
        text-align: center;
        max-width: 90%;
    }
    .map-overlay h4 {
        font-family: 'Cormorant Garamond', serif;
        font-size: 26px; font-weight: 400; color: var(--dark);
        margin-bottom: 6px; letter-spacing: 1px;
    }
    .map-overlay p { font-size: 13px; color: var(--text); margin-bottom: 16px; letter-spacing: .5px; }
    .map-btn {
        display: inline-block;
        padding: 11px 28px;
        background: var(--gold);
        color: #fff;
        text-decoration: none;
        font-size: 11px;
        letter-spacing: 2.5px;
        text-transform: uppercase;
        transition: background .25s;
    }
    .map-btn:hover { background: var(--peach-dark); }
}

/* ════════════════════ FOOTER ════════════════════ */
@layer footer {
    .kormuth-page footer {
        background: #fff;
        color: var(--text);
        padding: 80px 40px 40px;
        border-top: 1px solid rgba(0,0,0,.08);
    }
    .footer-grid {
        max-width: 1200px;
        margin: 0 auto;
        display: grid;
        grid-template-columns: 1.2fr 1fr 1fr 1fr;
        gap: 50px;
        margin-bottom: 60px;
    }
    .footer-brand img { width: 130px; margin-bottom: 18px; }
    .footer-brand p { font-size: 13px; color: #888; line-height: 1.9; max-width: 280px; }
    .footer-col h4 {
        font-family: 'Jost', sans-serif;
        font-size: 11px;
        letter-spacing: 4px;
        text-transform: uppercase;
        color: var(--gold);
        font-weight: 500;
        margin-bottom: 22px;
    }
    .footer-col p, .footer-col a, .footer-col address {
        font-style: normal;
        font-size: 13.5px;
        line-height: 2;
        color: var(--text);
        text-decoration: none;
        font-weight: 300;
    }
    .footer-col a { transition: color .2s; }
    .footer-col a:hover { color: var(--gold); }
    .footer-col ul { list-style: none; }
    .footer-col ul li { margin-bottom: 2px; }
    .hours-row {
        display: flex;
        justify-content: space-between;
        font-size: 13px;
        padding: 2px 0;
    }
    .hours-row span:last-child { color: #888; }

    .socials { display: flex; gap: 12px; margin-top: 18px; }
    .socials a {
        width: 38px; height: 38px;
        border: 1px solid var(--gold);
        border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        color: var(--gold);
        transition: background .25s, color .25s;
    }
    .socials a:hover { background: var(--gold); color: #fff; }
    .socials svg { width: 15px; height: 15px; }

    .footer-bottom {
        max-width: 1200px;
        margin: 0 auto;
        padding-top: 30px;
        border-top: 1px solid rgba(0,0,0,.08);
        text-align: center;
        font-size: 12px;
        color: #999;
        letter-spacing: 1px;
    }
}

/* ════════════════════ MUSIC PLAYER ════════════════════ */
@layer player {
    .music-player {
        position: fixed;
        bottom: 22px;
        left: 22px;
        z-index: 90;
        display: flex;
        align-items: center;
        gap: 10px;
        background: rgba(255,255,255,0.96);
        -webkit-backdrop-filter: blur(6px);
        backdrop-filter: blur(6px);
        padding: 10px 16px 10px 10px;
        border-radius: 100px;
        box-shadow: 0 10px 30px rgba(0,0,0,.15);
        transition: transform .35s, opacity .35s;
    }
    .music-toggle {
        width: 38px; height: 38px;
        border-radius: 50%;
        background: var(--gold);
        color: #fff;
        border: none;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: background .2s;
    }
    .music-toggle:hover { background: var(--peach-dark); }
    .music-toggle svg { width: 14px; height: 14px; fill: #fff; }
    .music-info {
        font-family: 'Cormorant Garamond', serif;
        font-size: 14px;
        color: var(--dark);
        letter-spacing: .5px;
    }
    .music-info small {
        display: block;
        font-family: 'Jost', sans-serif;
        font-size: 9.5px;
        letter-spacing: 2px;
        text-transform: uppercase;
        color: var(--gold);
        margin-bottom: 1px;
    }
    .music-pulse {
        display: inline-flex;
        gap: 2px;
        align-items: flex-end;
        height: 12px;
        margin-left: 8px;
    }
    .music-pulse span {
        width: 2px;
        background: var(--gold);
        border-radius: 1px;
        animation: kk-pulse 1.1s ease-in-out infinite;
    }
    .music-pulse span:nth-child(1) { height: 6px;  animation-delay: 0s; }
    .music-pulse span:nth-child(2) { height: 10px; animation-delay: .15s; }
    .music-pulse span:nth-child(3) { height: 4px;  animation-delay: .3s; }
    .music-pulse span:nth-child(4) { height: 8px;  animation-delay: .45s; }
    .music-player.paused .music-pulse span { animation-play-state: paused; opacity: .35; }
    @keyframes kk-pulse {
        0%, 100% { transform: scaleY(0.4); }
        50%      { transform: scaleY(1.2); }
    }

    /* Vizuálna výzva keď browser zablokuje autoplay */
    #kk-audio-hint {
        position: absolute;
        top: 50%;
        left: calc(100% + 12px);
        transform: translateY(-50%);
        background: var(--dark);
        color: #fff;
        padding: 8px 14px 8px 12px;
        border-radius: 100px;
        display: flex;
        align-items: center;
        gap: 8px;
        font-family: 'Jost', sans-serif;
        font-size: 12px;
        letter-spacing: .5px;
        white-space: nowrap;
        cursor: pointer;
        box-shadow: 0 8px 24px rgba(0,0,0,.25);
        animation: kk-hint-in .35s ease both, kk-hint-bounce 2.5s ease-in-out infinite 1s;
        z-index: 91;
    }
    #kk-audio-hint::before {
        content: '';
        position: absolute;
        left: -5px;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
        width: 10px; height: 10px;
        background: var(--dark);
    }
    .kk-audio-hint-dot {
        width: 8px; height: 8px;
        border-radius: 50%;
        background: var(--gold);
        animation: kk-hint-dot 1.2s ease-in-out infinite;
    }
    @keyframes kk-hint-dot {
        0%, 100% { box-shadow: 0 0 0 0 rgba(184,149,103,.6); }
        50%      { box-shadow: 0 0 0 6px rgba(184,149,103,0); }
    }
    @keyframes kk-hint-in {
        from { opacity: 0; transform: translate(-8px, -50%); }
        to   { opacity: 1; transform: translate(0,    -50%); }
    }
    @keyframes kk-hint-bounce {
        0%, 100% { translate: 0; }
        50%      { translate: 4px; }
    }
    #kk-audio-hint.kk-fade-out {
        opacity: 0;
        transition: opacity .35s ease;
    }
}

/* ════════════════════ ANIMATIONS ════════════════════ */
@layer anim {
    .fade-up {
        opacity: 0;
        transform: translateY(40px);
        transition: opacity 1s ease, transform 1s ease;
    }
    .fade-up.visible {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ════════════════════ MODERN PROGRESSIVE ENHANCEMENTS ════════════════════
   Tieto sa zapnú LEN v moderných prehliadačoch (Chrome 115+, Safari 17+, FF 121+).
   V starších prehliadačoch sa správanie zachová cez JS fallback. */
@layer modern {

    /* 1. Scroll-driven animation pre nav background — bez JS scroll listenera */
    @supports (animation-timeline: scroll()) {
        @keyframes kk-nav-fill {
            from {
                background: rgba(255,255,255,0);
                padding: 18px 40px;
                box-shadow: 0 0 0 rgba(0,0,0,0);
            }
            to {
                background: rgba(255,255,255,0.97);
                padding: 12px 40px;
                box-shadow: 0 1px 20px rgba(0,0,0,.06);
            }
        }
        .kk-nav {
            animation: kk-nav-fill linear both;
            animation-timeline: scroll(root block);
            animation-range: 0 200px;
        }
        @keyframes kk-nav-text {
            from { color: #fff; mix-blend-mode: difference; }
            to   { color: var(--dark); mix-blend-mode: normal; }
        }
        .kk-nav .nav-links a,
        .kk-nav .lang-btn {
            animation: kk-nav-text linear both;
            animation-timeline: scroll(root block);
            animation-range: 0 200px;
        }
    }

    /* 2. Vstupná animácia nav pri načítaní stránky — @starting-style */
    @supports (transition-behavior: allow-discrete) {
        @starting-style {
            .kk-nav {
                transform: translateY(-100%);
                opacity: 0;
            }
        }
        .kk-nav {
            transform: translateY(0);
            opacity: 1;
            transition: transform .6s ease, opacity .6s ease, background .4s, padding .4s, box-shadow .4s;
        }
    }

    /* 3. content-visibility pre sekcie pod ohybom — rýchlejší render */
    @supports (content-visibility: auto) {
        .about-history,
        .menu-section,
        .insta-strip,
        .kormuth-page footer {
            content-visibility: auto;
            contain-intrinsic-size: 800px;
        }
    }

    /* 4. :has() — keď je v music-playeri prehrávané audio, pridáme glow */
    @supports selector(:has(*)) {
        .music-player:has(audio:not([paused])) {
            box-shadow: 0 10px 30px rgba(184,149,103,.35);
        }
    }

    /* 5. View Transitions API — plynulý prechod pri zmene jazyka */
    @supports (view-transition-name: none) {
        ::view-transition-old(root),
        ::view-transition-new(root) {
            animation-duration: .4s;
        }
    }

    /* 6. Reduced motion respect */
    @media (prefers-reduced-motion: reduce) {
        .kk-nav,
        .kk-nav .nav-links a,
        .kk-nav .lang-btn {
            animation: none !important;
        }
        .fade-up { transition: none; opacity: 1; transform: none; }
        .music-pulse span { animation: none !important; }
    }
}

/* ════════════════════ RESPONSIVE ════════════════════ */
@layer responsive {
    @media (max-width: 900px) {
        .kk-nav { padding: 14px 18px; }
        .kk-nav .nav-links { gap: 16px; }
        .kk-nav .nav-links a { font-size: 10px; letter-spacing: 1.5px; }
        .kk-nav .lang-btn { padding: 4px 6px; font-size: 9.5px; }
        .kk-nav .lang-btn span:not(.flag) { display: none; }
        .hero { grid-template-columns: 1fr; }
        .hero-right { min-height: 60vh; }
        .hero-left { padding: 70px 28px; min-height: 60vh; }
        .parallax-interior .title-block { left: 24px; right: 24px; gap: 18px; }
        .parallax-interior .logo-emblem { width: 70px; }
        .parallax-interior .title { font-size: 38px; }
        .triple-gallery { grid-template-columns: 1fr; }
        .brand-title-row { gap: 24px; }
        .brand-divider { display: none; }
        .brand-meta { gap: 30px; flex-wrap: wrap; }
        .about-grid { grid-template-columns: 1fr; gap: 40px; }
        .menu-grid { grid-template-columns: 1fr; gap: 50px; }
        .insta-row { grid-template-columns: repeat(3, 1fr); }
        .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
        .map-overlay { padding: 22px 30px; }
        .music-player { bottom: 12px; left: 12px; padding: 8px 12px 8px 8px; }
        .music-info { display: none; }
    }
    @media (max-width: 500px) {
        .footer-grid { grid-template-columns: 1fr; }
        .insta-row { grid-template-columns: repeat(2, 1fr); }
    }
}

/* ════════════════════════════════════════════════════════════════════════════
   ASTRA OVERRIDES — najvyššia priorita
   ════════════════════════════════════════════════════════════════════════════
   Astra preráža farby liniek cez CSS premennú --ast-global-color-1 v
   `a:hover, a:focus` selektore z theme.css. Riešenie:
   1) Override premennej v scope .kormuth-page (najčistejší spôsob)
   2) Silnejšie selektory pre všetky link stavy (:link, :visited, :hover, :focus, :active)
   3) !important ako poistka */
@layer astra-override {

    /* 1) Override Astra CSS premennej v scope našej stránky.
       Touto jedinou premennou Astra rieši VŠETKY hover/focus farby liniek.
       Premenovať ju z modrej na našu --gold = celá Astra hover farba je zlatá. */
    body.kormuth-page {
        --ast-global-color-1: var(--gold);
        --ast-global-color-0: var(--text);
        --ast-link-color: var(--gold);
        --ast-link-hover-color: var(--peach-dark);
    }

    /* 2) NAV — všetky stavy linky */
    body.kormuth-page nav.kk-nav .nav-links a,
    body.kormuth-page nav.kk-nav .nav-links a:link,
    body.kormuth-page nav.kk-nav .nav-links a:visited,
    body.kormuth-page nav.kk-nav .nav-links a:hover,
    body.kormuth-page nav.kk-nav .nav-links a:focus,
    body.kormuth-page nav.kk-nav .nav-links a:active {
        color: #fff !important;
        text-decoration: none !important;
    }
    body.kormuth-page nav.kk-nav.scrolled .nav-links a,
    body.kormuth-page nav.kk-nav.scrolled .nav-links a:hover,
    body.kormuth-page nav.kk-nav.scrolled .nav-links a:focus {
        color: var(--dark) !important;
    }
    body.kormuth-page nav.kk-nav .lang-btn,
    body.kormuth-page nav.kk-nav .lang-btn:hover,
    body.kormuth-page nav.kk-nav .lang-btn:focus {
        color: #fff !important;
    }
    body.kormuth-page nav.kk-nav.scrolled .lang-btn,
    body.kormuth-page nav.kk-nav.scrolled .lang-btn:hover,
    body.kormuth-page nav.kk-nav.scrolled .lang-btn:focus {
        color: var(--dark) !important;
    }

    /* Instagram nadpis @konditorei_kormuth */
    body.kormuth-page .insta-strip h2 a,
    body.kormuth-page .insta-strip h2 a:link,
    body.kormuth-page .insta-strip h2 a:visited,
    body.kormuth-page .insta-strip h2 a:focus,
    body.kormuth-page .insta-strip h2 a:active {
        color: var(--dark) !important;
        text-decoration: none !important;
    }
    body.kormuth-page .insta-strip h2 a:hover {
        color: var(--gold) !important;
    }

    /* Footer linky — všetky stavy */
    body.kormuth-page footer .footer-col a,
    body.kormuth-page footer .footer-col a:link,
    body.kormuth-page footer .footer-col a:visited,
    body.kormuth-page footer .footer-col a:focus,
    body.kormuth-page footer .footer-col a:active,
    body.kormuth-page footer address a,
    body.kormuth-page footer address a:link,
    body.kormuth-page footer address a:visited,
    body.kormuth-page footer address a:focus,
    body.kormuth-page footer .footer-bottom a {
        color: var(--text) !important;
        text-decoration: none !important;
    }
    body.kormuth-page footer .footer-col a:hover,
    body.kormuth-page footer address a:hover {
        color: var(--gold) !important;
    }

    /* Menu CTA tlačidlo */
    body.kormuth-page .menu-cta,
    body.kormuth-page .menu-cta:link,
    body.kormuth-page .menu-cta:visited,
    body.kormuth-page .menu-cta:focus,
    body.kormuth-page .menu-cta:active {
        color: var(--gold) !important;
        text-decoration: none !important;
    }
    body.kormuth-page .menu-cta:hover {
        background: var(--gold) !important;
        color: #fff !important;
    }

    /* Map button */
    body.kormuth-page .map-btn,
    body.kormuth-page .map-btn:link,
    body.kormuth-page .map-btn:visited,
    body.kormuth-page .map-btn:hover,
    body.kormuth-page .map-btn:focus {
        color: #fff !important;
        text-decoration: none !important;
    }

    /* Insta cells (anchor wrappers) */
    body.kormuth-page .insta-row .insta-cell,
    body.kormuth-page .insta-row .insta-cell:hover,
    body.kormuth-page .insta-row .insta-cell:focus {
        text-decoration: none !important;
        color: inherit !important;
    }

    /* Socials ikonky */
    body.kormuth-page .socials a,
    body.kormuth-page .socials a:link,
    body.kormuth-page .socials a:visited,
    body.kormuth-page .socials a:focus {
        color: var(--gold) !important;
        text-decoration: none !important;
    }
    body.kormuth-page .socials a:hover {
        background: var(--gold) !important;
        color: #fff !important;
    }

    /* Astra niekedy dáva všetkým <a> default modrú — globálny safety net */
    body.kormuth-page a {
        text-decoration: none;
    }
}
