/* ============================================================
       HERO CAROUSEL STYLES
       ============================================================ */

    /* Responsive carousel heights */
    .hero-carousel .carousel-item {
      height: 650px;           /* desktop */
    }
    @media (max-width: 991.98px) {
      .hero-carousel .carousel-item {
        height: 500px;         /* tablet */
      }
    }
    @media (max-width: 575.98px) {
      .hero-carousel .carousel-item {
        height: 350px;         /* mobile */
      }
    }

    /* Full-cover image inside each slide */
    .hero-carousel .carousel-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
    }

    /* Dark overlay on each slide — preserves existing color scheme */
    .hero-carousel .slide-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(
        to right,
        rgba(0, 0, 0, 0.62) 0%,
        rgba(0, 0, 0, 0.28) 55%,
        rgba(0, 0, 0, 0.12) 100%
      );
      z-index: 1;
    }

    /* Caption sits above the overlay */
    .hero-carousel .carousel-caption {
      z-index: 2;
      bottom: auto;
      top: 50%;
      transform: translateY(-50%);
      left: 6%;
      right: auto;
      text-align: left;
      max-width: 560px;
      padding: 0;
    }
    @media (max-width: 575.98px) {
      .hero-carousel .carousel-caption {
        left: 5%;
        right: 5%;
        text-align: center;
      }
    }

    /* Hero badge pill */
    .hero-carousel .hero-badge {
      display: inline-block;
      background: rgba(224, 28, 28, 0.88);
      border: 1.5px solid rgba(255, 255, 255, 0.4);
      color: #fff;
      padding: 6px 18px;
      border-radius: 50px;
      font-size: 0.8rem;
      font-weight: 800;
      letter-spacing: 1.2px;
      text-transform: uppercase;
      margin-bottom: 18px;
    }

    /* Slide headline */
    .hero-carousel .slide-title {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.8rem, 4.5vw, 3.4rem);
      font-weight: 900;
      color: #fff;
      line-height: 1.15;
      margin-bottom: 14px;
      text-shadow: 0 2px 12px rgba(0,0,0,0.35);
    }
    .hero-carousel .slide-title span {
      color: #ffc947;          /* warm gold — matches --accent family */
    }

    /* Slide sub-text */
    .hero-carousel .slide-sub {
      font-size: clamp(0.88rem, 1.6vw, 1.05rem);
      color: rgba(255, 255, 255, 0.88);
      margin-bottom: 28px;
      max-width: 460px;
      line-height: 1.6;
    }
    @media (max-width: 575.98px) {
      .hero-carousel .slide-sub { margin-left: auto; margin-right: auto; }
    }

    /* Carousel CTA buttons */
    .hero-carousel .btn-carousel-primary {
      background: var(--primary, #e01c1c);
      color: #fff;
      border: none;
      padding: 11px 26px;
      border-radius: 50px;
      font-weight: 800;
      font-size: 0.92rem;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      transition: background 0.25s, transform 0.25s;
    }
    .hero-carousel .btn-carousel-primary:hover {
      background: var(--primary-dark, #c01010);
      color: #fff;
      transform: translateY(-2px);
    }
    .hero-carousel .btn-carousel-outline {
      background: transparent;
      color: #fff;
      border: 2px solid rgba(255, 255, 255, 0.75);
      padding: 9px 22px;
      border-radius: 50px;
      font-weight: 800;
      font-size: 0.92rem;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      transition: background 0.25s, border-color 0.25s, transform 0.25s;
    }
    .hero-carousel .btn-carousel-outline:hover {
      background: rgba(255, 255, 255, 0.15);
      border-color: #fff;
      color: #fff;
      transform: translateY(-2px);
    }

    /* Prev / Next control arrows */
    .hero-carousel .carousel-control-prev,
    .hero-carousel .carousel-control-next {
      width: 48px;
      top: 50%;
      transform: translateY(-50%);
      height: 48px;
      background: rgba(255, 255, 255, 0.18);
      border-radius: 50%;
      border: 1.5px solid rgba(255, 255, 255, 0.4);
      transition: background 0.2s;
      opacity: 1;
    }
    .hero-carousel .carousel-control-prev { left: 20px; }
    .hero-carousel .carousel-control-next { right: 20px; }
    .hero-carousel .carousel-control-prev:hover,
    .hero-carousel .carousel-control-next:hover {
      background: rgba(224, 28, 28, 0.75);
      border-color: transparent;
    }
    .hero-carousel .carousel-control-prev-icon,
    .hero-carousel .carousel-control-next-icon {
      width: 20px;
      height: 20px;
    }

    /* Dot indicators — placed below the slide */
    .hero-carousel .carousel-indicators {
      bottom: 16px;
    }
    .hero-carousel .carousel-indicators [data-bs-target] {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.5);
      border: none;
      margin: 0 4px;
      transition: background 0.3s, transform 0.3s;
    }
    .hero-carousel .carousel-indicators .active {
      background: var(--primary, #e01c1c);
      transform: scale(1.3);
    }

    /* Stats bar on top of carousel (bottom strip) */
    .carousel-stats-bar {
      position: absolute;
      bottom: 0;
      left: 0; right: 0;
      z-index: 3;
      background: rgba(0, 0, 0, 0.55);
      backdrop-filter: blur(6px);
      display: flex;
      justify-content: center;
      gap: clamp(24px, 5vw, 72px);
      padding: 14px 20px;
    }
    .carousel-stat-item {
      text-align: center;
      color: #fff;
    }
    .carousel-stat-item .c-num {
      font-family: 'Playfair Display', serif;
      font-size: clamp(1.2rem, 2.5vw, 1.7rem);
      font-weight: 900;
      color: #ffc947;
      line-height: 1;
    }
    .carousel-stat-item .c-label {
      font-size: 0.7rem;
      font-weight: 700;
      color: rgba(255,255,255,0.75);
      text-transform: uppercase;
      letter-spacing: 0.8px;
      margin-top: 3px;
    }
    @media (max-width: 575.98px) {
      .carousel-stats-bar { gap: 16px; padding: 10px 12px; }
      .carousel-stat-item .c-num { font-size: 1rem; }
      .carousel-stat-item .c-label { font-size: 0.62rem; }
      /* Hide indicators offset for mobile due to stat bar */
      .hero-carousel .carousel-indicators { bottom: 56px; }
    }

    /* ============================================================
       FOOD CARD IMAGE — replaces emoji icon
       ============================================================ */
    .food-card-img {
      width: 120px;
      min-width: 120px;
      height: auto;
      overflow: hidden;
      position: relative;
      flex-shrink: 0;
      background: #f9f4f0;
    }
    .food-card-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    /* Keep veg / nonveg dot & ribbon on top of image */
    .food-card-img .veg-dot,
    .food-card-img .nonveg-dot,
    .food-card-img .card-ribbon {
      position: absolute;
      z-index: 2;
    }
    .food-card-img .veg-dot   { top: 8px; right: 8px; }
    .food-card-img .nonveg-dot{ top: 8px; right: 8px; }

    /* Responsive override already in style.css — reinforce for images */
    @media (max-width: 768px) {
      .food-card { flex-direction: column; }
      .food-card-img {
        width: 100%;
        min-width: unset;
        height: 160px;
      }
    }
    @media (max-width: 480px) {
      .food-card { flex-direction: row; }
      .food-card-img {
        width: 100px;
        min-width: 100px;
        height: auto;
      }
    }


    .testimonial-slider .item{
padding:15px;
}

.testimonial-card{
height:100%;
transition:.4s;
}

.testimonial-card:hover{
transform:translateY(-8px);
}

.owl-stage{
display:flex;
}

.owl-item{
display:flex;
}

.owl-dots{
margin-top:25px;
text-align:center;
}

.owl-dot span{
width:12px !important;
height:12px !important;
margin:5px !important;
}

.owl-item.center .testimonial-card{
transform:scale(1.03);
}