/* =========================================================
   Barbeque Holic — Shared Stylesheet
   ========================================================= */

:root{
  --black:#0c0c0c;
  --black-soft:#151515;
  --orange:#f5820c;
  --orange-dark:#d96900;
  --yellow:#ffc727;
  --navy:#16233f;
  --red:#e2493d;
  --teal:#2f6f6a;
  --gray-bg:#f6f6f8;
  --gray-line:#e7e7ea;
  --text-dim:#6b6b74;
  --white:#ffffff;
  --radius:14px;
  --shadow:0 10px 30px rgba(0,0,0,.08);
  --maxw:1280px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Nunito Sans', Arial, sans-serif;
  color:#232323;
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Poppins', Arial, sans-serif;
  color:var(--navy);
  margin:0 0 .5em;
  line-height:1.2;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.section{padding:70px 0;}
.section-tight{padding:40px 0;}

/* ---------- Section heading with flourish ---------- */
.section-title{text-align:center;margin-bottom:14px;font-size:2.4rem;}
.section-sub{text-align:center;color:var(--text-dim);max-width:640px;margin:0 auto 20px;font-size:1.02rem;}
.flourish{
  width:220px;height:14px;margin:0 auto 40px;position:relative;
  border-top:1px solid #c9c9cf;
}
.flourish::before{
  content:"❖";
  position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  background:var(--white);padding:0 10px;color:#9c9ca3;font-size:14px;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;
  padding:14px 30px;
  border-radius:40px;
  font-weight:700;
  border:none;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  font-size:1rem;
  text-align:center;
}
.btn-primary{background:var(--orange);color:#fff;}
.btn-primary:hover{background:var(--orange-dark);transform:translateY(-2px);box-shadow:0 8px 18px rgba(245,130,12,.35);}
.btn-block{display:block;width:100%;}
.btn-yellow{background:var(--yellow);color:var(--black);}

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  position:sticky;top:0;z-index:500;
  background:var(--black);
  border-bottom:1px solid #1f1f1f;
}
.header-inner{
  max-width:var(--maxw);margin:0 auto;padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{display:flex;align-items:center;gap:10px;color:#fff;}
.brand .logo-img{height:56px;width:auto;max-width:190px;object-fit:contain;flex-shrink:0;}
.footer-grid .brand .logo-img{height:60px;}

.main-nav{display:flex;gap:34px;}
.main-nav a{
  color:#e9e9e9;font-weight:600;font-size:.98rem;padding:6px 2px;
  border-bottom:2px solid transparent;transition:color .15s, border-color .15s;
}
.main-nav a:hover,.main-nav a.active{color:var(--orange);border-color:var(--orange);}

.header-right{display:flex;align-items:center;gap:18px;}
.wa-pill{
  display:flex;align-items:center;gap:10px;color:var(--orange);font-weight:700;font-size:.92rem;line-height:1.3;
}
.wa-pill .wa-icon{
  width:38px;height:38px;border-radius:50%;background:#25d366;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.wa-pill .wa-icon svg{width:20px;height:20px;fill:#fff;}
.hamburger{
  display:none;flex-direction:column;gap:5px;background:none;border:none;padding:6px;
}
.hamburger span{width:26px;height:3px;background:#fff;border-radius:2px;}

/* =========================================================
   FLOATING ELEMENTS
   ========================================================= */
.float-book{
  position:fixed;right:18px;top:220px;z-index:400;
  width:78px;height:78px;border-radius:50%;
  background:var(--yellow);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
  text-align:center;font-weight:800;font-size:.72rem;color:var(--black);
  gap:2px;
}
.float-book svg{width:24px;height:24px;}
.float-social{
  position:fixed;right:18px;top:320px;z-index:400;
  display:flex;flex-direction:column;gap:10px;
}
.float-social a{
  width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;box-shadow:0 6px 14px rgba(0,0,0,.2);
}
.float-social a svg{width:18px;height:18px;fill:#fff;}
.float-social .fb{background:#1877f2;}
.float-social .wa{background:#25d366;}
.float-social .ig{background:radial-gradient(circle at 30% 110%, #ffdb8b 0%, #ee653e 40%, #d6249f 60%, #6228d7 100%);}

/* =========================================================
   PAGE HEADER (banner) — used on inner pages
   ========================================================= */
.page-banner{
  position:relative;
  background:
    linear-gradient(rgba(10,10,10,.65),rgba(10,10,10,.55)),
    linear-gradient(120deg,#2b2b2b,#111);
  color:#fff;padding:90px 0 60px;text-align:center;
}
.page-banner h1{color:#fff;font-size:2.6rem;margin-bottom:16px;}
.crumb{
  display:inline-flex;gap:8px;align-items:center;
  background:#fff;color:var(--navy);border-radius:40px;
  padding:10px 22px;font-weight:700;font-size:.9rem;
  box-shadow:var(--shadow);
}
.crumb .sep{color:#c8c8c8;}
.crumb .current{color:var(--orange);}

/* =========================================================
   HOME HERO SLIDER
   ========================================================= */
.hero-slider{
  position:relative;width:100%;overflow:hidden;background:#0c0c0c;
  aspect-ratio:16/7;
}
.hero-slider .slide{
  position:absolute;inset:0;opacity:0;transition:opacity .7s ease;pointer-events:none;
}
.hero-slider .slide.active{opacity:1;z-index:1;pointer-events:auto;}
.hero-slider .slide img{width:100%;height:100%;object-fit:cover;object-position:center;}
.hero-slider .video-slide{position:absolute;inset:0;overflow:hidden;background:#000;}
.hero-slider .video-slide iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:0;pointer-events:none;}
.hero-slider .slide::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.15);z-index:1;pointer-events:none;}

.sound-toggle{
  position:absolute;right:20px;bottom:20px;z-index:3;
  width:46px;height:46px;border-radius:50%;
  background:rgba(12,12,12,.6);border:1px solid rgba(255,255,255,.4);
  display:flex;align-items:center;justify-content:center;
}
.sound-toggle:hover{background:var(--orange);border-color:var(--orange);}
.sound-toggle svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.hero-slider .slide-cta{
  position:absolute;left:0;right:0;bottom:9%;text-align:center;z-index:2;
}
.hero-slider .slide-cta .btn{font-size:1.05rem;padding:14px 34px;}

.arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:3;
  width:44px;height:44px;border-radius:50%;background:rgba(12,12,12,.55);
  color:#fff;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.35);
}
.arrow:hover{background:var(--orange);border-color:var(--orange);}
.arrow.prev{left:16px;}
.arrow.next{right:16px;}
.arrow svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2;}

.hero-slider .dots{
  position:absolute;bottom:14px;left:0;right:0;z-index:3;
  display:flex;gap:9px;justify-content:center;
}
.hero-slider .dots button{
  width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);border:none;padding:0;
}
.hero-slider .dots button.active{background:var(--yellow);width:26px;border-radius:6px;}

/* =========================================================
   ZOOM-ON-HOVER IMAGE TILES
   ========================================================= */
.zoom-tile{border-radius:10px;overflow:hidden;position:relative;cursor:pointer;background:#111;}
.zoom-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;display:block;}
.zoom-tile:hover img{transform:scale(1.12);}
.zoom-tile::after{
  content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.35),transparent 45%);
  opacity:0;transition:opacity .3s ease;
}
.zoom-tile:hover::after{opacity:1;}
.zoom-tile .zoom-icon{
  position:absolute;right:12px;bottom:12px;width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(6px);transition:opacity .25s ease, transform .25s ease;
}
.zoom-tile:hover .zoom-icon{opacity:1;transform:translateY(0);}
.zoom-tile .zoom-icon svg{width:16px;height:16px;fill:none;stroke:var(--orange);stroke-width:2;}

/* =========================================================
   LIGHTBOX
   ========================================================= */
.lightbox{
  position:fixed;inset:0;background:rgba(6,6,6,.92);z-index:1000;
  display:none;align-items:center;justify-content:center;padding:30px;
}
.lightbox.open{display:flex;}
.lightbox img{max-width:min(1100px,92vw);max-height:86vh;object-fit:contain;border-radius:8px;border:4px solid var(--orange);box-shadow:0 20px 60px rgba(0,0,0,.5);background:#fff;}
.lightbox .lb-close{
  position:absolute;top:20px;right:24px;width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.3);
}
.lightbox .lb-close svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2;}
.lightbox .lb-caption{position:absolute;bottom:24px;left:0;right:0;text-align:center;color:#eee;font-size:.9rem;}

/* =========================================================
   PLACEHOLDER IMAGE TILES
   (used everywhere in place of photography — swap the
   background-image / <img src> with real photos any time)
   ========================================================= */
.ph{
  position:relative;overflow:hidden;background:#1c1c1c;
  display:flex;align-items:center;justify-content:center;color:#fff;
}
.ph::before{content:"";position:absolute;inset:0;opacity:.9;}
.ph .ph-label{position:relative;z-index:2;text-align:center;font-family:'Poppins',sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.5px;padding:0 12px;text-shadow:0 2px 6px rgba(0,0,0,.5);}
.ph svg{position:relative;z-index:2;width:34%;height:34%;opacity:.9;}
.ph-1::before{background:linear-gradient(135deg,#c9491a,#8a2a0d);}
.ph-2::before{background:linear-gradient(135deg,#1f3d38,#0e211d);}
.ph-3::before{background:linear-gradient(135deg,#7a3b12,#3a1a06);}
.ph-4::before{background:linear-gradient(135deg,#3f2140,#1c0e22);}
.ph-5::before{background:linear-gradient(135deg,#c9821a,#7a4a0a);}
.ph-6::before{background:linear-gradient(135deg,#2b2b2b,#111);}

/* =========================================================
   CARDS: BLOG
   ========================================================= */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.blog-card{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#fff;}
.blog-card .ph{height:230px;}
.blog-card .body{background:#eceef1;padding:20px 22px 26px;}
.blog-card h3{font-size:1.2rem;margin-bottom:10px;}
.blog-card .date{color:var(--text-dim);font-size:.9rem;display:flex;align-items:center;gap:8px;}
.blog-card .arrow{
  width:38px;height:38px;border-radius:50%;background:#fff;
  display:flex;align-items:center;justify-content:center;
  position:absolute;right:20px;bottom:18px;box-shadow:0 6px 16px rgba(0,0,0,.15);
}
.blog-card .thumb-wrap{position:relative;}

/* =========================================================
   GALLERY
   ========================================================= */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.gallery-grid .ph,.gallery-grid .zoom-tile{aspect-ratio:4/3;border-radius:10px;}
.gallery-grid.short{max-width:280px;margin:24px auto 0;}

/* =========================================================
   MENU PAGE — poster style
   ========================================================= */
.menu-poster-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:60px;}
.menu-poster-grid .zoom-tile{
  border:4px solid var(--orange);border-radius:10px;box-shadow:var(--shadow);
  aspect-ratio:auto;background:#111;display:flex;align-items:center;justify-content:center;
}
.menu-poster-grid .zoom-tile img{width:100%;height:auto;object-fit:contain;}
.menu-poster-grid .zoom-tile:hover img{transform:none;}
.menu-poster-grid figcaption{text-align:center;margin-top:12px;font-weight:700;color:var(--navy);}
.menu-posters{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.menu-tabs button{display:flex;align-items:center;gap:8px;}
.tab-icon{width:20px;height:20px;flex-shrink:0;display:inline-flex;}
.tab-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.ph-img{width:56px;height:56px;border-radius:8px;overflow:hidden;flex-shrink:0;}
.ph-img img{width:100%;height:100%;object-fit:cover;}
.menu-poster{
  background:#161616;border:3px solid var(--orange);border-radius:6px;
  padding:26px 24px;color:#f1e6cd;
}
.menu-poster h4{
  color:var(--orange);text-align:center;letter-spacing:1px;font-family:'Poppins',sans-serif;
  font-size:1.05rem;border-bottom:1px solid #3a3a3a;padding-bottom:8px;margin-bottom:10px;text-transform:uppercase;
}
.menu-poster .brand-mini{text-align:center;color:#fff;font-weight:800;font-size:1.3rem;margin-bottom:14px;font-family:'Poppins',sans-serif;}
.menu-poster .brand-mini span{display:block;color:var(--orange);font-size:.6rem;letter-spacing:2px;}
.menu-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:16px;}
.menu-cols h5,.menu-block h5{
  color:var(--yellow);font-family:'Poppins',sans-serif;font-size:.8rem;letter-spacing:1px;text-transform:uppercase;
  margin:0 0 6px;border-bottom:1px dashed #3a3a3a;padding-bottom:4px;
}
.menu-cols ul li,.menu-block ul li{font-size:.85rem;padding:2px 0;color:#e6ddc8;}
.menu-block{margin-bottom:14px;}

.menu-tabs{
  display:flex;flex-wrap:wrap;gap:26px;justify-content:center;margin:10px 0 40px;
  border-bottom:1px solid var(--gray-line);padding-bottom:16px;
}
.menu-tabs button{
  background:none;border:none;font-weight:700;color:var(--text-dim);font-size:1rem;padding:6px 2px;
  border-bottom:3px solid transparent;
}
.menu-tabs button.active{color:var(--orange);border-color:var(--orange);}

.menu-lists{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.menu-panel{display:none;}
.menu-panel.active{display:grid;grid-template-columns:1fr 1fr;gap:60px;}
.menu-panel h3{color:var(--orange);text-align:center;font-size:1.4rem;}
.menu-item-row{
  display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--gray-line);padding:12px 0;
}
.menu-item-row .ph{width:56px;height:56px;border-radius:8px;flex-shrink:0;}
.menu-item-row .ph .ph-label{display:none;}
.menu-item-row span{font-weight:700;color:#2b2b2b;}

/* =========================================================
   FORMS (used by booking / private dining / franchise / corporate / contact)
   ========================================================= */
.form-card{
  background:#fff;border:1px solid var(--orange);border-radius:var(--radius);
  padding:40px;box-shadow:var(--shadow);max-width:900px;margin:0 auto;
}
.form-card.dark{background:rgba(10,10,10,.86);border:none;color:#fff;}
.form-card.dark label{color:#f1f1f1;}
.form-card.dark input,.form-card.dark select,.form-card.dark textarea{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.25);color:#fff;
}
.form-card.dark input::placeholder,.form-card.dark textarea::placeholder{color:#bbb;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:22px;}
.field label{display:block;font-weight:700;color:#3a3a3a;margin-bottom:8px;font-size:.98rem;}
.field label .req{color:var(--red);}
.field input,.field select,.field textarea{
  width:100%;padding:13px 16px;border:1px solid #d8d8db;border-radius:8px;
  font-size:.98rem;font-family:inherit;background:#fff;color:#232323;
}
.field textarea{resize:vertical;min-height:100px;}
.phone-field{display:flex;}
.phone-field .prefix{
  background:#f0f0f2;border:1px solid #d8d8db;border-right:none;border-radius:8px 0 0 8px;
  padding:13px 14px;font-weight:700;color:#555;
}
.phone-field input{border-radius:0 8px 8px 0;}
.seats-box{
  display:flex;align-items:center;justify-content:space-between;
  background:#eef4fb;border-radius:10px;padding:16px 20px;margin-bottom:26px;
}
.form-card.dark .seats-box{background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.3);}
.seats-box .label strong{display:block;color:var(--orange);}
.seats-box .label span{font-size:.85rem;color:var(--text-dim);}
.form-card.dark .seats-box .label span{color:#ccc;}
.stepper{display:flex;align-items:center;gap:16px;}
.stepper button{
  width:38px;height:38px;border-radius:50%;border:1px solid #b9b9bd;background:#fff;font-size:1.2rem;font-weight:700;
}
.form-card.dark .stepper button{background:transparent;border-color:#666;color:#fff;}
.stepper .count{font-weight:800;font-size:1.1rem;min-width:20px;text-align:center;}
.form-note{font-size:.85rem;color:var(--text-dim);margin-top:10px;}
.form-status{margin-top:16px;font-weight:700;display:none;}
.form-status.ok{color:#1e8e3e;}
.form-status.err{color:var(--red);}

/* =========================================================
   PRIVATE DINING / FRANCHISE — split hero+overlay form
   ========================================================= */
/*.split-hero{position:relative;min-height:640px;display:flex;align-items:center;color:#fff;}
.split-hero .bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
.split-hero .bg img{width:100%;height:100%;object-fit:cover;}
.split-hero .bg::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.15));z-index:1;}
.split-hero .content{position:relative;z-index:1;width:100%;}
.split-hero .container{display:grid;grid-template-columns:1fr 440px;gap:40px;align-items:start;}
.split-hero .intro{
  align-self:center;background:rgba(0,0,0,.4);padding:36px;border-radius:10px;max-width:520px;
}
.split-hero .intro h1{color:#fff;font-size:3rem;}
.split-hero .intro p{font-size:1.05rem;line-height:1.6;font-style:italic;color:#f1f1f1;}
.split-hero .form-card{margin:40px 0;}*/
.split-hero {
    position: relative;
    min-height: 640px;
    display: flex;
    align-items: center;
    color: #fff;

    /* Background image */
    background-image: url("../images/bg_franchise.jpg");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.split-hero .bg {
    /*position: absolute;*/
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

/* Hide the old background image */
.split-hero .bg img {
    display: none;
}

/* Dark overlay */
.split-hero .bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.55),
        rgba(0, 0, 0, 0.15)
    );
    z-index: 1;
}

.split-hero .content {
    position: relative;
    z-index: 1;
    width: 100%;
}

.split-hero .container {
    display: grid;
    grid-template-columns: 1fr 440px;
    gap: 40px;
    align-items: start;
}

.split-hero .intro {
    align-self: center;
    background: rgba(0, 0, 0, 0.4);
    padding: 36px;
    border-radius: 10px;
    max-width: 520px;
}

.split-hero .intro h1 {
    color: #fff;
    font-size: 3rem;
}

.split-hero .intro p {
    font-size: 1.05rem;
    line-height: 1.6;
    font-style: italic;
    color: #f1f1f1;
}

.split-hero .form-card {
    margin: 40px 0;
}


/* =========================
   TABLET
   ========================= */
@media (max-width: 991px) {
    .split-hero {
        min-height: 600px;
        background-position: center center;
    }

    .split-hero .container {
        grid-template-columns: 1fr 380px;
        gap: 30px;
    }

    .split-hero .intro {
        padding: 30px;
    }

    .split-hero .intro h1 {
        font-size: 2.5rem;
    }
}


/* =========================
   MOBILE
   ========================= */
@media (max-width: 767px) {
    .split-hero {
        min-height: auto;
        padding: 50px 0;
        background-position: center center;
    }

    .split-hero .container {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .split-hero .intro {
        max-width: 100%;
        padding: 25px;
    }

    .split-hero .intro h1 {
        font-size: 2rem;
    }

    .split-hero .intro p {
        font-size: 1rem;
    }

    .split-hero .form-card {
        margin: 20px 0 0;
    }
}


/* =========================
   SMALL MOBILE
   ========================= */
@media (max-width: 480px) {
    .split-hero {
        padding: 40px 0;
        background-position: center center;
    }

    .split-hero .intro {
        padding: 20px;
        border-radius: 8px;
    }

    .split-hero .intro h1 {
        font-size: 1.75rem;
    }
}

/* =========================================================
   CONTACT PAGE
   ========================================================= */
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:-90px;position:relative;z-index:5;}
.contact-card{
  background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);
  padding:38px 24px;text-align:center;
}
.contact-card .icon{
  width:70px;height:70px;border-radius:50%;background:#fdeceb;color:var(--red);
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;
}
.contact-card .icon svg{width:28px;height:28px;fill:none;stroke:var(--red);stroke-width:1.8;}
.contact-card h3{font-size:1.15rem;}
.contact-card p{color:var(--text-dim);line-height:1.6;margin:0;}

.hours-box{
  background:var(--black);color:#fff;border-radius:var(--radius);padding:36px 44px;max-width:900px;margin:60px auto 0;
}
.hours-box h3{color:#fff;text-align:center;font-size:1.6rem;margin-bottom:26px;}
.hours-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid #262626;font-weight:700;}
.hours-row:last-child{border-bottom:none;}
.hours-row .time{color:var(--red);}

.map-wrap{max-width:1200px;margin:50px auto 0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.map-wrap iframe{width:100%;height:450px;border:0;display:block;}

/* =========================================================
   FOOTER
   ========================================================= */
/*.site-footer{
  background:var(--black);color:#d8d8d8;padding-top:70px;position:relative;overflow:hidden;
}*/

.site-footer {
    position: relative;
    overflow: hidden;

    padding-top: 80px;

    color: #d8d8d8;

    background-color: #080605;
    background-image: url("../images/fire.png");
    background-repeat: repeat-x;
    background-position: center bottom;
    background-size: auto 220px;
}
.footer-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;
  max-width:var(--maxw);margin:0 auto;padding:0 24px 60px;position:relative;z-index:2;
}
.footer-grid h4{color:#fff;font-size:1.1rem;margin-bottom:18px;}
.footer-grid p{line-height:1.7;font-size:.95rem;color:#b7b7b7;}
.footer-grid ul li{margin-bottom:12px;font-size:.95rem;}
.footer-grid ul li a{color:#d8d8d8;}
.footer-grid ul li a:hover{color:var(--orange);}
.footer-social{display:flex;gap:12px;margin-top:20px;}
.footer-social a{
  width:36px;height:36px;border-radius:50%;background:#fff;
  display:flex;align-items:center;justify-content:center;
}
.footer-social a svg{width:16px;height:16px;fill:var(--black);}
.footer-contact li{display:flex;gap:12px;align-items:flex-start;color:#d8d8d8;}
.footer-contact svg{width:18px;height:18px;flex-shrink:0;margin-top:3px;stroke:var(--orange);fill:none;stroke-width:1.8;}
.footer-flame{position:relative;line-height:0;margin-top:-190px;z-index:1;pointer-events:none;}
.footer-flame img{width:100%;height:auto;display:block;object-fit:cover;max-height:240px;}
.footer-grid{position:relative;z-index:2;}
.footer-bottom {
    width: 100%;
    padding: 18px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.footer-copyright,
.footer-designed {
    font-size: 14px;
    line-height: 1.6;
}

.footer-copyright {
    text-align: left;
}

.footer-designed {
    text-align: right;
    white-space: nowrap;
}

/* Responsive */
@media (max-width: 767px) {
    .footer-bottom-inner {
        flex-direction: column;
        justify-content: center;
        text-align: center;
        gap: 6px;
    }

    .footer-copyright,
    .footer-designed {
        text-align: center;
        white-space: normal;
    }
	.footer-flame {
  margin-top: -80px;
}
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1024px){
  .blog-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:repeat(3,1fr);}
  .menu-posters,.menu-panel.active,.menu-poster-grid{grid-template-columns:1fr;}
  .menu-poster-grid .zoom-tile{max-width:520px;margin:0 auto;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .split-hero .container{grid-template-columns:1fr;}
  .split-hero .intro{max-width:none;}
  .contact-cards{grid-template-columns:1fr;margin-top:20px;}
  .hero-slider{aspect-ratio:16/9;}
}

@media (max-width:768px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:16px;}
  .container{padding:0 18px;}
  .section{padding:50px 0;}
  .hero-slider{aspect-ratio:4/5;}
  .hero-slider .slide-cta{bottom:6%;}
  .hero-slider .slide-cta .btn{font-size:.92rem;padding:11px 22px;}
  .hero-slider .arrow{width:36px;height:36px;}
  .brand .logo-img{height:44px;}
  .footer-grid .brand .logo-img{height:48px;}
}

@media (max-width:860px){
  .main-nav{
    position:fixed;top:0;right:0;height:100vh;width:76%;max-width:320px;
    background:var(--black-soft);flex-direction:column;gap:0;padding:90px 30px 30px;
    transform:translateX(100%);transition:transform .25s ease;z-index:600;
  }
  .main-nav.open{transform:translateX(0);}
  .main-nav a{border-bottom:1px solid #262626;padding:16px 0;width:100%;}
  .hamburger{display:flex;}
  .wa-pill span.wa-text{display:none;}
  .header-right{gap:10px;}
  .header-right .btn-primary{padding:10px 18px;font-size:.88rem;}
  .float-book,.float-social{display:none;}
  .form-row{grid-template-columns:1fr;gap:16px;}
  .footer-grid{grid-template-columns:1fr;text-align:left;}
}

@media (max-width:680px){
  .blog-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .page-banner h1{font-size:2rem;}
  .split-hero .intro h1{font-size:2.1rem;}
  .form-card{padding:24px;}
  .hours-box{padding:26px 20px;}
  .hours-row{flex-direction:column;gap:4px;}
  .section-title{font-size:1.8rem;}
}

@media (max-width:420px){
  .brand .logo-img{height:38px;}
  .header-inner{padding:10px 14px;}
  .gallery-grid{grid-template-columns:1fr;}
  .hero-slider{aspect-ratio:3/4;}
  .lightbox .arrow{width:36px;height:36px;}
  .lightbox .arrow.prev{left:8px;}
  .lightbox .arrow.next{right:8px;}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *{transition:none !important;scroll-behavior:auto !important;}
}

/* focus visibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--orange);outline-offset:2px;
}
