/* ==========================================================
   DreamsFood — Custom Styles
   ========================================================== */

:root{
  --df-red: #E32227;
  --df-red-dark: #C11119;
  --df-black: #1A1512;
  --df-dark-2: #201A17;
  --df-cream: #FFF8F1;
  --df-cream-2: #FDEFE4;
  --df-gold: #FFB800;
  --df-text-muted: #7A7371;
  --df-heading: #1A1512;
  --font-display: 'Playfair Display', serif;
  --font-body: 'Poppins', sans-serif;
}

*{ box-sizing:border-box; }

body{
  font-family: var(--font-body);
  color: var(--df-heading);
  background: var(--df-cream);
  overflow-x:hidden;
}

h1,h2,h3,h4,h5,h6{
  font-family: var(--font-display);
  color: var(--df-heading);
  font-weight:800;
  margin:0;
}

a{ text-decoration:none; }
img{ max-width:100%; display:block; }

::selection{ background: var(--df-red); color:#fff; }

/* Scrollbar */
::-webkit-scrollbar{ width:8px; }
::-webkit-scrollbar-thumb{ background: var(--df-red); border-radius:10px; }
::-webkit-scrollbar-track{ background: var(--df-cream-2); }

/* ============ Buttons ============ */
.df-btn-primary{
  background: var(--df-red);
  color:#fff;
  border-radius: 40px;
  padding: 12px 26px;
  font-weight:600;
  font-size:.92rem;
  border:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition: all .3s ease;
  box-shadow: 0 8px 20px rgba(227,34,39,.28);
}
.df-btn-primary:hover{
  background: var(--df-red-dark);
  color:#fff;
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(227,34,39,.35);
}
.df-btn-lg{ padding:16px 32px; font-size:1rem; }

/* ============ Navbar ============ */
.df-navbar{
  padding: 16px 0;
  background: rgba(26,21,18,0);
  transition: all .35s ease;
}
.df-navbar.scrolled{
  background: rgba(26,21,18,.96);
  backdrop-filter: blur(10px);
  padding: 10px 0;
  box-shadow: 0 6px 24px rgba(0,0,0,.25);
}
.df-brand{
  font-family: var(--font-display);
  font-weight:800;
  font-size:1.5rem;
  color:#fff;
  display:flex;
  align-items:center;
  gap:8px;
}
.df-brand i{ color: var(--df-red); }
.df-brand span{ color: var(--df-gold); }
.df-brand-logo{
  height:100px;
  width:auto;
  display:block;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.45));
  transition: height .3s ease, transform .25s ease;
}
.df-brand:hover .df-brand-logo{ transform: scale(1.05); }
.df-navbar.scrolled .df-brand-logo{ height:56px; }

.df-nav-links .nav-link{
  color:#fff;
  font-weight:500;
  font-size:.94rem;
  padding: 10px 16px !important;
  opacity:.9;
  transition: opacity .2s;
}
.df-nav-links .nav-link:hover,
.df-nav-links .nav-link.active{
  opacity:1;
  color: var(--df-gold) !important;
}
.df-nav-links .dropdown-menu{
  border:none;
  border-radius:14px;
  padding:10px;
  box-shadow: 0 20px 40px rgba(0,0,0,.15);
}
.df-nav-links .dropdown-item{
  border-radius:8px;
  padding:8px 14px;
  font-size:.9rem;
}
.df-nav-links .dropdown-item:hover{ background: var(--df-cream-2); color:var(--df-red); }

.df-icon-btn{
  width:42px; height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.25);
  background:transparent;
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition: all .2s;
}
.df-icon-btn:hover{ background: var(--df-red); border-color:var(--df-red); }

/* ============ Hero ============ */
.df-hero{
  position:relative;
  min-height: 100vh;
  display:flex;
  align-items:center;
  padding-top:120px;
  padding-bottom:80px;
  background:
    radial-gradient(circle at 15% 20%, rgba(227,34,39,.10), transparent 40%),
    linear-gradient(180deg, #120E0C 0%, #1A1512 100%);
}
.df-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color: var(--df-gold);
  font-weight:600;
  font-size:.88rem;
  letter-spacing:.5px;
  margin-bottom:20px;
}
.df-eyebrow span{
  width:26px; height:2px; background: var(--df-gold); display:inline-block;
}
.df-hero-title{
  font-size: 3.4rem;
  line-height:1.15;
  color:#fff;
  margin-bottom:20px;
}
.df-hero-title span{ color: var(--df-gold); }
.df-hero-text{
  color: rgba(255,255,255,.72);
  font-size:15px;
  max-width:460px;
  margin-bottom:32px;
  line-height:1.7;
}

.df-hero-media{ position:relative; }
.df-hero-img{
  width:100%;
  height:460px;
  object-fit:cover;
  border-radius: 24px;
  box-shadow: 0 30px 60px rgba(0,0,0,.45);
}
.df-hero-carousel{
  border-radius:24px;
  overflow:hidden;
  box-shadow: 0 30px 60px rgba(0,0,0,.45);
}
.df-hero-carousel .df-hero-img{
  border-radius:0;
  box-shadow:none;
}
.df-hero-carousel::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:100px;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.5) 100%);
  pointer-events:none;
}
.df-hero-carousel .carousel-indicators{
  margin-bottom:16px;
  z-index:3;
}
.df-hero-carousel .carousel-indicators [data-bs-target]{
  width:9px; height:9px; border-radius:50%;
  background-color: rgba(255,255,255,.55);
  border:none;
  opacity:1;
  margin:0 5px;
  transition: all .25s ease;
}
.df-hero-carousel .carousel-indicators .active{
  background-color: var(--df-gold);
  width:26px; border-radius:5px;
}
.df-review-card{
  position:absolute;
  top:-24px; right:-10px;
  background:#fff;
  border-radius:16px;
  padding:14px 16px;
  width:220px;
  box-shadow: 0 20px 40px rgba(0,0,0,.25);
}
.df-stars{ color: var(--df-gold); font-size:.85rem; letter-spacing:1px; }
.df-review-thumb{ position:relative; border-radius:10px; overflow:hidden; height:70px; }
.df-review-thumb-track{
  display:flex;
  width:500%;
  height:100%;
  animation: review-thumb-slide 14s ease-in-out infinite;
}
.df-review-thumb:hover .df-review-thumb-track{
  animation-play-state: paused;
}
.df-review-slide{ width:20%; height:100%; flex-shrink:0; }
.df-review-thumb img{ width:100%; height:100%; object-fit:cover; }
@keyframes review-thumb-slide{
  0%, 17%   { transform: translateX(0%); }
  20%, 37%  { transform: translateX(-20%); }
  40%, 57%  { transform: translateX(-40%); }
  60%, 77%  { transform: translateX(-60%); }
  80%, 100% { transform: translateX(-80%); }
}
.df-play-btn{
  position:absolute; inset:0; margin:auto; width:34px; height:34px;
  background: var(--df-red); color:#fff; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:.9rem;
}
.df-hero-thumbs{
  position:absolute; bottom:-24px; left:-10px;
  width:190px;
  background:#fff; padding:8px; border-radius:14px;
  box-shadow: 0 20px 40px rgba(0,0,0,.25);
  overflow:hidden;
}
.df-hero-thumbs-track{
  display:flex; gap:8px;
  width:max-content;
  animation: hero-thumbs-slide 14s linear infinite;
}
.df-hero-thumbs:hover .df-hero-thumbs-track{
  animation-play-state: paused;
}
.df-hero-thumbs img{
  width:52px;height:52px;object-fit:cover;border-radius:8px;
  flex-shrink:0;
}
@keyframes hero-thumbs-slide{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}
.df-scroll-dot{
  position:absolute; bottom:26px; left:50%; transform:translateX(-50%);
  width:28px; height:44px; border:2px solid rgba(255,255,255,.4); border-radius:20px;
}
.df-scroll-dot span{
  display:block; width:5px; height:5px; background: var(--df-gold); border-radius:50%;
  margin: 8px auto 0; animation: dot-move 1.6s infinite;
}
@keyframes dot-move{ 0%{transform:translateY(0);opacity:1;} 100%{transform:translateY(16px);opacity:0;} }

/* ============ Section head ============ */
.df-section{ padding: 90px 0; }
.df-section-head{ max-width:640px; margin:0 auto 54px; }
.df-section-tag{
  font-family: var(--font-display);
  color: var(--df-red);
  font-weight:800;
  font-style:italic;
  letter-spacing:.3px;
  font-size:clamp(1.6rem, 3vw, 2.2rem);
  line-height:1.25;
  margin-bottom:16px;
}
.df-section-tag::after{
  content:"";
  display:block;
  width:64px; height:3px;
  background: var(--df-gold);
  border-radius:3px;
  margin:16px auto 0;
}
.df-tag-light{ color: var(--df-gold); }
.df-tag-light::after{ background:#fff; opacity:.55; }
.df-section-sub{
  color: var(--df-text-muted);
  font-size:1.02rem;
  line-height:1.75;
}
.df-sub-light{ color: rgba(255,255,255,.65); }

/* ============ Categories ============ */
.df-cat-card{
  background:#fff;
  border-radius:20px;
  padding:28px 20px 26px;
  text-align:center;
  box-shadow: 0 10px 30px rgba(26,21,18,.05);
  transition: all .3s ease;
  height:100%;
  position:relative;
}
.df-cat-card:hover{ transform: translateY(-8px); box-shadow: 0 20px 40px rgba(26,21,18,.1); }
.df-cat-img{
  width:96px;height:96px;border-radius:50%;overflow:hidden;margin:0 auto 18px;
  border:4px solid var(--df-cream-2);
}
.df-cat-img img{ width:100%;height:100%;object-fit:cover; }
.df-cat-card h5{ font-size:1.05rem; margin-bottom:8px; }
.df-cat-card p{ color: var(--df-text-muted); font-size:.86rem; margin-bottom:16px; }
.df-cat-arrow{
  width:38px;height:38px;border-radius:50%;
  background: var(--df-cream-2); color: var(--df-red);
  display:inline-flex;align-items:center;justify-content:center;
  transition: all .25s;
}
.df-cat-card:hover .df-cat-arrow{ background: var(--df-red); color:#fff; }

.df-gallery-strip{
  display:grid;
  grid-template-columns: repeat(4,1fr);
  gap:20px;
}
.df-gallery-item{
  height:260px; border-radius:20px; overflow:hidden;
}
.df-gallery-item img{ width:100%;height:100%;object-fit:cover; transition: transform .5s; }
.df-gallery-item:hover img{ transform: scale(1.08); }

/* ============ Why choose us ============ */
.df-why-section{
  background: var(--df-black);
  padding: 90px 0;
}
.df-why-item{ padding: 10px; }
.df-why-icon{
  width:74px;height:74px;border-radius:50%;
  background: rgba(227,34,39,.12);
  color: var(--df-red);
  font-size:1.7rem;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;
  border:1px solid rgba(227,34,39,.3);
}
.df-why-item h5{ color:#fff; font-size:1.05rem; margin-bottom:6px; }
.df-why-item p{ color: rgba(255,255,255,.55); font-size:.86rem; }

/* ============ Dish tabs ============ */
.df-dish-tabs{
  border:none;
  gap:10px;
  flex-wrap:nowrap;
}
.df-dish-tabs .nav-link{
  border:1px solid #EDE3D9;
  border-radius:40px;
  padding:10px 20px;
  color: var(--df-heading);
  font-weight:600;
  font-size:.88rem;
  white-space:nowrap;
  display:flex; align-items:center; gap:8px;
  background:#fff;
  transition: all .2s;
}
.df-dish-tabs .nav-link.active,
.df-dish-tabs .nav-link:hover{
  background: var(--df-red);
  color:#fff;
  border-color: var(--df-red);
}

.df-dish-card{
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  box-shadow: 0 10px 30px rgba(26,21,18,.06);
  border:1px solid rgba(26,21,18,.05);
  position:relative;
  height:100%;
  display:flex;
  flex-direction:column;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.df-dish-card::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:4px;
  background: linear-gradient(90deg, var(--df-red), var(--df-gold));
  z-index:3;
  transform: scaleX(0);
  transform-origin:left;
  transition: transform .4s ease;
}
.df-dish-card:hover{ transform: translateY(-8px); box-shadow: 0 24px 48px rgba(26,21,18,.14); border-color:transparent; }
.df-dish-card:hover::before{ transform: scaleX(1); }
.df-dish-media{ position:relative; overflow:hidden; }
.df-dish-media img{
  height:260px; width:100%; object-fit:cover;
  transition: transform .5s ease;
}
.df-dish-card:hover .df-dish-media img{ transform: scale(1.08); }
.df-dish-price{
  position:absolute;
  top:7px; right:7px;
  z-index:3;
  width:88px; height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  font-family: var(--font-display);
  background: linear-gradient(135deg, var(--df-red), var(--df-red-dark));
  color:#fff;
  font-weight:800;
  font-size:18px;
  line-height:1.1;
  border-radius:50%;
  border:3px solid rgba(255,255,255,.85);
  white-space:nowrap;
  box-shadow: 0 8px 18px rgba(0,0,0,.35);
}
.df-dish-body{
  padding:22px 20px 22px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.df-dish-head{
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:1px dashed #EDE3D9;
}
.df-dish-head h6{ font-size:.96rem; line-height:1.4; margin:0;text-align:center; }
.df-dish-ingredients{
  color: var(--df-text-muted);
  font-style:italic;
  font-size:11px;
  line-height:1.65;
  margin-bottom:8px;
  display:-webkit-box;
  -webkit-line-clamp:3;
  line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-align:center;
}
.df-dish-ingredients.expanded{
  display:block;
  -webkit-line-clamp:unset;
  line-clamp:unset;
  overflow:visible;
}
.df-dish-more{
  background:none;
  border:none;
  padding:0;
  color: var(--df-gold);
  font-weight:600;
  font-size:.76rem;
  letter-spacing:.3px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  margin:0 auto 14px;
  cursor:pointer;
  transition: color .2s ease;
}
.df-dish-more i{ transition: transform .25s ease; font-size:.7rem; }
.df-dish-more:hover{ color: var(--df-red); }
.df-dish-more[aria-expanded="true"] i{ transform: rotate(180deg); }
.df-dish-order{
  align-self:center;
  margin-top:auto;
  color: var(--df-red);
  border:1.5px solid var(--df-red);
  font-weight:600;
  font-size:12px;
  padding:9px 24px;
  border-radius:30px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition: all .25s ease;
}
.df-dish-order:hover{
  background: var(--df-red);
  color:#fff;
  gap:10px;
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgba(227,34,39,.32);
}

/* ============ About / Experience ============ */
.df-about-media{ position:relative; }
.df-about-media img{
  width:100%; height:420px; object-fit:cover; border-radius:24px;
  box-shadow: 0 30px 60px rgba(0,0,0,.15);
}
.df-experience-badge{
  position:absolute; bottom:-20px; right:-20px;
  width:150px;height:150px;
  background: var(--df-red);
  color:#fff;
  border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; font-weight:600; font-size:.85rem;
  box-shadow: 0 20px 40px rgba(227,34,39,.35);
  border:6px solid var(--df-cream);
}
.df-experience-badge span{ font-family: var(--font-display); font-size:2rem; font-weight:900; line-height:1; }

.df-about-title{ font-size:2.1rem; line-height:1.3; margin-bottom:18px; }
.df-mission-card{
  background:#fff; border-radius:16px; padding:20px; height:100%;
  box-shadow: 0 10px 24px rgba(26,21,18,.05);
}
.df-mission-card h6{ color: var(--df-red); font-size:.95rem; margin-bottom:8px; }
.df-mission-card p{ color: var(--df-text-muted); font-size:.85rem; margin:0; }

.df-stats-row .df-stat i{ color: var(--df-red); font-size:1.6rem; margin-bottom:10px; display:block; }
.df-stats-row .df-stat h3{ font-size:2.1rem; margin-bottom:4px; }
.df-stats-row .df-stat p{ color: var(--df-text-muted); font-size:.85rem; margin:0; }

/* ============ Tasty Menu Today ============ */
.df-menu-section{
  background: var(--df-black);
  padding: 100px 0;
  background-image: linear-gradient(rgba(10,8,7,.88), rgba(10,8,7,.88)), url('https://images.unsplash.com/photo-1414235077428-338989a2e8c0?q=80&w=1200&auto=format&fit=crop');
  background-size:cover;
  background-position:center;
}
.df-menu-icon{
  width:60px;height:60px;border-radius:50%;
  background: var(--df-red); color:#fff; font-size:1.5rem;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:22px;
}
.df-menu-section h2{ color:#fff; font-size:2.4rem; margin-bottom:16px; }
.df-menu-section > .container > .row > .col-lg-5 > p{ color: rgba(255,255,255,.65); margin-bottom:28px; line-height:1.7; }

.df-menu-card{
  background:#fff;
  border-radius:22px;
  padding:32px;
  box-shadow: 0 30px 60px rgba(0,0,0,.35);
}
.df-menu-tabs{ border:none; gap:6px; flex-wrap:wrap; }
.df-menu-tabs .nav-link{
  border:none; border-radius:30px; padding:8px 18px;
  color: var(--df-text-muted); font-weight:600; font-size:.85rem;
  background: var(--df-cream-2);
}
.df-menu-tabs .nav-link.active{ background: var(--df-red); color:#fff; }

.df-menu-row{
  display:flex; align-items:center; gap:14px;
  padding: 14px 0;
  border-bottom: 1px dashed #EDE3D9;
}
.df-menu-row:last-child{ border-bottom:none; }
.df-menu-row h6{ font-size:.96rem; margin-bottom:2px; }
.df-menu-row p{ color: var(--df-text-muted); font-size:.8rem; margin:0; }
.df-menu-dots{ flex:1; border-bottom:2px dotted #EDE3D9; margin-bottom:6px; }
.df-menu-price{ color: var(--df-red); font-weight:700; white-space:nowrap; }

/* ============ Chefs ============ */
.df-chef-card{
  text-align:center;
  background:#fff;
  border-radius:20px;
  padding:20px;
  box-shadow: 0 10px 30px rgba(26,21,18,.05);
  transition: all .3s;
  height:100%;
}
.df-chef-card:hover{ transform: translateY(-8px); box-shadow: 0 20px 40px rgba(26,21,18,.1); }
.df-chef-img{
  border-radius:16px; overflow:hidden; height:220px; margin-bottom:16px;
  background: linear-gradient(180deg, #FDEFE4, #FCE0CC);
}
.df-chef-img img{ width:100%;height:100%;object-fit:cover; }
.df-chef-exp{
  display:inline-block; background: var(--df-cream-2); color: var(--df-red);
  font-size:.72rem; font-weight:600; padding:5px 12px; border-radius:20px; margin-bottom:10px;
}
.df-chef-card h6{ font-size:1rem; margin-bottom:2px; }
.df-chef-card p{ color: var(--df-text-muted); font-size:.84rem; margin:0; }

/* ============ Marquee ============ */
.df-marquee{
  background: var(--df-red);
  overflow:hidden;
  padding: 18px 0;
}
.df-marquee-track{
  display:flex; gap:60px; white-space:nowrap;
  animation: marquee 18s linear infinite;
  width:max-content;
}
.df-marquee-track span{
  color:#fff; font-weight:700; font-size:1.1rem; letter-spacing:.5px;
  display:flex; align-items:center; gap:14px;
}
.df-marquee-track i{ color: rgba(255,255,255,.6); }
@keyframes marquee{
  0%{ transform: translateX(0); }
  100%{ transform: translateX(-50%); }
}

/* ============ Testimonials ============ */
.df-testimonial-section{ background: var(--df-cream-2); }
.df-testimonial-card{
  background:#fff; border-radius:20px; padding:32px;
  box-shadow: 0 10px 30px rgba(26,21,18,.05);
  height:100%; position:relative;
}
.df-quote-icon{ font-size:2rem; color: var(--df-red); opacity:.25; }
.df-testimonial-card p{ color: var(--df-heading); font-size:.94rem; line-height:1.7; margin: 10px 0 16px; }
.df-testimonial-card h6{ font-size:.95rem; margin-bottom:2px; }
.df-testimonial-card span{ color: var(--df-text-muted); font-size:.8rem; }

/* ============ Blog ============ */
.df-blog-card{
  background:#fff; border-radius:20px; overflow:hidden;
  box-shadow: 0 10px 30px rgba(26,21,18,.05);
  height:100%;
  transition: all .3s;
}
.df-blog-card:hover{ transform: translateY(-8px); box-shadow: 0 20px 40px rgba(26,21,18,.1); }
.df-blog-img{ position:relative; height:210px; }
.df-blog-img img{ width:100%;height:100%;object-fit:cover; }
.df-blog-body{ padding:22px; }
.df-blog-body h6{ font-size:1rem; line-height:1.4; margin-bottom:10px; }
.df-blog-body p{ color: var(--df-text-muted); font-size:.85rem; margin-bottom:16px; }
.df-blog-foot{ display:flex; align-items:center; justify-content:space-between; font-size:.8rem; }
.df-blog-foot span{ color: var(--df-text-muted); }
.df-blog-foot a{ color: var(--df-red); font-weight:600; display:flex; align-items:center; gap:4px; }

/* ============ Footer ============ */
.df-footer{
  background: var(--df-black);
  color: rgba(255,255,255,.6);
  padding: 70px 0 0;
  font-size:.88rem;
}
.df-footer .df-brand{ font-size:1.4rem; }
.df-footer h6{ color:#fff; font-size:1rem; margin-bottom:18px; }
.df-footer ul{ list-style:none; padding:0; margin:0; }
.df-footer ul li{ margin-bottom:10px; }
.df-footer ul li a{ color: rgba(255,255,255,.6); transition: color .2s; }
.df-footer ul li a:hover{ color: var(--df-gold); }
.df-footer hr{ border-color: rgba(255,255,255,.1); margin-top:40px; }
.df-subscribe{ display:flex; margin-top:20px; border-radius:40px; overflow:hidden; background: rgba(255,255,255,.08); }
.df-subscribe input{
  flex:1; border:none; background:transparent; color:#fff; padding:12px 18px; outline:none; font-size:.85rem;
}
.df-subscribe input::placeholder{ color: rgba(255,255,255,.4); }
.df-subscribe button{
  background: var(--df-red); border:none; color:#fff; padding:0 22px; font-weight:600; font-size:.85rem;
}
.df-socials{ display:flex; gap:10px; }
.df-socials a{
  width:36px;height:36px;border-radius:50%; border:1px solid rgba(255,255,255,.2);
  color:#fff; display:flex;align-items:center;justify-content:center;
  transition: all .2s;
}
.df-socials a:hover{ background: var(--df-red); border-color: var(--df-red); }

/* ============ Back to top ============ */
.df-back-top{
  position:fixed; bottom:26px; right:26px;
  width:46px;height:46px;border-radius:50%;
  background: var(--df-red); color:#fff; border:none;
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 10px 24px rgba(227,34,39,.4);
  opacity:0; visibility:hidden; transform: translateY(10px);
  transition: all .3s;
  z-index:999;
}
.df-back-top.show{ opacity:1; visibility:visible; transform:translateY(0); }

/* ==========================================================
   Responsive
   ========================================================== */
@media (max-width: 991.98px){
  .df-navbar{ background: rgba(26,21,18,.97); }
  .df-navbar .container{ position:relative; justify-content:center; }
  .df-brand-logo{ height:120px; }
  .df-navbar.scrolled .df-brand-logo{ height:62px; }

  /* Floating menu button — bottom-right corner FAB */
  .df-menu-toggle{
    position:fixed;
    right:20px;
    bottom:20px;
    top:auto;
    left:auto;
    transform:none;
    width:56px;
    height:56px;
    border-radius:50%;
    border:none;
    background: linear-gradient(135deg, var(--df-red), var(--df-red-dark));
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.4rem;
    padding:0;
    box-shadow:0 12px 28px rgba(227,34,39,.45);
    z-index:1060;
    transition: transform .25s ease, box-shadow .25s ease;
  }
  .df-menu-toggle:hover{ transform:scale(1.06); }
  .df-menu-toggle .bi-x-lg{ display:none; }
  .df-menu-toggle.is-active{ background: linear-gradient(135deg, #2a201c, var(--df-black)); }
  .df-menu-toggle.is-active .bi-list{ display:none; }
  .df-menu-toggle.is-active .bi-x-lg{ display:inline-block; }

  /* Full-screen mobile menu overlay */
  #navMenu{
    position:fixed;
    inset:0;
    margin:0;
    border-radius:0;
    background: radial-gradient(circle at 50% 0%, rgba(227,34,39,.14), transparent 45%), linear-gradient(160deg, #1c130f 0%, #100a08 100%);
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:40px 24px;
    z-index:1050;
    opacity:0;
    visibility:hidden;
    transform:scale(1.04);
    transition: opacity .35s ease, transform .35s ease, visibility .35s ease;
    pointer-events:none;
  }
  #navMenu.df-menu-open{
    opacity:1;
    visibility:visible;
    transform:scale(1);
    pointer-events:auto;
  }
  .df-nav-links{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    margin:0 0 32px;
  }
  .df-nav-links .nav-link{
    font-family: var(--font-display);
    font-size:1.4rem;
    font-weight:700;
    padding:12px 30px !important;
    border-radius:40px;
    transition: background .25s ease, color .25s ease;
  }
  .df-nav-links .nav-link:hover,
  .df-nav-links .nav-link.active{
    background: rgba(227,34,39,.16);
  }
  .df-nav-actions{
    margin-top:0;
    padding-top:26px;
    border-top:1px solid rgba(255,255,255,.14);
    width:100%;
    max-width:280px;
    display:flex;
    justify-content:center;
  }
  .df-nav-actions .df-btn-primary{ width:100%; justify-content:center; }
  .df-back-top{ bottom:88px; }
  .df-hero-title{ font-size:2.5rem; }
  .df-hero{ padding-top:60px; text-align:center; }
  .df-hero-text{ margin-left:auto; margin-right:auto; }
  .df-eyebrow{ justify-content:center; }
  .df-hero-media{ margin-top:60px; }
  .df-gallery-strip{ grid-template-columns: repeat(2,1fr); }
  .df-about-title{ font-size:1.7rem; }
  .df-experience-badge{ width:120px;height:120px; font-size:.75rem; }
  .df-experience-badge span{ font-size:1.5rem; }
}

@media (max-width: 767.98px){
  .df-section{ padding: 60px 0; }
  .df-hero-title{ font-size:2rem; }
  .df-review-card{ position:static; width:100%; margin-top:14px; }
  .df-hero-thumbs{ position:static; margin:14px auto 0; }
  .df-hero-img{ height:320px; }
  .df-gallery-strip{ grid-template-columns: 1fr 1fr; gap:12px; }
  .df-gallery-item{ height:160px; }
  .df-about-media img{ height:280px; }
  .df-menu-card{ padding:22px; }
  .df-menu-section h2{ font-size:1.8rem; }
  .df-marquee-track span{ font-size:.9rem; }
  .df-back-top{ bottom:80px; right:16px; width:42px;height:42px; }
  .df-menu-toggle{ right:30px; bottom:25px; }
}

@media (max-width: 575.98px){
  .df-hero-title{ font-size:1.7rem; }
  .df-dish-tabs{ justify-content:flex-start !important; }
}
