      /* ============ DINE IN PAGE STYLES ============ */

      * {
          box-sizing: border-box;
          margin: 0;
          padding: 0;
      }

      :root {
          --gold: #DAB678;
          --gold-light: #e8c88a;
          --brown-dark: #402E25;
          --cream: #FDF6EC;
          --warm-white: #FFFBF5;
          --text-dark: #1a1008;
          --text-mid: #5c4033;
          --text-light: #9c7a63;
          --accent-red: #C0392B;
          --accent-green: #1a6b47;
          --section-gap: 100px;
      }

      body {
          background: var(--warm-white);
          font-family: 'DM Sans', sans-serif;
          color: var(--text-dark);
          overflow-x: hidden;
      }

      /* ===== HERO ===== */
      .di-hero {
          position: relative;
          min-height: 100vh;
          display: flex;
          align-items: center;
          justify-content: center;
          overflow: hidden;
          background: var(--brown-dark);
      }

      .di-hero-title {
          margin-top: 90px;
      }

      .di-hero-bg-img {
          position: absolute;
          inset: 0;
          background-image: url('../images/dine-in-hero.jpg');
          background-size: cover;
          background-position: center;
          transform: scale(1.06);
          animation: heroZoom 18s ease-in-out infinite alternate;
      }

      @keyframes heroZoom {
          from {
              transform: scale(1.06);
          }

          to {
              transform: scale(1.13);
          }
      }

      .di-hero-bg {
          position: absolute;
          inset: 0;
          background: linear-gradient(to bottom,
                  rgba(10, 6, 3, 0.55) 0%,
                  rgba(20, 12, 6, 0.72) 40%,
                  rgba(10, 6, 3, 0.88) 100%);
      }

      .di-hero-side-fade-left {
          position: absolute;
          inset: 0;
          background: linear-gradient(to right, rgba(10, 6, 3, 0.6) 0%, transparent 40%);
      }

      .di-hero-side-fade-right {
          position: absolute;
          inset: 0;
          background: linear-gradient(to left, rgba(10, 6, 3, 0.6) 0%, transparent 40%);
      }

      .di-hero-pattern {
          position: absolute;
          inset: 0;
          opacity: 0.03;
          background-image: repeating-linear-gradient(45deg, #DAB678 0, #DAB678 1px, transparent 0, transparent 50%);
          background-size: 30px 30px;
      }

      .di-hero-glow {
          position: absolute;
          width: 700px;
          height: 700px;
          border-radius: 50%;
          background: radial-gradient(circle, rgba(218, 182, 120, 0.10) 0%, transparent 70%);
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          animation: pulseGlow 5s ease-in-out infinite;
      }

      @keyframes pulseGlow {

          0%,
          100% {
              transform: translate(-50%, -50%) scale(1);
              opacity: 0.6;
          }

          50% {
              transform: translate(-50%, -50%) scale(1.1);
              opacity: 1;
          }
      }

      .di-hero-floats {
          position: absolute;
          inset: 0;
          pointer-events: none;
      }

      .di-float {
          position: absolute;
          font-size: clamp(24px, 3vw, 48px);
          opacity: 0.18;
          animation: floatUpDown 6s ease-in-out infinite;
      }

      .di-float:nth-child(1) {
          top: 15%;
          left: 8%;
          animation-delay: 0s;
      }

      .di-float:nth-child(2) {
          top: 25%;
          right: 10%;
          animation-delay: 1s;
          font-size: 32px;
      }

      .di-float:nth-child(3) {
          bottom: 20%;
          left: 15%;
          animation-delay: 2s;
      }

      .di-float:nth-child(4) {
          bottom: 30%;
          right: 8%;
          animation-delay: 1.5s;
          font-size: 28px;
      }

      .di-float:nth-child(5) {
          top: 60%;
          left: 5%;
          animation-delay: 3s;
          font-size: 22px;
      }

      .di-float:nth-child(6) {
          top: 10%;
          left: 50%;
          animation-delay: 0.5s;
          font-size: 20px;
      }

      @keyframes floatUpDown {

          0%,
          100% {
              transform: translateY(0) rotate(-5deg);
          }

          50% {
              transform: translateY(-20px) rotate(5deg);
          }
      }

      .di-hero-bottom-bar {
          position: absolute;
          bottom: 0;
          left: 0;
          right: 0;
          height: 3px;
          background: linear-gradient(to right, transparent 0%, var(--gold) 30%, var(--gold-light) 50%, var(--gold) 70%, transparent 100%);
          opacity: 0.7;
      }

      .di-hero-content {
          position: relative;
          z-index: 2;
          text-align: center;
          max-width: 960px;
          padding: 40px 24px;
      }

      /* .di-hero-badge {
            display: inline-flex; align-items: center; gap: 8px;
            background: rgba(218,182,120,0.1);
            border: 1px solid rgba(218,182,120,0.35);
            border-radius: 50px;
            padding: 10px 22px;
            color: var(--gold-light);
            font-size: 12px;
            letter-spacing: 3px;
            text-transform: uppercase;
            font-weight: 600;
            margin-bottom: 32px;
            animation: fadeSlideUp 0.8s ease both;
            backdrop-filter: blur(6px);
        } */

      .di-hero-title {
          font-family: 'Playfair Display', serif;
          font-size: clamp(48px, 8vw, 100px);
          font-weight: 900;
          line-height: 1.02;
          color: #fff;
          margin-bottom: 28px;
          animation: fadeSlideUp 0.8s 0.15s ease both;
          text-shadow: 0 4px 40px rgba(0, 0, 0, 0.5);
      }

      .di-hero-title .gold-word {
          background: linear-gradient(135deg, #DAB678, #e8c88a, #f5d89a, #DAB678);
          background-size: 200%;
          -webkit-background-clip: text;
          background-clip: text;
          color: transparent;
          animation: shimmerGold 4s ease infinite;
      }

      @keyframes shimmerGold {
          0% {
              background-position: 0% 50%;
          }

          50% {
              background-position: 100% 50%;
          }

          100% {
              background-position: 0% 50%;
          }
      }

      .di-hero-divider {
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 16px;
          margin-bottom: 24px;
          animation: fadeSlideUp 0.8s 0.25s ease both;
      }

      .di-hero-divider-line {
          width: 60px;
          height: 1px;
          background: rgba(218, 182, 120, 0.4);
      }

      .di-hero-divider-dot {
          width: 6px;
          height: 6px;
          border-radius: 50%;
          background: var(--gold);
      }

      .di-hero-sub {
          font-size: 18px;
          color: rgba(255, 255, 255, 0.65);
          line-height: 1.8;
          max-width: 620px;
          margin: 0 auto 48px;
          font-weight: 300;
          animation: fadeSlideUp 0.8s 0.3s ease both;
          letter-spacing: 0.3px;
      }

      .di-hero-search {
          display: flex;
          max-width: 560px;
          margin: 0 auto 48px;
          background: rgba(255, 255, 255, 0.07);
          border: 1px solid rgba(218, 182, 120, 0.25);
          border-radius: 60px;
          overflow: hidden;
          backdrop-filter: blur(10px);
          animation: fadeSlideUp 0.8s 0.45s ease both;
      }

      .di-hero-search input {
          flex: 1;
          background: transparent;
          border: none;
          outline: none;
          padding: 18px 24px;
          color: #fff;
          font-family: 'DM Sans', sans-serif;
          font-size: 15px;
      }

      .di-hero-search input::placeholder {
          color: rgba(255, 255, 255, 0.4);
      }

      .di-hero-search button {
          background: linear-gradient(135deg, #DAB678, #c9a455);
          border: none;
          padding: 14px 28px;
          border-radius: 50px;
          margin: 6px;
          color: var(--brown-dark);
          font-weight: 600;
          font-size: 14px;
          cursor: pointer;
          display: flex;
          align-items: center;
          gap: 8px;
          transition: all 0.3s;
          font-family: 'DM Sans', sans-serif;
      }

      .di-hero-search button:hover {
          transform: scale(1.04);
          box-shadow: 0 4px 20px rgba(218, 182, 120, 0.4);
      }

      .di-hero-stats {
          display: flex;
          justify-content: center;
          gap: 48px;
          animation: fadeSlideUp 0.8s 0.6s ease both;
      }

      .di-stat {
          text-align: center;
      }

      .di-stat-num {
          font-family: 'Playfair Display', serif;
          font-size: 32px;
          font-weight: 700;
          color: var(--gold);
      }

      .di-stat-lbl {
          font-size: 12px;
          color: rgba(255, 255, 255, 0.45);
          letter-spacing: 1.5px;
          text-transform: uppercase;
          margin-top: 2px;
      }

      .di-stat-sep {
          width: 1px;
          background: rgba(218, 182, 120, 0.2);
          align-self: stretch;
      }

      .di-hero-scroll {
          position: absolute;
          bottom: 32px;
          left: 50%;
          transform: translateX(-50%);
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 8px;
          color: rgba(255, 255, 255, 0.3);
          font-size: 11px;
          letter-spacing: 2px;
          text-transform: uppercase;
      }

      .di-scroll-line {
          width: 1px;
          height: 40px;
          background: linear-gradient(to bottom, rgba(218, 182, 120, 0.5), transparent);
          animation: scrollLine 2s ease-in-out infinite;
      }

      @keyframes scrollLine {
          0% {
              transform: scaleY(0);
              transform-origin: top;
          }

          50% {
              transform: scaleY(1);
              transform-origin: top;
          }

          51% {
              transform-origin: bottom;
          }

          100% {
              transform: scaleY(0);
              transform-origin: bottom;
          }
      }

      @keyframes fadeSlideUp {
          from {
              opacity: 0;
              transform: translateY(30px);
          }

          to {
              opacity: 1;
              transform: translateY(0);
          }
      }

      /* ===== MARQUEE STRIP ===== */
      .di-marquee-strip {
          background: var(--gold);
          padding: 14px 0;
          overflow: hidden;
          white-space: nowrap;
      }

      .di-marquee-inner {
          display: inline-flex;
          gap: 48px;
          animation: marqueeScroll 20s linear infinite;
      }

      .di-marquee-item {
          font-size: 13px;
          font-weight: 600;
          color: var(--brown-dark);
          letter-spacing: 2px;
          text-transform: uppercase;
          display: flex;
          align-items: center;
          gap: 12px;
      }

      .di-marquee-dot {
          width: 6px;
          height: 6px;
          border-radius: 50%;
          background: var(--brown-dark);
          opacity: 0.4;
      }

      @keyframes marqueeScroll {
          from {
              transform: translateX(0);
          }

          to {
              transform: translateX(-50%);
          }
      }

      /* ===== SECTION SHARED ===== */
      .di-section {
          padding: var(--section-gap) 24px;
          max-width: 1280px;
          margin: 0 auto;
      }

      .di-section-header {
          text-align: center;
          margin-bottom: 30px;
      }

      .di-section-eyebrow {
          display: inline-block;
          font-size: 11px;
          font-weight: 600;
          letter-spacing: 3px;
          text-transform: uppercase;
          color: var(--gold);
          margin-bottom: 14px;
      }

      .di-section-title {
          font-family: 'Playfair Display', serif;
          font-size: clamp(32px, 4vw, 52px);
          font-weight: 800;
          color: var(--text-dark);
          line-height: 1.15;
          margin-bottom: 16px;
      }

      .di-section-desc {
          color: var(--text-light);
          font-size: 16px;
          max-width: 560px;
          margin: 0 auto;
          line-height: 1.7;
      }

      /* ===== CATEGORIES SECTION ===== */

      .di-categories-bg {
          background: var(--cream);
          padding: 0;
      }

      .di-categories-grid {
          display: grid;
          grid-template-columns: repeat(3, 1fr);
          gap: 18px;
          margin: 0;
      }

      .di-cat-card {
          position: relative;
          border-radius: 24px;
          overflow: hidden;
          cursor: pointer;
          aspect-ratio: 4/3;
          transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          margin: 0;
      }

      .di-cat-card:first-child {
          grid-column: span 2;
          grid-row: span 2;
          aspect-ratio: auto;
      }

      .di-cat-card:hover {
          transform: scale(1.02);
      }

      .di-cat-img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          transition: transform 0.6s ease;
      }

      .di-cat-card:hover .di-cat-img {
          transform: scale(1.08);
      }

      .di-cat-overlay {
          position: absolute;
          inset: 0;
          background: linear-gradient(to top,
                  rgba(26, 16, 8, 0.88) 0%,
                  rgba(26, 16, 8, 0.2) 50%,
                  transparent 100%);
          transition: background 0.3s;
      }

      .di-cat-body {
          position: absolute;
          bottom: 0;
          left: 0;
          right: 0;
          padding: 18px 18px 20px;
      }

      .di-cat-tag {
          display: inline-block;
          background: rgba(218, 182, 120, 0.2);
          border: 1px solid rgba(218, 182, 120, 0.4);
          color: var(--gold-light);
          font-size: 11px;
          font-weight: 600;
          letter-spacing: 2px;
          text-transform: uppercase;
          padding: 5px 14px;
          border-radius: 50px;
          margin-bottom: 8px;
      }

      .di-cat-title {
          font-family: 'Playfair Display', serif;
          font-size: clamp(20px, 2.5vw, 32px);
          font-weight: 700;
          color: #fff;
          line-height: 1.2;
          margin-bottom: 6px;
      }

      .di-cat-desc {
          color: rgba(255, 255, 255, 0.65);
          font-size: 13px;
          line-height: 1.5;
          margin-bottom: 12px;
      }

      .di-cat-btn {
          display: inline-flex;
          align-items: center;
          gap: 8px;
          background: var(--gold);
          color: var(--brown-dark);
          font-weight: 600;
          font-size: 13px;
          padding: 10px 20px;
          border-radius: 50px;
          text-decoration: none;
          transition: all 0.3s;
      }

      .di-cat-btn:hover {
          background: var(--gold-light);
          transform: translateX(4px);
      }

      /* ===== RESPONSIVE ===== */

      @media (max-width: 992px) {
          .di-categories-grid {
              grid-template-columns: repeat(2, 1fr);
              gap: 16px;
          }

          .di-cat-card:first-child {
              grid-column: span 2;
          }
      }

      @media (max-width: 768px) {
          .di-categories-bg {
              padding: 0;
          }

          .di-categories-grid {
              grid-template-columns: 1fr;
              gap: 14px;
          }

          .di-cat-card:first-child {
              grid-column: span 1;
              grid-row: span 1;
              aspect-ratio: 4/3;
          }

          .di-cat-body {
              padding: 16px;
          }

          .di-cat-title {
              font-size: 22px;
          }

          .di-cat-desc {
              font-size: 12px;
          }

          .di-cat-btn {
              padding: 9px 18px;
              font-size: 12px;
          }
      }

      @media (max-width: 480px) {
          .di-categories-grid {
              gap: 12px;
          }

          .di-cat-card {
              border-radius: 18px;
          }

          .di-cat-body {
              padding: 14px;
          }

          .di-cat-title {
              font-size: 20px;
          }

          .di-cat-tag {
              font-size: 10px;
              padding: 4px 12px;
          }

          .di-cat-btn {
              width: fit-content;
              padding: 8px 16px;
          }
      }

      /* ===== MENU SECTION ===== */
      /* ===== FILTER SECTION ===== */

      .di-menu-filter {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          gap: 10px;
          margin-bottom: 6px;
      }

      .di-filter-btn {
          background: transparent;
          border: 1.5px solid rgba(64, 46, 37, 0.2);
          border-radius: 50px;
          padding: 8px 18px;
          font-family: 'DM Sans', sans-serif;
          font-size: 13px;
          font-weight: 500;
          color: var(--text-mid);
          cursor: pointer;
          transition: all 0.25s;
          display: flex;
          align-items: center;
          gap: 6px;
      }

      .di-filter-btn.active,
      .di-filter-btn:hover {
          background: var(--brown-dark);
          border-color: var(--brown-dark);
          color: #fff;
      }

      .di-filter-icon {
          font-size: 14px;
      }

      /* ===== MENU GRID ===== */

      .di-menu-grid {
          display: grid;
          grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
          gap: 18px;
          margin: 0;
          padding: 0;
      }

      /* ===== MENU CARD ===== */

      .di-menu-card {
          background: #fff;
          border-radius: 20px;
          overflow: hidden;
          border: 1px solid rgba(64, 46, 37, 0.08);
          transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          display: none;
          margin: 0;
      }

      .di-menu-card.visible {
          display: block;
          animation: cardIn 0.4s ease both;
      }

      @keyframes cardIn {
          from {
              opacity: 0;
              transform: translateY(15px) scale(0.97);
          }

          to {
              opacity: 1;
              transform: translateY(0) scale(1);
          }
      }

      .di-menu-card:hover {
          transform: translateY(-4px);
          box-shadow: 0 15px 40px rgba(64, 46, 37, 0.12);
      }

      /* ===== IMAGE ===== */

      .di-menu-img-wrap {
          position: relative;
          height: 210px;
          overflow: hidden;
      }

      .di-menu-img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          transition: transform 0.5s ease;
      }

      .di-menu-card:hover .di-menu-img {
          transform: scale(1.05);
      }

      /* ===== BODY ===== */

      .di-menu-body {
          padding: 16px 18px 18px;
      }

      .di-menu-category {
          font-size: 10px;
          font-weight: 600;
          letter-spacing: 2px;
          text-transform: uppercase;
          color: var(--gold);
          margin-bottom: 4px;
      }

      .di-menu-name {
          font-family: 'Playfair Display', serif;
          font-size: 19px;
          font-weight: 700;
          color: var(--text-dark);
          margin-bottom: 6px;
          line-height: 1.3;
      }

      .di-menu-desc {
          font-size: 12px;
          color: var(--text-light);
          line-height: 1.5;
          margin-bottom: 14px;
      }

      /* ===== RATING ===== */

      .di-menu-rating {
          display: flex;
          align-items: center;
          gap: 4px;
          margin-bottom: 10px;
      }

      .di-stars {
          color: var(--gold);
          font-size: 12px;
      }

      .di-rating-txt {
          font-size: 11px;
          color: var(--text-light);
          margin-left: 4px;
      }

      /* ===== FOOTER ===== */

      .di-menu-footer {
          display: flex;
          align-items: center;
          justify-content: space-between;
      }

      .di-menu-price {
          font-family: 'Playfair Display', serif;
          font-size: 20px;
          font-weight: 700;
          color: var(--text-dark);
      }

      .di-menu-price span {
          font-size: 13px;
          color: var(--text-light);
          font-family: 'DM Sans', sans-serif;
          font-weight: 400;
      }

      /* ===== BUTTON ===== */

      .di-add-btn {
          display: flex;
          align-items: center;
          gap: 6px;
          background: var(--brown-dark);
          color: #fff;
          border: none;
          border-radius: 50px;
          padding: 8px 16px;
          font-family: 'DM Sans', sans-serif;
          font-weight: 600;
          font-size: 12px;
          cursor: pointer;
          transition: all 0.3s;
      }

      .di-add-btn:hover {
          background: var(--gold);
          color: var(--brown-dark);
          transform: scale(1.04);
      }

      /* ===== EXPERIENCE SECTION ===== */
      .di-experience {
          background: var(--brown-dark);
          position: relative;
          overflow: hidden;
      }

      .di-exp-pattern {
          position: absolute;
          inset: 0;
          opacity: 0.04;
          background-image: radial-gradient(circle, #DAB678 1px, transparent 1px);
          background-size: 40px 40px;
      }

      .di-exp-inner {
          max-width: 1280px;
          margin: 0 auto;
          padding: var(--section-gap) 24px;
          position: relative;
          z-index: 1;
      }

      .di-exp-grid {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 80px;
          align-items: center;
      }

      .di-exp-visual {
          position: relative;
      }

      .di-exp-img-main {
          width: 100%;
          aspect-ratio: 4/5;
          object-fit: cover;
          border-radius: 28px;
          display: block;
      }

      .di-exp-img-float {
          position: absolute;
          bottom: -24px;
          right: -24px;
          width: 45%;
          aspect-ratio: 1;
          object-fit: cover;
          border-radius: 20px;
          border: 5px solid var(--brown-dark);
      }

      .di-exp-badge-float {
          position: absolute;
          top: 24px;
          left: -20px;
          background: var(--gold);
          color: var(--brown-dark);
          border-radius: 18px;
          padding: 16px 20px;
          font-weight: 700;
          text-align: center;
          box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
      }

      .di-exp-badge-float .big {
          font-family: 'Playfair Display', serif;
          font-size: 28px;
          display: block;
      }

      .di-exp-badge-float .small {
          font-size: 11px;
          letter-spacing: 1px;
          text-transform: uppercase;
          opacity: 0.8;
      }

      .di-exp-text .di-section-eyebrow {
          margin-bottom: 12px;
      }

      .di-exp-text .di-section-title {
          color: #fff;
          text-align: left;
          margin-bottom: 20px;
      }

      .di-exp-text p {
          color: rgba(255, 255, 255, 0.6);
          font-size: 16px;
          line-height: 1.8;
          margin-bottom: 32px;
      }

      .di-exp-features {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 20px;
          margin-bottom: 40px;
      }

      .di-exp-feature {
          display: flex;
          align-items: flex-start;
          gap: 14px;
      }

      .di-exp-feature-icon {
          width: 44px;
          height: 44px;
          border-radius: 12px;
          background: rgba(218, 182, 120, 0.12);
          border: 1px solid rgba(218, 182, 120, 0.2);
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 20px;
          flex-shrink: 0;
      }

      .di-exp-feature-txt strong {
          display: block;
          color: #fff;
          font-size: 14px;
          font-weight: 600;
          margin-bottom: 3px;
      }

      .di-exp-feature-txt span {
          color: rgba(255, 255, 255, 0.45);
          font-size: 12px;
      }

      .di-reserve-btn {
          display: inline-flex;
          align-items: center;
          gap: 10px;
          background: var(--gold);
          color: var(--brown-dark);
          font-weight: 700;
          font-size: 15px;
          padding: 16px 32px;
          border-radius: 60px;
          text-decoration: none;
          border: none;
          cursor: pointer;
          transition: all 0.3s;
          font-family: 'DM Sans', sans-serif;
      }

      .di-reserve-btn:hover {
          background: var(--gold-light);
          transform: translateY(-2px);
          box-shadow: 0 12px 40px rgba(218, 182, 120, 0.35);
      }

      /* ===== TABLE BOOKING ===== */
      .di-booking-bg {
          background: var(--cream);
      }

      .di-booking-grid {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 60px;
          align-items: start;
      }

      .di-booking-form {
          background: #fff;
          border-radius: 28px;
          padding: 44px;
          border: 1px solid rgba(64, 46, 37, 0.08);
          box-shadow: 0 20px 80px rgba(64, 46, 37, 0.06);
      }

      .di-form-title {
          font-family: 'Playfair Display', serif;
          font-size: 28px;
          font-weight: 700;
          color: var(--text-dark);
          margin-bottom: 8px;
      }

      .di-form-sub {
          color: var(--text-light);
          font-size: 14px;
          margin-bottom: 32px;
      }

      .di-form-row {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: 16px;
      }

      .di-form-group {
          margin-bottom: 20px;
      }

      .di-form-label {
          display: block;
          font-size: 12px;
          font-weight: 600;
          letter-spacing: 1px;
          text-transform: uppercase;
          color: var(--text-mid);
          margin-bottom: 8px;
      }

      .di-form-input,
      .di-form-select {
          width: 100%;
          background: var(--cream);
          border: 1.5px solid rgba(64, 46, 37, 0.12);
          border-radius: 12px;
          padding: 14px 16px;
          font-family: 'DM Sans', sans-serif;
          font-size: 14px;
          color: var(--text-dark);
          outline: none;
          transition: border-color 0.3s;
          appearance: none;
      }

      .di-form-input:focus,
      .di-form-select:focus {
          border-color: var(--gold);
      }

      .di-form-textarea {
          width: 100%;
          background: var(--cream);
          border: 1.5px solid rgba(64, 46, 37, 0.12);
          border-radius: 12px;
          padding: 14px 16px;
          font-family: 'DM Sans', sans-serif;
          font-size: 14px;
          color: var(--text-dark);
          outline: none;
          resize: none;
          height: 100px;
          transition: border-color 0.3s;
      }

      .di-form-textarea:focus {
          border-color: var(--gold);
      }

      .di-form-submit {
          width: 100%;
          background: var(--brown-dark);
          color: #fff;
          border: none;
          border-radius: 14px;
          padding: 17px;
          font-family: 'DM Sans', sans-serif;
          font-weight: 700;
          font-size: 15px;
          cursor: pointer;
          transition: all 0.3s;
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 10px;
      }

      .di-form-submit:hover {
          background: var(--gold);
          color: var(--brown-dark);
      }

      .di-booking-info {
          padding-top: 8px;
      }

      .di-info-card {
          background: #fff;
          border-radius: 20px;
          padding: 28px 32px;
          margin-bottom: 20px;
          border: 1px solid rgba(64, 46, 37, 0.08);
      }

      .di-info-card h3 {
          font-family: 'Playfair Display', serif;
          font-size: 20px;
          font-weight: 700;
          color: var(--text-dark);
          margin-bottom: 16px;
          display: flex;
          align-items: center;
          gap: 10px;
      }

      .di-info-icon {
          font-size: 20px;
      }

      .di-info-row {
          display: flex;
          justify-content: space-between;
          align-items: center;
          padding: 10px 0;
          border-bottom: 1px solid rgba(64, 46, 37, 0.06);
      }

      .di-info-row:last-child {
          border-bottom: none;
      }

      .di-info-day {
          font-size: 14px;
          font-weight: 500;
          color: var(--text-dark);
      }

      .di-info-time {
          font-size: 13px;
          color: var(--text-light);
      }

      .di-info-open {
          font-size: 11px;
          font-weight: 600;
          letter-spacing: 1px;
          text-transform: uppercase;
          background: #eafbf0;
          color: var(--accent-green);
          padding: 4px 12px;
          border-radius: 50px;
      }

      .di-info-closed {
          font-size: 11px;
          font-weight: 600;
          letter-spacing: 1px;
          text-transform: uppercase;
          background: #fef2f2;
          color: #c0392b;
          padding: 4px 12px;
          border-radius: 50px;
      }

      .di-location-list {
          list-style: none;
      }

      .di-location-list li {
          display: flex;
          align-items: flex-start;
          gap: 12px;
          padding: 10px 0;
          border-bottom: 1px solid rgba(64, 46, 37, 0.06);
          font-size: 14px;
          color: var(--text-dark);
      }

      .di-location-list li:last-child {
          border-bottom: none;
      }

      .di-location-list li i {
          color: var(--gold);
          margin-top: 2px;
          flex-shrink: 0;
      }

      /* ===== TESTIMONIALS ===== */
      /* Testimonials Section */
      .di-testimonials {
          background: #ffffff;
          padding: 80px 5%;
          position: relative;
          overflow: hidden;
      }

      .di-testimonials::before {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          height: 1px;
          background: linear-gradient(90deg, transparent, #c9a03d, #c9a03d, transparent);
      }

      .di-section-header {
          text-align: center;
          margin-bottom: 55px;
          position: relative;
          z-index: 2;
      }

      .di-section-eyebrow {
          display: inline-block;
          font-size: 0.7rem;
          letter-spacing: 4px;
          text-transform: uppercase;
          color: #c9a03d;
          font-weight: 600;
          margin-bottom: 15px;
          background: rgba(201, 160, 61, 0.08);
          padding: 6px 18px;
          border-radius: 40px;
      }

      .di-section-title {
          font-family: 'Cormorant Garamond', serif;
          font-size: clamp(2rem, 5vw, 3.2rem);
          color: #3d2b1a;
          margin-bottom: 12px;
          font-weight: 700;
      }

      .di-section-title span {
          color: #c9a03d;
          font-style: italic;
          position: relative;
          display: inline-block;
      }

      .di-section-title span::after {
          content: '';
          position: absolute;
          bottom: 5px;
          left: 0;
          right: 0;
          height: 2px;
          background: linear-gradient(90deg, transparent, #c9a03d, #c9a03d, transparent);
      }

      .di-section-desc {
          font-size: 0.95rem;
          color: #8b7355;
          max-width: 550px;
          margin: 0 auto;
          line-height: 1.7;
      }

      /* Horizontal Scroll Container - NO SCROLLBAR */
      .di-reviews-scroll {
          position: relative;
          overflow-x: auto;
          overflow-y: visible;
          padding: 20px 10px 30px 10px;
          scroll-behavior: smooth;
          cursor: grab;
          scrollbar-width: none;
          -ms-overflow-style: none;
      }

      .di-reviews-scroll::-webkit-scrollbar {
          display: none;
      }

      .di-reviews-scroll:active {
          cursor: grabbing;
      }

      .di-reviews-track {
          display: flex;
          gap: 28px;
          width: max-content;
          padding: 0 20px;
      }

      /* Testimonial Card - Premium Design */
      .di-review-card {
          width: 380px;
          background: #ffffff;
          border-radius: 24px;
          padding: 32px 28px 28px;
          position: relative;
          transition: all 0.4s cubic-bezier(0.2, 0.9, 0.4, 1.1);
          box-shadow: 0 8px 25px rgba(61, 43, 26, 0.06);
          border: 1px solid rgba(201, 160, 61, 0.1);
          flex-shrink: 0;
      }

      .di-review-card:hover {
          transform: translateY(-6px);
          box-shadow: 0 20px 40px rgba(61, 43, 26, 0.1);
          border-color: rgba(201, 160, 61, 0.25);
      }

      /* Decorative quote mark */
      .di-review-quote {
          position: absolute;
          top: 24px;
          right: 28px;
          font-family: 'Cormorant Garamond', serif;
          font-size: 80px;
          font-weight: 700;
          color: rgba(201, 160, 61, 0.08);
          line-height: 0.8;
          pointer-events: none;
          transition: all 0.3s;
      }

      .di-review-card:hover .di-review-quote {
          color: rgba(201, 160, 61, 0.18);
      }

      /* Stars */
      .di-review-stars {
          color: #c9a03d;
          font-size: 13px;
          letter-spacing: 3px;
          margin-bottom: 20px;
          display: flex;
          gap: 3px;
      }

      .di-review-stars i {
          transition: all 0.2s;
      }

      .di-review-card:hover .di-review-stars i {
          transform: scale(1.05);
      }

      /* Review Text */
      .di-review-text {
          font-size: 0.92rem;
          line-height: 1.75;
          color: #5a4a35;
          margin-bottom: 28px;
          font-style: normal;
          min-height: 110px;
      }

      /* Reviewer Info */
      .di-reviewer {
          display: flex;
          align-items: center;
          gap: 14px;
          border-top: 1px solid rgba(201, 160, 61, 0.1);
          padding-top: 22px;
          margin-top: 8px;
      }

      .di-reviewer-avatar {
          width: 48px;
          height: 48px;
          border-radius: 50%;
          object-fit: cover;
          border: 2px solid #c9a03d;
          box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
      }

      .di-reviewer-avatar-fallback {
          width: 48px;
          height: 48px;
          border-radius: 50%;
          display: flex;
          align-items: center;
          justify-content: center;
          font-weight: 700;
          font-size: 1rem;
          color: #3d2b1a;
          background: linear-gradient(135deg, #f0d896, #e8c87a);
          border: 2px solid #fff;
          box-shadow: 0 4px 12px rgba(201, 160, 61, 0.15);
      }

      .di-reviewer-info {
          flex: 1;
      }

      .di-reviewer-name {
          font-weight: 700;
          font-size: 0.95rem;
          color: #3d2b1a;
          margin-bottom: 3px;
      }

      .di-reviewer-role {
          font-size: 0.7rem;
          color: #8b7355;
          letter-spacing: 0.3px;
          display: flex;
          align-items: center;
          gap: 5px;
      }

      .di-reviewer-role i {
          font-size: 0.6rem;
          color: #c9a03d;
      }

      /* Scroll Indicator Dots Only */
      .di-scroll-indicator {
          display: flex;
          justify-content: center;
          gap: 10px;
          margin-top: 20px;
      }

      .di-scroll-dot {
          width: 8px;
          height: 8px;
          border-radius: 50%;
          background: rgba(201, 160, 61, 0.25);
          transition: all 0.3s ease;
          cursor: pointer;
      }

      .di-scroll-dot:hover {
          background: rgba(201, 160, 61, 0.5);
          transform: scale(1.2);
      }

      .di-scroll-dot.active {
          width: 28px;
          border-radius: 10px;
          background: #c9a03d;
      }

      /* Responsive */
      @media (max-width: 768px) {
          .di-testimonials {
              padding: 60px 4%;
          }

          .di-review-card {
              width: 310px;
              padding: 25px 22px 22px;
          }

          .di-review-text {
              min-height: 130px;
              font-size: 0.85rem;
          }
      }

      /* ===== REMOVE EXTRA WHITE SPACES ===== */

      body,
      html {
          margin: 0;
          padding: 0;
      }

      section {
          margin: 0 !important;
      }

      /* ===== CTA SECTION ===== */

      .di-cta {
          position: relative;
          overflow: hidden;
          padding: 80px 24px;
          margin: 0 !important;
          text-align: center;
          line-height: 1;
      }

      /* REMOVE SPACE ABOVE */
      .di-cta::before,
      .di-cta::after {
          margin: 0;
          padding: 0;
      }

      /* ===== BACKGROUND IMAGE ===== */

      .di-cta-bg-img {
          position: absolute;
          inset: 0;
          background-image: url('../images/dine-in-cta2.jpg');
          background-size: cover;
          background-position: center;
          transform: scale(1.02);
          animation: heroZoom 14s ease-in-out infinite alternate;
      }

      /* ===== OVERLAY ===== */

      .di-cta-pattern {
          position: absolute;
          inset: 0;
          background: linear-gradient(to bottom,
                  rgba(10, 6, 3, 0.78) 0%,
                  rgba(30, 18, 8, 0.82) 50%,
                  rgba(10, 6, 3, 0.90) 100%);
      }

      .di-cta-pattern::after {
          content: '';
          position: absolute;
          inset: 0;
          opacity: 0.04;
          background-image: repeating-linear-gradient(-45deg,
                  #DAB678 0,
                  #DAB678 1px,
                  transparent 0,
                  transparent 50%);
          background-size: 24px 24px;
      }

      /* ===== CONTENT ===== */

      .di-cta-inner {
          position: relative;
          z-index: 1;
          max-width: 760px;
          margin: 0 auto;
          padding: 0;
      }

      /* ===== DECOR ===== */

      .di-cta-deco {
          display: flex;
          align-items: center;
          justify-content: center;
          gap: 16px;
          margin-bottom: 18px;
      }

      .di-cta-deco-line {
          width: 80px;
          height: 1px;
          background: rgba(218, 182, 120, 0.45);
      }

      .di-cta-deco-icon {
          color: var(--gold);
          font-size: 22px;
      }

      /* ===== EMOJI ===== */

      .di-cta-emoji {
          font-size: 52px;
          margin-bottom: 12px;
          display: block;
          filter: drop-shadow(0 4px 20px rgba(218, 182, 120, 0.4));
      }

      /* ===== TITLE ===== */

      .di-cta-title {
          font-family: 'Playfair Display', serif;
          font-size: clamp(32px, 5vw, 58px);
          font-weight: 900;
          color: #fff;
          line-height: 1.1;
          margin-bottom: 10px;
      }

      .di-cta-title .gold-word {
          color: var(--gold);
      }

      /* ===== SUBTITLE ===== */

      .di-cta-sub {
          color: rgba(255, 255, 255, 0.65);
          font-size: 16px;
          margin-bottom: 24px;
          line-height: 1.6;
      }

      /* ===== BUTTONS ===== */

      .di-cta-btns {
          display: flex;
          justify-content: center;
          gap: 14px;
          flex-wrap: wrap;
      }

      .di-cta-primary,
      .di-cta-secondary {
          border-radius: 60px;
          padding: 14px 30px;
          font-family: 'DM Sans', sans-serif;
          font-size: 14px;
          text-decoration: none;
          transition: all 0.3s;
      }

      .di-cta-primary {
          background: var(--gold);
          color: var(--brown-dark);
          font-weight: 700;
          border: none;
      }

      .di-cta-primary:hover {
          background: var(--gold-light);
          transform: translateY(-2px);
      }

      .di-cta-secondary {
          background: transparent;
          color: #fff;
          border: 1.5px solid rgba(255, 255, 255, 0.25);
      }

      .di-cta-secondary:hover {
          background: rgba(255, 255, 255, 0.08);
      }

      /* ===== MOBILE ===== */

      @media (max-width: 768px) {

          .di-cta {
              padding: 60px 16px;
          }

          .di-cta-title {
              line-height: 1.2;
          }

          .di-cta-sub {
              font-size: 14px;
          }

          .di-cta-btns {
              gap: 10px;
          }
      }

      /* ===== NOTIFICATION TOAST ===== */
      .di-toast {
          position: fixed;
          bottom: 30px;
          right: 30px;
          background: var(--brown-dark);
          color: #fff;
          border-left: 4px solid var(--gold);
          border-radius: 12px;
          padding: 16px 20px;
          display: flex;
          align-items: center;
          gap: 12px;
          font-size: 14px;
          font-weight: 500;
          transform: translateX(200%);
          transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
          z-index: 9999;
          max-width: 300px;
      }

      .di-toast.show {
          transform: translateX(0);
      }

      .di-toast i {
          color: var(--gold);
          font-size: 18px;
      }

      /* ===== SPECIALS RIBBON ===== */
      /* ===== SPECIAL OFFERS SECTION ===== */

      .di-specials {
          padding: 40px 20px;
          max-width: 1280px;
          margin: 0 auto;
      }

      .di-specials-wrap {
          display: flex;
          gap: 18px;
          margin: 0;
          padding: 0;
      }

      .di-special-card {
          flex: 1;
          border-radius: 22px;
          padding: 28px 24px;
          position: relative;
          overflow: hidden;
          margin: 0;
          transition: transform 0.3s ease, box-shadow 0.3s ease;
      }

      .di-special-card:hover {
          transform: translateY(-4px);
          box-shadow: 0 15px 40px rgba(0, 0, 0, 0.18);
      }

      /* CARD COLORS */

      .di-special-card.s1 {
          background: linear-gradient(135deg, #1a6b47 0%, #0e3d28 100%);
      }

      .di-special-card.s2 {
          background: linear-gradient(135deg, #8B4513 0%, #5a2d0e 100%);
      }

      .di-special-card.s3 {
          background: linear-gradient(135deg, #8B2635 0%, #5a1522 100%);
      }

      /* BACKGROUND PATTERN */

      .di-special-pattern {
          position: absolute;
          inset: 0;
          opacity: 0.08;
          background-image: radial-gradient(circle, #fff 1px, transparent 1px);
          background-size: 20px 20px;
      }

      /* BADGE */

      .di-special-badge {
          display: inline-block;
          background: rgba(255, 255, 255, 0.15);
          color: rgba(255, 255, 255, 0.9);
          font-size: 10px;
          font-weight: 600;
          letter-spacing: 2px;
          text-transform: uppercase;
          padding: 5px 12px;
          border-radius: 50px;
          margin-bottom: 12px;
          position: relative;
          z-index: 1;
      }

      /* TITLE */

      .di-special-title {
          font-family: 'Playfair Display', serif;
          font-size: 24px;
          font-weight: 700;
          color: #fff;
          margin-bottom: 8px;
          line-height: 1.3;
          position: relative;
          z-index: 1;
      }

      /* DESCRIPTION */

      .di-special-desc {
          font-size: 12px;
          color: rgba(255, 255, 255, 0.72);
          line-height: 1.5;
          margin-bottom: 16px;
          position: relative;
          z-index: 1;
      }

      /* PRICE */

      .di-special-price {
          font-family: 'Playfair Display', serif;
          font-size: 32px;
          font-weight: 700;
          color: var(--gold);
          position: relative;
          z-index: 1;
      }

      .di-special-price sub {
          font-size: 14px;
          font-family: 'DM Sans', sans-serif;
          font-weight: 400;
          color: rgba(255, 255, 255, 0.5);
      }

      /* EMOJI */

      .di-special-emoji {
          position: absolute;
          right: 18px;
          bottom: 14px;
          font-size: 60px;
          opacity: 0.2;
          transform: rotate(-10deg);
      }

      /* ===== RESPONSIVE ===== */

      @media (max-width: 992px) {

          .di-specials {
              padding: 32px 16px;
          }

          .di-specials-wrap {
              gap: 14px;
          }

          .di-special-card {
              padding: 24px 20px;
          }

          .di-special-title {
              font-size: 22px;
          }

          .di-special-price {
              font-size: 28px;
          }
      }

      @media (max-width: 768px) {

          .di-specials {
              padding: 24px 14px;
          }

          .di-specials-wrap {
              flex-direction: column;
              gap: 14px;
          }

          .di-special-card {
              padding: 22px 18px;
          }

          .di-special-title {
              font-size: 20px;
          }

          .di-special-desc {
              font-size: 11px;
          }

          .di-special-price {
              font-size: 26px;
          }

          .di-special-emoji {
              font-size: 52px;
          }
      }

      @media (max-width: 480px) {

          .di-specials {
              padding: 20px 12px;
          }

          .di-special-card {
              border-radius: 18px;
              padding: 18px 16px;
          }

          .di-special-title {
              font-size: 18px;
          }

          .di-special-price {
              font-size: 24px;
          }

          .di-special-emoji {
              font-size: 46px;
              right: 14px;
              bottom: 10px;
          }
      }

      /* ===== SCROLL ANIMATIONS ===== */
      .reveal {
          opacity: 0;
          transform: translateY(40px);
          transition: opacity 0.7s ease, transform 0.7s ease;
      }

      .reveal.revealed {
          opacity: 1;
          transform: translateY(0);
      }

      /* ===== RESPONSIVE ===== */
      @media (max-width: 900px) {
          .di-categories-grid {
              grid-template-columns: 1fr 1fr;
          }

          .di-cat-card:first-child {
              grid-column: span 2;
              grid-row: span 1;
              aspect-ratio: 16/7;
          }

          .di-exp-grid {
              grid-template-columns: 1fr;
              gap: 40px;
          }

          .di-exp-img-main {
              aspect-ratio: 16/9;
          }

          .di-exp-img-float {
              display: none;
          }

          .di-exp-badge-float {
              left: 20px;
          }

          .di-exp-text .di-section-title {
              text-align: center;
          }

          .di-exp-text .di-section-eyebrow {
              display: block;
              text-align: center;
          }

          .di-exp-text p {
              text-align: center;
          }

          .di-exp-features {
              grid-template-columns: 1fr;
          }

          .di-reserve-btn-wrap {
              text-align: center;
          }

          .di-booking-grid {
              grid-template-columns: 1fr;
          }

          .di-reviews-grid {
              grid-template-columns: 1fr;
          }

          .di-specials-wrap {
              flex-direction: column;
          }
      }

      @media (max-width: 600px) {
          .di-categories-grid {
              grid-template-columns: 1fr;
          }

          .di-cat-card:first-child {
              grid-column: span 1;
              aspect-ratio: 4/3;
          }

          .di-menu-grid {
              grid-template-columns: 1fr;
          }

          .di-hero-stats {
              gap: 20px;
          }

          .di-form-row {
              grid-template-columns: 1fr;
          }

          .di-booking-form {
              padding: 28px 20px;
          }
      }