/*
Theme Name: Topper Club
Theme URI: https://topper.ekora.sk
Author: Topper Club
Author URI: https://topper.ekora.sk
Description: Vlastná WordPress téma pre Topper Club — kaviareň, bar, reštaurácia a VIP catering v Pezinku. Postavená s dôrazom na technické SEO, rýchlosť a moderný dizajn.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: topperclub
*/

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

:root{
    --red:#e11c22;
    --red-dark:#a4141a;
    --black:#0d0d0d;
    --black-soft:#1a1a1a;
    --cream:#f7f5f1;
    --white:#ffffff;
    --gray:#5c5c5c;
    --gray-light:#e9e6e0;
    --display:'Oswald', sans-serif;
    --sans:'Inter', sans-serif;
}

html{ scroll-behavior:smooth; }

body{
    font-family:var(--sans);
    color:var(--gray);
    background:var(--cream);
    overflow-x:hidden;
    line-height:1.6;
}

a{ color:inherit;text-decoration: none; }
img{ max-width:100%; height:auto; display:block; }
::selection{ background:var(--red); color:var(--white); }

/* Accessibility: skip link */
.skip-link{
    position:absolute; left:-9999px; top:0; z-index:100000;
    background:var(--red); color:var(--white); padding:1rem 1.5rem; text-decoration:none;
}
.skip-link:focus{ left:1rem; top:1rem; }
.screen-reader-text{ }

/* ===== CUSTOM CURSOR ===== */
@media (hover:hover) and (pointer:fine){
    body{ cursor:none; }
    a, button, .cursor-hover{ cursor:none; }
}
.cursor-dot, .cursor-ring{
    position:fixed; top:0; left:0; pointer-events:none;
    border-radius:50%; z-index:9999; transform:translate(-50%,-50%);
    display:none;
}
@media (hover:hover) and (pointer:fine){
    .cursor-dot, .cursor-ring{ display:block; }
}
.cursor-dot{ width:6px; height:6px; background:var(--red); }
.cursor-ring{
    width:36px; height:36px; border:1.5px solid rgba(225,28,34,.5);
    transition:width .25s ease, height .25s ease, border-color .25s ease, background .25s ease;
}
.cursor-ring.grow{ width:64px; height:64px; background:rgba(225,28,34,.08); border-color:var(--red); }

/* ===== GRAIN OVERLAY ===== */
.grain{
    position:fixed; inset:0; z-index:9998; pointer-events:none;
    opacity:.035; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ===== SCROLL PROGRESS ===== */
.scroll-progress{
    position:fixed; top:0; left:0; height:3px; width:100%;
    background:var(--red); transform:scaleX(0); transform-origin:left; z-index:10001;
}

/* ===== NAV ===== */
nav{
    position:fixed; top:0; width:100%;
    background:rgba(13,13,13,.9);
    backdrop-filter:blur(14px);
    padding:1.1rem 3rem;
    display:flex; justify-content:space-between; align-items:center;
    z-index:1100;
    transition:padding .3s ease, background .3s ease;
    border-bottom:1px solid rgba(255,255,255,.06);
}
nav.scrolled{ padding:.7rem 0.7rem; background:rgba(13,13,13,.97); }

.logo{ height:44px; transition:transform .3s ease; z-index:1101; }
.logo img{ height:100%; width:auto; }
.logo:hover{ transform:scale(1.04); }

nav ul.nav-links{ display:flex; list-style:none; gap:2.3rem; align-items:center; }
nav a{
    color:var(--white); text-decoration:none;
    font-size:.82rem; font-weight:500;
    letter-spacing:.05em; text-transform:uppercase;
    position:relative; padding-bottom:4px;
}
nav a::after{
    content:''; position:absolute; bottom:0; left:0; width:0; height:1px;
    background:var(--red); transition:width .3s ease;
}
nav a:hover::after{ width:100%; }

.nav-cta, .nav-links .nav-cta a{
    background:var(--red); color:var(--white) !important;
    padding:.6rem 1.4rem; border-radius:2px; font-size:.78rem !important;
}
.nav-cta::after{ display:none; }
.nav-cta:hover{ background:var(--red-dark); }

.nav-menu-link, .nav-links .nav-menu-link a{ color:var(--red) !important; font-weight:700 !important; }
.nav-menu-link::after{ background:var(--red); }

.nav-quick-menu{
    display:none; background:var(--red); color:var(--white);
    font-family:var(--sans); font-size:.78rem; font-weight:700;
    letter-spacing:.04em; text-transform:uppercase;
    padding:.7rem 1.3rem; border-radius:4px; text-decoration:none;
    white-space:nowrap; margin-left:auto; margin-right:1rem;
    transition:background .25s ease, transform .25s ease;
}
.nav-quick-menu::after{ display:none; }
.nav-quick-menu:hover{ background:var(--red-dark); transform:translateY(-1px); }

.hamburger{
    display:none; flex-direction:column; justify-content:center; gap:5px;
    width:34px; height:34px; background:none; border:none; cursor:pointer; z-index:1101;
}
.hamburger span{
    width:100%; height:2px; background:var(--white);
    transition:transform .3s ease, opacity .3s ease;
}
.hamburger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2){ opacity:0; }
.hamburger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.nav-backdrop{
    position:fixed; inset:0; background:rgba(0,0,0,.55);
    opacity:0; pointer-events:none; transition:opacity .35s ease; z-index:1050;
}
.nav-backdrop.open{ opacity:1; pointer-events:auto; }

/* ===== BUTTONS ===== */
.btn{
    display:inline-flex; align-items:center; gap:.6rem;
    padding:1rem 2.4rem;
    font-family:var(--sans); font-size:.82rem; font-weight:600;
    letter-spacing:.08em; text-transform:uppercase;
    border:1px solid transparent; cursor:pointer;
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease;
    position:relative; overflow:hidden;
}
.btn-primary{ background:var(--red); color:var(--white); }
.btn-primary:hover{ background:var(--red-dark); box-shadow:0 14px 30px rgba(225,28,34,.35); }
.btn-outline{ background:transparent; color:var(--white); border-color:rgba(255,255,255,.5); }
.btn-outline:hover{ background:var(--white); color:var(--black); border-color:var(--white); }
.btn-outline-dark{ background:transparent; color:var(--black); border-color:var(--black); }
.btn-outline-dark:hover{ background:var(--black); color:var(--white); }
.btn-dark{ background:var(--black); color:var(--white); }
.btn-dark:hover{ background:var(--red); box-shadow:0 14px 30px rgba(225,28,34,.3); }

/* ===== SECTION SHARED ===== */
.container{ max-width:1280px; margin:0 auto; padding:0 3rem; }
.eyebrow{
    display:block; font-size:.78rem; font-weight:600;
    letter-spacing:.22em; text-transform:uppercase;
    color:var(--red); margin-bottom:1rem;
}
.section-heading{
    font-family:var(--display); font-weight:600; text-transform:uppercase;
    font-size:clamp(2.1rem,3.6vw,3.1rem);
    line-height:1.08; letter-spacing:.005em; color:var(--black);
    margin-bottom:1.2rem;
}
.section-heading em{ font-style:normal; color:var(--red); }
.section-intro{ max-width:620px; }

.reveal{
    opacity:0; transform:translateY(40px);
    transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1);
}
.reveal.in-view{ opacity:1; transform:translateY(0); }
.reveal.d1{ transition-delay:.1s; }
.reveal.d2{ transition-delay:.2s; }
.reveal.d3{ transition-delay:.3s; }
.reveal.d4{ transition-delay:.4s; }
.reveal.d5{ transition-delay:.5s; }

/* ===== HERO ===== */
.hero{ height:100vh; position:relative; overflow:hidden; display:flex; align-items:flex-end; }
.slider-slide{ position:absolute; inset:0; opacity:0; transition:opacity 1.1s ease; }
.slider-slide.active{ opacity:1; z-index:1; }
.slide-bg{ position:absolute; inset:0; overflow:hidden; }
.slide-bg img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.0); }
.slider-slide.active .slide-bg img{ animation:kenburns 8s ease-out forwards; }
@keyframes kenburns{ from{ transform:scale(1.0); } to{ transform:scale(1.1); } }
.slide-scrim{
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(13,13,13,.55) 0%, rgba(13,13,13,.25) 40%, rgba(13,13,13,.85) 100%);
}
.hero-spotlight{
    position:absolute; inset:0; z-index:2; pointer-events:none;
    background:radial-gradient(600px circle at var(--mx,50%) var(--my,50%), rgba(225,28,34,.16), transparent 60%);
}

.hero-inner{ position:relative; z-index:3; width:100%; padding:0 3rem 6.5rem; color:var(--white); }
.hero-eyebrow{
    font-size:.8rem; letter-spacing:.3em; text-transform:uppercase;
    color:rgba(255,255,255,.75); margin-bottom:1.4rem;
    display:flex; align-items:center; gap:.8rem;
}
.hero-eyebrow::before{ content:''; width:36px; height:1px; background:var(--red); }

.hero-title{
    font-family:var(--display); font-weight:700; text-transform:uppercase;
    font-size:clamp(2.8rem,7.2vw,5.8rem);
    line-height:1.02; letter-spacing:.005em;
    margin-bottom:1.6rem; max-width:900px;
}
.hero-title .reveal-word{
    display:inline-block; opacity:0;
    animation:wordUp .9s cubic-bezier(.16,1,.3,1) forwards;
    margin-right:.28em;
}
.hero-title .accent{ color:var(--red); }
@keyframes wordUp{
    from{ opacity:0; transform:translateY(46px) rotate(2deg); }
    to{ opacity:1; transform:translateY(0) rotate(0); }
}

.hero-subtitle{ font-size:1.05rem; font-weight:300; max-width:460px; margin-bottom:2.4rem; opacity:.85; }
.hero-cta{ display:flex; gap:1.1rem; flex-wrap:wrap; margin-bottom:3rem; }
.hero-controls{ display:flex; align-items:center; gap:1.4rem; }
.slider-dot{ width:32px; height:2px; background:rgba(255,255,255,.35); cursor:pointer; position:relative; border:none; padding:0; }
.slider-dot.active::after{
    content:''; position:absolute; inset:0; background:var(--red);
    animation:dotfill 5s linear forwards;
}
@keyframes dotfill{ from{ width:0; } to{ width:100%; } }

.scroll-cue{
    position:absolute; right:3rem; bottom:2.2rem; z-index:3;
    display:flex; flex-direction:column; align-items:center; gap:.6rem;
    color:rgba(255,255,255,.7); font-size:.7rem; letter-spacing:.2em; text-transform:uppercase;
}
.scroll-cue-line{ width:1px; height:46px; background:rgba(255,255,255,.3); position:relative; overflow:hidden; }
.scroll-cue-line::after{
    content:''; position:absolute; top:-100%; left:0; width:100%; height:100%; background:var(--red);
    animation:scrollcue 2s ease-in-out infinite;
}
@keyframes scrollcue{ 0%{ top:-100%; } 50%{ top:0; } 100%{ top:100%; } }

/* ===== MARQUEE ===== */
.marquee-strip{
    background:var(--black); overflow:hidden; padding:1.1rem 0;
    border-top:1px solid rgba(255,255,255,.08); border-bottom:1px solid rgba(255,255,255,.08);
}
.marquee-track{ display:flex; width:max-content; animation:marquee 26s linear infinite; list-style:none; }
.marquee-track li{
    font-family:var(--display); font-weight:500; text-transform:uppercase; letter-spacing:.04em;
    font-size:1rem; color:rgba(255,255,255,.55);
    padding:0 2.2rem; white-space:nowrap; display:flex; align-items:center; gap:2.2rem;
}
.marquee-track li::after{ content:'✦'; color:var(--red); font-size:.7rem; }
@keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ===== LOCATIONS QUICK PICK ===== */
.locations-pick{ background:var(--cream); padding:7rem 0 6rem; }
.locations-pick .container > .top{
    display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:2rem;
    margin-bottom:3.5rem;
}
.pick-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; }
.pick-card{ position:relative; height:480px; overflow:hidden; border-radius:4px; display:block; text-decoration:none; }
.pick-card-bg{ position:absolute; inset:0; overflow:hidden; }
.pick-card-bg img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    transform:scale(1.06); transition:transform .8s cubic-bezier(.16,1,.3,1);
}
.pick-card:hover .pick-card-bg img{ transform:scale(1.16); }
.pick-card::before{
    content:''; position:absolute; inset:0; z-index:1;
    background:linear-gradient(180deg, rgba(13,13,13,.05) 0%, rgba(13,13,13,.85) 100%);
    transition:background .4s ease;
}
.pick-card:hover::before{ background:linear-gradient(180deg, rgba(225,28,34,.15) 0%, rgba(13,13,13,.9) 100%); }
.pick-card-content{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:2.2rem; color:var(--white); }
.pick-tag{ font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--red); margin-bottom:.6rem; display:block; }
.pick-title{ font-family:var(--display); font-size:1.7rem; font-weight:600; text-transform:uppercase; margin-bottom:.6rem; }
.pick-desc{ font-size:.88rem; opacity:.8; max-width:280px; margin-bottom:1.2rem; }
.pick-link{
    display:inline-flex; align-items:center; gap:.5rem;
    font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; font-weight:600;
    color:var(--white); text-decoration:none;
}
.pick-link svg{ width:14px; height:14px; transition:transform .3s ease; }
.pick-card:hover .pick-link svg{ transform:translateX(6px); }

/* ===== ABOUT ===== */
.about{ background:var(--white); padding:8rem 0; position:relative; overflow:hidden; }
.about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.about-media{ position:relative; }
.about-media-frame{ position:absolute; top:-24px; left:-24px; right:24px; bottom:24px; border:1.5px solid var(--red); z-index:0; border-radius:4px; }
.about-media img{ position:relative; z-index:1; width:100%; height:520px; object-fit:cover; border-radius:4px; }
.about-copy p{ font-size:1.02rem; margin-bottom:1.4rem; color:var(--gray); }
.about-copy strong{ color:var(--black); font-weight:600; }
.about-stats{
    display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; margin-top:2.6rem;
    padding-top:2.4rem; border-top:1px solid var(--gray-light);
}
.stat-num{ font-family:var(--display); font-size:2.2rem; font-weight:700; color:var(--black); display:block; line-height:1; }
.stat-num .suffix{ color:var(--red); }
.stat-lbl{ font-size:.78rem; color:var(--gray); margin-top:.5rem; letter-spacing:.02em; }

/* ===== ATMOSPHERE BENTO ===== */
.atmosphere{ background:var(--cream); padding:7rem 0; }
.bento{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:180px; gap:1.2rem; margin-top:3.5rem; }
.bento-card{
    background:var(--white); border-radius:4px; padding:1.8rem;
    display:flex; flex-direction:column; justify-content:space-between;
    border:1px solid var(--gray-light);
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease, background .35s ease;
    position:relative; overflow:hidden;
}
.bento-card:hover{ transform:translateY(-6px); box-shadow:0 24px 50px rgba(13,13,13,.08); border-color:transparent; }
.bento-card.wide{ grid-column:span 2; }
.bento-card.tall{ grid-row:span 2; }
.bento-card.dark{ background:var(--black); border-color:var(--black); }
.bento-card.dark .bento-title, .bento-card.dark .bento-icon svg{ color:var(--white); fill:var(--white); }
.bento-card.dark .bento-desc{ color:rgba(255,255,255,.6); }

.bento-icon{ width:34px; height:34px; }
.bento-icon svg{ width:100%; height:100%; fill:var(--red); }
.bento-title{ font-family:var(--display); font-size:1.05rem; font-weight:600; text-transform:uppercase; color:var(--black); margin-top:1rem; }
.bento-desc{ font-size:.85rem; color:var(--gray); margin-top:.4rem; }


/* ===== CATERING / PRESTIGE — START ===== */
.prestige{ background:var(--black); color:var(--white); padding:7.5rem 0 6rem; position:relative; overflow:hidden; }

.prestige-marquee{
    overflow:hidden; margin:3.5rem 0 4.5rem;
    border-top:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1);
    padding:1.6rem 0;
}
.prestige-marquee-track{
    display:flex; align-items:center; list-style:none; margin:0; padding:0;
    width:max-content; animation:marquee 90s linear infinite;
}
.prestige-marquee-track li{ padding:0 .8rem; flex-shrink:0; }
.prestige-marquee-track li img{
    height:110px; width:170px; object-fit:cover; border-radius:4px;
    filter:none; opacity:1;
    transition:filter .3s ease, opacity .3s ease;
}
.prestige-marquee-track li img:hover{
    filter:grayscale(1) brightness(1.15); opacity:.85;
}

.prestige-header{ display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:2rem; }
.prestige .section-heading{ color:var(--white); }
/* ===== CATERING / PRESTIGE — END ===== */

/* ===== HOMEPAGE — textový ticker (.text-marquee) ===== START */
.text-marquee li{
    font-family:var(--display); font-weight:700; text-transform:uppercase; letter-spacing:.02em;
    font-size:clamp(1.6rem,2.8vw,2.3rem);
    -webkit-text-stroke:1px rgba(255,255,255,.5);
    color:transparent;
    padding:0 2.2rem; white-space:nowrap;
}
.text-marquee li.filled{ -webkit-text-stroke:0; color:var(--red); }
.text-marquee{ animation: marquee 30s linear infinite; }
/* ===== HOMEPAGE — textový ticker (.text-marquee) ===== END */


.case-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
.case-card{ position:relative; overflow:hidden; border-radius:4px; height:360px; }
.case-img{ position:absolute; inset:0; overflow:hidden; }
.case-img img{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    transform:scale(1.05); transition:transform .7s cubic-bezier(.16,1,.3,1), filter .5s ease;
    filter:grayscale(55%);
}
.case-card:hover .case-img img{ transform:scale(1.15); filter:grayscale(0%); }
.case-card::before{
    content:''; position:absolute; inset:0; z-index:1;
    background:linear-gradient(180deg, transparent 30%, rgba(13,13,13,.95) 100%);
}
.case-content{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:1.5rem; }
.case-year{ font-size:.72rem; letter-spacing:.2em; color:var(--red); text-transform:uppercase; }
.case-title{ font-family:var(--display); font-size:1.2rem; font-weight:600; text-transform:uppercase; margin:.4rem 0; }
.case-desc{ font-size:.82rem; opacity:.7; }

/* ===== GALLERY ===== */
.gallery{ background:var(--cream); padding:6rem 0; }
.gallery-grid{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:160px; gap:.8rem; margin-top:2.5rem; }
.gallery-item{ position:relative; overflow:hidden; border-radius:4px; }
.gallery-item.big{ grid-column:span 2; grid-row:span 2; }
.gallery-item img{ width:100%; height:100%; object-fit:cover; transform:scale(1.05); filter:grayscale(30%);
    transition:transform .6s cubic-bezier(.16,1,.3,1), filter .4s ease; }
.gallery-item:hover img{ transform:scale(1.15); filter:grayscale(0%); }

/* ===== PORTFOLIO LIST (catering referencie) ===== */
.portfolio{ background:var(--cream); padding:6rem 0; }
.portfolio-list{ margin-top:2.5rem; list-style:none; }
.portfolio-row{ display:flex; gap:1.6rem; align-items:baseline; padding:1.4rem 0; border-top:1px solid var(--gray-light); }
.portfolio-list > .portfolio-row:last-child{ border-bottom:1px solid var(--gray-light); }
.portfolio-num{ font-family:var(--display); color:var(--red); font-weight:600; font-size:.95rem; flex-shrink:0; width:28px; }
.portfolio-text strong{ color:var(--black); font-family:var(--display); text-transform:uppercase; letter-spacing:.01em; font-weight:600; }
.portfolio-text span{ font-size:.92rem; color:var(--gray); }

/* ===== SERVICES ===== */
.services{ background:var(--white); padding:7rem 0; }
.service-row{ border-top:1px solid var(--gray-light); }
.service-row:last-child{ border-bottom:1px solid var(--gray-light); }
.service-item{
    display:grid; grid-template-columns:80px 1fr 1fr 40px;
    align-items:center; gap:2rem; padding:2.1rem 0;
    transition:padding-left .3s ease, background .3s ease; position:relative;
}
.service-item::before{
    content:''; position:absolute; left:0; top:0; bottom:0; width:0; background:var(--red); transition:width .3s ease;
}
.service-item:hover{ padding-left:1.6rem; background:var(--cream); }
.service-item:hover::before{ width:4px; }
.service-index{ font-family:var(--display); font-size:1.1rem; color:var(--red); font-weight:600; }
.service-name{ font-family:var(--display); font-size:1.35rem; font-weight:600; text-transform:uppercase; color:var(--black); }
.service-text{ font-size:.9rem; color:var(--gray); }
.service-arrow{ width:22px; height:22px; transition:transform .3s ease; justify-self:end; }
.service-arrow svg{ width:100%; height:100%; fill:var(--black); }
.service-item:hover .service-arrow{ transform:rotate(45deg); }
.service-item:hover .service-arrow svg{ fill:var(--red); }

/* ===== CONTACT ===== */
.contact{ background:var(--black); color:var(--white); padding:7.5rem 0; }
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:5rem; }
.contact .section-heading{ color:var(--white); }
.form-group{ margin-bottom:1.5rem; }
.form-group label{
    display:block; font-size:.72rem; letter-spacing:.15em; text-transform:uppercase;
    margin-bottom:.6rem; color:rgba(255,255,255,.6);
}
.form-group input, .form-group textarea{
    width:100%; background:transparent; border:none; border-bottom:1px solid rgba(255,255,255,.25);
    padding:.7rem 0; color:var(--white); font-family:var(--sans); font-size:1rem;
    transition:border-color .3s ease;
}
.form-group input:focus, .form-group textarea:focus{ outline:none; border-color:var(--red); }
.form-group textarea{ resize:vertical; min-height:90px; }
.form-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form-notice{ padding:.9rem 1.1rem; margin-bottom:1.5rem; border-left:3px solid; font-size:.92rem; }
.form-notice--success{ border-color:#3fb950; background:rgba(63,185,80,.12); }
.form-notice--error{ border-color:var(--red); background:rgba(225,28,34,.12); }
.newsletter .form-notice{ max-width:440px; margin:0 auto 1.2rem; text-align:left; border-color:var(--white); background:rgba(0,0,0,.18); }

.contact-locations{ display:flex; flex-direction:column; gap:1.6rem; }
.contact-loc{ border:1px solid rgba(255,255,255,.12); border-radius:4px; padding:1.6rem; transition:border-color .3s ease, background .3s ease; }
.contact-loc:hover{ border-color:var(--red); background:rgba(225,28,34,.05); }
.contact-loc h3{ font-family:var(--display); font-size:1.1rem; font-weight:600; text-transform:uppercase; margin-bottom:.5rem; }
.contact-loc p{ font-size:.85rem; color:rgba(255,255,255,.6); margin-bottom:.3rem; }
.contact-loc a{ color:var(--red); text-decoration:none; font-weight:600; }

.contact-side{ display:flex; flex-direction:column; justify-content:center; gap:1.6rem; }
.contact-side h3{ font-family:var(--display); text-transform:uppercase; font-size:1.3rem; margin-bottom:.6rem; }
.contact-side p{ color:rgba(255,255,255,.65); font-size:.95rem; margin-bottom:.4rem; }
.contact-side a{ color:var(--red); font-weight:600; text-decoration:none; font-size:1.1rem; }

/* ===== NEWSLETTER ===== */
.newsletter{ background:var(--red); padding:4.5rem 0; text-align:center; color:var(--white); position:relative; overflow:hidden; }
.newsletter h2{ font-family:var(--display); font-size:1.9rem; font-weight:600; text-transform:uppercase; margin-bottom:.6rem; }
.newsletter p{ opacity:.9; margin-bottom:1.8rem; font-size:.92rem; }
.newsletter-form{ display:flex; gap:.6rem; max-width:440px; margin:0 auto; }
.newsletter-form input{ flex:1; padding:1rem 1.2rem; border:none; border-radius:2px; font-size:.9rem; font-family:var(--sans); }
.newsletter-form input:focus{ outline:2px solid var(--black); }
.newsletter-form button{
    padding:1rem 1.8rem; background:var(--black); color:var(--white); border:none; border-radius:2px;
    font-weight:600; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; cursor:pointer;
    transition:background .3s ease;
}
.newsletter-form button:hover{ background:#000; }

/* ===== NÁPOJOVÝ LÍSTOK (stránky napojovy-listok-*) ===== */
.drink-menu{ max-width:820px; margin:0 auto; }
.drink-menu h2.drink-group{
    font-family:var(--display); font-weight:600; text-transform:uppercase; font-size:1.6rem;
    color:var(--red); margin:3.5rem 0 0; letter-spacing:.02em;
}
.drink-menu h3{
    font-family:var(--display); font-weight:600; text-transform:uppercase; font-size:1.25rem;
    color:var(--black); letter-spacing:.04em; margin:2.8rem 0 .4rem;
    padding-bottom:.6rem; border-bottom:2px solid var(--red);
}
.drink-menu h2.drink-group + h3{ margin-top:1.4rem; }
.drink-menu > h3:first-child{ margin-top:0; }
.drink-menu .wp-block-table{ margin:0; overflow-x:visible; }
.drink-menu table{ width:100%; border-collapse:collapse; }
.drink-menu td{ border:none; border-bottom:1px solid #ece8e0; padding:.75rem .4rem; vertical-align:top; font-size:.98rem; color:var(--black); }
.drink-menu td:first-child{ width:4.8rem; white-space:nowrap; color:#8a8a8a; font-size:.88rem; padding-left:0; }
.drink-menu td:last-child{ width:5.5rem; text-align:right; white-space:nowrap; font-weight:600; padding-right:0; }
.drink-menu td em{ display:block; font-style:normal; font-size:.85rem; color:#8a8a8a; margin-top:.2rem; line-height:1.5; }
.drink-menu tr:hover td{ background:rgba(225,28,34,.03); }
.drink-menu .drink-note{ margin-top:2.5rem; font-size:.85rem; color:#8a8a8a; text-align:center; }
@media (max-width:768px){
    .drink-menu td{ font-size:.92rem; padding:.65rem .25rem; }
    .drink-menu td:first-child{ width:3.8rem; font-size:.8rem; }
    .drink-menu td:last-child{ width:4.6rem; }
}

/* ===== COOKIE LIŠTA (consent.php + assets/js/consent.js) =====
   Zobrazí sa, kým návštevník nerozhodne. Dovtedy Consent Mode v2 drží
   analytiku aj reklamu zamietnutú. */
.cookiebar{
    position:fixed; left:0; right:0; bottom:0; z-index:2000;
    background:rgba(13,13,13,.97); color:var(--white);
    backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
    border-top:2px solid var(--red);
    padding:1.4rem 3rem;
    transform:translateY(110%); transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.cookiebar.is-in{ transform:none; }
.cookiebar[hidden]{ display:none; }
.cookiebar__inner{ max-width:1280px; margin:0 auto; display:grid; gap:1.2rem; align-items:center; }
@media (min-width:900px){ .cookiebar__inner{ grid-template-columns:1fr auto; } }
.cookiebar h2{ font-family:var(--display); font-weight:600; text-transform:uppercase; font-size:1.1rem; letter-spacing:.04em; margin-bottom:.3rem; }
.cookiebar p{ font-size:.86rem; color:rgba(255,255,255,.7); line-height:1.55; max-width:76ch; }
.cookiebar p a{ color:var(--white); text-decoration:underline; text-underline-offset:3px; }
.cookiebar__actions{ display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; }
.cookiebar__btn{ padding:.85rem 1.5rem; font-size:.75rem; }
.cookiebar__btn--ghost{ background:transparent; color:var(--white); border-color:rgba(255,255,255,.45); }
.cookiebar__btn--ghost:hover{ background:var(--white); color:var(--black); border-color:var(--white); }
.cookiebar__more{
    background:none; border:none; cursor:pointer; padding:.5rem;
    font-family:var(--sans); font-size:.75rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
    color:rgba(255,255,255,.6); text-decoration:underline; text-underline-offset:4px;
}
.cookiebar__more:hover{ color:var(--white); }
.cookiebar__settings{
    max-width:1280px; margin:1.2rem auto 0; padding-top:1.2rem;
    border-top:1px solid rgba(255,255,255,.12);
    display:grid; gap:.85rem; justify-items:start;
}
.cookiebar__settings[hidden]{ display:none; }
.cookiebar__opt{ display:flex; gap:.7rem; align-items:flex-start; font-size:.86rem; color:rgba(255,255,255,.75); line-height:1.5; cursor:pointer; }
.cookiebar__opt strong{ color:var(--white); }
.cookiebar__opt input{ width:18px; height:18px; flex:none; margin-top:.15rem; accent-color:var(--red); }
@media (max-width:768px){
    .cookiebar{ padding:1.1rem 1.25rem; }
    .cookiebar__btn{ flex:1 1 auto; justify-content:center; }
}

/* ===== PRÁVNE STRÁNKY (ochrana osobných údajov, cookies) ===== */
.intro-copy table{ width:100%; border-collapse:collapse; margin:1rem 0 2rem; font-size:.9rem; }
.intro-copy th, .intro-copy td{ text-align:left; padding:.6rem .5rem; border-bottom:1px solid #ece8e0; vertical-align:top; }
.intro-copy th{ font-family:var(--display); font-weight:500; text-transform:uppercase; letter-spacing:.06em; font-size:.78rem; color:var(--black); }
.intro-copy code{ font-size:.85em; background:#f3f0ea; padding:.1em .35em; border-radius:3px; }

/* ===== KOMENTÁRE (comments.php) ===== */
.comments{ background:var(--cream); padding:6rem 0; }
.comments .container{ max-width:900px; }
.comments-title{ margin-bottom:2.5rem; }
.comments .screen-reader-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.comment-list, .comment-list .children{ list-style:none; margin:0; padding:0; }
.comment-list .children{ padding-left:2rem; border-left:2px solid rgba(225,28,34,.25); margin-left:.4rem; }
.comment-body{ padding:1.6rem 0; border-bottom:1px solid #e4e0d8; }
.comment-meta{ display:grid; grid-template-columns:1fr auto; column-gap:1rem; align-items:baseline; margin-bottom:.7rem; }
.comment-author{ font-family:var(--display); font-weight:500; font-size:1.15rem; color:var(--black); margin:0; }
.comment-date{ grid-row:2; font-size:.8rem; letter-spacing:.04em; color:#8a8a8a; }
.comment-reply{ grid-row:1 / span 2; grid-column:2; align-self:center; }
.comment-reply-link{
    display:inline-flex; align-items:center; gap:.4rem;
    font-size:.75rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
    color:var(--red); text-decoration:none; transition:color .3s ease;
}
.comment-reply-link::before{ content:"\21A9"; font-size:1rem; line-height:1; }
.comment-reply-link:hover{ color:var(--black); }
.comment-content{ font-size:.98rem; line-height:1.7; color:var(--gray); }
.comment-content p{ margin:0 0 .6rem; }
.comment-content p:last-child{ margin-bottom:0; }
.comment-awaiting{ font-size:.85rem; font-style:italic; color:var(--red); margin-bottom:.5rem; }
.comments .nav-links{ display:flex; justify-content:space-between; margin-top:1.5rem; font-weight:600; }
.comments .nav-links a{ color:var(--red); text-decoration:none; }

.comment-respond{ margin-top:3.5rem; }
.comment-list .comment-respond{ margin:1rem 0 1.5rem; }
.comment-reply-title{ font-family:var(--display); font-weight:600; text-transform:uppercase; font-size:1.7rem; color:var(--black); margin-bottom:.5rem; }
.comment-reply-title small{ display:block; margin-top:.3rem; font-family:var(--sans); font-size:.8rem; text-transform:none; }
.comment-reply-title small a{ color:var(--red); }
.comment-notes{ font-size:.85rem; color:#8a8a8a; margin-bottom:1.4rem; }
.comment-form{ display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.2rem; }
.comment-form > p{ margin:0; }
.comment-form-comment, .comment-notes, .comment-form-cookies-consent, .form-submit{ grid-column:1 / -1; }
.comment-form input[type=text], .comment-form input[type=email], .comment-form textarea{
    width:100%; background:var(--white); border:1px solid #d9d4ca; border-radius:4px;
    padding:.95rem 1.1rem; font-family:var(--sans); font-size:.95rem; color:var(--black);
    transition:border-color .3s ease, box-shadow .3s ease;
}
.comment-form textarea{ min-height:160px; resize:vertical; }
.comment-form input:focus, .comment-form textarea:focus{ outline:none; border-color:var(--red); box-shadow:0 0 0 3px rgba(225,28,34,.12); }
.comment-form-cookies-consent{ display:flex; gap:.6rem; align-items:flex-start; font-size:.85rem; color:var(--gray); }
.comment-form-cookies-consent input{ margin-top:.25rem; accent-color:var(--red); }
.form-submit{ margin-top:.4rem; }
.form-submit .btn{ border:none; cursor:pointer; }

@media (max-width:768px){
    .comments{ padding:4rem 0; }
    .comment-form{ grid-template-columns:1fr; }
    .comment-list .children{ padding-left:1rem; }
}

/* ===== PAGE HEADER (podstránky) ===== */
.page-header{ height:56vh; min-height:420px; position:relative; overflow:hidden; display:flex; align-items:flex-end; margin-top:0; }
.page-header-bg{ position:absolute; inset:0; overflow:hidden; }
.page-header-bg img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; animation:kenburns 9s ease-out forwards; }
.page-header-scrim{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(13,13,13,.6) 0%, rgba(13,13,13,.35) 40%, rgba(13,13,13,.92) 100%); }
.page-header-inner{ position:relative; z-index:2; width:100%; padding:0 3rem 3.5rem; color:var(--white); max-width:1280px; margin:0 auto; }
.breadcrumb{ font-size:.78rem; letter-spacing:.15em; text-transform:uppercase; color:rgba(255,255,255,.65); margin-bottom:1.2rem; }
.breadcrumb a{ text-decoration:none; color:rgba(255,255,255,.65); }
.breadcrumb a:hover{ color:var(--red); }
.page-title{ font-family:var(--display); font-weight:700; text-transform:uppercase; font-size:clamp(2.4rem,6vw,4.4rem); line-height:1; margin-bottom:.9rem; }
.page-title em{ font-style:normal; color:var(--red); }
.page-subtitle{ font-size:1rem; font-weight:300; max-width:540px; opacity:.85; }

/* ===== INTRO (generic content block) ===== */
.intro{ background:var(--white); padding:6rem 0; }
.intro-grid{ display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.intro-copy p{ font-size:1.02rem; margin-bottom:1.3rem; }
.intro-copy strong{ color:var(--black); }
.intro-media img{ width:100%; height:420px; object-fit:cover; border-radius:4px; }

/* ===== ORDER BAR (denné menu) ===== */
.order-bar{ background:var(--black); color:var(--white); padding:1.6rem 0; }
.order-bar .container{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.order-bar p{ font-size:.9rem; color:rgba(255,255,255,.8); }
.order-bar strong{ color:var(--red); }
.order-bar a{ color:var(--white); text-decoration:none; font-weight:600; border-bottom:1px solid var(--red); }

/* ===== MENU SECTION (denné menu) ===== */
.menu-section{ background:var(--white); padding:5rem 0 6rem; }
.day-tabs{ display:flex; gap:.6rem; flex-wrap:wrap; margin:2.5rem 0 3rem; border-bottom:1px solid var(--gray-light); padding-bottom:1.5rem; }
.day-tab{ padding:.7rem 1.4rem; background:var(--cream); border:1px solid var(--gray-light); border-radius:2px;
    font-family:var(--display); text-transform:uppercase; font-size:.85rem; letter-spacing:.03em; color:var(--gray);
    cursor:pointer; transition:all .25s ease; }
.day-tab:hover{ border-color:var(--red); color:var(--black); }
.day-tab.active{ background:var(--red); color:var(--white); border-color:var(--red); }
.day-panel{ display:none; }
.day-panel.active{ display:block; animation:fadein .5s ease; }
@keyframes fadein{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:translateY(0); } }
.day-date{ font-family:var(--display); font-size:1.1rem; text-transform:uppercase; color:var(--black); margin-bottom:2rem; letter-spacing:.03em; }
.day-date::before{ content:'— '; color:var(--red); }
.menu-category{ margin-bottom:2.2rem; }
.menu-category h4{ font-family:var(--display); font-size:.95rem; text-transform:uppercase; letter-spacing:.1em; color:var(--red); margin-bottom:.9rem; }
.menu-row{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:.6rem 0; border-bottom:1px dashed var(--gray-light); }
.menu-row-left{ display:flex; gap:.8rem; align-items:baseline; flex:1; }
.menu-weight{ font-size:.72rem; color:var(--gray); flex-shrink:0; width:52px; }
.menu-name{ font-size:.94rem; color:var(--black-soft); }
.menu-allergen{ font-size:.65rem; color:var(--gray); vertical-align:super; }
.menu-price{ font-family:var(--display); font-weight:600; color:var(--black); white-space:nowrap; }
.portion-note{ font-size:.82rem; color:var(--gray); margin-top:2rem; font-style:italic; }
.allergen-legend{ background:var(--cream); padding:4rem 0; }
.allergen-legend h3{ font-family:var(--display); text-transform:uppercase; font-size:1.2rem; color:var(--black); margin-bottom:1.5rem; }
.allergen-list{ columns:2; column-gap:3rem; font-size:.85rem; color:var(--gray); list-style:none; }
.allergen-list li{ margin-bottom:.5rem; break-inside:avoid; }
.allergen-list b{ color:var(--red); margin-right:.4rem; }

/* ===== FOOTER ===== */
footer{ background:var(--black); color:var(--white); padding:5rem 0 2rem; }
.footer-top{
    display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:2rem;
    padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,.1); margin-bottom:2rem;
}
.footer-logo{ height:52px; } .footer-logo img{ height:100%; width:auto; }
.footer-links{ display:flex; gap:2.2rem; flex-wrap:wrap; list-style:none; }
.footer-links a{ text-decoration:none; font-size:.85rem; color:rgba(255,255,255,.7); transition:color .3s ease; }
.footer-links a:hover{ color:var(--red); }
.footer-widgets{ padding-bottom:2rem; color:rgba(255,255,255,.6); font-size:.85rem; }
.footer-bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; font-size:.78rem; color:rgba(255,255,255,.4); }
.footer-bottom a{ color:inherit; text-decoration:underline; text-underline-offset:2px; }
.footer-bottom a:hover{ color:var(--white); }

/* ===== SCROLLBAR ACCENT ===== */
::-webkit-scrollbar{ width:8px; }
::-webkit-scrollbar-track{ background:var(--cream); }
::-webkit-scrollbar-thumb{ background:var(--red); border-radius:4px; }

/* ===== RESPONSIVE ===== */
@media (max-width:1024px){
    .pick-grid, .case-grid{ grid-template-columns:1fr 1fr; }
    .bento{ grid-template-columns:repeat(2,1fr); }
    .bento-card.wide{ grid-column:span 2; }
    .about-grid, .contact-grid, .intro-grid{ grid-template-columns:1fr; gap:3rem; }
    .about-stats{ grid-template-columns:repeat(2,1fr); }
    .gallery-grid{ grid-template-columns:repeat(2,1fr); }
    .gallery-item.big{ grid-column:span 2; grid-row:span 1; }

    .hamburger{ display:flex; }
    .nav-quick-menu{ display:inline-flex; align-items:center; }
    nav ul.nav-links{
        position:fixed; top:0; right:-100%; height:100vh; width:min(340px,82vw);
        background:var(--black); flex-direction:column; justify-content:center; align-items:flex-start;
        gap:1.7rem; padding:2rem 2.6rem;
        transition:right .4s cubic-bezier(.16,1,.3,1);
        box-shadow:-10px 0 40px rgba(0,0,0,.4);
    }
    nav ul.nav-links.open{ right:0; }
    nav ul.nav-links li{ width:100%; }
    nav ul.nav-links a{ font-size:1rem; }
    .nav-cta{ display:inline-block; margin-top:.5rem; }
    .allergen-list{ columns:1; }
}
@media (max-width:768px){
    nav{ padding:1rem 1.4rem; }
    .container{ padding:0 1.4rem; }
    .hero-inner, .page-header-inner{ padding:0 1.4rem 3rem; }
    .pick-grid, .case-grid{ grid-template-columns:1fr; }
    .bento{ grid-template-columns:1fr; grid-auto-rows:auto; }
    .bento-card.wide, .bento-card.tall{ grid-column:span 1; grid-row:span 1; }
    .gallery-grid{ grid-template-columns:1fr 1fr; }
    .service-item{ grid-template-columns:40px 1fr; row-gap:.5rem; }
    .service-text, .service-arrow{ display:none; }
    .scroll-cue{ display:none; }
    .footer-top{ flex-direction:column; align-items:flex-start; }
    .order-bar .container{ padding:0 1.4rem; }
    .menu-weight{ display:none; }
}

/* Fade-in for menu category default state without JS */
.reveal.in-view{ opacity:1; transform:none; }



.alergeny {font-size: 12px}
.denne-menu h4 {margin-top: 30px}
.denne-menu td {font-size: 14px}
.OvlMen{display:block;margin:0 0 15px 0;height: 0px}
ul.ObeMen {
    margin: 0 0 25px 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
}
ul.ObeMen li 	{float: left;
				list-style: none;
				cursor: pointer;
				width: 18%;
				text-align: center;}
				
ul.ObeMen li div{padding: 10px 0px 10px 0px;background-color: white;border: lightgray dotted 1px;text-transform: uppercase;font-size: 14px;}
ul.ObeMen li .Act{background-color:#e11c22;border-radius: 2px;color: white!important}
ul.ObeMen li .VybMen{padding: 10px 0px 10px 0px;color: black;text-transform: uppercase;font-size: 14px;}
body {font-family: 'OSWALD'!important;}
table td, table th {
    padding: 8px;
    border: 1px solid #eaeaea;
    color: #000;
}



/***custom styles***/
#wpadminbar {display:none !important;}

@media (max-width:768px){ 
    .hide-on-mobile {display: none !important;;}
    .buttons-insta {flex-direction: column;}
    .button-insta {margin-left: 0 !important;}
}
