/* ===============================
   Kebab&Co typography & layout overrides
   Make sure this loads AFTER theme CSS
   =============================== */
/* cyrillic */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDTbtPY_Q.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDYbtPY_Q.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDZbtPY_Q.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKdFvXDXbtM.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/*==== colors =========*/
:root{
  --color-one: #331704;
  --color-two: #220f03;
  --color-three: #FFFFF3;
}
/* Overlay over the video image */
.bg-video-wrap .overlay{
  background: rgba(0,0,0,0.70);
}
/* Hide left social vertical text */
.hero-section .social-links,
.hero-section .social-vertical,
.hero-section .social-box,
.hero-section .social-icons {
    display: none !important;
}

/* Hide right booking vertical text */
.hero-section .booking-info,
.hero-section .booking-number,
.hero-section .info-vertical,
.hero-section .contact-vertical {
    display: none !important;
}

/* Apply bg image to all sections (force override) */
section, .newsletter-popup .newsletter-popup-content, .contact-page, .reserve-section.style-two.reserve-page-2{
  background:
    /* very soft tint (slightly darker than before) */
    linear-gradient(
      rgba(0,0,0,0.22),
      rgba(0,0,0,0.22)
    ),
    /* main overlay (tiny increase only) */
    linear-gradient(
      rgba(0,0,0,0.50),
      rgba(0,0,0,0.50)
    ),
    url("../images/resource/pattern-dark-updated-25.jpg"),
    #297884;

  background-repeat: repeat;
  background-position: center top;
}
.newsletter-popup .form-control {
  background-color: #220f03;
}
.info-col .newsletter-form .form-group input[type="text"], .main-footer .info-col .newsletter-form input[type="email"], .main-footer .info-col .newsletter-form input[type="password"] {
  background-color: #220f03;
}
.main-footer{
  background:
    linear-gradient(rgba(0,0,0,0.15), rgba(0,0,0,0.15)),
    linear-gradient(rgba(0,0,0,0.40), rgba(0,0,0,0.40)),
    url("../images/resource/pattern-dark-updated-25.jpg"),
    #297884;

  background-repeat: repeat;
  background-position: center top;
}

footer::before {
  content:"";
  display:block;
  height:1px;
  background:linear-gradient(
    to right,
    transparent,
    rgba(255,255,255,0.25),
    transparent
  );
}
.info-bar .inner-box,
.side-content-visible .info-bar{
  background:
    /* very soft tint (slightly darker than before) */
    linear-gradient(
      rgba(0,0,0,0.22),
      rgba(0,0,0,0.22)
    ),
    /* main overlay (tiny increase only) */
    linear-gradient(
      rgba(0,0,0,0.50),
      rgba(0,0,0,0.50)
    ),
    url("../images/resource/pattern-dark-sidebar-updated-25.jpg"),
    #297884;

  background-repeat: repeat;
  background-position: center top;
}
.reserve-section.style-two .reserv-col .inner {
  background:
    /* very soft tint (slightly darker than before) */
    linear-gradient(
      rgba(0,0,0,0.22),
      rgba(0,0,0,0.22)
    ),
    /* main overlay (tiny increase only) */
    linear-gradient(
      rgba(0,0,0,0.50),
      rgba(0,0,0,0.50)
    ),
    url("../images/resource/pattern-dark-updated-25.jpg"),
    #297884;

  background-repeat: repeat;
  background-position: center top;
}

.services-section {
  padding: 70px 0 85px;
  background:
    /* very soft tint (slightly darker than before) */
    linear-gradient(
      rgba(0,0,0,0.22),
      rgba(0,0,0,0.22)
    ),
    /* main overlay (tiny increase only) */
    linear-gradient(
      rgba(0,0,0,0.50),
      rgba(0,0,0,0.50)
    ),
    url("../images/resource/pattern-dark-updated-25.jpg"),
    #297884;

  background-repeat: repeat;
  background-position: center top;
}

.gallery-section {
  background-color: #FFFFF3;
}
.theme-btn.btn-style-one:hover,
.btn-style-one:hover {
    background: #232323 !important;
}

/* Remove default page banner for Catering page (page id 23) */
body#page-23 .inner-banner, body#page-16 .inner-banner, body#page-24 .inner-banner{
  display: none !important;
}

/* Degular Text applied site-wide */
/* Degular site-wide (SAFE: won't break Font Awesome) */
body, html, p, a, li, div, section, header, footer, main {
  font-family: degular, sans-serif !important;
}

/* Keep spans normal, OR apply only when they are NOT icons */
span:not(.fa):not(.fas):not(.far):not(.fal):not(.fat):not(.fad):not(.fab)
:not(.fa-solid):not(.fa-regular):not(.fa-light):not(.fa-thin):not(.fa-duotone):not(.fa-brands){
  font-family: degular, sans-serif !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-family: degular, sans-serif !important;
    font-weight: 600;
}

/* Navigation + Buttons */
.navbar,
.menu,
.btn,
.button,
.header-menu,
.footer-menu {
    font-family: degular, sans-serif !important;
}

/* 1) Global typography: desktop defaults */
:root {
    /* Heading & body sizes */
    --h1-size: 46px;
    --h2-size: 38px;
    --h3-size: 28px;
    --h4-size: 22px;
    --h5-size: 18px;
    --h6-size: 15px;
    --body-size: 15px;

    /* Botble typography vars (some blocks use these) */
    --tc-h1-font-size: 46px;
    --tc-h2-font-size: 38px;
    --tc-h3-font-size: 28px;
    --tc-h4-font-size: 22px;
    --tc-h5-font-size: 18px;
    --tc-h6-font-size: 15px;
    --tc-body-font-size: 15px;
}

/* Ensure hero title respects our sizing */
.bg-video-wrap h1 {
    font-size: clamp(26px, 4vw, 40px) !important;
    line-height: 1.1;
    font-weight: bold;
}

/* 2) Boxed layout container for inner sections */
.container-xl {
    max-width: 1140px;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
}

/* 3) Less vertical padding on sections using .section-kt */
.section-kt {
    padding-top: 70px;
    padding-bottom: 70px;
}

/* 4) Mobile tweaks */
@media (max-width: 991px) {

    .section-kt {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    :root {
        --h1-size: 36px;
        --h2-size: 28px;
        --h3-size: 22px;
        --body-size: 14px;

        --tc-h1-font-size: 36px;
        --tc-h2-font-size: 28px;
        --tc-h3-font-size: 22px;
        --tc-body-font-size: 14px;
    }

    .bg-video-wrap h1 {
        font-size: clamp(28px, 6vw, 36px) !important;
    }
}

.bg-video-wrap h1 span {
    font-size: 1.2em !important;
}


/* Side bar menu */
/* Sidebar navigation links */
.kc-side-links {
  list-style: none;
  padding: 0;
  margin: 30px 0;
}

.kc-side-links li {
  margin-bottom: 14px;
}

/* Link base style */
/* Sidebar navigation links - updated hover like .kc-space__link */
.kc-side-links a{
  color:#ffffff;
  text-decoration:none;
  font-size:15px;
  font-weight:500;
  letter-spacing:0.08em;
  text-transform:uppercase;
  display:inline-block;
  position:relative;
  padding-bottom:5px; /* same feel as kc-space */
  transition: color .25s ease, opacity .25s ease;
}

/* thin underline animation */
.kc-side-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  height:1px;
  width:100%;
  background: rgba(255,255,255,0.55);
  transform: scaleX(0);
  transform-origin:left;
  transition: transform .35s ease, background-color .25s ease;
}

/* Hover */
.kc-side-links a:hover{
  color:#e6b15f;
}

.kc-side-links a:hover::after{
  transform: scaleX(1);
  background:#e6b15f;
}

/* Active (keep same behavior as hover) */
.kc-side-links a.active{
  color:#e6b15f;
}

.kc-side-links a.active::after{
  transform: scaleX(1);
  background:#e6b15f;
}

/* Hide main navigation on desktop */
@media (min-width: 992px) {
  .main-menu,
  .navbar,
  .navbar-area,
  .main-navigation {
    display: none !important;
  }
}

/* Show main navigation on mobile */
@media (max-width: 991px) {
  .main-menu,
  .navbar,
  .navbar-area,
  .main-navigation {
    display: block !important;
  }
}


@media (max-width: 991px) {
  .kc-desktop-only { display: none !important; }
  .kc-mobile-only { display: inline-block !important; }
}


/* Currency Section: Disappear */
/* Hide currency section from Info Bar Sidebar */
.info-bar h5, .currency-switcher {
    display: none !important;
}

/* Main Header to 90% */
/* Main Header: add 5% margin on each side (desktop & laptop only) */
@media (min-width: 992px) {
  .main-header .main-box {
    width: 90%;
    margin: 0 auto; /* centers horizontally */
  }
}

/*========== Home Page*/

/* Menu over homepage */
/* ===== Explore Menu Section (Kebab&Co) ===== */
/* ===== Explore Menu (Style like reference) ===== */
/* Texture background – CSS only (no image) */
/* Texture background – CSS only (more dots, refined grain) */
.kc-explore-menu.v2{
  position: relative;
  padding: 70px 0;

  background:
    /* fine dots layer */
    radial-gradient(circle at 10% 20%, rgba(0,0,0,0.05) 1px, transparent 1.5px),
    radial-gradient(circle at 30% 40%, rgba(0,0,0,0.04) 1px, transparent 1.5px),
    radial-gradient(circle at 50% 10%, rgba(0,0,0,0.035) 1px, transparent 1.5px),
    radial-gradient(circle at 70% 60%, rgba(0,0,0,0.04) 1px, transparent 1.5px),
    radial-gradient(circle at 90% 30%, rgba(0,0,0,0.03) 1px, transparent 1.5px),

    /* soft blotches (stone feel) */
    radial-gradient(circle at 20% 20%, rgba(0,0,0,0.04), transparent 40%),
    radial-gradient(circle at 80% 30%, rgba(0,0,0,0.03), transparent 45%),
    radial-gradient(circle at 40% 70%, rgba(0,0,0,0.035), transparent 50%),

    /* base color */
    linear-gradient(0deg, #efefef, #f7f7f7);

  background-blend-mode: multiply;
}

.kc-explore-menu.v2 .kc-explore-inner{
  position: relative;
  width: 90%;
  margin: 0 auto;
  min-height: 520px;
}

/* Food platter sits on top of texture */
.kc-explore-menu.v2 .kc-explore-food{
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 64%;
  max-width: 980px;
  height: auto;
  display: block;
  border-radius: 0;
}

/* Right dark card */
.kc-explore-menu.v2 .kc-explore-card{
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 430px;
  max-width: 92%;
  padding: 42px 38px;
  background: #232323;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 0; /* reference looks square */
}

/* Typography */
.kc-explore-menu.v2 .kc-eyebrow{
  color: #ffffff;
  opacity: 0.85;
  font-size: 13px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.kc-explore-menu.v2 .kc-title{
  color: #ffffff;
  font-size: 38px;
  line-height: 1.05;
  margin: 0;
  text-transform: uppercase;
}

.kc-explore-menu.v2 .kc-text{
  color: rgba(255,255,255,0.80);
  font-size: 14px;
  line-height: 1.85;
  margin: 0 0 26px 0;
  max-width: 360px;
}

.kc-explore-menu.v2 .kc-links{
  display: grid;
  gap: 10px;
}

/* Explore Menu links - updated hover like .kc-space__link */
.kc-explore-menu.v2 .kc-link{
  position:relative;
  display:inline-block;
  color:#ffffff;
  text-decoration:none;
  font-size:13px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  padding-bottom:5px;
  width: fit-content;
  transition: color .25s ease, opacity .25s ease;
}

.kc-explore-menu.v2 .kc-link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  height:1px;
  width:100%;
  background: rgba(255,255,255,0.55);
  transform: scaleX(0);
  transform-origin:left;
  transition: transform .35s ease, background-color .25s ease;
}

.kc-explore-menu.v2 .kc-link:hover{
  color:#e6b15f;
}

.kc-explore-menu.v2 .kc-link:hover::after{
  transform: scaleX(1);
  background:#e6b15f;
}

/* Mobile stacking */
@media (max-width: 991px){
  .kc-explore-menu.v2{
    padding: 50px 0;
  }

  .kc-explore-menu.v2 .kc-explore-inner{
    width: 94%;
    min-height: auto;
  }

  .kc-explore-menu.v2 .kc-explore-food{
    position: static;
    transform: none;
    width: 100%;
    max-width: none;
    margin: 0 auto;
  }

  .kc-explore-menu.v2 .kc-explore-card{
    position: static;
    transform: none;
    width: auto;
    max-width: none;
    margin: 18px 0 0 0;
    padding: 28px 22px;
  }

  .kc-explore-menu.v2 .kc-title{
    font-size: 34px;
  }
}

/*========= Our All Exciting Place and Story Section ====== */
.kc-space{
  position: relative;
  min-height: 520px;
  overflow: hidden;

  background-image: url("../images/resource/rest-image-updated.jpg");
  background-size: cover !important;
  background-position: center 70% !important;
  background-repeat: no-repeat !important;
}

/* Dark left overlay (not too heavy) */
.kc-space::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg,
    rgba(7,18,23,0.78) 0%,
    rgba(7,18,23,0.60) 30%,
    rgba(7,18,23,0.18) 60%,
    rgba(7,18,23,0.00) 78%
  );
  z-index:0;
}

/* Wavy pattern only on the left side */
.kc-space::after{
  content:"";
  position:absolute;
  top:0; left:0; bottom:0;
  width: 52%;
  z-index:1;
  pointer-events:none;
  opacity: .35;
  background-image:
    repeating-linear-gradient(135deg,
      rgba(255,255,255,0.10) 0px,
      rgba(255,255,255,0.10) 1px,
      transparent 1px,
      transparent 22px
    );
  mask-image: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 70%, rgba(0,0,0,0) 100%);
}

/* Container */
.kc-space__wrap{
  position: relative;
  z-index: 2;
  width: 90%;
  margin: 0 auto;
  min-height: 820px;
  display: flex;
  align-items: flex-start;
  padding-top: 30px; /* similar top spacing to original */
  padding-bottom: 100px;
}

/* Compact glass panel (smaller height, not full height) */
.kc-space__panel{
  width: 36%;
  max-width: 520px;
  padding: 18px 18px 16px;
  background: rgba(6,16,20,0.22); /* subtle glass */
  border-left: 1px solid rgba(255,255,255,0.22);
  backdrop-filter: blur(2px);
}

/* Eyebrow */
.kc-space__eyebrow{
  color: rgba(255,255,255,0.85);
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

/* Title (serif-like look depends on site font, keep size closer to original) */
.kc-space__title{
  color: #fff;
  font-size: 34px;
  line-height: 1.05;
  margin: 0;
  text-transform: uppercase;
}

/* Paragraph */
.kc-space__text{
  color: rgba(255,255,255,0.86);
  font-size: 13px;
  line-height: 1.75;
  margin: 0;
}

/* Links */
.kc-space__links{
  margin-top: 14px;
  display: grid;
  gap: 8px;
}

/* Thin underline animation */
.kc-space__link{
  position: relative;
  width: fit-content;
  display: inline-block;
  color: rgba(255,255,255,0.95);
  text-decoration: none;
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding-bottom: 5px;
  transition: color .25s ease, opacity .25s ease;
}

.kc-space__link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  height:1px;             /* thin */
  width:100%;
  background: rgba(255,255,255,0.55);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease, background-color .25s ease;
}

.kc-space__link:hover{
  color: #e6b15f;
}

.kc-space__link:hover::after{
  transform: scaleX(1);
  background: #e6b15f;
}

/* Responsive */
@media (max-width: 991px){
  .kc-space__wrap{
    width: 94%;
    padding: 40px 0;
    min-height: auto;
  }

  .kc-space__panel{
    width: 100%;
    max-width: none;
    background: #297884;
  }

  .kc-space::after{
    width: 100%;
    opacity: .18;
  }

  .kc-space__title{
    font-size: 30px;
  }
}

/* ============ Footer Section ============ */
/* =====================================
   Footer bottom: 5% margin from sides
===================================== */
.bottom_footer .auto-container{
  width: 90%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* Keep alignment clean */
.bottom_footer .row{
  align-items: center;
}
@media (max-width: 767px){
  .bottom_footer .auto-container{
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* ==================== Our Services =============== */
/* ================================
   WELCOME ICON SECTION (PNG ICONS)
   ================================ */

.kc-welcome-icons{
  padding: 70px 0 85px;
  background:
    /* very soft tint (slightly darker than before) */
    linear-gradient(
      rgba(0,0,0,0.22),
      rgba(0,0,0,0.22)
    ),
    /* main overlay (tiny increase only) */
    linear-gradient(
      rgba(0,0,0,0.50),
      rgba(0,0,0,0.50)
    ),
    url("../images/resource/pattern-dark-updated-25.jpg"),
    #297884;

  background-repeat: repeat;
  background-position: center top;
}

.kc-welcome-wrap{
  width:90%;
  max-width:1280px;
  margin:0 auto;
}

/* ---------- Heading ---------- */

.kc-welcome-head{
  text-align:center;
  color:#fff;
  margin-bottom:52px;
}

.kc-welcome-top{
  font-family: var(--tc-body-font-family, Urbanist);
  font-weight:600;
  letter-spacing:2.5px;
  font-size:18px;
  margin-bottom:12px;
}

.kc-welcome-logo{
  font-family: var(--tc-heading-font-family, Fraunces);
  font-weight:700;
  letter-spacing:2px;
  font-size:44px;
  line-height:1.1;
  margin-bottom:6px;
}

.kc-welcome-logo .kc-tm{
  font-size:14px;
  font-weight:700;
  vertical-align:super;
  margin-left:4px;
}

.kc-welcome-tag{
  font-family: var(--tc-body-font-family, Urbanist);
  font-weight:700;
  letter-spacing:3px;
  font-size:14px;
  color:rgb(234,153,60);
  margin-bottom:14px;
}

.kc-welcome-sub{
  font-family: var(--tc-body-font-family, Urbanist);
  font-weight:800;
  letter-spacing:1.6px;
  font-size:18px;
}

/* ---------- Icons Grid ---------- */

.kc-welcome-grid{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:28px;
}

/* ---------- Item ---------- */

.kc-welcome-item{
  flex:1 1 0;
  min-width:140px;
  text-align:center;
  text-decoration:none !important;
  color:#fff !important;
  transition:transform .25s ease;
}

.kc-welcome-item:hover{
  transform:translateY(-2px);
}

/* ---------- PNG Icon ---------- */

.kc-badge{
  width:96px;
  height:96px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}

.kc-badge-icon{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

/* ---------- Label ---------- */

.kc-welcome-label{
  display:inline-block;
  margin-top:16px;
  font-family: var(--tc-body-font-family, Urbanist);
  font-weight:800;
  letter-spacing:1.3px;
  font-size:14px;
  text-transform:uppercase;
}

/* ---------- Responsive ---------- */

@media (max-width:991px){
  .kc-welcome-grid{
    flex-wrap:wrap;
    justify-content:center;
  }
  .kc-welcome-item{
    flex:0 0 calc(33.333% - 20px);
  }
}
/* ================================
   Icon Hover – Soft Zoom Effect
   ================================ */

.kc-welcome-item{
  transition: transform 0.25s ease;
}

.kc-welcome-item:hover{
  transform: translateY(-2px);
}

.kc-badge-icon{
  transition: transform 0.35s ease;
}

.kc-welcome-item:hover .kc-badge-icon{
  transform: scale(1.08);
}
@media (max-width:640px){
  .kc-welcome-item{
    flex:0 0 calc(50% - 16px);
  }
  .kc-welcome-icons{
    padding:55px 0 65px;
  }
}

/*============ Gallary Code=========*/
/* Remove top & bottom padding from Gallery section */
.gallery-section.section-kt,
.gallery-section.ig-post-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.gallery-section .auto-container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.gallery-section .gallery-block {
  margin-bottom: 0;
}

@media (max-width: 991px) {
  .gallery-section.section-kt,
  .gallery-section.ig-post-section {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* =========================================================
   MENU PAGE FIXES
   - Background only behind menu box (not behind image)
   - Fix overflow of dish rows
   ========================================================= */

/* 1) Remove any section-level background (so image side stays clean) */
#page-16 .menu-one.section-kt,
#page-16 .menu-one.section-kt .auto-container,
#page-16 .menu-one.section-kt .row{
  background: #194951 !important;
}

/* 2) Ensure image side is clean (no overlay/pattern) */
#page-16 .menu-one .image-col .inner,
#page-16 .menu-one .image-col .image{
  background: transparent !important;
}

/* 3) Put the pattern/background ONLY behind the menu column card */
#page-16 .menu-one .menu-col .inner{
  position: relative;
  overflow: hidden; /* keeps everything inside the card */
}

/* Background layer only for menu card */
#page-16 .menu-one .menu-col .inner::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;

  /* “Premium” subtle pattern */
  background:
    radial-gradient(800px 380px at 20% 10%, rgba(234,153,60,.12), transparent 55%),
    radial-gradient(700px 320px at 80% 30%, rgba(255,255,255,.06), transparent 60%),
    radial-gradient(900px 420px at 60% 100%, rgba(234,153,60,.08), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.36), rgba(0,0,0,.46));
  opacity: 1;
}

/* Put menu content above background layer */
#page-16 .menu-one .menu-col .inner > *{
  position: relative;
  z-index: 1;
}

/* 4) FIX: dish row title layout so it never breaks outside the box */
#page-16 .dish-block .inner-box{
  overflow: hidden; /* safety */
}

#page-16 .dish-block .title.clearfix{
  display: flex !important;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}

/* Allow the name block to shrink properly */
#page-16 .dish-block .ttl{
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

/* Let dish name wrap instead of pushing outside */
#page-16 .dish-block .ttl h6,
#page-16 .dish-block .ttl h6 a{
  display: block;
  white-space: normal !important;
  word-break: break-word;
}

/* Keep the line flexible */
#page-16 .dish-block .menu-list-line{
  flex: 1 1 auto !important;
  min-width: 20px;
  opacity: .35;
}

/* Keep price always inside */
#page-16 .dish-block .price{
  flex: 0 0 auto !important;
  margin-left: auto;
  white-space: nowrap;
}

/* 5) If descriptions are also overflowing, force wrapping */
#page-16 .dish-block .text.desc,
#page-16 .dish-block .text.desc a{
  white-space: normal !important;
  word-break: break-word;
  overflow-wrap: anywhere;
}
/* ===============================
   LOCATIONS – TWO COUNTRY DESIGN
   =============================== */

.kc-locations{
  padding: 90px 0 110px;
}

.kc-locations-wrap{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 18px;
}

/* Heading */
.kc-locations-heading{
  text-align: center;
  margin-bottom: 54px;
  margin-top: 7%;
}

.kc-locations-kicker{
  font-size: 12px;
  letter-spacing: .32em;
  color: rgb(234,153,60);
  font-weight: 700;
  margin-bottom: 10px;
}

.kc-locations-small{
  font-size: 13px;
  letter-spacing: .24em;
  font-weight: 700;
  color: #fff;
  opacity: .9;
}

.kc-locations-title{
  font-family: var(--heading-font);
  font-size: 52px;
  letter-spacing: .08em;
  color: #fff;
  margin-top: 6px;
}

/* Grid */
.kc-country-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 26px;
}

/* Country card */
.kc-country-card{
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  box-shadow: 0 20px 50px rgba(0,0,0,.35);
  border-radius: 18px;
  padding: 26px;
  transition: transform .3s ease, box-shadow .3s ease;
}

.kc-country-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 30px 70px rgba(0,0,0,.45);
}

/* Header */
.kc-country-head{
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 800;
  letter-spacing: .2em;
  color: #fff;
  margin-bottom: 18px;
}

/* Body */
.kc-country-body h4{
  font-family: var(--heading-font);
  font-size: 26px;
  color: #fff;
  margin-bottom: 8px;
}

.kc-country-body p{
  color: rgba(255,255,255,.75);
  line-height: 1.6;
  margin-bottom: 22px;
}

/* Buttons */
.kc-country-actions{
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}

.kc-btn-outline{
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid rgba(234,153,60,.45);
  color: rgb(234,153,60);
  text-decoration: none;
  font-weight: 700;
  letter-spacing: .08em;
  font-size: 12px;
}

.kc-btn-outline:hover{
  background: rgba(234,153,60,.12);
}

.kc-btn-solid{
  padding: 10px 20px;
  border-radius: 999px;
  background: rgb(234,153,60);
  color: #000;
  text-decoration: none;
  font-weight: 800;
  letter-spacing: .08em;
  font-size: 12px;
}

.kc-btn-solid:hover{
  background: rgb(215,156,89);
}

/* Status badges */
.now-open{
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 11px;
  color: rgb(234,153,60);
  border: 1px solid rgba(234,153,60,.45);
  animation: kcGlow 1.6s ease-in-out infinite;
}

.coming-soon{
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 11px;
  color: rgba(255,255,255,.65);
  border: 1px dashed rgba(255,255,255,.35);
}

/* Glow animation */
@keyframes kcGlow{
  0%,100%{ box-shadow: 0 0 0 rgba(234,153,60,0); }
  50%{ box-shadow: 0 0 18px rgba(234,153,60,.45); }
}

/* Responsive */
@media (max-width: 768px){
  .kc-country-grid{
    grid-template-columns: 1fr;
  }
  .kc-locations-title{
    font-size: 38px;
  }
}
/* =========================
   LOCATIONS (page-24)
   Anchor scroll + Branch layout (like screenshot)
   ========================= */
#page-24{
  scroll-behavior: smooth;
}

/* If header is sticky, this prevents section from hiding under it */
#page-24 .kc-branch{
  scroll-margin-top: 110px;
}

/* Branch wrapper */
#page-24 .kc-branch{
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.22);
  box-shadow: 0 22px 60px rgba(0,0,0,.35);
}

/* Top bar */
#page-24 .kc-branch-head{
  display: grid;
  grid-template-columns: 1.1fr 1.6fr 1fr;
  gap: 18px;
  padding: 26px 26px;
  align-items: center;
  background-color: #1d5861;
}

/* Left: CITY + NAME */
#page-24 .kc-branch-city{
  color: #fff;
  letter-spacing: .22em;
  font-weight: 700;
  font-size: 16px;
}

#page-24 .kc-branch-name{
  margin-top: 8px;
  font-family: var(--heading-font);
  font-size: 44px;
  line-height: 1;
  color: #fff;
}

/* Middle: address + phone (with separators like screenshot) */
#page-24 .kc-branch-mid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  padding-left: 22px;
  border-left: 1px solid rgba(255,255,255,.18);
}

#page-24 .kc-branch-actions{
  padding-left: 22px;
  border-left: 1px solid rgba(255,255,255,.18);
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

#page-24 .kc-branch-info{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  color: rgba(255,255,255,.92);
  font-weight: 600;
}

#page-24 .kc-branch-info i{
  margin-top: 2px;
  color: rgb(234,153,60);
  font-size: 16px;
}

/* Buttons */
#page-24 .kc-branch-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  text-decoration: none !important;
  font-weight: 700;
  letter-spacing: .04em;
  background: rgba(255,255,255,.06);
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

#page-24 .kc-branch-btn:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.10);
  border-color: rgba(234,153,60,.35);
}

#page-24 .kc-branch-btn.is-solid{
  background: rgb(234,153,60);
  border-color: rgba(234,153,60,.65);
  color: #111 !important;
}

#page-24 .kc-branch-btn.is-solid:hover{
  background: rgb(215,156,89);
}

/* Photo area */
#page-24 .kc-branch-photo{
  position: relative;
  width: 100%;
  overflow: hidden;
}

#page-24 .kc-branch-photo img{
  width: 100%;
  height: auto;
  display: block;
  filter: saturate(1.05) contrast(1.05);
}

/* NOW OPEN glow badge animation */
#page-24 .kc-badge-open{
  display: inline-flex;
  margin-top: 10px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #111;
  background: rgb(234,153,60);
  box-shadow: 0 0 0 rgba(234,153,60,.0);
  animation: kcGlow 1.6s ease-in-out infinite;
}

@keyframes kcGlow{
  0%   { box-shadow: 0 0 0 rgba(234,153,60,.0); transform: translateY(0); }
  50%  { box-shadow: 0 0 22px rgba(234,153,60,.55); transform: translateY(-1px); }
  100% { box-shadow: 0 0 0 rgba(234,153,60,.0); transform: translateY(0); }
}

/* Coming soon badge */
#page-24 .kc-badge-soon{
  display: inline-flex;
  margin-top: 10px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
}

/* Responsive */
@media (max-width: 991px){
  #page-24 .kc-branch-head{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  #page-24 .kc-branch-mid,
  #page-24 .kc-branch-actions{
    padding-left: 0;
    border-left: 0;
  }
  #page-24 .kc-branch-mid{
    grid-template-columns: 1fr;
  }
  #page-24 .kc-branch-name{
    font-size: 36px;
  }
}

/*-- ========================= New Menu Style ========================= --*/
:root{
  --kc-brown:#331704;
  --kc-red:#B9292E;
  --kc-orange:#EA993C;
  --kc-teal:#297884;

  --kc-dark:#232323;
  --kc-cream:#FFFFF3;
  --kc-white:#fff;
}

/* Layout container */
.kc-menu-wrap{
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

/* =========================
   SECTION BASE (WHOLE SECTION COLORED)
   ========================= */
.kc-menu-sec{
  padding: 78px 0 90px;
  position: relative;
  overflow: hidden;

  /* Default base color if section class missing */
  --kc-base: var(--kc-dark);

  /* 3 layers:
     1) dark readability overlay
     2) pattern texture
     3) base section color (per section)
  */
  background:
    linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.72)),
    url("../images/resource/pattern-dark-updated-25.jpg"),
    var(--kc-base);

  background-repeat: no-repeat, repeat, no-repeat;
  background-position: center, center top, center;
  background-size: cover, 520px auto, auto;
}

/* Add depth so sections look premium */
.kc-menu-sec::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  /* top highlight + bottom shade */
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(255,255,255,0.08), transparent 55%),
    radial-gradient(900px 420px at 80% 100%, rgba(0,0,0,0.35), transparent 60%);
  opacity: 1;
}

/* SECTION COLORS (whole section base) */
.kc-menu-appetizers{ --kc-base: var(--kc-teal); }
.kc-menu-signature { --kc-base: var(--kc-brown); }
.kc-menu-kebabs    { --kc-base: var(--kc-red); }
.kc-menu-groups    { --kc-base: var(--kc-orange); }

/* =========================
   HEADER
   ========================= */
.kc-menu-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom: 28px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,243,.14);
}

.kc-menu-kicker{
  color: var(--kc-cream);
  letter-spacing: .28em;
  font-weight: 900;
  text-transform: uppercase;
  font-size: 13px;
  position: relative;
  padding-left: 14px;
}

/* stripe matches the section base color */
.kc-menu-kicker::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform: translateY(-50%);
  width: 6px;
  height: 18px;
  border-radius: 999px;
  background: rgba(255,255,255,0.70);
}

.kc-menu-sub{
  margin-top: 10px;
  color: rgba(255,255,243,.72);
  font-size: 13px;
  letter-spacing: .02em;
}

/* CTA - keep orange always (brand) */
.kc-order-btn{
  display:inline-block;
  padding: 11px 18px;
  border-radius: 999px;
  background: var(--kc-orange);
  color: #111 !important;
  text-decoration:none !important;
  font-weight: 900;
  letter-spacing: .12em;
  font-size: 12px;
  text-transform: uppercase;
  transition: transform .2s ease, filter .2s ease;
}
.kc-order-btn:hover{
  transform: translateY(-2px);
  filter: brightness(1.05);
}

/* =========================
   GRID + CARDS (kept premium readable)
   ========================= */
.kc-menu-grid{
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}

.kc-item{
  display:grid;
  grid-template-columns: 165px 1fr;
  gap: 16px;

  border: 1px solid rgba(255,255,243,.12);
  background: rgba(0,0,0,.26);
  border-radius: 18px;
  overflow:hidden;

  box-shadow: 0 16px 42px rgba(0,0,0,.22);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.kc-item:hover{
  transform: translateY(-4px);
  border-color: rgba(255,255,243,.20);
  background: rgba(0,0,0,.32);
}

.kc-item-media img{
  width: 165px;
  height: 165px;
  object-fit: cover;
  display:block;
}

.kc-item-body{
  padding: 16px 16px 16px 0;
}

.kc-item-title{
  margin: 0 0 7px;
  color: var(--kc-cream);
  font-weight: 900;
  font-size: 18px;
  letter-spacing: .02em;
}

.kc-item-desc{
  margin: 0 0 12px;
  color: rgba(255,255,243,.78);
  line-height: 1.65;
  font-size: 13px;
}

.kc-price{
  display:inline-block;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(255,255,243,.10);
  border: 1px solid rgba(255,255,243,.18);
  color: var(--kc-cream);
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .05em;
}

/* =========================
   FEATURE + PLATTER (use same card style)
   ========================= */
.kc-feature,
.kc-platter{
  border: 1px solid rgba(255,255,243,.12);
  background: rgba(0,0,0,.26);
  border-radius: 22px;
  padding: 26px;
  box-shadow: 0 16px 42px rgba(0,0,0,.22);
}

.kc-feature{
  display:grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 28px;
  align-items:center;
}

.kc-big-title{
  margin: 0 0 10px;
  font-size: 52px;
  line-height: 1.05;
  color: var(--kc-cream);
  font-weight: 950;
}

.kc-feature-desc{
  margin: 0 0 16px;
  color: rgba(255,255,243,.78);
  line-height: 1.85;
  font-size: 13px;
  max-width: 560px;
}

.kc-lines{
  display:grid;
  gap: 10px;
  max-width: 560px;
}

.kc-line{
  display:flex;
  justify-content:space-between;
  gap:12px;

  padding: 11px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,243,.12);
  background: rgba(0,0,0,.18);
  color: rgba(255,255,243,.84);
  font-size: 13px;
}

.kc-line strong{
  color: var(--kc-cream);
  font-weight: 950;
  white-space: nowrap;
}

.kc-feature-img,
.kc-platter-img{
  width:100%;
  display:block;
  object-fit: cover;
  border-radius: 18px;
}

.kc-feature-img{ height: 360px; }
.kc-platter-img{ height: 420px; }

.kc-platter-img-wrap{
  margin: 16px 0 16px;
  border-radius: 18px;
  overflow:hidden;
}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 991px){
  .kc-menu-grid{ grid-template-columns: 1fr; }
  .kc-feature{ grid-template-columns: 1fr; }
  .kc-big-title{ font-size: 40px; }
  .kc-feature-img{ height: 280px; }
  .kc-platter-img{ height: 280px; }
}

@media (max-width: 520px){
  .kc-menu-head{
    align-items:flex-start;
    flex-direction: column;
  }
  .kc-item{
    grid-template-columns: 120px 1fr;
  }
  .kc-item-media img{
    width: 120px;
    height: 120px;
  }
}
/* =========================
   KUNJID PALAW – SINGLE IMAGE POSTER
   ========================= */

.kc-kunjid-poster{
  background:
    linear-gradient(rgba(0,0,0,.70), rgba(0,0,0,.70)),
    url("../images/resource/pattern-dark-updated-25.jpg"),
    #232323 !important;

  background-repeat: no-repeat, repeat, no-repeat !important;
  background-position: center, center top, center !important;
}

.kc-kunjid-wrap{
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
  padding: 40px 0 60px;
  z-index: 2;
}

/* top */
.kc-kunjid-top{
  text-align: center;
  margin-bottom: 24px;
}

.kc-kunjid-small{
  color: rgba(255,255,243,.85);
  font-size: 13px;
  letter-spacing: .25em;
  font-weight: 800;
}

.kc-kunjid-divider{
  width: 60px;
  height: 3px;
  background: rgba(255,255,243,.25);
  margin: 12px auto 0;
  border-radius: 99px;
}

/* grid */
.kc-kunjid-grid{
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 30px;
  align-items: start;
}

/* title */
.kc-kunjid-title{
  margin: 0;
  font-size: 78px;
  line-height: .92;
  font-weight: 900;
  color: #F3D200; /* poster yellow */
}

/* right text */
.kc-kunjid-right{
  padding-top: 8px;
}

.kc-kunjid-row{
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,255,243,.82);
  margin-bottom: 12px;
}

.kc-kunjid-row em{
  font-size: 11px;
  color: rgba(255,255,243,.45);
}

.kc-price-new{
  font-weight: 900;
}

.kc-kunjid-desc{
  margin: 16px 0;
  font-size: 12px;
  line-height: 1.75;
  color: rgba(255,255,243,.60);
  max-width: 420px;
}

.kc-only{
  margin-top: 8px;
}

/* single image placement */
.kc-kunjid-image{
  margin-top: 30px;
  position: relative;
}

.kc-kunjid-image img{
  width: 70%;
  max-width: 560px;
  display: block;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,.45));
}

/* responsive */
@media (max-width: 991px){
  .kc-kunjid-grid{
    grid-template-columns: 1fr;
  }
  .kc-kunjid-title{
    font-size: 56px;
  }
  .kc-kunjid-image img{
    width: 90%;
  }
}

@media (max-width: 520px){
  .kc-kunjid-title{
    font-size: 44px;
  }
}

/* ============ Ocassion Space =============*/
.section-kt {
  padding-top: 42px;
}
.title-box h2 {
    margin-top: 0;
    font-size: 34px;
}

/* ============ Menu Section =============*/

/* =========== Our Story ================*/
/* ===== Our Story Page (NaanKabob-style layout pattern) ===== */
:root{
  --os-bg1:#163634;
  --os-bg2:#0f2a29;
  --os-panel:#143232;
  --os-panel2:#1a3d3c;

  --os-text:#e9efee;
  --os-muted:rgba(233,239,238,.70);
  --os-soft:rgba(233,239,238,.55);

  --os-stroke:rgba(255,255,255,.12);
  --os-stroke2:rgba(255,255,255,.08);

  --os-btn:rgba(233,239,238,.08);
  --os-btnH:rgba(233,239,238,.14);
  --os-btnP:rgba(233,239,238,.16);
}

/* page base */
.os-page{
  color:var(--os-text);
  background:
    radial-gradient(1200px 650px at 28% 10%, rgba(255,255,255,.06), transparent 58%),
    radial-gradient(900px 540px at 75% 58%, rgba(0,0,0,.30), transparent 65%),
    linear-gradient(135deg, var(--os-bg1), var(--os-bg2));
}

.os-wrap{
  width:min(1180px, 92vw);
  margin:0 auto;
}

/* HERO */
.os-hero{
  position:relative;
  padding:78px 0 56px;
  overflow:hidden;
}
.os-hero:before{
  content:"";
  position:absolute;
  left:-260px;
  top:-260px;
  width:640px;
  height:640px;
  border-radius:50%;
  background:
    radial-gradient(circle at 65% 65%, rgba(0,0,0,.45), rgba(0,0,0,.06) 56%, rgba(255,255,255,.06) 100%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.24));
  opacity:.95;
  pointer-events:none;
}
.os-hero-inner{
  position:relative;
  z-index:1;
  max-width:880px;
}
.os-kicker{
  font-size:12px;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:rgba(233,239,238,.62);
  margin-bottom:14px;
}
.os-title{
  margin:0 0 18px;
  font-size:56px;
  font-weight:300;
  letter-spacing:.01em;
  color:rgba(233,239,238,.95);
  line-height:1.1;
}
.os-lines p{
  margin:0 0 10px;
  font-size:16px;
  line-height:1.9;
  color:rgba(233,239,238,.68);
  max-width:760px;
}
.os-hero-cta{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:20px;
}

/* MANTRA */
.os-mantra{
  padding:38px 0;
  border-top:1px solid var(--os-stroke2);
  border-bottom:1px solid var(--os-stroke2);
  background:rgba(0,0,0,.10);
}
.os-mantra-inner{
  text-align:center;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.os-mantra-line{
  font-size:22px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(233,239,238,.78);
}

/* SECTIONS */
.os-section{
  padding:62px 0;
}
.os-alt{
  background:rgba(0,0,0,.08);
  border-top:1px solid var(--os-stroke2);
  border-bottom:1px solid var(--os-stroke2);
}

/* stacked title like "THE / VISIONARY" */
.os-stack-title{
  display:inline-flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:18px;
}
.os-stack-title span{
  font-size:44px;
  font-weight:300;
  letter-spacing:.20em;
  text-transform:uppercase;
  line-height:1;
  color:rgba(233,239,238,.92);
}

/* text */
.os-lead{
  margin:0 0 14px;
  font-size:16px;
  line-height:1.9;
  color:rgba(233,239,238,.72);
  max-width:820px;
}
.os-text{
  margin:0 0 14px;
  font-size:14px;
  line-height:1.95;
  color:rgba(233,239,238,.62);
}
.os-narrow{ max-width:760px; }

/* split block */
.os-split-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:22px;
  align-items:stretch;
}
.os-media{
  border:1px solid var(--os-stroke);
  background:rgba(0,0,0,.12);
  overflow:hidden;
  min-height:360px;
}
.os-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.95) contrast(1.05);
}
.os-content{
  border:1px solid var(--os-stroke);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.14));
  padding:28px;
}

/* cards */
.os-cards{
  margin-top:18px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
}
.os-card{
  border:1px solid var(--os-stroke);
  background:rgba(0,0,0,.10);
  padding:18px;
}
.os-card-title{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(233,239,238,.85);
  margin-bottom:8px;
}
.os-card-text{
  font-size:14px;
  line-height:1.8;
  color:rgba(233,239,238,.62);
}

/* why bullets + gallery */
.os-bullets{
  margin:16px 0 0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
  max-width:760px;
}
.os-bullets li{
  position:relative;
  padding-left:18px;
  font-size:14px;
  line-height:1.8;
  color:rgba(233,239,238,.62);
}
.os-bullets li:before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(233,239,238,.35);
  position:absolute;
  left:0;
  top:.60em;
}

.os-gallery{
  margin-top:22px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
.os-gimg{
  border:1px solid var(--os-stroke);
  overflow:hidden;
  background:rgba(0,0,0,.12);
  height:300px;
}
.os-gimg img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.95) contrast(1.05);
}

/* culture */
.os-culture-inner{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:center;
  flex-wrap:wrap;
}
.os-culture-cta{
  display:flex;
  align-items:center;
}

/* buttons */
.os-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:44px;
  padding:0 18px;
  border:1px solid rgba(233,239,238,.22);
  background:var(--os-btn);
  color:rgba(233,239,238,.85);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  text-decoration:none;
  transition:.2s ease;
  white-space:nowrap;
}
.os-btn:hover{ background:var(--os-btnH); }
.os-btn-primary{
  background:var(--os-btnP);
  border-color:rgba(233,239,238,.30);
}
.os-btn-primary:hover{ background:rgba(233,239,238,.22); }
.os-btn-ghost{ background:transparent; }

/* responsive */
@media (max-width: 980px){
  .os-title{ font-size:42px; }
  .os-stack-title span{ font-size:38px; }
  .os-split-grid{ grid-template-columns:1fr; }
  .os-cards{ grid-template-columns:1fr; }
  .os-gallery{ grid-template-columns:1fr; }
  .os-gimg{ height:260px; }
}
@media (max-width: 560px){
  .os-hero{ padding:58px 0 44px; }
  .os-title{ font-size:34px; }
  .os-mantra-line{ font-size:18px; letter-spacing:.14em; }
  .os-stack-title span{ font-size:32px; }
}

/* ============= Feedback Page =============== */
/* Uses the same background pattern as your site sections */

.kc-feedback-hero{
  /* keep it transparent because your global `section{background:...}` is already applied */
  background: transparent !important;
  padding: 7% 0;
}

.kc-feedback-wrap{
  width: min(980px, 92vw);
  margin: 0 auto;
  text-align: center;
}

/* Top text */
.kc-feedback-top{
  padding: 8px 12px 14px;
}

.kc-feedback-title{
  font-family: degular, sans-serif !important;
  margin: 40px 0 10px;
  font-size: 34px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.95);
}

/* Gold line now BELOW title */
.kc-feedback-kicker{
  font-size: 13px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgb(234,153,60); /* your gold */
  font-weight: 800;
}

/* Image block */
.kc-feedback-media{
  margin: 14px auto 14px;
  width: min(880px, 100%);
}

.kc-feedback-media img{
  display: block;
  width: 100%;
  height: auto;
}

/* Bottom text + divider line */
.kc-feedback-bottom{
  padding: 14px 12px 10px;
  border-top: 2px solid rgba(255,255,255,.10);
}

.kc-feedback-text{
  font-family: degular, sans-serif !important;
  margin: 10px auto 12px;
  max-width: 860px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.90);
  line-height: 1.6;
}

/* Button (use your brand orange) */
.kc-feedback-btn{
  display: inline-block;
  padding: 9px 18px;
  margin-top: 10px;
  background: rgb(234,153,60);
  color: #111 !important;
  border: 1px solid rgba(0,0,0,.18);
  transition: transform .15s ease, filter .15s ease;
}
/* Share your experience button hover – use var-two */
.kc-feedback-btn:hover{
  background: var(--color-two) !important;
  border-color: rgba(255,255,255,0.18) !important;
  color: var(--color-three) !important;
  transform: translateY(-1px);
}
/* Responsive tweaks */
@media (max-width: 720px){
  .kc-feedback-title{ font-size: 28px; }
  .kc-feedback-media{ border-width: 8px; }
  .kc-feedback-text{ font-size: 10px; }
}

@media (max-width: 767px){
  .kc-feedback-title{ font-size: 20px; letter-spacing: .06em; margin: 90px 0 10px;}
  .kc-feedback-kicker{ font-size: 10px; }
  .kc-feedback-media{ border-width: 6px; }
}
/* ============= Contact Page =============== */
.contact-page .contact-form-wrapper .contact-form-input, .contact-page .contact-form-wrapper textarea {
  background: var(--color-two);
}

/* ================= Our Story ============ */
/* Add space above the "Our Menu" button in the story section */
.story-section .booking-info .link-box{
  margin-top: 20px; /* change value as needed */
}

/* ================ Pop-up Mesasge ============= */
/* ============================
   Kebab&Co USA Website Notice Popup
   ============================ */

.kc-popup {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;

  /* animation base */
  opacity: 0;
  visibility: hidden;
  transition: opacity 280ms ease, visibility 0s linear 280ms;
}

.kc-popup.is-open {
  display: block;
  visibility: visible;
  transition: opacity 280ms ease;
}

.kc-popup.is-open.is-visible {
  opacity: 1;
}

/* Backdrop */
.kc-popup__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);

  opacity: 0;
  transition: opacity 280ms ease;
  z-index: 0;
}

.kc-popup.is-open.is-visible .kc-popup__backdrop {
  opacity: 1;
}

/* Card */
.kc-popup__card {
  position: relative;
  z-index: 1;
  max-width: 520px;
  margin: 12vh auto 0;
  background: #1f1f1f;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 18px;
  padding: 22px 24px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
  text-align: center;

  transform: translateY(18px) scale(0.98);
  opacity: 0;
  transition: transform 320ms ease, opacity 320ms ease;
  will-change: transform, opacity;
}

.kc-popup.is-open.is-visible .kc-popup__card {
  transform: translateY(0) scale(1);
  opacity: 1;
}

/* Close button */
.kc-popup__close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: transparent;
  color: #ffffff;
  font-size: 22px;
  line-height: 30px;
  cursor: pointer;
  transition: all 0.25s ease;
  z-index: 2;
}

.kc-popup__close:hover {
  background: rgba(255, 255, 255, 0.12);
}

/* Title & text */
.kc-popup__title {
  margin: 0 0 12px;
  font-size: 20px;
  font-weight: 600;
  color: #ffffff;
}

.kc-popup__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.88);
}

/* Link */
.kc-popup__link {
  color: var(--main-color, #cf8d41);
  font-weight: 500;
  text-decoration: underline;
}

.kc-popup__link:hover {
  color: #ffffff;
}

/* Mobile */
@media (max-width: 600px) {
  .kc-popup__card {
    margin: 10vh 14px 0;
    padding: 18px;
  }
  .kc-popup__title { font-size: 18px; }
  .kc-popup__text { font-size: 14px; }
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
  .kc-popup,
  .kc-popup__backdrop,
  .kc-popup__card {
    transition: none !important;
  }
}

/* Standard fix: remove gutters only for this gallery section (no full-bleed hacks) */
.gallery-section.ig-post-section .row{
  margin-left: -8px;   /* standard “tight grid” gutter */
  margin-right: -8px;
}

.gallery-section.ig-post-section .gallery-block{
  padding-left: 8px;
  padding-right: 8px;
  margin-bottom: 16px; /* optional spacing between rows on mobile */
}

/* Prevent tiny whitespace + ensure consistent crop */
.gallery-section.ig-post-section .gallery-image img,
.gallery-section.ig-post-section img.img-fluid{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==============================
   MENU BANNER FIXES
   - Hide breadcrumb
   - Lower title (desktop + mobile)
   - Add mobile spacing so title isn't near logo
   ============================== */

/* 1) Hide breadcrumb (Home / Explore Our Menu) */
.inner-banner .breadcrumb-nav,
.inner-banner nav[aria-label="breadcrumb"],
.inner-banner .breadcrumb {
  display: none !important;
}

/* 2) Reduce banner height but keep good spacing */
.inner-banner{
  padding: 70px 0 !important; /* slightly bigger than your 60 for breathing room */
}

/* 3) Keep title size, but lower it */
.inner-banner .inner{
  padding-top: 20px !important; /* pushes Explore Our Menu down */
}

/* Title spacing */
.inner-banner h1{
  margin: 0 !important;
  padding-top: 60px !important; /* extra push */
  font-size: 40px;
}

/* 4) Mobile: add more gap from header/logo */
@media (max-width: 767px){
  .inner-banner{
    padding: 110px 0 60px !important; /* pushes content down on mobile */
  }

  .inner-banner .inner{
    padding-top: 28px !important;
  }

  .inner-banner h1{
    font-size: 30px !important;   /* change to 30–38 if you want */
    line-height: 1.15 !important;
    letter-spacing: 0.02em !important;
  }
}

/* =========================================================
   MENU: Align all prices on one horizontal baseline
   Works for Restoria menu item cards (.offer-block-three)
   ========================================================= */

/* Make each grid column stretch its card height */
.offer-block-three {
  display: flex;
}

/* Make card fill full height of its parent column */
.offer-block-three .inner-box.special-box {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

/* Ensure description can take space, and price stays down */
.offer-block-three .inner-box.special-box .text.desc {
  flex: 1 1 auto;
}

/* Push price to bottom consistently */
.offer-block-three .inner-box.special-box .price {
  margin-top: auto;          /* key line */
  padding-top: 14px;         /* breathing room above price */
}

/* Optional: if you want all cards to look evenly balanced */
.offer-block-three .inner-box.special-box h5 {
  margin-bottom: 10px;
}

/* =========================
   KC: Always-visible sticky header
   ========================= */

/* 1) Prevent theme hide-on-scroll transforms */
.main-header,
.main-header.header-up,
.main-header.header-down{
  transform: none !important;
  top: 0 !important;
}

/* 2) Keep header transparent (remove white background) */
.main-header,
.main-header .header-top,
.main-header .header-upper{
  background: transparent !important;
  box-shadow: none !important;
}

/* 3) Sticky behavior applied only when JS adds .kc-sticky */
.main-header.kc-sticky{
  position: fixed !important;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 999999 !important;

  /* still transparent */
  background: transparent !important;
}

/* If the theme forces white on inner elements, force it off */
.main-header.kc-sticky .main-box,
.main-header.kc-sticky .auto-container{
  background: transparent !important;
}

/* Optional: if you want a subtle dark glass instead of pure transparent, use this:*/
.main-header.kc-sticky{ background: #B9292E !important; backdrop-filter: blur(8px); }

.bg-video-wrap .content-box h1 {
  font-family: "Playfair Display", serif !important;
  font-weight: 400 !important;
}

.kc-space__list{
  margin-top: 15px;
  padding-left: 20px;
  color: rgba(255,255,255,.9);
  margin-bottom: 30px;
}

.kc-space__list li{
  margin-bottom: 8px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 13px;
  line-height: 1.6;
}
.kc-space__list{
  list-style: disc !important;
  padding-left: 22px !important;
  margin-left: 0;
}

.kc-space__list li{
  list-style: disc !important;
  display: list-item !important;
}
/* =============== Our Story Page ================ */
/* OUR STORY – Clean Premium Single Column */
.kc-story-clean .kc-story-wrap{ max-width: 980px; }

/* Main story card */
.kc-story-card-clean{
  position: relative;
  background: rgba(0,0,0,0.30);
  border: 1px solid rgba(234,153,60,0.18);
  border-radius: 26px;
  padding: 34px 30px;
  box-shadow: 0 18px 45px rgba(0,0,0,0.35);
  overflow: hidden;
}

/* ------------------ V2: subtle premium texture (NO big poster look) ------------------ */
.kc-story-card-v2:before{
  content:"";
  position:absolute;
  inset:-40px;
  background:
    radial-gradient(circle at 15% 10%, rgba(234,153,60,0.10), rgba(0,0,0,0) 45%),
    radial-gradient(circle at 90% 75%, rgba(41,120,132,0.10), rgba(0,0,0,0) 50%);
  pointer-events:none;
  z-index: 0;
}
.kc-story-card-v2 > *{ position: relative; z-index: 1; }

/* Text rhythm */
.kc-story-card-clean p{
  margin: 0 0 14px;
  line-height: 1.95;
  opacity: 0.93;
}
.kc-story-card-clean .kc-lead{
  font-size: 18px;
  font-weight: 700;
  opacity: 0.98;
}

/* Signature highlight quote */
.kc-pulse-quote{
  margin: 18px 0 18px;
  padding: 16px 18px;
  border-left: 4px solid rgba(234,153,60,0.95);
  background: rgba(234,153,60,0.08);
  border-radius: 16px;
  font-weight: 900;
  letter-spacing: 0.2px;
}
.kc-pulse-quote div{ line-height: 1.7; }

/* ------------------ V2: Intro block (Welcome to / Kebab & Co) ------------------ */
.kc-story-intro-v2{
  margin-bottom: 18px;
  padding: 18px 18px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(234,153,60,0.10), rgba(0,0,0,0.10));
  border: 1px solid rgba(234,153,60,0.22);
  text-align: center;
}
.kc-story-intro-v2__kicker{
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 900;
  font-size: 12px;
  color: rgba(234,153,60,0.95);
  margin-bottom: 8px;
}
.kc-story-intro-v2__title{
  margin: 0 0 8px;
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 1000;
  letter-spacing: 0.02em;
  line-height: 1.1;
}
.kc-story-intro-v2__tagline{
  margin: 0;
  opacity: 0.92;
  line-height: 1.75;
}

/* ------------------ Mission (UPDATED): simpler + teal #297884 background ------------------ */
.kc-mission-v2{
  margin: 18px 0 18px;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(41,120,132,0.18); /* #297884 */
  border: 1px solid rgba(41,120,132,0.35);
  text-align: center;
}
.kc-mission-v2__kicker{
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 900;
  font-size: 12px;
  opacity: 0.9;
  margin-bottom: 6px;
}
.kc-mission-v2__line{
  font-size: 22px;
  line-height: 1.25;
  font-weight: 1000;
}

/* Future lines */
.kc-future-lines{
  margin: 14px 0 14px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px dashed rgba(234,153,60,0.35);
  background: rgba(0,0,0,0.18);
}
.kc-future-lines div{ line-height: 1.8; }

/* Values: elegant chips */
.kc-values{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 10px 0 18px;
}
.kc-values span{
  display: inline-block;
  padding: 10px 12px;
  border-radius: 999px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.10);
  opacity: 0.95;
}

/* CTA block */
.kc-cta-clean{
  margin-top: 20px;
  border-radius: 22px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 18px 45px rgba(0,0,0,0.30);
  padding: 18px 18px;
}

/* CTA layout: button BELOW text (consistent) */
.kc-cta-split{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}
.kc-cta-clean__text{ width: 100%; }
.kc-cta-clean__text h3{
  margin: 0 0 8px;
}
.kc-cta-clean__text p{
  margin: 0;
  line-height: 1.85;
  opacity: 0.92;
}
.kc-cta-clean__action{
  width: 100%;
  display: flex;
  justify-content: flex-start;
}

/* Optional: make the theme button look aligned (if your theme already styles it, this won't break it) */
.kc-cta-clean__action .theme-btn{
  margin-top: 2px;
}

/* Mobile */
@media (max-width: 991px){
  .kc-story-card-clean{ padding: 26px 20px; }
  .kc-mission-v2__line{ font-size: 20px; }
}

/*=================== Franchising =====================================*/
.reserve-section.style-two.reserve-page-2 {
    padding-top: 60px;
}

/* ---------- HERO: full background image ---------- */
.kc-franchise-hero-only {
  position: relative;
  min-height: 420px;

  background-image: url("../images/resource/rest-image-updated.jpg");
  background-size: cover;              /* fills section */
  background-position: center center;  /* keeps center visible */
  background-repeat: no-repeat;

  display: flex;
  align-items: center;
  overflow: hidden;
}

/* Dark overlay for readability */
.kc-franchise-hero-only .kc-franchise-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
  90deg,
  rgba(0, 0, 0, 0.65) 0%,
  rgba(0, 0, 0, 0.48) 55%,
  rgba(0, 0, 0, 0.30) 100%
);

  z-index: 1;
}

/* Content container */
.kc-franchise-hero-only .kc-franchise-hero-content {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  width: 100%;
  margin-top: 50px;
  padding: 85px;
  color: #ffffff;
}

/* Eyebrow */
.kc-franchise-hero-only .kc-eyebrow {
  font-size: 14px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  margin: 0 0 12px 0;
  opacity: 0.9;
}

/* Main title */
.kc-franchise-hero-only .kc-hero-title {
  margin: 0 0 18px 0;
  font-size: 52px;
  line-height: 0.95;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #f6f8fa;
}

/* Description */
.kc-franchise-hero-only .kc-hero-desc {
  margin: 0;
  max-width: 520px;
  font-size: 14px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.75);
}
/* Franchise form - file upload styling (matches reservation dark fields) */
.reservation-form .kc-file-wrap {
  position: relative;
}

.reservation-form .kc-file-input {
  width: 100%;
  display: block;
  background: transparent;
  color: #e9e3db;              /* "No file chosen" color */
  border: 1px solid rgba(255,255,255,0.18);
  padding: 14px 14px;
  border-radius: 0;            /* match your theme inputs */
  outline: none;
}

/* Chrome/Edge/Safari */
.reservation-form .kc-file-input::-webkit-file-upload-button {
  background: rgba(255,255,255,0.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.20);
  padding: 10px 14px;
  margin-right: 12px;
  cursor: pointer;
  transition: all .2s ease;
}

/* Modern browsers (Firefox + newer Chrome/Edge) */
.reservation-form .kc-file-input::file-selector-button {
  background: rgba(255,255,255,0.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.20);
  padding: 10px 14px;
  margin-right: 12px;
  cursor: pointer;
  transition: all .2s ease;
}

.reservation-form .kc-file-input:hover::file-selector-button,
.reservation-form .kc-file-input:focus::file-selector-button,
.reservation-form .kc-file-input:hover::-webkit-file-upload-button,
.reservation-form .kc-file-input:focus::-webkit-file-upload-button {
  background: rgba(255,255,255,0.14);
  border-color: rgba(255,255,255,0.32);
}

.reservation-form .kc-file-input:focus {
  border-color: rgba(255,255,255,0.35);
}

.reservation-form .kc-form-hint {
  margin-top: 8px;
  font-size: 13px;
  color: #a7a7a7;
}
/* Franchise form - file upload styling (refined) */
.reservation-form .kc-file-wrap {
  position: relative;
  margin-bottom: 16px; /* space below input */
}

.reservation-form .kc-file-input {
  width: 100%;
  display: flex;
  align-items: center;                /* vertical alignment fix */
  background: transparent;
  color: #e9e3db;                     /* "No file chosen" text */
  border: 1px solid rgba(255,255,255,0.18);
  padding: 10px 12px;                 /* reduced height */
  border-radius: 0;
  outline: none;
  line-height: 1.4;
}

/* Chrome / Edge / Safari */
.reservation-form .kc-file-input::-webkit-file-upload-button {
  background: rgba(255,255,255,0.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.20);
  padding: 6px 12px;                  /* smaller button */
  margin-right: 12px;
  cursor: pointer;
  font-size: 13px;
  line-height: 1.2;
  transition: all .2s ease;
}

/* Firefox + modern browsers */
.reservation-form .kc-file-input::file-selector-button {
  background: rgba(255,255,255,0.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,0.20);
  padding: 6px 12px;                  /* smaller button */
  margin-right: 12px;
  cursor: pointer;
  font-size: 13px;
  line-height: 1.2;
  transition: all .2s ease;
}

.reservation-form .kc-file-input:hover::file-selector-button,
.reservation-form .kc-file-input:focus::file-selector-button,
.reservation-form .kc-file-input:hover::-webkit-file-upload-button,
.reservation-form .kc-file-input:focus::-webkit-file-upload-button {
  background: rgba(255,255,255,0.14);
  border-color: rgba(255,255,255,0.32);
}

.reservation-form .kc-file-input:focus {
  border-color: rgba(255,255,255,0.35);
}

.reservation-form .kc-form-hint {
  margin-top: 6px;                    /* tighter, cleaner */
  font-size: 13px;
  color: #a7a7a7;
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
  .kc-franchise-hero-only {
    min-height: 360px;
  }
  .kc-franchise-hero-only .kc-franchise-hero-content {
    padding: 50px 30px;
  }
  .kc-franchise-hero-only .kc-hero-title {
    font-size: 42px;
  }
}

@media (max-width: 480px) {
    .kc-franchise-hero-only .kc-eyebrow {
    margin: 30px 0 12px 0;
}
  .kc-franchise-hero-only {
    min-height: 320px;
  }
  .kc-franchise-hero-only .kc-franchise-hero-content {
    padding: 40px 20px;
  }
  .kc-franchise-hero-only .kc-hero-title {
    font-size: 36px;
  }
}

/*========================= Catering ====================*/
/* =========================
   SECTION 2: Catering Plans
   (No :root, no base tags)
   ========================= */

.kc-catering-plans{
  padding: 60px 0;
}

.kc-catering-wrap{
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 18px;
}

.kc-catering-head{
  margin-bottom: 18px;
}

.kc-catering-title{
  margin: 10px 0 10px 0;
  font-weight: 800;
  letter-spacing: .2px;
  font-size: 34px;
  line-height: 1.1;
  color: #fff; /* align with your dark theme sections */
}

.kc-catering-sub{
  margin: 0;
  max-width: 760px;
  color: rgba(255,255,255,.72);
  line-height: 1.7;
}

.kc-catering-grid{
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.kc-catering-card{
  position: relative;
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  padding: 18px;
  backdrop-filter: blur(6px);
}

.kc-catering-card-featured{
  border-color: rgba(234,153,60,.40);
  box-shadow: 0 18px 40px rgba(0,0,0,.28);
  transform: translateY(-2px);
}

.kc-catering-badge{
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  color: #1a1a1a;
  background: rgba(234,153,60,.92);
}

.kc-badge-popular{
  background: rgba(234,153,60,1);
}

.kc-badge-premium{
  background: rgba(255,255,255,.85);
}

.kc-catering-card-top{
  padding-top: 26px;
}

.kc-catering-name{
  margin: 0 0 10px 0;
  color: #fff;
  font-weight: 900;
  font-size: 18px;
}

.kc-catering-price{
  display: flex;
  align-items: baseline;
  gap: 6px;
  margin-bottom: 10px;
}

.kc-catering-amount{
  font-size: 26px;
  font-weight: 900;
  color: rgb(234, 153, 60);
}

.kc-catering-unit{
  font-size: 12px;
  font-weight: 800;
  color: rgba(255,255,255,.65);
}

.kc-catering-desc{
  margin: 0;
  color: rgba(255,255,255,.72);
  line-height: 1.7;
  font-size: 14px;
}

.kc-catering-toggle{
  width: 100%;
  margin-top: 14px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.18);
  color: #fff;
  font-weight: 900;
  padding: 12px 12px;
  cursor: pointer;
  display:flex;
  align-items:center;
  justify-content: space-between;
}

.kc-caret{
  font-weight: 900;
  opacity: .9;
}

.kc-catering-options{
  display: none;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed rgba(255,255,255,.16);
}

.kc-catering-card.is-open .kc-catering-options{
  display: block;
}

.kc-catering-card.is-open .kc-caret{
  content: "";
}

.kc-option-block + .kc-option-block{
  margin-top: 12px;
}

.kc-option-title{
  margin: 0 0 8px 0;
  font-size: 13px;
  font-weight: 900;
  color: rgba(255,255,255,.90);
  letter-spacing: .2px;
}

.kc-option-list{
  margin: 0;
  padding-left: 18px;
  color: rgba(255,255,255,.72);
  line-height: 1.7;
  font-size: 13px;
}

.kc-option-tags{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
}

.kc-tag{
  display:inline-flex;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  border: 1px solid rgba(234,153,60,.35);
  background: rgba(234,153,60,.12);
  color: rgba(255,255,255,.92);
}

.kc-tag-soft{
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
}

.kc-option-cta{
  margin-top: 14px;
}

.kc-catering-btn{
  display:inline-flex;
  width: 100%;
  justify-content:center;
  border-radius: 12px;
  padding: 12px 12px;
  font-weight: 900;
  text-decoration:none;
  background: rgb(234, 153, 60);
  color: #1b1b1b;
}

@media (max-width: 992px){
  .kc-catering-grid{
    grid-template-columns: 1fr;
  }
  .kc-catering-card-featured{
    transform: none;
  }
}

@media (max-width: 520px){
  .kc-catering-title{
    font-size: 28px;
  }
}
