/* ==========================================================================
   THEME: barvy, fonty, mapování na Bootstrap proměnné
   ========================================================================== */
:root {
    /* ZÁKLAD */
    --brand-bg: #ede4d0;
    --brand-white: #f8f9fa;
    --brand-ink: #3e342f;
    --brand-ink-soft: #5b4f48;
    --brand-muted: #d9c7a3;
    --brand-brown: #3a2a22;
    /* AKCENTY */
    --brand-primary: #c4a26a;
    --brand-primary-600: #b89058;
    --brand-primary-700: #a77944;
    --brand-accent: #2f5732;
    --brand-accent-600: #274a2a;
    --brand-accent-700: #1f3d22;
    --brand-accent-200: #dfe9e0;
    /* STAVY */
    --brand-success: #2e7d32;
    --brand-info: #2f6f7d;
    --brand-warning: #c27b2d;
    --brand-danger: #a53b3b;
    /* POVRCHY / HRANY / STÍNY */
    --surface-1: #fffdfa;
    --surface-2: #f3ecdd;
    --border-weak: #e8ddc6;
    --border-strong: #d1b889;
    --shadow-soft: 0 10px 28px rgba(0,0,0,.10);
    --shadow-card: 0 12px 32px rgba(62,52,47,.18);
    /* Bootstrap override */
    --bs-body-bg: var(--brand-bg);
    --bs-body-color: var(--brand-ink);
    --bs-primary: var(--brand-primary);
    --bs-link-color: var(--brand-primary);
    --bs-link-hover-color: color-mix(in oklab, var(--brand-primary) 85%, #000);
    --bs-font-sans-serif: "Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
    --bs-body-font-family: var(--bs-font-sans-serif);
    /* SEMANTICKÉ TOKENY */
    --card-bg: var(--surface-1);
    --card-border: var(--border-weak);
    --card-shadow: var(--shadow-card);
    --btn-primary-bg: var(--brand-accent);
    --btn-primary-hov: var(--brand-accent-600);
    --btn-primary-act: var(--brand-accent-700);
    --btn-primary-fg: #f7f5ef;
    --btn-secondary-bg: var(--brand-primary);
    --btn-secondary-hov: var(--brand-primary-600);
    --btn-secondary-act: var(--brand-primary-700);
    --btn-secondary-fg: #211a16;
    --badge-bg: color-mix(in oklab, var(--brand-primary) 88%, #fff);
    --badge-fg: #5a452d;
    --announce-bg: var(--brand-accent);
    --announce-fg: #f6efe5;
    --announce-ring: color-mix(in oklab, var(--brand-accent) 45%, #fff);
    --price-fg: var(--brand-primary-700);
    /* GAP K NAVBARU */
    --nav-gap: 28px;
}


/* ==========================================================================
   BASE & RESPONSIVENESS (původní logika zachována)
   ========================================================================== */
html, body {
    overflow-x: clip;
}

html {
    font-size: 14px;
    scroll-behavior: smooth;
    position: relative;
    min-height: 100%;
    scroll-behavior: smooth;
    scroll-padding-top: 0 !important;
}

@media (min-width:768px) {
    html {
        font-size: 16px;
    }
}

body {
    margin: 0;
    padding-bottom: 60px; /* rezerva pod patu */
    font-family: var(--bs-body-font-family);
    color: var(--brand-ink);
    background: var(--brand-bg);
}

section,
#about, #daily-menu, #foods, #drinks, #offers, #contact {
    scroll-margin-top: 0 !important;
}

/* Nadpisy – elegantní serif */
h1, h2, h3, h4, h5, h6,
.display-1, .display-2, .display-3, .display-4 {
    font-family: "Cormorant Garamond","Times New Roman",serif;
    font-weight: 700;
    letter-spacing: .2px;
    color: var(--brand-ink);
}

/* ==========================================================================
   LAYOUT: sticky navbar, sekce, full-bleed utilita
   ========================================================================== */
header .navbar {
    position: sticky;
    top: 0;
    z-index: 1030;
    background-color: rgba(255,255,255,.92);
    backdrop-filter: saturate(140%) blur(6px);
}

section {
    padding: 4rem 0;
    scroll-margin-top: 4.5rem;
}

    section + section {
        border-top: 1px solid rgba(0,0,0,.06);
    }

/* Full-bleed pozadí přes celou šířku okna, obsah zůstává v containeru */
.section-bleed {
    position: relative;
    /* žádné skrývání overflow – musí být vidět „přesah“ */
    overflow-x: visible;
}

    /* Pseudo-element roztáhne background na 100vw kolem středu sekce */
    .section-bleed::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        width: 100vw; /* šířka = celé okno */
        transform: translateX(-50%); /* vycentrování */
        background: inherit; /* převezme bg (např. .bg-light) ze .section-bleed */
        z-index: 0; /* pod obsahem (viz pravidlo níž) */
        pointer-events: none;
    }

/* Na mobilech přesná šířka včetně scrollbaru */
@supports (width: 100dvw) {
    .section-bleed::before {
        width: 100dvw;
    }
}

/* Obsah sekce nad pseudo-elementem */
.section-bleed > * {
    position: relative;
    z-index: 1;
}

/* ==========================================================================
   ODKAZY, TLAČÍTKA, FOCUS
   ========================================================================== */
a {
    color: var(--bs-link-color);
}

    a:hover {
        color: var(--bs-link-hover-color);
    }

/* přebarvení .btn-primary do brandu */
.btn-primary {
    --bs-btn-bg: var(--brand-primary);
    --bs-btn-border-color: var(--brand-primary);
    --bs-btn-hover-bg: color-mix(in oklab, var(--brand-primary) 88%, #000);
    --bs-btn-hover-border-color: color-mix(in oklab, var(--brand-primary) 80%, #000);
    --bs-btn-active-bg: color-mix(in oklab, var(--brand-primary) 75%, #000);
    --bs-btn-active-border-color: color-mix(in oklab, var(--brand-primary) 70%, #000);
}

/* focus ring v barvách značky */
.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 .1rem #fff, 0 0 0 .25rem var(--brand-primary);
    outline: 0;
}

/* Aktivní položka v navbaru zvýrazněná brand barvou */
#mainNav .nav-link.active {
    color: var(--brand-primary) !important;
    font-weight: 700;
}

/* ==========================================================================
   DROBnosti & utility
   ========================================================================== */
img {
    max-width: 100%;
    height: auto;
}
/* responzivní obrázky */
.text-gold {
    color: var(--brand-primary) !important;
}

.bg-gold {
    background: var(--brand-primary) !important;
}

.text-accent {
    color: var(--brand-accent) !important;
}

.bg-accent {
    background: var(--brand-accent) !important;
}

.alert-success {
    background: #e8f3ea;
    color: #1f4d22;
    border: 1px solid #cfe3d2;
}

.alert-info {
    background: #e7f0f2;
    color: #264a52;
    border: 1px solid #cfe2e7;
}

.alert-warning {
    background: #fbf1e3;
    color: #6a4216;
    border: 1px solid #efd8b7;
}

.alert-danger {
    background: #f7e9e9;
    color: #6a2222;
    border: 1px solid #e6c0c0;
}

/* ==========================================================================
   Cookies
   ========================================================================== */

.cookiebar {
    position: fixed;
    inset: auto 0 0 0; /* bottom */
    background: var(--surface-1);
    border-top: 1px solid var(--border-weak);
    box-shadow: 0 -8px 22px rgba(0,0,0,.12);
    z-index: 1000;
}

.cookiebar__inner {
    max-width: var(--container-w);
    margin: 0 auto;
    padding: 12px 16px;
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
}

.cookiebar__text {
    color: var(--brand-ink);
}

.cookiebar__link {
    font-weight: 700;
    text-decoration: underline;
}

.cookiebar__actions {
    display: flex;
    gap: 8px;
}

@media (max-width: 768px) {
    .cookiebar__inner {
        flex-direction: column;
        align-items: stretch;
    }

    .cookiebar__actions {
        justify-content: flex-end;
    }
}

