/* Globální nastavení a proměnné */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* ELEGANTNÍ POSTUPNÉ NAČÍTÁNÍ PŘI SCROLLOVÁNÍ */
.reveal-element {
    opacity: 0;
    transform: translateY(40px); /* Prvek začíná o 40px níže */
    transition: opacity 1s cubic-bezier(0.25, 1, 0.5, 1), transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: opacity, transform; /* Říká mobilům, ať se na animaci připraví (nechce to pak lagovat) */
}

.reveal-element.revealed {
    opacity: 1;
    transform: translateY(0); /* Prvek plynule dojede na své místo */
}

:root {
    --bg-black: #050505;       
    --text-light: #f5f5f7;     
    --text-muted: #a1a1a9;     
    --silver: #ffffff;         
    --glass-bg: rgba(8, 8, 8, 0.75);
    --glass-border: rgba(255, 255, 255, 0.05);
    --transition-cinematic: all 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}

body {
    font-family: 'Be Vietnam Pro', sans-serif;
    background-color: var(--bg-black);
    color: var(--text-light);
    line-height: 1.8;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 30px;
}

.max-w-container {
    max-width: 750px;
}

/* DYNAMICKÝ REVEAL POZADÍ */
.dynamic-bg-container {
    position: fixed;
    inset: 0;
    z-index: -2;
    overflow: hidden;
}

.dynamic-bg-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transform: scale(1.08);
    transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1), transform 1.5s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: transform, opacity;
}

.dynamic-bg-slide.active {
    opacity: 0.25; 
    transform: scale(1.01);
}

.dynamic-bg-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle, rgba(0,0,0,0.1) 0%, rgba(5,5,5,0.95) 100%);
    z-index: -1;
}

/* PRELOADER */
.preloader {
    position: fixed;
    inset: 0;
    background-color: var(--bg-black);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 1s ease, visibility 1s ease;
}

.preloader.fade-out {
    opacity: 0;
    visibility: hidden;
}

.preloader-wrap {
    text-align: center;
}

.preloader-logo {
    font-family: 'Lora', serif;
    font-size: 3rem;
    letter-spacing: 12px;
    display: block;
    margin-bottom: 20px;
    animation: pulseLogo 2s infinite ease-in-out;
}

.preloader-bar {
    width: 120px;
    height: 1px;
    background-color: var(--text-muted);
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}

.preloader-bar::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 40px;
    background-color: var(--text-light);
    animation: barFill 1.5s infinite ease-in-out;
}

/* Skleněné plovoucí karty (Frosted Glass) */
.glass-card {
    background: var(--glass-bg);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--glass-border);
    padding: 25px;
    transition: var(--transition-cinematic);
}

.glass-card:hover {
    border-color: rgba(255, 255, 255, 0.12);
}

/* Navigace */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 900;
    padding: 30px 0;
    transition: var(--transition-cinematic);
}

.navbar.scrolled {
    background-color: rgba(5, 5, 5, 0.9);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    padding: 15px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 40px;
}

.logo {
    font-family: 'Lora', serif;
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: 5px;
    color: var(--text-light);
    text-decoration: none;
}

.nav-links {
    display: flex;
    gap: 40px;
}

.nav-link {
    text-decoration: none;
    color: var(--text-muted);
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 3px;
    transition: color 0.3s ease;
}

.nav-link:hover, .nav-link.active {
    color: var(--text-light);
}

/* Tlačítka */
.btn {
    display: inline-block;
    padding: 15px 35px;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 3px;
    font-weight: 500;
    transition: var(--transition-cinematic);
    border: none;
    cursor: pointer;
}

.btn-nav {
    border: 1px solid rgba(255,255,255,0.1);
    color: var(--text-light);
    padding: 10px 20px;
}

.btn-nav:hover {
    background-color: var(--text-light);
    color: var(--bg-black);
}

.btn-filled {
    background-color: var(--text-light);
    color: var(--bg-black);
}

.btn-filled:hover {
    background-color: var(--text-muted);
    transform: translateY(-3px);
}

.btn-ghost {
    background-color: transparent;
    color: var(--text-light);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.btn-ghost:hover {
    border-color: var(--text-light);
    transform: translateY(-3px);
}

/* HERO SEKCE */
.hero {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 30px;
}

.hero-content {
    max-width: 800px;
    z-index: 3;
    margin: 0 auto;
}

.hero-subtitle {
    font-family: 'Lora', serif;
    font-size: 0.9rem;
    color: var(--text-muted);
    letter-spacing: 6px;
    display: block;
    margin-bottom: 20px;
}

.hero-title {
    font-family: 'Lora', serif;
    font-size: 5rem;
    line-height: 1.1;
    letter-spacing: 8px;
    margin-bottom: 25px;
}

.silver-text {
    color: var(--text-muted);
}

.hero-desc {
    color: var(--text-muted);
    font-size: 1rem;
    margin-bottom: 45px;
    font-weight: 300;
}

.hero-btns {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.scroll-down {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 15px;
    color: var(--text-muted);
    font-size: 0.75rem;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.scroll-mouse {
    width: 20px;
    height: 35px;
    border: 1px solid var(--text-muted);
    border-radius: 10px;
    position: relative;
}

.scroll-mouse .wheel {
    width: 3px;
    height: 6px;
    background-color: var(--text-light);
    border-radius: 2px;
    position: absolute;
    left: 50%;
    top: 6px;
    transform: translateX(-50%);
    animation: scrollWheel 1.5s infinite ease-in-out;
}

/* Layout */
.grid-split {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 80px;
    align-items: center;
}






.section {
    padding: 100px 0;
    border-bottom: 1px solid rgba(255,255,255,0.01);
}

.section-tag {
    font-family: 'Lora', serif;
    font-size: 0.8rem;
    letter-spacing: 4px;
    color: var(--text-muted);
    text-transform: uppercase;
    display: block;
    margin-bottom: 15px;
}

.section-tag.center {
    text-align: center;
}

.section-title {
    font-family: 'Lora', serif;
    font-size: 2.8rem;
    letter-spacing: 3px;
    margin-bottom: 30px;
}

.section-title.center {
    text-align: center;
}

.link-arrow {
    color: var(--text-light);
    text-decoration: none;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 15px;
    transition: gap 0.3s;
}

.link-arrow:hover {
    gap: 18px;
}

/* SLIDER RÁM V PŘÍBĚHU */
.split-img-frame {
    height: 550px;
    border: 1px solid var(--glass-border);
    position: relative;
    overflow: hidden;
}

.story-slider {
    width: 100%;
    height: 100%;
    position: relative;
}

.story-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1), transform 1.5s cubic-bezier(0.25, 1, 0.5, 1);
    transform: scale(1.05);
}

.story-slide.active {
    opacity: 1;
    transform: scale(1);
    z-index: 2;
}

.story-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slider-dots {
    position: absolute;
    bottom: 25px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    z-index: 10;
}

.slider-dots .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.3);
    cursor: pointer;
    transition: all 0.4s ease;
}

.slider-dots .dot.active {
    background-color: var(--text-light);
    transform: scale(1.2);
}

/* Marquee */
.marquee-wrapper {
    padding: 40px 0;
    overflow: hidden;
    border-top: 1px solid rgba(255, 255, 255, 0.02);
    border-bottom: 1px solid rgba(255, 255, 255, 0.02);
}

.marquee-track {
    display: flex;
    white-space: nowrap;
    animation: marqueeMove 35s infinite linear;
}

.marquee-track span {
    font-family: 'Lora', serif;
    font-size: 2.2rem;
    letter-spacing: 8px;
    color: rgba(255, 255, 255, 0.03);
    margin-right: 50px;
}

/* Scroll-Through Mask (VELKÁ OKNA MEZI SEKCEMI) */
.scroll-through-mask {
    height: 60vh;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border-top: 1px solid var(--glass-border);
    border-bottom: 1px solid var(--glass-border);
}

.mask-vignette {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle, rgba(0, 0, 0, 0.05) 0%, rgba(5, 5, 5, 0.8) 100%);
    z-index: 1;
}

.mask-content {
    position: relative;
    z-index: 2;
    text-align: center;
}

.mask-content span {
    font-family: 'Lora', serif;
    font-size: 2.2rem;
    letter-spacing: 10px;
    color: var(--text-light);
    text-shadow: 0 5px 30px rgba(0,0,0,0.8);
}

/* ===================================================
   UMĚLECKÁ ŠACHOVNICE: FIXNÍ OBRAZY U KATEGORIÍ
   =================================================== */
.large-menu-wrapper {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-top: 60px;
    min-height: 80vh;
}

.menu-category-section {
    display: flex;
    flex-direction: column;
    gap: 60px;
    transition: var(--transition-cinematic);
}

.menu-category-title {
    font-family: 'Lora', serif;
    font-size: 2rem;
    letter-spacing: 4px;
    border-bottom: 1px solid var(--glass-border);
    padding-bottom: 20px;
    text-align: center;
    color: var(--text-light);
}

/* Mřížka řádku */
.menu-showcase-row {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 60px;
    align-items: start;
    position: relative;
}

.menu-showcase-row.inverse {
    grid-template-columns: 0.9fr 1.1fr;
}

/* Běžný statický držák pro obrázek (změněno z position: sticky) */
.category-sticky-box-wrapper {
    position: relative;
    height: 350px;
}

/* Normální obrázek kategorie (změněno z background-attachment: fixed) */
.category-fixed-box {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    overflow: hidden;
}

/* Paspartový estetický rámeček jako v galerii moderního umění */
.aesthetic-frame {
    border: none;
   /* box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5); */
    border-radius: 2px;
}

.category-fixed-box .box-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(5,5,5,0.9) 0%, transparent 60%);
    display: flex;
    align-items: flex-end;
    padding: 35px;
}

.category-fixed-box .box-overlay span {
    font-family: 'Lora', serif;
    font-size: 1.5rem;
    letter-spacing: 3px;
    color: var(--text-light);
}

/* Kreslené jemné ilustrace pro rozbití textu */
.menu-art-divider {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px 0;
    width: 100%;
}

.art-icon {
    width: 60px;
    height: auto;
    opacity: 0.25;
    transition: opacity 0.4s;
}

.menu-item-line:hover + .menu-art-divider .art-icon {
    opacity: 0.5;
}

.category-items-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.menu-sub-category-title {
    font-family: 'Lora', serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 2px;
    color: var(--text-light);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 6px;
    text-transform: uppercase;
    margin-bottom: 5px;
    margin-top: 40px;
}

.category-items-list .menu-sub-category-title:first-child {
    margin-top: 0 !important;
}

.menu-item-line {
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding-bottom: 2px;
    border-bottom: 1px dashed rgba(255,255,255,0.04);
}

.item-main-info {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.item-main-info h4 {
    font-family: 'Lora', serif;
    font-size: 1.2rem;
    font-weight: 500;
}

.category-items-list h5 {
    font-family: 'Be Vietnam Pro', sans-serif !important; /* Změna písma na bezpatkové */
    font-weight: 300 !important;                      /* Tenčí řez písma */
    font-size: 0.9rem !important;                     /* Menší velikost než h4 */
    color: var(--text-muted) !important;              /* Tlumená šedá barva */
    font-style: italic !important;                    /* Kurziva pro lepší odlišení */
    text-transform: none !important;                  /* Vypne velká písmena, pokud jsou zapnutá u h4 */
    display: inline !important;                       /* Aby se popisek vešel na stejný řádek */
    margin: 0 5px !important;                          /* Mezera kolem popisku */
    border: none !important;                          /* Jistota, že tam nebude žádný rámeček */
    background: none !important;
}

.item-main-info .price {
    font-family: 'Be Vietnam Pro', sans-serif;
    font-weight: 500;
    font-size: 1.1rem;
}

.menu-category-section p {
    font-size: 0.85rem;
    color: var(--text-muted);
    font-weight: 300;
}

.sub-items-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 4px 12px;
    margin-top: 4px;
    padding: 6px;
    background: rgba(255, 255, 255, 0.01);
    border: 1px solid rgba(255, 255, 255, 0.03);
}

.sub-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start; 
    font-size: 0.85rem;
    color: var(--text-muted);
    gap: 20px; 
    padding: 4px 0;
}

.sub-price {
    font-family: 'Be Vietnam Pro', sans-serif;
    font-weight: 500;
    color: var(--text-light);
    white-space: nowrap; 
    flex-shrink: 0;      
}

.price {
    font-family: 'Be Vietnam Pro', sans-serif;
    font-weight: 500;
    font-size: 1.1rem;
    white-space: nowrap; 
    flex-shrink: 0;      
    margin-left: 15px;   
}

.sub-items-list-plain {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-top: 8px;
}

.allergen {
    font-size: 0.65rem;
    vertical-align: super;
    opacity: 0.4;
    margin-left: 2px;
}

.filter-tabs {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 30px;
    flex-wrap: wrap;
}

.tab-btn {
    background: transparent;
    border: none;
    color: var(--text-muted);
    font-family: 'Lora', serif;
    font-size: 0.85rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    cursor: pointer;
    padding: 10px 15px;
    transition: color 0.3s ease, border-color 0.3s ease;
    border-bottom: 1px solid transparent;
}

.tab-btn.active, .tab-btn:hover {
    color: var(--text-light);
    border-color: var(--text-light);
}

/* Alergeny mapa */
.allergens-container {
    padding: 40px;
    border: 1px solid var(--glass-border);
}

.allergens-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 15px 25px;
}

.allergen-item {
    font-size: 0.85rem;
    color: var(--text-muted);
    line-height: 1.6;
}

.allergen-item strong {
    color: var(--text-light);
    margin-right: 5px;
}

.allergen-item small {
    display: block;
    opacity: 0.6;
}

/* Formulář Rezervace */
.luxury-form {
    padding: 60px;
}

.input-wrap {
    position: relative;
    margin-bottom: 35px;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.form-row.tri-row {
    display: grid;
    grid-template-columns: 0.6fr 1.2fr 1.2fr;
}

.luxury-form input {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--text-light);
    padding: 12px 5px;
    font-family: inherit;
    font-size: 0.95rem;
    transition: border-color 0.4s;
}

.luxury-form label {
    position: absolute;
    left: 5px;
    top: 12px;
    color: var(--text-muted);
    pointer-events: none;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    transition: var(--transition-cinematic);
}

.luxury-form input:focus ~ label,
.luxury-form input:not(:placeholder-shown) ~ label {
    top: -15px;
    font-size: 0.65rem;
    color: var(--text-light);
}

.input-wrap.spec-label label {
    top: -15px !important;
    font-size: 0.65rem !important;
    color: var(--text-light) !important;
}

.luxury-form input:focus {
    outline: none;
    border-bottom-color: var(--text-light);
}

.input-wrap.spec-label {
    padding-top: 25px; /* Původně bylo 15px, 20px dodá více vzduchu */
}

/* Jemné posunutí samotného popisku ještě o kousek výš */
.input-wrap.spec-label label {
    top: -5px !important; 
}

/* Stylování upozornění pod políčkem pro hosty */
.field-warning {
    font-size: 0.75rem;
    color: #d4af37; /* Elegantní zlatá barva upozornění */
    margin-top: 8px;
    margin-left: 5px;
    line-height: 1.4;
    transition: opacity 0.3s ease;
}

.field-warning.hidden {
    display: none;
}


/* ===================================================
   ELEGANTNÍ FORMULÁŘE A STYL PRO SELECT / ČAS / MÍSTO
   =================================================== */

/* Zvětšení mezer mezi řádky formuláře, aby se nic nepřekrývalo */
.luxury-form .form-row {
    margin-bottom: 25px; /* Přidaný prostor mezi jednotlivými řádky */
}

/* Úprava obalu vstupních polí */
.input-wrap {
    position: relative;
    margin-bottom: 10px;
    padding-top: 15px; /* Rezervovaný prostor nahoře pro vysouvací label */
}

/* Jednotný styl pro textová pole, číselná pole, datum i SELECT */
.luxury-form input,
.luxury-form select {
    width: 100%;
    background: transparent !important;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    color: var(--text-light) !important;
    padding: 10px 5px;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 0.95rem;
    transition: border-color 0.4s ease;
    border-radius: 0;
    -webkit-appearance: none; /* Odstraní výchozí ošklivý design prohlížeče */
    -moz-appearance: none;
    appearance: none;
}

/* Vlastní šipka pro roztahovací výběr <select> v minimalistickém stylu */
.input-wrap select {
    cursor: pointer;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="rgba(255,255,255,0.6)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>') !important;
    background-repeat: no-repeat !important;
    background-position: right 8px center !important;
    padding-right: 25px;
}

/* Stylování možností v rozbalené nabídce (aby nebyly nečitelné) */
.luxury-form select option {
    background-color: #141414 !important;
    color: var(--text-light) !important;
    padding: 10px;
}

/* Oprava pozice a velikosti popisku (Label) pro standardní pole */
.luxury-form label {
    position: absolute;
    left: 5px;
    top: 25px; /* Posunuto níže pro perfektní vycentrování */
    color: var(--text-muted);
    pointer-events: none;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    transition: var(--transition-cinematic);
}

/* Efekt vysunutí popisku nahoru při kliknutí nebo vyplnění */
.luxury-form input:focus ~ label,
.luxury-form input:not(:placeholder-shown) ~ label,
.luxury-form select:focus ~ label,
.luxury-form select:valid ~ label {
    top: 0px !important;
    font-size: 0.65rem !important;
    color: var(--text-light) !important;
}

/* Pevně vysunutý popisek pro pole typu date, time a select */
.input-wrap.spec-label label {
    top: 0px !important;
    font-size: 0.65rem !important;
    color: var(--text-light) !important;
}

/* Aktivní podtržení při fokusu */
.luxury-form input:focus,
.luxury-form select:focus {
    outline: none;
    border-bottom-color: var(--text-light);
}

/* Úprava ikonky pro kalendář a hodiny v prohlížeči */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator {
    filter: invert(0.8);
    cursor: pointer;
}


.gdpr-notice {
    font-size: 0.75rem;
    color: #a1a1a9;
    margin: 15px 0;
    line-height: 1.4;
    text-align: left;
}

.gdpr-notice a {
    color: #fff;
    text-decoration: underline;
    transition: color 0.2s;
}

.gdpr-notice a:hover {
    color: #d4af37; /* Zlatá barva TIGUA */
}

/* Obal pro poznámku (textarea) */
.luxury-form textarea {
    width: 100%;
    background: transparent !important;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    color: var(--text-light) !important;
    padding: 10px 5px;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 0.95rem;
    line-height: 1.5;
    resize: vertical;
    min-height: 70px;
    transition: border-color 0.4s ease;
    border-radius: 0;
}

.luxury-form textarea:focus {
    outline: none;
    border-bottom-color: var(--text-light);
}

/* Vysouvací efekty pro label poznámky */
.luxury-form textarea:focus ~ label,
.luxury-form textarea:not(:placeholder-shown) ~ label {
    top: -5px !important;
    font-size: 0.65rem !important;
    color: var(--text-light) !important;
}

/* Kontejner pro GDPR checkbox box */
.gdpr-box {
    margin: 25px 0 15px 0;
    padding: 12px 15px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--glass-border);
    border-radius: 4px;
    transition: border-color 0.3s ease;
}

.gdpr-box:hover {
    border-color: rgba(255, 255, 255, 0.12);
}

.gdpr-box label {
    position: static !important; /* Vypne absolutní pozicování u checkboxu */
    pointer-events: auto !important;
    color: var(--text-muted);
    font-size: 0.8rem;
    text-transform: none;
    letter-spacing: 0;
}

.gdpr-box input[type="checkbox"] {
    width: auto !important;
    accent-color: var(--gold);
    cursor: pointer;
}

.gdpr-box a {
    color: var(--text-light);
    text-decoration: underline;
    transition: color 0.2s;
}

.gdpr-box a:hover {
    color: var(--gold);
}

.form-msg {
    margin-top: 30px;
    padding: 20px;
    border-left: 2px solid var(--text-light);
    font-size: 0.9rem;
    line-height: 1.6;
    background-color: rgba(255, 255, 255, 0.02);
}

.form-msg.hidden {
    display: none;
}

.form-msg.success-msg {
    color: var(--text-light);
    animation: fadeIn 0.5s ease;
}

/* Otevírací doba */
.design-hours {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 40px;
}

.hours-card {
    background-color: rgba(255, 255, 255, 0.02);
    padding: 20px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid var(--glass-border);
}

/* .hours-card:hover {
    border-color: rgba(255, 255, 255, 0.15);
    background-color: rgba(255, 255, 255, 0.04);
} */

.hours-card.highlighted {
    border-left: 2px solid var(--text-light);
}

.hours-card .days {
    font-family: 'Lora', serif;
    font-size: 0.9rem;
    letter-spacing: 2px;
}

/* Mapa */
.map-frame {
    height: 550px;
    border: 1px solid var(--glass-border);
    overflow: hidden;
}

/* Hamburger */
.menu-toggle {
    display: none;
    flex-direction: column;
    gap: 8px;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 999;
}

.bar {
    width: 30px;
    height: 1px;
    background-color: var(--text-light);
    transition: var(--transition-cinematic);
}

/* MOBILE STICKY BAR */
.mobile-sticky-bar {
    position: fixed;
    bottom: -80px; 
    left: 0;
    width: 100%;
    height: 60px;
    background: rgba(5, 5, 5, 0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: none; 
    grid-template-columns: 1fr 1fr;
    z-index: 999;
    transition: bottom 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

.mobile-sticky-bar.visible {
    bottom: 0;
}

.sticky-action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    color: var(--text-light);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 500;
}

.sticky-action-btn svg {
    color: var(--text-muted);
}

.border-r {
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.footer {
    background-color: var(--bg-black);
    padding: 60px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.03);
    text-align: center;
}

.footer-logo {
    font-family: 'Lora', serif;
    font-size: 1.5rem;
    letter-spacing: 8px;
    display: block;
    margin-bottom: 20px;
}

.footer-copy {
    font-size: 0.75rem;
    color: var(--text-muted);
}

/* Keyframes pro animace */
@keyframes pulseLogo {
    0%, 100% { opacity: 0.8; }
    50% { opacity: 0.3; }
}

@keyframes barFill {
    0% { left: -40px; }
    100% { left: 120px; }
}

@keyframes marqueeMove {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@keyframes scrollWheel {
    0% { top: 6px; opacity: 0; }
    30% { opacity: 1; }
    100% { top: 22px; opacity: 0; }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ===================================================
   GALERIE OBRÁZKŮ S VERTIKÁLNÍM TEXTEM
   =================================================== */
.category-sticky-box-wrapper.stacked-gallery {
    height: auto; 
    display: flex;
    flex-direction: column;
    gap: 0; /* Zrušíme základní mezeru, řídíme ji pomocí paddingu v oddělovači */
}

.category-sticky-box-wrapper.stacked-gallery .category-fixed-box {
    min-height: 280px; /* Zvýšil jsem trochu výšku fotek, aby lépe vynikly */
    height: auto;
}

/* Vertikální nápisy */
.gallery-divider-vertical {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px; /* Mezera mezi jednotlivými písmeny */
    padding: 15px 0; /* TÍMTO NASTAVUJETE VELIKOST MEZERY NAD A POD TEXTEM */
    opacity: 0.4;
    transition: all 0.6s ease;
}

/* Animace textu při najetí myší na galerii */
.category-sticky-box-wrapper.stacked-gallery:hover .gallery-divider-vertical {
    opacity: 0.9;
    transform: scale(1.05); /* Text se nepatrně a ladně zvětší */
}

/* Samotná písmenka */
.gallery-divider-vertical span {
    font-family: 'Lora', serif; /* Font ladící s logem TIGUA */
    font-size: 1.4rem;
    color: var(--text-light);
    line-height: 1;
    letter-spacing: 0; /* U vertikálního textu letter-spacing nepotřebujeme */
}




/* ===================================================
   AESTHETIC ILUSTRACE MENU
   =================================================== */
.aesthetic-illustration {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px 0;
    margin: 20px 0;
}

.food-svg {
    width: 140px; /* Ideální velikost do sloupce */
    height: 140px;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), filter 0.6s ease;
    filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.05));
}

.aesthetic-illustration:hover .food-svg {
    transform: scale(1.1) translateY(-5px);
    filter: drop-shadow(0 15px 25px rgba(197, 160, 89, 0.15));
}





/* ==========================================================================
   KOMPLETNÍ MOBILNÍ LAYOUT - TIGUA (UX/UI Optimalizace)
   ========================================================================== */
@media (max-width: 992px) {
    
    /* 1. GLOBÁLNÍ ÚPRAVY A TYPOGRAFIE */
    .section { padding: 40px 0 !important; }
    .container { padding: 0 15px !important; }

    .section-title { 
        font-size: 1.8rem !important; 
        letter-spacing: 1px !important; 
        margin-bottom: 15px !important; 
        text-align: center;
    }
    
    .hero-title { font-size: 2.5rem !important; }
    .hero-desc { font-size: 0.95rem !important; padding: 0 10px; }

    /* Pevnější, ale stále elegantní skleněné karty na mobilu */
    .glass-card { 
        padding: 20px !important; 
        border-radius: 8px;
        border: 1px solid rgba(255, 255, 255, 0.05);
        background: rgba(8, 8, 8, 0.95) !important; 
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
    }

    /* 2. HERO TLAČÍTKA (Na plnou šířku pod sebou pro lepší klikání) */
    .hero-btns {
        flex-direction: column;
        gap: 15px;
        width: 100%;
        padding: 0 20px;
    }
    .hero-btns .btn { width: 100%; text-align: center; }

    /* 3. NAVIGACE A FUNKČNÍ HAMBURGER MENU */
    .navbar { padding: 12px 0 !important; background: rgba(5,5,5,0.98) !important; }
    .logo { font-size: 1.3rem !important; letter-spacing: 3px !important; }
    .menu-toggle { display: flex !important; }
    .btn-nav { display: none !important; } /* Skryto nahoře, řeší to sticky bar dole */

    .nav-links {
        position: fixed;
        top: 60px; /* Zarovnáno přesně pod hlavičku */
        left: 0;
        width: 100%;
        background: rgba(5, 5, 5, 0.98);
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(15px);
        flex-direction: column;
        align-items: center;
        padding: 30px 0;
        gap: 25px;
        transform: translateY(-150%);
        transition: transform 0.4s ease;
        z-index: 899;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }
    
    .nav-links.active { 
        transform: translateY(0); 
        box-shadow: 0 20px 40px rgba(0,0,0,0.8); 
    }

    /* 4. FILTRAČNÍ MENU (Zalamovací "chips" místo horizontálního scrollu) */
    .filter-tabs {
        flex-wrap: wrap !important;
        justify-content: center !important;
        padding-bottom: 10px;
        margin-top: 10px;
        gap: 6px;
    }
    
    .tab-btn {
        padding: 6px 12px !important;
        background: rgba(255, 255, 255, 0.05);
        border-radius: 20px;
        border: 1px solid transparent;
        font-size: 0.75rem !important;
        flex-shrink: 0;
    }
    .tab-btn.active { background: var(--text-light); color: var(--bg-black); }

    /* 5. JÍDELNÍ LÍSTEK (Odstraněno !important u display, aby fungoval JS filtr) */
    .large-menu-wrapper { gap: 30px !important; margin-top: 20px; }
    
    .menu-category-section { 
        display: block; /* Záměrně bez !important kvůli JS */
        gap: 0; 
        margin-bottom: 20px;
    }
    
    .menu-category-title { 
        font-size: 1.4rem !important; 
        padding-bottom: 10px !important; 
        margin-bottom: 15px !important;
        text-align: center;
    }

    .menu-showcase-row, .menu-showcase-row.inverse {
        display: block; /* Záměrně bez !important kvůli JS */
        margin-bottom: 20px;
    }

   /* 6. OBRÁZKY (Zmenšené bannery s možností rozkliknutí) */
    .category-sticky-box-wrapper {
        display: block !important;
        position: relative !important; 
        height: 140px !important; /* Zmenšená výška na mobilu (z původních 350px) */
        width: 100% !important;
        margin: 0 0 20px 0 !important;
        border-radius: 8px;
        overflow: hidden;
        cursor: pointer; /* Ukazatel, že jde kliknout */
        box-shadow: 0 4px 15px rgba(0,0,0,0.5);
        border: 1px solid rgba(255, 255, 255, 0.05);
    }

    /* U složitějších galerií (stacked-gallery) ukážeme na mobilu jen první fotku, ať je to čisté */
    .category-sticky-box-wrapper.stacked-gallery .gallery-divider-vertical,
    .category-sticky-box-wrapper.stacked-gallery .category-fixed-box:not(:first-of-type) {
        display: none !important;
    }

    .category-fixed-box {
        background-attachment: scroll !important; /* Vypne lagující paralaxu na mobilech */
        background-size: cover;
        background-position: center; 
        width: 100%;
        height: 100%;
        transition: transform 0.4s ease;
    }

    /* Jemný efekt zmenšení/zvětšení při dotyku prstem */
    .category-sticky-box-wrapper:active .category-fixed-box {
        transform: scale(1.05);
    }

    /* Decentní ikonka Lupy v pravém dolním rohu zmenšené fotky */
    .category-fixed-box::after {
        content: '';
        position: absolute;
        bottom: 12px;
        right: 12px;
        width: 22px;
        height: 22px;
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="rgba(255,255,255,0.85)" stroke-width="1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607zM10 7v6m3-3H7"/></svg>');
        background-size: contain;
        background-repeat: no-repeat;
        filter: drop-shadow(0 2px 5px rgba(0,0,0,0.9)); /* Stín pro čitelnost na světlém pozadí */
    }

    /* Skrytí překrývajících se černých nápisů na fotkách */
    .category-fixed-box .box-overlay { display: none !important; }
    /* 7. POLOŽKY MENU (Vyšší čitelnost textů) */
    .category-items-list { 
        background: transparent !important; 
        padding: 0 5px !important; 
        position: relative;
        z-index: 10; 
    }

.menu-sub-category-title {
        font-size: 1.15rem !important; 
        font-weight: 600 !important; 
        color: var(--text-light) !important;
        margin-top: 25px !important; 
        margin-bottom: 10px !important;
        padding-bottom: 5px !important;
        text-align: left !important;
        border-bottom: 1px solid rgba(255,255,255,0.1) !important;
    }
    .category-items-list .menu-sub-category-title:first-child { margin-top: 0; }

    .menu-item-line {
        border-bottom: 1px dashed rgba(255,255,255,0.08) !important;
        padding: 12px 0 !important;
    }

    .item-main-info {
        flex-direction: row !important; 
        justify-content: space-between !important;
        align-items: baseline !important;
        gap: 10px !important;
    }

    .category-items-list .menu-sub-category-title {
        font-size: 1.3rem !important;
        margin-top: 35px;
    }

    .item-main-info h4 { font-size: 0.95rem !important; line-height: 1.3 !important; }
    .item-main-info h5 { font-size: 0.8rem !important; }
    .item-main-info .price { font-size: 0.95rem !important; font-weight: 600; margin-left: 0 !important; }

    .menu-item-line p {
        font-size: 0.85rem !important;
        line-height: 1.4 !important; 
        color: var(--text-muted) !important;
        margin-top: 4px;
    }

    .sub-items-grid {
        gap: 6px !important;
        padding: 0 !important;
        margin-top: 8px;
        background: transparent !important;
        border: none !important;
        display: flex !important;
        flex-direction: column !important; /* Na mobilu raději varianty pod sebou pro čistotu */
    }
    
    .sub-item { font-size: 0.85rem !important; color: var(--text-muted) !important; padding: 2px 0 !important;}

    /* 8. ODSTRANĚNÍ NEPOTŘEBNÝCH DEKORACÍ */
    .menu-art-divider,
    .aesthetic-illustration,
    .marquee-wrapper,
    .scroll-down,
    .gallery-divider-vertical,
    .scroll-through-mask {
        display: none !important;
    }

    /* Alergeny */
    .allergens-container {
        padding: 20px 15px !important;
        margin-top: 40px !important;
        border-radius: 8px;
    }
    .allergens-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
    .allergen-item { font-size: 0.85rem !important; }

    /* 9. KONTAKT A OTEVÍRACÍ DOBA */
    .grid-split { grid-template-columns: 1fr !important; gap: 30px !important; }
    .split-img-frame { height: 250px !important; border-radius: 8px; }
    .map-frame { height: 250px !important; border-radius: 8px; }
    
    .form-row { gap: 0px !important; grid-template-columns: 1fr !important; }
    .form-row.tri-row { grid-template-columns: 1fr !important; }
    
    .design-hours { gap: 8px; margin-top: 20px; }
    .hours-card { padding: 12px 15px; border-radius: 6px; }
    .hours-card .days { font-size: 0.85rem; }
    .hours-card .time { font-size: 0.85rem; }

    .navigation-links { justify-content: flex-start !important; gap: 15px; }

    /* 10. MOBILNÍ STICKY BAR & FOOTER */
    .mobile-sticky-bar { display: grid !important; height: 55px; }
    .sticky-action-btn { font-size: 0.75rem !important; letter-spacing: 1px !important; }
    
    .footer { 
        padding: 30px 0; 
        padding-bottom: 80px !important; /* Důležité! Uvolní místo pro sticky bar */ 
    }
    .footer-logo { font-size: 1.2rem !important; letter-spacing: 5px !important; }
}

/* =========================================
   FOTOGRAFIE U JEDNOTLIVÝCH JÍDEL (Ikona)
   ========================================= */
.item-photo-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    margin-left: 10px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    color: rgba(255, 255, 255, 0.8);
    cursor: pointer;
    vertical-align: middle;
    transition: all 0.3s ease;
}

.item-photo-trigger svg {
    width: 14px;
    height: 14px;
}

.item-photo-trigger:active {
    transform: scale(0.85);
    background: rgba(255, 255, 255, 0.2);
}

/* Modální okno (Mléčné sklo) */
.premium-lightbox {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(5, 5, 5, 0.6); 
    backdrop-filter: blur(20px); 
    -webkit-backdrop-filter: blur(20px); 
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease;
}

.premium-lightbox.active {
    opacity: 1;
    pointer-events: auto;
}

.premium-lightbox-img {
    max-width: 90%;
    max-height: 75vh;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8);
    transform: scale(0.95);
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.premium-lightbox.active .premium-lightbox-img {
    transform: scale(1);
}

.lightbox-hint {
    position: absolute;
    bottom: 30px;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 0.7rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}

/* Na mobilu skryjeme ty původní velké bloky s obrázky u kategorií */
@media (max-width: 992px) {
    .category-sticky-box-wrapper, 
    .category-sticky-box-wrapper.stacked-gallery {
        display: none !important;
    }
}

.compact-info-box {
    margin-top: 40px;
    padding: 30px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.compact-header {
    font-family: 'Lora', serif;
    font-size: 1.2rem;
    letter-spacing: 2px;
    text-align: center;
    margin-bottom: 20px;
    color: var(--text-light);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding-bottom: 10px;
}

.compact-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px 30px;
}

.compact-item {
    display: flex;
    justify-content: space-between;
    font-size: 0.85rem;
    color: var(--text-muted);
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
}

.compact-item span {
    font-family: 'Be Vietnam Pro', sans-serif;
    color: var(--text-light);
    font-weight: 500;
}

.compact-item.featured {
    color: var(--text-light);
    font-weight: 600;
}

/* Mobilní optimalizace */
@media (max-width: 768px) {
    .compact-grid {
        grid-template-columns: 1fr;
        gap: 5px;
    }
    .compact-item {
        font-size: 0.8rem;
    }
}

@media (min-width: 993px) {
    .item-photo-trigger {
        display: none !important;
    }
}


.gallery-divider-vertical {
    visibility: hidden !important;
}




/* MODERNÍ VÝBĚR ČASU */
.time-chips-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(65px, 1fr));
    gap: 8px;
    max-height: 140px; /* Zabrání roztahování na celou obrazovku */
    overflow-y: auto; /* Přidá jemné scrollování uvnitř mřížky */
    padding: 10px;
    background: rgba(0, 0, 0, 0.4);
    border: 1px solid var(--glass-border);
    border-radius: 6px;
}

/* Skrytí ošklivého posuvníku na moderních prohlížečích */
.time-chips-container::-webkit-scrollbar { width: 4px; }
.time-chips-container::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.2); border-radius: 4px; }

.time-chip {
    background: transparent;
    border: 1px solid var(--glass-border);
    color: var(--text-light);
    padding: 8px 0;
    border-radius: 4px;
    font-family: inherit;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.time-chip:hover {
    border-color: rgba(255, 255, 255, 0.3);
}

.time-chip.selected {
    background: var(--gold);
    color: #d4af37;
    border-color: var(--gold);
    font-weight: 600;
}

/* CHYTRÉ ROZLOŽENÍ PRO POČÍTAČE A TABLETY (Všechny časy viditelné) */
@media (min-width: 768px) {
    .custom-grid-form {
        display: grid;
        grid-template-columns: repeat(6, 1fr); /* 6 virtuálních sloupců pro dokonalé zarovnání proporcí */
        grid-template-areas: 
            "name name name email email email"
            "phone phone guests guests date date"
            "time time time time time time"
            "note note note note note note"
            "gdpr gdpr gdpr gdpr gdpr gdpr"
            "submit submit submit submit submit submit";
        gap: 20px;
        align-items: start;
    }

    /* Přiřazení políček do mapy výše */
    .item-name { grid-area: name; }
    .item-email { grid-area: email; }
    .item-phone { grid-area: phone; }
    .item-guests { grid-area: guests; }
    .item-date { grid-area: date; }
    .item-time { grid-area: time; margin-top: 5px; }
    .item-note { grid-area: note; }
    .item-gdpr { grid-area: gdpr; text-align: center; margin-top: 10px; }
    .item-submit { grid-area: submit; }

    /* Zobrazení všech časů bez scrollování na PC */
    .item-time .time-chips-container {
        max-height: none; /* Odstraní omezení výšky */
        overflow: visible; /* Zcela vypne scrollování */
        grid-template-columns: repeat(auto-fill, minmax(75px, 1fr)); /* Tlačítka se rozprostřou na šířku */
        gap: 12px;
        padding: 15px; /* Více prostoru na velkém monitoru */
    }
    
    /* Na PC (pro klikání myší) uděláme tlačítka o trošku vyšší a čitelnější */
    .item-time .time-chip {
        padding: 10px 0;
        font-size: 0.9rem;
    }
}

/* OPRAVA: Bílý rámeček při automatickém vyplňování (Autofill) na mobilech */
.luxury-form input:-webkit-autofill,
.luxury-form input:-webkit-autofill:hover, 
.luxury-form input:-webkit-autofill:focus, 
.luxury-form input:-webkit-autofill:active {
    transition: background-color 5000s ease-in-out 0s !important;
    -webkit-text-fill-color: var(--text-light) !important;
    font-family: 'Be Vietnam Pro', sans-serif !important;
}

.veggie-tag {
    color: #4CAF50;
    font-size: 0.85rem;
    font-weight: bold;
    margin-left: 4px;
}

.spicy-tag {
    color: #e74c3c; /* Elegantní červená barva */
    font-size: 0.85rem;
    margin-left: 4px;
    display: inline-block;
}

.hours-card.highlighted {
    background: rgba(255, 255, 255, 0.04); /* Světlejší lesklé pozadí */
    border-left: 3px solid #ffffff;          /* Bílý pruh na levé straně */
    padding-left: 5px;                      /* Odsazení textu od pruhu */
    color: #ffffff;                          /* Jasnější bílý text */
    transition: all 0.3s ease;
    border-color: rgba(255, 255, 255, 0.15);
}

/* ABSOLUTNÍ ZABLOKOVÁNÍ MODRÉHO OZNACENÍ A KOPIROVÁNÍ PRO DATUM */
.item-date,
.item-date * {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
    -webkit-touch-callout: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

/* Vypnutí modrého pozadí výbeřu textu v prohlížečích */
.item-date input[type="date"]::selection {
    background-color: transparent !important;
    color: inherit !important;
}

.item-date input[type="date"]::-moz-selection {
    background-color: transparent !important;
    color: inherit !important;
}

/* Skrytí blikajícího kurzoru */
.item-date input[type="date"] {
    caret-color: transparent !important;
}
/* ===================================================
   POLEDNÍ MENU — Sjednocený seznam jídel
   =================================================== */
.hidden-menu {
    display: none !important;
}




/* Tabulkové zarovnání: Jídlo na střed, cena vpravo */
.poledni-item-row {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: baseline;
    gap: 20px;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.08);
}

.poledni-item-row:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.poledni-item-left {
    text-align: center; /* Název i složení na střed */
}

.poledni-item-title {
    font-family: 'Lora', serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-light, #f5f5f7); /* Písmo shodné s Alergeny */
    letter-spacing: 1px;
}

.poledni-item-desc {
    font-size: 0.9rem;
    color: var(--text-muted, #a1a1a9);
    font-weight: 300;
    margin-top: 4px;
    line-height: 1.4;
}

.poledni-item-price {
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--text-light, #f5f5f7);
    white-space: nowrap;
    text-align: right;
}

@media (max-width: 600px) {
    .poledni-item-row {
        grid-template-columns: 1fr;
        gap: 4px;
    }
    .poledni-item-price {
        text-align: center;
        color: var(--gold, #f5f5f7);
    }
}