*{margin:0;padding:0;box-sizing:border-box}
body{background:#0F0F0F;color:#fff;font-family:Arial,sans-serif;overflow-x:hidden}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}

/* SOCIAL FLOATING */
.social-floating{position:fixed;left:20px;top:50%;transform:translateY(-50%);z-index:9999;display:flex;flex-direction:column;gap:15px}
.social-floating img{width:72px;height:72px;transition:.3s}

/* HERO */
.hero-slider{position:relative;width:100%;height:100vh;overflow:hidden}
.slide{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    opacity:0;
}

.slide.active{
    opacity:1;
}
.slide.active{opacity:1}
.overlay{position:absolute;inset:0;background:rgba(0,0,0,.55);z-index:2}
.hero-content{position:relative;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px}
.hero-logo{
    width:140px;
    height:auto;
    aspect-ratio:1/1;
    margin-bottom:25px;
    object-fit:contain;
}.hero-content p{font-size:32px;margin-bottom:35px}
.hero-content h1{
    font-size:56px;
    font-weight:800;
    line-height:1.1;
    color:#fff;
    text-align:center;
    margin:20px 0;
    text-transform:uppercase;
}

@media(max-width:768px){

    .hero-content h1{
        font-size:34px;
        line-height:1.2;
        padding:0 15px;
    }

}
.hero-btn{display:inline-block;background:#B32025;color:#fff;padding:18px 60px;border-radius:8px;font-size:18px;font-weight:700;border:none;cursor:pointer;text-align:center;transition:.3s}
.hero-btn:hover{transform:translateY(-2px);filter:brightness(1.08)}

/* ABOUT */
.about-section{
    background:#111;
    padding:100px 20px;
}

.about-container{
    max-width:1200px;
    margin:0 auto;
    display:flex;
    align-items:center;
    gap:60px;
}

.about-text,
.about-image{
    flex:1;
}

.about-text h2{
    font-size:42px;
    color:#D4AF37;
    margin-bottom:30px;
}

.about-text p{
    font-size:20px;
    line-height:1.8;
    color:#EAEAEA;
    margin-bottom:20px;
}

.about-image{
    overflow:hidden;
    border-radius:15px;
}

.about-image img{
    display:block;
    width:100%;
    height:auto;
    object-fit:cover;
    border-radius:15px;
    box-shadow:0 20px 50px rgba(0,0,0,.45);
}
/* MENU */
.menu-section{background:#0B0B0B;padding:100px 20px}
.menu-title{text-align:center;margin-bottom:60px}
.menu-title h2{font-size:48px;color:#D4AF37;text-transform:uppercase;letter-spacing:3px}
.food-carousel{position:relative;max-width:1100px;height:620px;margin:0 auto;overflow:hidden}
.food-slide{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;opacity:0;transform:translateY(120px);transition:opacity 1s ease,transform 1s ease}
.food-slide.active{opacity:1;transform:translateY(0)}
.food-slide img{max-height:460px;width:auto;object-fit:contain;margin-bottom:30px}
.food-slide p{font-size:34px;line-height:1.4;max-width:800px;color:#fff;font-weight:600}
.menu-bottom-btn{text-align:center;margin-top:40px}

/* EVENTS HOME */
.events-section{background:#111;padding:100px 20px;overflow:hidden}
.events-title{text-align:center;margin-bottom:60px}
.events-title h2{font-size:48px;color:#D4AF37;letter-spacing:3px}
.events-title p{font-size:20px;color:#ccc;margin-top:15px}
.events-carousel{display:flex;gap:25px;max-width:1200px;margin:0 auto;overflow:hidden}
.event-card{flex:0 0 calc(33.333% - 17px);cursor:pointer;border-radius:18px;overflow:hidden;transition:.4s}
.event-card:hover{transform:scale(1.04)}
.event-card img{width:100%;height:480px;object-fit:cover;border-radius:18px}
.events-buttons{text-align:center;margin-top:50px}

/* EVENT POPUP */
.event-popup{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:99999;display:none;justify-content:center;align-items:center;padding:20px}
.event-popup.active{display:flex}
.event-popup-content{background:#111;border:1px solid #D4AF37;border-radius:20px;padding:40px;max-width:420px;width:100%;text-align:center;position:relative}
.event-popup-content h3{color:#D4AF37;font-size:30px;margin-bottom:20px}
.event-popup-content p{font-size:20px;margin-bottom:12px}
.event-popup-close{position:absolute;top:10px;right:15px;background:none;border:none;color:#fff;font-size:34px;cursor:pointer}

/* BANQUETS BLOCK ON HOME */
.banquet-section{position:relative;min-height:90vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:100px 20px}
.banquet-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:1}
.banquet-overlay{position:absolute;inset:0;background:rgba(0,0,0,.65);z-index:2}
.banquet-content{position:relative;z-index:3;max-width:800px}
.banquet-content h2{font-size:52px;color:#D4AF37;margin-bottom:25px;text-transform:uppercase}
.banquet-content p{font-size:24px;line-height:1.5;margin-bottom:30px}
.banquet-content ul{list-style:none;margin-bottom:35px}
.banquet-content li{font-size:20px;margin-bottom:10px}
.banquet-content li:before{content:"✓";color:#D4AF37;margin-right:10px}

/* PAGE BANQUETS */
.banquet-hero{position:relative;min-height:90vh;background:url('/wp-content/themes/pub154/assets/images/pub-154-banquets-kyiv.webp') center/cover no-repeat;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 20px}
.banquet-hero .banquet-overlay{position:absolute;inset:0;background:rgba(0,0,0,.65);z-index:1}
.banquet-hero-content{position:relative;z-index:2;max-width:900px}
.banquet-hero-content h1{font-size:56px;color:#D4AF37;margin-bottom:25px;text-transform:uppercase}
.banquet-hero-content p{font-size:24px;line-height:1.5;margin-bottom:35px}
.banquet-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}
.banquet-home-btn{background:#222;border:1px solid #D4AF37}
.banquet-intro,
.banquet-advantages,
.banquet-seo{
    background:#111;
    padding:100px 20px;
}

.banquet-intro h2,
.banquet-advantages h2,
.banquet-seo h2{
    color:#fff;
    font-size:56px;
    font-weight:800;
    line-height:1.2;
    text-align:center;
    margin-bottom:35px;
}

.banquet-intro p,
.banquet-advantages p,
.banquet-seo p{
    color:#d8d8d8;
    font-size:28px;
    line-height:1.8;
    max-width:1400px;
    margin:0 auto 45px;
    text-align:center;
}

.banquet-advantages ul,
.banquet-seo ul{
    max-width:1200px;
    margin:0 auto;
}

.banquet-advantages li,
.banquet-seo li{
    color:#f0f0f0;
    font-size:28px;
    line-height:1.9;
    margin-bottom:18px;
}
@media(max-width:768px){

.banquet-intro,
.banquet-advantages,
.banquet-seo{
    padding:70px 20px;
}

.banquet-intro h2,
.banquet-advantages h2,
.banquet-seo h2{
    font-size:34px;
}

.banquet-intro p,
.banquet-advantages p,
.banquet-seo p,
.banquet-advantages li,
.banquet-seo li{
    font-size:20px;
}

}
.banquet-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:60px}
.banquet-image,.banquet-text{flex:1}
.banquet-image img{border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.45)}
.banquet-text h2,.advantages-container h2,.seo-container h2{font-size:42px;color:#D4AF37;margin-bottom:30px}
.banquet-text p,.seo-container p{font-size:20px;line-height:1.8;color:#EAEAEA;margin-bottom:20px}
.advantages-container,.seo-container{max-width:1200px;margin:0 auto}
.advantages-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.advantages-grid div{background:#181818;border:1px solid rgba(212,175,55,.35);border-radius:14px;padding:25px;font-size:20px;text-align:center}

/* BANQUET EVENTS TYPES */
.banquet-events-types{background:#0B0B0B;padding:100px 20px}
.banquet-page-container{max-width:1200px;margin:0 auto}
.banquet-page-container h2{font-size:46px;color:#D4AF37;text-align:center;margin-bottom:60px;text-transform:uppercase;letter-spacing:2px}
.banquet-events-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}
.banquet-events-grid div{background:#181818;border:1px solid rgba(212,175,55,.25);border-radius:18px;padding:35px 25px;text-align:center;font-size:22px;color:#fff;transition:.35s;box-shadow:0 15px 35px rgba(0,0,0,.35)}
.banquet-events-grid div:hover{transform:translateY(-8px);border-color:#D4AF37;box-shadow:0 25px 60px rgba(0,0,0,.5)}

/* BANQUET STEPS */
.banquet-steps{background:#111;padding:100px 20px}
.banquet-steps h2{text-align:center;font-size:46px;color:#D4AF37;margin-bottom:60px;text-transform:uppercase;letter-spacing:2px}
.banquet-steps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:25px}
.banquet-steps-grid div{background:#181818;border:1px solid rgba(212,175,55,.22);border-radius:18px;padding:35px 25px;text-align:center;transition:.35s;box-shadow:0 20px 45px rgba(0,0,0,.35)}
.banquet-steps-grid div:hover{transform:translateY(-8px);border-color:#D4AF37}
.banquet-steps-grid span{display:block;color:#D4AF37;font-size:34px;font-weight:700;margin-bottom:18px}
.banquet-steps-grid h3{font-size:21px;color:#fff;margin-bottom:15px}
.banquet-steps-grid p{font-size:16px;line-height:1.6;color:#ddd}

/* BANQUET GALLERY */
.banquet-gallery{background:#0b0b0b;padding:100px 20px}
.banquet-gallery h2{text-align:center;font-size:46px;color:#D4AF37;margin-bottom:15px;text-transform:uppercase;letter-spacing:2px}
.banquet-gallery-subtitle{text-align:center;color:#d7d7d7;font-size:20px;max-width:700px;margin:0 auto 60px;line-height:1.6}
.banquet-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.banquet-gallery-grid img{width:100%;height:320px;object-fit:cover;border-radius:20px;border:1px solid rgba(212,175,55,.20);transition:.35s;cursor:pointer;box-shadow:0 18px 45px rgba(0,0,0,.35)}
.banquet-gallery-grid img:hover{transform:scale(1.03);border-color:#D4AF37;box-shadow:0 30px 70px rgba(0,0,0,.55)}

/* BANQUET FAQ */
.banquet-faq{background:#0B0B0B;padding:100px 20px}
.banquet-faq h2{text-align:center;font-size:46px;color:#D4AF37;margin-bottom:55px;text-transform:uppercase;letter-spacing:2px}

/* FAQ COMMON */
.faq-item{max-width:900px;margin:0 auto 18px;background:#151515;border:1px solid rgba(212,175,55,.18);border-radius:14px;padding:25px}
.faq-item h3{font-size:22px;color:#D4AF37;margin-bottom:10px}
.faq-item p{font-size:18px;color:#eee;line-height:1.6}

/* BOOKING POPUP */
.booking-popup{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:999999;display:none;align-items:center;justify-content:center;padding:20px}
.booking-popup.active{display:flex}
.booking-popup-content{background:#111;border:1px solid #D4AF37;border-radius:20px;padding:35px;width:100%;max-width:460px;position:relative;color:#fff}
.booking-popup-content h3{color:#D4AF37;font-size:30px;margin-bottom:25px;text-align:center}
.booking-close{position:absolute;top:10px;right:15px;background:none;border:none;color:#fff;font-size:34px;cursor:pointer}
.booking-field{margin-bottom:16px}
.booking-field label{display:block;margin-bottom:7px;font-size:15px}
.booking-field input[type="text"],.booking-field input[type="tel"],.booking-field input[type="date"],.booking-field input[type="time"]{width:100%;padding:14px;border-radius:8px;border:1px solid #333;background:#1A1A1A;color:#fff;font-size:16px}
.booking-field input[type="radio"]{margin-right:8px}
#bookingResult{margin-top:18px;text-align:center;color:#D4AF37;font-weight:700}

/* RIGHT FLOATING CAPS */
.right-floating{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:99999;display:flex;flex-direction:column;gap:18px}
.right-cap{background:none;border:none;padding:0;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.right-cap img{width:90px;height:90px;object-fit:contain;transition:.35s ease;filter:drop-shadow(0 8px 20px rgba(0,0,0,.45))}
.right-cap:hover img{transform:scale(1.1) rotate(5deg)}

/* KARAOKE PAGE */
.karaoke-hero{position:relative;min-height:90vh;background:url('/wp-content/themes/pub154/assets/images/pub-154-karaoke-room.webp') center/cover no-repeat;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 20px}
.karaoke-overlay{position:absolute;inset:0;background:rgba(0,0,0,.65);z-index:1}
.karaoke-hero-content{position:relative;z-index:2;max-width:900px}
.karaoke-hero-content h1,.karaoke-gallery h2,.karaoke-advantages h2,.karaoke-seo h2,.karaoke-faq h2{font-size:48px;color:#D4AF37;margin-bottom:30px}
.karaoke-hero-content p,.karaoke-text p,.karaoke-seo p{font-size:20px;line-height:1.8;color:#EAEAEA;margin-bottom:20px}
.karaoke-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:35px}
.karaoke-home-btn{background:#222;border:1px solid #D4AF37}
.karaoke-intro,.karaoke-gallery,.karaoke-advantages,.karaoke-seo,.karaoke-faq{background:#111;padding:100px 20px}
.karaoke-gallery,.karaoke-seo{background:#0B0B0B}
.karaoke-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:60px}
.karaoke-text,.karaoke-image{flex:1}
.karaoke-text h2{font-size:42px;color:#D4AF37;margin-bottom:30px}
.karaoke-image img,.karaoke-gallery-grid img{border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.45)}
.karaoke-gallery{text-align:center}
.karaoke-gallery-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.karaoke-gallery-grid img{width:100%;height:320px;object-fit:cover}
.karaoke-advantages-container,.karaoke-seo-container{max-width:1200px;margin:0 auto}
.karaoke-advantages-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.karaoke-advantages-grid div{background:#181818;border:1px solid rgba(212,175,55,.35);border-radius:14px;padding:25px;font-size:20px;text-align:center}

/* HOME KARAOKE */
.home-karaoke-section{background:#0B0B0B;padding:110px 20px}
.home-karaoke-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:70px}
.home-karaoke-image,.home-karaoke-text{flex:1}
.home-karaoke-image img{width:100%;border-radius:20px;box-shadow:0 20px 50px rgba(0,0,0,.45);transition:.35s}
.home-karaoke-image img:hover{transform:scale(1.02)}
.home-karaoke-text h2{color:#D4AF37;font-size:46px;margin-bottom:28px}
.home-karaoke-text p{color:#EAEAEA;font-size:21px;line-height:1.8;margin-bottom:25px}
.home-karaoke-text ul{list-style:none;margin-bottom:35px}
.home-karaoke-text li{font-size:20px;margin-bottom:14px;color:#fff}
.home-karaoke-text li:before{content:"✓";color:#D4AF37;margin-right:12px}
.home-karaoke-text .hero-btn{margin-top:15px}

/* CONTACTS */
.contacts-section{background:#111;padding:110px 20px}
.contacts-container{max-width:1200px;margin:0 auto;display:flex;align-items:stretch;gap:60px}
.contacts-info,.contacts-map{flex:1}
.contacts-info h2{font-size:48px;color:#D4AF37;margin-bottom:20px}
.contacts-subtitle{font-size:22px;color:#EAEAEA;margin-bottom:35px}
.contacts-item{margin-bottom:22px;font-size:20px;line-height:1.5}
.contacts-item strong{color:#D4AF37;display:block;margin-bottom:6px}
.contacts-item span,.contacts-item a{color:#fff}
.contacts-buttons{display:flex;gap:18px;flex-wrap:wrap;margin-top:35px}
.contacts-route-btn{background:#222;border:1px solid #D4AF37}
.contacts-map iframe{border-radius:22px;box-shadow:0 20px 50px rgba(0,0,0,.45);min-height:450px}

/* FOOTER */
.site-footer{background:#080808;border-top:1px solid rgba(212,175,55,.18);padding-top:70px}
.footer-container{max-width:1200px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px;padding:0 20px 60px}
.footer-logo{width:110px;margin-bottom:25px}
.footer-col h3{color:#D4AF37;margin-bottom:22px;font-size:28px}
.footer-col p{color:#ccc;line-height:1.8;margin-bottom:12px;font-size:18px}
.footer-col a{color:#fff;transition:.3s}
.footer-col a:hover{color:#D4AF37}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:14px}
.footer-social{margin-top:25px;display:flex;flex-direction:column;gap:14px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:25px;text-align:center;color:#888;font-size:15px}

/* AFISHA PAGE */
.afisha-page-hero{position:relative;min-height:75vh;background:linear-gradient(rgba(0,0,0,.68),rgba(0,0,0,.78)),url('/wp-content/themes/pub154/assets/images/pub-154-events-bg.webp') center/cover no-repeat;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 20px}
.afisha-page-content{position:relative;z-index:2;max-width:900px}
.afisha-page-content h1{font-size:64px;line-height:1.1;color:#D4AF37;text-transform:uppercase;letter-spacing:2px;margin-bottom:25px}
.afisha-page-content p{font-size:24px;line-height:1.5;color:#eee;max-width:760px;margin:0 auto 35px}
.afisha-page-events{background:#0B0B0B;padding:100px 20px}
.afisha-page-container{max-width:1200px;margin:0 auto}
.afisha-page-container h2{font-size:46px;color:#D4AF37;text-align:center;margin-bottom:60px}
.afisha-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.afisha-page-card{background:#151515;border-radius:22px;overflow:hidden;border:1px solid rgba(212,175,55,.18);box-shadow:0 20px 55px rgba(0,0,0,.45);transition:.35s}
.afisha-page-card:hover{transform:translateY(-8px);border-color:rgba(212,175,55,.55)}
.afisha-page-card img{width:100%;height:430px;object-fit:cover}
.afisha-page-card-info{padding:28px;text-align:center}
.afisha-page-card-info h3{color:#D4AF37;font-size:26px;margin-bottom:18px}
.afisha-page-card-info p{color:#eee;font-size:17px;margin-bottom:8px}
.afisha-page-card-info .hero-btn{margin-top:20px;padding:14px 32px;font-size:15px}
.afisha-seo-section{background:#111;padding:100px 20px}
.afisha-seo-section h2{font-size:42px;color:#D4AF37;margin:55px 0 25px;text-align:left}
.afisha-seo-section h2:first-child{margin-top:0}
.afisha-seo-section p{font-size:20px;line-height:1.8;color:#EAEAEA;margin-bottom:22px}
.afisha-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:35px}
.afisha-features-grid div{background:#181818;border:1px solid rgba(212,175,55,.28);border-radius:16px;padding:25px;font-size:20px;text-align:center;color:#fff}
.afisha-faq{background:#0B0B0B;padding:100px 20px}
.afisha-faq h2{font-size:42px;color:#D4AF37;text-align:center;margin-bottom:50px}

/* LIGHTBOX */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:999999;display:none;align-items:center;justify-content:center;padding:20px}
.lightbox.active{display:flex}
.lightbox img{max-width:90%;max-height:85vh;border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.7)}
.lightbox-close{position:absolute;top:25px;right:35px;background:none;border:none;color:#fff;font-size:46px;cursor:pointer}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(212,175,55,.18);border:1px solid rgba(212,175,55,.6);color:#fff;width:52px;height:52px;border-radius:50%;font-size:34px;cursor:pointer}
.lightbox-prev{left:30px}
.lightbox-next{right:30px}

/* MOBILE */
@media(max-width:768px){
.hero-logo{width:100px}
.hero-content{padding-left:70px;padding-right:70px}
.hero-content p{font-size:20px}
.hero-btn{width:100%;max-width:320px;padding:16px 20px;font-size:14px;line-height:1.3;text-align:center}
.social-floating{left:4px!important;gap:6px!important}
.social-floating img{width:38px!important;height:38px!important}
.right-floating{right:4px!important;gap:8px!important}
.right-cap img{width:52px!important;height:52px!important}
.about-section,.menu-section,.events-section,.banquet-section,.home-karaoke-section{padding-left:70px;padding-right:70px}
.about-container{display:block!important}
.about-text h2{font-size:28px!important;line-height:1.2!important;text-align:left!important}
.about-text p{font-size:16px!important;line-height:1.55!important;max-width:100%!important}
.about-image{margin-top:30px!important}
.menu-title h2{font-size:34px}
.food-carousel{height:520px}
.food-slide img{max-height:330px}
.food-slide p{font-size:22px}
.events-title h2{font-size:34px}
.events-carousel{justify-content:flex-start!important;gap:18px!important;overflow-x:auto!important;padding:0 70px 20px!important}
.event-card{flex:0 0 220px!important;min-width:220px!important;max-width:220px!important}
.event-card img{width:220px!important;height:330px!important;object-fit:cover!important;border-radius:18px!important}
.banquet-hero-content h1{font-size:34px}
.banquet-hero-content p{font-size:18px}
.banquet-container{flex-direction:column}
.banquet-text h2,.advantages-container h2,.seo-container h2,.banquet-page-container h2,.banquet-steps h2,.banquet-gallery h2,.banquet-faq h2{font-size:30px;text-align:center}
.banquet-text p,.seo-container p{font-size:17px}
.advantages-grid,.banquet-events-grid,.banquet-steps-grid,.banquet-gallery-grid{grid-template-columns:1fr}
.banquet-events-types,.banquet-steps,.banquet-gallery,.banquet-faq{padding:80px 20px}
.banquet-events-grid div,.banquet-steps-grid div{font-size:18px;padding:24px}
.banquet-gallery-grid img{height:auto;aspect-ratio:4/3}
.karaoke-hero{min-height:75vh;padding:100px 70px}
.karaoke-hero-content h1{font-size:34px!important;line-height:1.15}
.karaoke-hero-content p{font-size:17px!important;line-height:1.55}
.karaoke-intro,.karaoke-gallery,.karaoke-advantages,.karaoke-seo,.karaoke-faq{padding:80px 70px!important}
.karaoke-container{flex-direction:column;gap:35px}
.karaoke-text h2,.karaoke-gallery h2,.karaoke-advantages h2,.karaoke-seo h2,.karaoke-faq h2{font-size:30px!important;line-height:1.2;text-align:center}
.karaoke-text p,.karaoke-seo p{font-size:17px!important;line-height:1.65}
.karaoke-gallery-grid,.karaoke-advantages-grid{grid-template-columns:1fr!important;gap:18px}
.karaoke-gallery-grid img{height:auto!important;aspect-ratio:4/3;object-fit:cover}
.karaoke-buttons{flex-direction:column;align-items:center}
.contacts-section{padding:80px 70px}
.contacts-container{flex-direction:column;gap:40px}
.contacts-info h2{font-size:34px;text-align:center}
.contacts-subtitle{font-size:18px;text-align:center}
.contacts-item{font-size:17px}
.contacts-buttons{flex-direction:column;align-items:center}
.contacts-map iframe{height:360px;min-height:360px}
.footer-container{grid-template-columns:1fr;text-align:center;gap:45px}
.footer-logo{margin:auto auto 20px}
.footer-social{align-items:center}
.afisha-page-hero{min-height:65vh;padding:100px 70px}
.afisha-page-content h1{font-size:36px}
.afisha-page-content p{font-size:18px}
.afisha-page-events,.afisha-seo-section,.afisha-faq{padding:80px 70px}
.afisha-page-container h2{font-size:32px;margin-bottom:40px}
.afisha-page-grid,.afisha-features-grid{grid-template-columns:1fr}
.afisha-page-card img{height:auto}
.afisha-seo-section h2{font-size:30px}
.afisha-seo-section p{font-size:17px}
.faq-item{padding:22px}
.faq-item h3{font-size:20px}
.faq-item p{font-size:16px}
.lightbox img{max-width:95%;max-height:78vh}
.lightbox-close{top:15px;right:22px;font-size:38px}
.lightbox-prev,.lightbox-next{width:44px;height:44px;font-size:28px}
.lightbox-prev{left:12px}
.lightbox-next{right:12px}
}
 /* EVENT CARD SEO TEXT FIX */

.event-card{
    position:relative;
    overflow:hidden;
    background:#111;
}

.event-card img{
    display:block;
    width:100%;
    height:480px;
    object-fit:cover;
}

.event-card-info{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:3;
    padding:18px 16px;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.92),
        rgba(0,0,0,.65),
        rgba(0,0,0,0)
    );
    color:#fff;
}

.event-title{
    font-size:20px;
    line-height:1.2;
    margin-bottom:8px;
    color:#fff;
}

.event-date,
.event-time,
.event-price{
    font-size:15px;
    line-height:1.35;
    margin:2px 0;
    color:#fff;
}

@media(max-width:768px){

    .event-card img{
        height:330px;
    }

    .event-title{
        font-size:17px;
    }

    .event-date,
    .event-time,
    .event-price{
        font-size:13px;
    }
}

/* EVENT CARDS FIX */

.events-carousel{
    min-height:520px;
    align-items:stretch;
}

.event-card{
    position:relative;
    min-height:480px;
    background:#111;
    border-radius:18px;
    overflow:hidden;
    flex:0 0 calc(33.333% - 17px);
}

.event-card img{
    width:100%;
    height:480px;
    object-fit:cover;
    display:block;
}

.event-card-info{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:5;
    padding:18px 16px;
    background:linear-gradient(to top, rgba(0,0,0,.95), rgba(0,0,0,.65), rgba(0,0,0,0));
    color:#fff;
}

.event-title{
    font-size:20px;
    line-height:1.2;
    margin-bottom:8px;
    color:#fff;
}

.event-date,
.event-time,
.event-price{
    font-size:15px;
    line-height:1.35;
    margin:2px 0;
    color:#fff;
}

@media(max-width:768px){

    .events-carousel{
        min-height:360px;
    }

    .event-card{
        min-height:330px;
    }

    .event-card img{
        height:330px;
    }

    .event-title{
        font-size:17px;
    }

    .event-date,
    .event-time,
    .event-price{
        font-size:13px;
    }
}

.ai-services-section {
    background: #071f18;
    padding: 70px 20px;
}

.ai-services-container {
    max-width: 1180px;
    margin: 0 auto;
}

.ai-services-section h2 {
    color: #f4e7c5;
    text-align: center;
    font-size: 34px;
    margin-bottom: 35px;
    letter-spacing: 1px;
}

.ai-services-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.ai-service-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(244, 231, 197, 0.22);
    border-radius: 18px;
    padding: 22px 16px;
    text-align: center;
    transition: 0.3s ease;
}

.ai-service-card:hover {
    transform: translateY(-5px);
    border-color: #f4e7c5;
    background: rgba(255, 255, 255, 0.07);
}

.ai-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    height: 54px;
    padding: 0 10px;
    border-radius: 50%;
    border: 1px solid #f4e7c5;
    color: #f4e7c5;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 14px;
    letter-spacing: 1px;
}

.ai-service-card h3 {
    color: #ffffff;
    font-size: 19px;
    margin-bottom: 8px;
}

.ai-service-card p {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.45;
    margin: 0;
}

.ai-lunch-card {
    border-color: #c8a45d;
    background: rgba(200, 164, 93, 0.12);
}

.ai-lunch-card .ai-icon {
    border-color: #c8a45d;
    color: #c8a45d;
}

@media (max-width: 900px) {
    .ai-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 520px) {
    .ai-services-grid {
        grid-template-columns: 1fr;
    }

    .ai-services-section h2 {
        font-size: 28px;
    }
}

.why-pub154-section {
    background: #061a14;
    padding: 75px 20px;
}

.why-pub154-container {
    max-width: 1180px;
    margin: 0 auto;
}

.why-pub154-section h2 {
    color: #f4e7c5;
    text-align: center;
    font-size: 34px;
    margin-bottom: 36px;
    letter-spacing: 1px;
}

.why-pub154-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.why-pub154-card {
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(244, 231, 197, 0.2);
    border-radius: 20px;
    padding: 24px 16px;
    text-align: center;
    transition: 0.3s ease;
}

.why-pub154-card:hover {
    transform: translateY(-5px);
    border-color: #f4e7c5;
    background: rgba(255, 255, 255, 0.075);
}

.why-pub154-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    height: 58px;
    padding: 0 12px;
    border-radius: 50%;
    border: 1px solid #f4e7c5;
    color: #f4e7c5;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 15px;
    letter-spacing: 1px;
}

.why-pub154-card h3 {
    color: #ffffff;
    font-size: 19px;
    margin-bottom: 8px;
}

.why-pub154-card p {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    line-height: 1.45;
    margin: 0;
}

.why-pub154-accent {
    border-color: #c8a45d;
    background: rgba(200, 164, 93, 0.12);
}

.why-pub154-accent .why-pub154-icon {
    border-color: #c8a45d;
    color: #c8a45d;
}

@media (max-width: 900px) {
    .why-pub154-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 520px) {
    .why-pub154-grid {
        grid-template-columns: 1fr;
    }

    .why-pub154-section h2 {
        font-size: 28px;
    }
}

/* MOBILE ABOUT FIX */

@media(max-width:768px){

    .about-section{
        padding:80px 70px !important;
    }

    .about-container{
        display:flex !important;
        flex-direction:column !important;
        gap:35px !important;
    }

    .about-text,
    .about-image{
        width:100% !important;
        max-width:100% !important;
        flex:none !important;
    }

    .about-text{
        order:1 !important;
    }

    .about-image{
        order:2 !important;
        overflow:hidden !important;
        border-radius:18px !important;
    }

    .about-image img{
        width:100% !important;
        height:auto !important;
        display:block !important;
        object-fit:cover !important;
        border-radius:18px !important;
    }
}

/* MOBILE ABOUT FIX */

@media(max-width:768px){

    .about-section{
        padding:80px 70px !important;
    }

    .about-container{
        display:flex !important;
        flex-direction:column !important;
        gap:35px !important;
    }

    .about-text,
    .about-image{
        width:100% !important;
        max-width:100% !important;
        flex:none !important;
    }

    .about-text{
        order:1 !important;
    }

    .about-image{
        order:2 !important;
        overflow:hidden !important;
        border-radius:18px !important;
    }

    .about-image img{
        width:100% !important;
        height:auto !important;
        display:block !important;
        object-fit:cover !important;
        border-radius:18px !important;
    }
}

/* ==========================================
   BANQUETS NEW PAGE
========================================== */

html{
    scroll-behavior:smooth;
}

.banquets-page{
    background:#F7F5F2;
    color:#222;
    overflow:hidden;
}

.banquets-page section{
    padding:110px 0;
    position:relative;
}

.banquets-page .container{
    max-width:1320px;
    margin:0 auto;
    padding:0 25px;
}

/* TYPOGRAPHY */

.banquets-page h1,
.banquets-page h2,
.banquets-page h3{
    font-family:'Playfair Display',serif;
    color:#1D1D1D;
    margin:0;
}

.banquets-page h1{
    font-size:64px;
    line-height:1.05;
    max-width:760px;
    margin-bottom:40px;
    font-weight:700;
    letter-spacing:-1px;
    text-wrap:balance;
}

.banquets-page h2{
    font-size:46px;
    line-height:1.2;
    margin-bottom:25px;
    text-align:center;
}

.banquets-page h3{
    font-size:28px;
    line-height:1.3;
}

.banquets-page p,
.banquets-page li{
    color:#5A5A5A;
    line-height:1.7;
    font-size:18px;
}

.banquets-page img{
    display:block;
    width:100%;
}

/* HERO */

.banquets-hero{

    background:
    linear-gradient(
        rgba(0,0,0,.55),
        rgba(0,0,0,.55)
    ),
    url('/wp-content/themes/pub154/assets/images/hero-banquet.webp');

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

    padding:130px 0 110px;
}

.banquets-hero h1,
.banquets-hero p,
.banquets-hero li,
.banquets-hero span{
    color:#fff;
}

.hero-grid{

    display:grid;

    grid-template-columns:
        1fr
        500px;

    gap:90px;

    align-items:center;
}

.hero-content{
    max-width:760px;
    padding-top:20px;
}

.hero-label{

    display:inline-flex;
    align-items:center;

    padding:16px 32px;

    border-radius:100px;

    background:rgba(255,255,255,.14);

    backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.15);

    margin-bottom:45px;

    font-size:15px;
}

.hero-subtitle{

    font-size:24px;

    line-height:1.7;

    max-width:650px;

    margin-bottom:45px;

    color:rgba(255,255,255,.92);
}

/* BENEFITS */

.hero-benefits{
    list-style:none;
    padding:0;
    margin:0 0 50px;
}

.hero-benefits li{

    position:relative;

    padding-left:42px;

    margin-bottom:24px;

    font-size:22px;

    line-height:1.5;

    color:#fff;
}

.hero-benefits li:before{

    content:"✓";

    position:absolute;

    left:0;
    top:0;

    color:#D7B46A;

    font-size:26px;

    font-weight:700;
}

/* BUTTONS */

.hero-buttons{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    margin-top:15px;
}

.main-btn,
.second-btn{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    height:64px;

    padding:0 40px;

    border-radius:20px;

    text-decoration:none;

    font-size:17px;

    transition:.35s;

    will-change:transform;
}

.main-btn{

    background:#C7A96B;
    color:#fff;
}

.main-btn:hover{

    background:#b99654;

    transform:translateY(-4px);
}

.second-btn{

    border:1px solid rgba(255,255,255,.35);

    color:#fff;
}

.second-btn:hover{

    background:rgba(255,255,255,.10);
}

/* FORM */

.hero-form{

    background:#fff;

    padding:45px;

    border-radius:42px;

    margin-top:40px;

    position:relative;

    top:20px;

    box-shadow:
        0 50px 120px rgba(0,0,0,.22);
}

.hero-form h3{

    font-size:38px;

    line-height:1.2;

    margin-bottom:25px;
}

/* GRIDS */

.why-grid,
.events-grid,
.zones-grid{
    display:grid;
    gap:35px;
}

.why-grid{
    grid-template-columns:repeat(3,1fr);
}

.events-grid{
    grid-template-columns:repeat(3,1fr);
}

.zones-grid{
    grid-template-columns:repeat(3,1fr);
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.menu-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

/* SECTION SUB */

.section-sub{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

    font-size:22px;
}

/* CARDS */

.why-card,
.events-grid article,
.zones-grid article{

    background:#fff;

    border-radius:32px;

    overflow:hidden;

    box-shadow:
        0 25px 80px rgba(0,0,0,.07);

    transition:
        transform .45s,
        box-shadow .45s;

    will-change:transform;
}

.why-card:hover,
.events-grid article:hover,
.zones-grid article:hover{

    transform:translateY(-10px);

    box-shadow:
        0 35px 90px rgba(0,0,0,.12);
}

.why-card{

    padding:45px 35px;

    text-align:center;

    display:flex;
    justify-content:center;
    align-items:center;

    min-height:240px;
}

.events-grid article,
.zones-grid article{

    display:flex;
    flex-direction:column;

    height:100%;
}

.events-grid p,
.zones-grid p{
    flex-grow:1;
}

.events-grid img,
.zones-grid img{

    height:260px;

    object-fit:cover;
}

.events-grid h3,
.zones-grid h3{

    padding:30px 30px 12px;
}

.events-grid p,
.zones-grid p{

    padding:0 30px 35px;
}

/* GALLERY */

.gallery-grid img{

    aspect-ratio:1/1;

    object-fit:cover;

    border-radius:28px;

    cursor:pointer;

    transition:
        transform .5s,
        box-shadow .5s;

    will-change:transform;
}

.gallery-grid img:hover{

    transform:scale(1.05);

    box-shadow:
        0 30px 80px rgba(0,0,0,.18);
}

/* MENU */

.menu-grid img{

    height:320px;

    object-fit:cover;

    border-radius:28px;
}

/* TABLE */

.banquet-price table{

    width:100%;
    max-width:850px;

    margin:auto;

    background:#fff;

    border-radius:30px;

    overflow:hidden;

    box-shadow:
        0 20px 60px rgba(0,0,0,.05);
}

.banquet-price td,
.banquet-price th{

    padding:30px;

    text-align:center;

    border-bottom:1px solid #eee;
}

.banquet-price th{
    background:#F2ECE4;
}

/* COLORS */

.banquet-reviews{
    background:#fff;
}

.banquet-faq{
    background:#F2ECE4;
}

main.banquets-page .banquet-ai-seo{
    background:#1f1f1f;
    padding:100px 20px;
}

main.banquets-page .banquet-ai-seo h2{
    color:#d4af37;
    font-size:48px;
    text-align:center;
    margin-bottom:40px;
}

main.banquets-page .banquet-ai-seo p{
    color:#fff;
    font-size:20px;
    line-height:1.9;
}

main.banquets-page .banquet-ai-seo ul{
    list-style:none;
    padding:0;
    display:grid;
    gap:18px;
}

main.banquets-page .banquet-ai-seo li{
    background:#2a2a2a;
    color:#fff;
    padding:20px;
    border-left:4px solid #d4af37;
    border-radius:12px;
}
}

.banquet-final-form{

    background:#1D1D1D;

    text-align:center;
}

.banquet-final-form h2,
.banquet-final-form p{
    color:#fff;
}

/* MOBILE */

@media(max-width:1100px){

    .hero-grid{
        grid-template-columns:1fr;
        gap:70px;
    }

    .hero-content{
        max-width:100%;
        padding-top:0;
    }

    .hero-form{
        max-width:700px;
        margin:auto;
        top:0;
    }

    .banquets-page h1{
        font-size:56px;
    }

    .why-grid,
    .events-grid,
    .zones-grid,
    .menu-grid{
        grid-template-columns:1fr 1fr;
    }

    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:768px){

    .banquets-hero{
        padding:100px 0;
    }

    .banquets-page section{
        padding:70px 0;
    }

    .banquets-page h1{
        font-size:38px;
    }

    .banquets-page h2{
        font-size:34px;
    }

    .hero-subtitle{
        font-size:20px;
    }

    .hero-buttons{
        flex-direction:column;
    }

    .main-btn,
    .second-btn{
        width:100%;
    }

    .why-grid,
    .events-grid,
    .zones-grid,
    .gallery-grid,
    .menu-grid{
        grid-template-columns:1fr;
    }

    .events-grid img,
    .zones-grid img,
    .menu-grid img{
        height:240px;
    }

    .section-sub{
        font-size:18px;
        margin-bottom:40px;
    }

    .hero-form{
        padding:30px;
    }

    .hero-form h3{
        font-size:34px;
    }
}

.booking-modal{

    position:fixed;
    inset:0;

    background:rgba(0,0,0,.7);

    display:none;

    justify-content:center;
    align-items:center;

    z-index:999999;
}

.booking-modal.active{

    display:flex;
}

.booking-box{

    width:min(500px,90%);

    background:#fff;

    padding:40px;

    border-radius:20px;

    position:relative;
}

.booking-close{

    position:absolute;

    top:15px;
    right:20px;

    cursor:pointer;

    font-size:30px;
}

.hero-form-text{
    margin:25px 0;
    font-size:18px;
    line-height:1.6;
    color:#555;
}

.hero-form .main-btn{
    width:100%;
    margin-top:20px;
}

.hero-form-benefits{
    margin-top:25px;
    display:flex;
    flex-direction:column;
    gap:12px;
}

.hero-form-benefits span{
    color:#666;
    font-size:15px;
}



/* ==========================================
   PUB154 MOBILE BANQUETS FIX
========================================== */

@media (max-width:768px){

    .banquets-hero{
        padding:90px 0 70px !important;
        min-height:auto;
    }

    .hero-grid{
        display:block !important;
    }

    .hero-content{
        max-width:100% !important;
        margin:0 auto !important;
        text-align:center !important;
        padding:0 !important;
    }

    .hero-label{
        margin:0 auto 25px !important;
        display:inline-flex !important;
    }

    .banquets-page h1{
        font-size:42px !important;
        line-height:1.05 !important;
        text-align:center !important;
        margin:0 auto 30px !important;
        max-width:650px !important;
    }

    .hero-subtitle{
        text-align:center !important;
        font-size:19px !important;
        line-height:1.6 !important;
        max-width:100% !important;
        margin:0 auto 35px !important;
    }

    .hero-benefits{
        max-width:100% !important;
        margin:0 auto !important;
        padding:0 !important;
    }

    .hero-benefits li{
        padding:0 !important;
        margin-bottom:18px !important;
        text-align:center !important;
        font-size:20px !important;
    }

    .hero-benefits li:before{
        position:static !important;
        margin-right:10px !important;
    }

    .hero-buttons,
    .hero-form,
    .banquet-final-form{
        display:none !important;
    }

    .why-grid,
    .events-grid,
    .zones-grid{
        grid-template-columns:repeat(2,1fr) !important;
        gap:15px !important;
    }

    .why-card,
    .events-grid article,
    .zones-grid article{
        border-radius:20px !important;
    }

    .why-card{
        min-height:170px !important;
        padding:20px !important;
    }

    .why-card h3,
    .events-grid h3,
    .zones-grid h3{
        font-size:18px !important;
        line-height:1.25 !important;
    }

    .events-grid p,
    .zones-grid p{
        font-size:15px !important;
        padding:0 15px 20px !important;
    }

    .events-grid img,
    .zones-grid img{
        height:170px !important;
    }

    .banquets-page section{
        padding:60px 0 !important;
    }

    .mobile-booking-fixed{
        position:fixed;
        left:15px;
        right:15px;
        bottom:15px;
        z-index:999999;
    }

    .mobile-booking-fixed .main-btn{
        width:100%;
        height:58px;
        border-radius:18px;
        box-shadow:0 10px 35px rgba(0,0,0,.25);
    }
}




/* ==========================================
FINAL PUB154 BANQUETS MOBILE VERSION
========================================== */

@media (max-width:768px){

    .banquets-hero{
        min-height:auto !important;
        padding:110px 0 70px !important;
    }

    .hero-grid{
        display:block !important;
    }

    .hero-content{
        max-width:900px !important;
        margin:0 auto !important;
        text-align:center !important;
        padding:0 !important;
    }

    .hero-label{
        display:inline-flex !important;
        margin:0 auto 30px !important;
    }

    .banquets-page h1{
        font-size:42px !important;
        line-height:1.05 !important;
        text-align:center !important;
        max-width:700px !important;
        margin:0 auto 35px !important;
    }

    .hero-subtitle{
        text-align:center !important;
        font-size:18px !important;
        line-height:1.6 !important;
        max-width:100% !important;
        margin:0 auto 35px !important;
    }

    .hero-benefits{
        max-width:700px !important;
        margin:0 auto !important;
        padding:0 !important;
        list-style:none !important;
    }

    .hero-benefits li{
        display:flex !important;
        justify-content:center !important;
        align-items:center !important;
        gap:10px !important;
        padding:0 !important;
        margin-bottom:18px !important;
        font-size:22px !important;
        text-align:center !important;
    }

    .hero-benefits li:before{
        position:static !important;
        margin:0 !important;
    }

    .hero-form,
    .hero-buttons,
    .banquet-final-form{
        display:none !important;
    }

    .why-grid,
    .events-grid,
    .zones-grid{
        grid-template-columns:repeat(2,1fr) !important;
        gap:15px !important;
    }

    .why-card{
        padding:20px !important;
        min-height:170px !important;
    }

    .why-card h3,
    .events-grid h3,
    .zones-grid h3{
        font-size:17px !important;
        line-height:1.25 !important;
    }

    .events-grid img,
    .zones-grid img{
        height:170px !important;
    }

    .events-grid p,
    .zones-grid p{
        font-size:15px !important;
        padding:0 15px 20px !important;
    }

    .banquets-page section{
        padding:60px 0 !important;
    }

    .mobile-booking-fixed{
        position:fixed;
        left:15px;
        right:15px;
        bottom:15px;
        z-index:999999;
    }

    .mobile-booking-fixed .main-btn{
        width:100%;
        height:58px;
        border-radius:18px;
        box-shadow:0 10px 35px rgba(0,0,0,.25);
    }
}
 /* ===================================
   HERO
=================================== */

.hero-grid{
    display:flex;
    justify-content:center;
    align-items:center;
}

.hero-content{
    max-width:950px;
    margin:auto;
    text-align:center;
}

.hero-label{
    display:inline-block;
    margin-bottom:35px;
}

.hero-subtitle{
    max-width:850px;
    margin:35px auto;
    line-height:1.8;
    font-size:22px;
}

.hero-benefits{
    max-width:700px;
    margin:40px auto 0;
    text-align:left;
}

.hero-benefits li{
    margin-bottom:14px;
    font-size:20px;
}



/* ===================================
   EVENTS
=================================== */

.events-grid article,
.zones-grid article{
    overflow:hidden;
    border-radius:24px;
    transition:.3s;
}

.events-grid article:hover,
.zones-grid article:hover{
    transform:translateY(-8px);
}

.events-grid img,
.zones-grid img{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
}



/* ===================================
   GALLERY
=================================== */

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.gallery-grid img{
    width:100%;
    height:320px;
    object-fit:cover;
    border-radius:20px;
}



/* ===================================
   MENU
=================================== */

.menu-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
}

.menu-grid img{
    width:100%;
    border-radius:24px;
    display:block;
}



/* ===================================
   FAQ
=================================== */

.faq-custom{
    max-width:900px;
    margin:auto;
}

.faq-item{
    padding:30px;
    border:1px solid #ececec;
    border-radius:22px;
    margin-bottom:20px;
    background:#fff;
}

.faq-item h3{
    margin-bottom:15px;
    font-size:24px;
}

.faq-item p{
    color:#666;
    line-height:1.7;
}



/* ===================================
   AI SEO
=================================== */

.banquet-ai-seo{
    background:#fff;
}

.banquet-ai-seo h2{
    color:#1d1d1d;
}

.banquet-ai-seo p,
.banquet-ai-seo li{
    color:#555;
    line-height:1.9;
}



/* ===================================
   PRICE
=================================== */

.banquet-price{
    text-align:center;
}

.banquet-price p{
    max-width:700px;
    margin:auto;
    font-size:22px;
    line-height:1.8;
}



/* ===================================
   MOBILE BUTTON
=================================== */

@media(min-width:769px){

.mobile-booking-fixed{
    display:none;
}

}



@media(max-width:768px){

.mobile-booking-fixed{
    position:fixed;
    left:15px;
    right:15px;
    bottom:15px;
    z-index:999999;
}

.mobile-booking-fixed .main-btn{
    width:100%;
    height:60px;
    border-radius:18px;
}



/* HERO */

.banquets-hero{
    min-height:auto;
    padding:110px 0 80px;
}

.hero-content h1{
    font-size:42px;
    line-height:1.05;
}

.hero-subtitle{
    font-size:18px;
}

.hero-benefits{
    text-align:left;
}

.hero-benefits li{
    font-size:18px;
}



/* EVENTS */

.events-grid{
    grid-template-columns:repeat(2,1fr);
    gap:15px;
}

.events-grid img{
    height:170px;
}



/* ZONES */

.zones-grid{
    grid-template-columns:repeat(2,1fr);
    gap:15px;
}

.zones-grid img{
    height:170px;
}



/* GALLERY */

.gallery-grid{
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.gallery-grid img{
    height:170px;
}



/* MENU */

.menu-grid{
    grid-template-columns:1fr;
}



/* WHY */

.why-grid{
    grid-template-columns:repeat(2,1fr);
    gap:15px;
}

.why-card{
    padding:20px;
}

.why-card h3{
    font-size:17px;
}

}

.banquet-ai-seo{
    background:#f8f8f8;
    padding:120px 0;
}

.banquet-ai-seo h2{
    font-size:64px;
    font-weight:800;
    color:#151515;
    margin-bottom:45px;
    text-align:center;
}

.banquet-ai-seo p{
    font-size:30px;
    line-height:1.8;
    color:#3a3a3a;
    font-weight:500;
    max-width:1400px;
    margin:0 auto 40px;
}

.banquet-ai-seo ul{
    max-width:1200px;
    margin:0 auto;
}

.banquet-ai-seo li{
    font-size:30px;
    line-height:1.9;
    color:#2b2b2b;
    font-weight:600;
}

.banquet-seo{
    background:#111 !important;
    padding:120px 20px !important;
    opacity:1 !important;
}

.banquet-seo h2{
    color:#ffffff !important;
    opacity:1 !important;
    font-size:56px;
    font-weight:800;
    text-align:center;
}

.banquet-seo p{
    color:#d9d9d9 !important;
    opacity:1 !important;
    font-size:28px;
    line-height:1.8;
    text-align:center;
}

.banquet-seo{
    background:#0d0d0d;
    padding:110px 20px;
    text-align:center;
}

.banquet-seo .container{
    max-width:1200px;
}

.banquet-seo h2{
    color:#fff;
    font-size:58px;
    line-height:1.2;
    font-weight:800;
    margin-bottom:35px;
}

.banquet-seo > .container > p{
    color:#d8d8d8;
    font-size:28px;
    line-height:1.8;
    max-width:1000px;
    margin:0 auto 55px;
}

.seo-tags{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:15px;
    margin-bottom:70px;
}

.seo-tags span{
    background:#1b1b1b;
    border:1px solid rgba(255,255,255,.08);
    color:#fff;
    padding:15px 28px;
    border-radius:100px;
    font-size:20px;
}

.seo-benefits{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.seo-item{
    background:#171717;
    padding:35px;
    border-radius:28px;
}

.seo-item h3{
    color:#fff;
    font-size:28px;
    margin-bottom:20px;
}

.seo-item p{
    color:#cfcfcf;
    font-size:20px;
    line-height:1.7;
}

@media(max-width:768px){

.banquet-seo{
    padding:70px 20px;
}

.banquet-seo h2{
    font-size:36px;
}

.banquet-seo > .container > p{
    font-size:19px;
    line-height:1.7;
}

.seo-benefits{
    grid-template-columns:1fr;
    gap:20px;
}

.seo-tags{
    gap:10px;
    margin-bottom:45px;
}

.seo-tags span{
    padding:11px 18px;
    font-size:14px;
}

.seo-item{
    padding:25px;
}

.seo-item h3{
    font-size:22px;
}

.seo-item p{
    font-size:17px;
}

.booking-popup{
    display:none;
}

.booking-popup.active{
    display:flex;
}

.booking-popup{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.75);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:999999;
}

.booking-popup.active{
    display:flex;
}

.booking-popup-content{
    width:95%;
    max-width:520px;
    background:#fff;
    border-radius:28px;
    padding:45px;
    position:relative;
}

.booking-close{
    position:absolute;
    right:20px;
    top:20px;
    border:none;
    background:none;
    font-size:32px;
    cursor:pointer;
}
.booking-popup input,
.booking-popup select,
.booking-popup textarea {
    background: #ffffff !important;
    color: #111 !important;
    border: 1px solid #dcdcdc !important;
}

.booking-popup input::placeholder,
.booking-popup textarea::placeholder {
    color: #777 !important;
}

.booking-popup label {
    color: #222 !important;
}

.booking-popup input[type="radio"] {
    width: auto !important;
    height: auto !important;
}

/* ===== BOOKING POPUP FIX ===== */

.booking-popup-content{
    background:#fff;
    border-radius:30px;
    padding:40px;
}

.booking-popup h3{
    color:#c9a63a;
    text-align:center;
    font-size:42px;
    margin-bottom:30px;
}

.booking-field{
    margin-bottom:20px;
}

.booking-field label{
    display:block;
    color:#222;
    margin-bottom:8px;
    font-weight:600;
}

.booking-popup input,
.booking-popup select,
.booking-popup textarea{

    width:100%;
    background:#fff !important;
    color:#111 !important;

    border:1px solid #d9d9d9 !important;
    border-radius:14px;

    padding:16px 18px;
    font-size:16px;

    appearance:auto;
}

.booking-popup input::placeholder{
    color:#999;
}

.booking-popup input[type="radio"]{
    width:auto;
    margin-right:10px;
}

.booking-popup .booking-field label:has(input[type="radio"]){

    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:10px;

}

@media(max-width:768px){

    .booking-popup-content{

        width:92%;
        padding:30px 22px;
        border-radius:25px;

        max-height:90vh;
        overflow:auto;

    }

    .booking-popup h3{

        font-size:26px;

    }

}

/* ===== AI SEO ===== */

.banquet-ai-seo{
    background:#f7f4ed;
    padding:90px 20px;
}

.banquet-ai-seo .container{
    max-width:1100px;
    margin:auto;
}

.banquet-ai-seo h2{
    text-align:center;
    font-size:52px;
    color:#1f1f1f;
    margin-bottom:45px;
    line-height:1.15;
}

.banquet-ai-seo p{
    font-size:22px;
    line-height:1.9;
    color:#444;
    margin-bottom:30px;
}

.banquet-ai-seo ul{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:20px;
    list-style:none;
    padding:0;
    margin:50px 0 0;
}

.banquet-ai-seo li{
    background:#fff;
    border-radius:18px;
    padding:24px;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
    font-size:20px;
    font-weight:600;
    color:#222;
    position:relative;
    padding-left:60px;
}

.banquet-ai-seo li::before{
    content:"✔";
    position:absolute;
    left:22px;
    top:22px;
    color:#c8a53a;
    font-size:24px;
}

@media(max-width:768px){

    .banquet-ai-seo{
        padding:60px 20px;
    }

    .banquet-ai-seo h2{
        font-size:34px;
    }

    .banquet-ai-seo p{
        font-size:18px;
        line-height:1.7;
    }

    .banquet-ai-seo li{
        font-size:18px;
    }

}

