
/*-----------------------------------*\
  #CUSTOM PROPERTY
\*-----------------------------------*/

:root {

  /**
   * COLORS
   */
  --gold-crayola: hsl(322, 82%, 61%);
  --quick-silver: hsl(0, 0%, 100%);
  --davys-grey: hsla(30, 3%, 34%, 1);
  --smoky-black-1: hsla(40, 12%, 5%, 1);
  --smoky-black-2: hsla(30, 8%, 5%, 1);
  --smoky-black-3: hsla(0, 3%, 7%, 1);
  --eerie-black-1: hsla(210, 4%, 9%, 1);
  --eerie-black-2: hsla(210, 4%, 11%, 1);
  --eerie-black-3: hsl(0, 0%, 8%);
  --eerie-black-4: hsla(0, 0%, 13%, 1);
  --white: hsla(0, 0%, 100%, 0.83); /* menubased */
  --white-alpha-20: hsla(0, 0%, 51%, 0.19);
  --white-alpha-10: hsla(0, 0%, 100%, 0.1);
  --black: hsla(0, 20%, 99%, 0.75);
  --black-alpha-80: hsla(0, 0%, 0%, 0.8);
  --black-alpha-15: hsla(0, 0%, 0%, 0.15);
/* Title-specific styling */
--title-color: hsla(0, 0%, 100%, 0.83);
--title-font: 'Forum', cursive;
--title-size-main: calc(2.5rem + 2vw); /* or whatever size you prefer */
--title-weight: 400;
--title-spacing: 0.1em;

  /**
   * GRADIENT COLOR
   */

  --loading-text-gradient: linear-gradient(90deg, transparent 0% 16.66%, var(--smoky-black-3) 33.33% 50%,  transparent 66.66% 75%);
  --gradient-1: linear-gradient(to top,hsla(0, 0%, 0%, 0.9),hsla(0, 0%, 0%, 0.7),transparent);

  /**
   * TYPOGRAPHY
   */



  /* font-size */
  --fontSize-display-1: calc(1.3rem + 6.7vw);
  --fontSize-headline-1: calc(2rem + 2.5vw);
  --fontSize-headline-2: calc(1.3rem + 2.4vw);
  --fontSize-title-1: calc(1.6rem + 1.2vw);
  --fontSize-title-2: 2.2rem;
  --fontSize-title-3: 2.1rem;
  --fontSize-title-4: calc(1.6rem + 1.2vw);
  --fontSize-body-1: 2.4rem;
  --fontSize-body-2: 1.8rem;
  --fontSize-body-3: 1.8rem;
  --fontSize-body-4: 1.6rem;
  --fontSize-label-1: 1.4rem;
  --fontSize-label-2: 1.2rem;

  /* font-weight */
  --weight-regular: 400;
  --weight-bold: 700;

  /* line-height */
  --lineHeight-1: 1em;
  --lineHeight-2: 1.2em;
  --lineHeight-3: 1.5em;
  --lineHeight-4: 1.6em;
  --lineHeight-5: 1.85em;
  --lineHeight-6: 1.4em;

  /* letter-spacing */
  --letterSpacing-1: 0.15em;
  --letterSpacing-2: 0.4em;
  --letterSpacing-3: 0.2em;
  --letterSpacing-4: 0.3em;
  --letterSpacing-5: 3px;

  /**
   * SPACING
   */
  --section-space: 70px;

  /**
   * SHADOW
   */
  --shadow-1: 0px 0px 25px 0px hsla(0, 0%, 0%, 0.25);

  /**
   * Border Radius
   */
  --radius-24: 24px;
  --radius-circle: 50%;

  /**
   * Transition
   */

  --transition-1: 600ms ease;
  --transition-2: 500ms ease;
  --transition-3: 1000ms ease;

   /**
   * Font Fallback
   */
  --fontFamily-dm_sans: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
--fontFamily-forum: 'Forum', Georgia, serif;

}
/*-----------------------------------*\
  #RESET
\*-----------------------------------*/

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

li { list-style: none; }

a,
img,
data,
span,
input,
button,
select,
ion-icon,
textarea { display: block; }

a {
  color: inherit;
  text-decoration: none;
}

img { height: auto; }

input,
button,
select,
textarea {
  background: none;
  border: none;
  font: inherit;
}

input,
select,
textarea {
  width: 100%;
  outline: none;
}

button { cursor: pointer; }

address { font-style: normal; }

html {
  font-size: 10px;
  scroll-behavior: smooth;
}

body {
  background-color: var(--eerie-black-1);
  color: var(--white);
  font-family: var(--fontFamily-dm_sans);
  font-size: var(--fontSize-body-4);
  font-weight: var(--weight-regular);
  line-height: var(--lineHeight-5);
  overflow-x: hidden; /* Prevent horizontal scroll only */
}


body.loaded { overflow: overlay; }

body.nav-active { overflow: hidden; }

::-webkit-scrollbar { width: 5px; }

::-webkit-scrollbar-track { background-color: transparent; }

::-webkit-scrollbar-thumb { background-color: var(--gold-crayola); }

/*-----------------------------------*\
  #TYPOGRAPHY
\*-----------------------------------*/

.display-1,
.headline-1,
.headline-2,
.title-1,
.title-2,
.title-3,
.title-4 {
  color: var(--white);
  font-family: var(--fontFamily-forum);
  font-weight: var(--weight-regular);
  line-height: var(--lineHeight-2);
}

.display-1 {
  font-size: var(--fontSize-display-1);
  line-height: var(--lineHeight-1);
}

.headline-1 { font-size: var(--fontSize-headline-1); }

.headline-2 {
  font-size: var(--fontSize-headline-2);
  line-height: var(--lineHeight-6);
}

.title-1 { font-size: var(--fontSize-title-1); }

.title-2 { font-size: var(--fontSize-title-2); }

.title-3 { font-size: var(--fontSize-title-3); }

.title-4 { font-size: var(--fontSize-title-4); }

.body-1 {
  font-size: var(--fontSize-body-1);
  line-height: var(--lineHeight-6);
}

.body-2 {
  font-size: var(--fontSize-body-2);
  line-height: var(--lineHeight-4);
}

.body-3 { font-size: var(--fontSize-body-3); }

.body-4 { font-size: var(--fontSize-body-4); }

.label-1 { font-size: var(--fontSize-label-1); }

.label-2 { font-size: var(--fontSize-label-2); }

/*-----------------------------------*\
diss
 */
.section-title {
  color: var(--title-color);
  font-family: var(--title-font);
  font-size: var(--title-size-main);
  font-weight: var(--title-weight);
  letter-spacing: var(--title-spacing);
  text-transform: uppercase;
  line-height: 1.2em;
  margin-bottom: 1em;
  text-align: center; /* Optional */
}

/*-----------------------------------*\
  #REUSED STYLE
\*-----------------------------------*/

.container { padding-inline: 16px; }

.separator {
  width: 8px;
  height: 8px;
  border: 1px solid var(--gold-crayola);
  transform: rotate(45deg);
}

.contact-label { font-weight: var(--weight-bold); }

.contact-number {
  color: var(--gold-crayola);
  max-width: max-content;
  margin-inline: auto;
}

.hover-underline {
  position: relative;
  max-width: max-content;
}

.hover-underline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 5px;
  border-block: 1px solid var(--gold-crayola);
  transform: scaleX(0.2);
  opacity: 0;
  transition: var(--transition-2);
}

.hover-underline:is(:hover, :focus-visible)::after {
  transform: scaleX(1);
  opacity: 1;
}

.contact-number::after { bottom: -5px; }

.text-center { text-align: center; }

.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.section-subtitle {
  position: relative;
  color: var(--gold-crayola);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: var(--letterSpacing-2);
  margin-block-end: 12px;
}

.section-subtitle::after {
  content: url('/assets/images/separator1.png');
  display: block;
  width: 100px;
  margin-inline: auto;
  margin-block-start: 5px;
}

.btn {
  position: relative;
  color: var(--gold-crayola);
  font-size: var(--fontSize-label-2);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: var(--letterSpacing-5);
  max-width: max-content;
  border: 2px solid var(--gold-crayola);
  padding: 12px 45px;
  overflow: hidden;
  z-index: 1;
}

.btn::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 200%;
  height: 200%;
  border-radius: var(--radius-circle);
  background-color: var(--gold-crayola);
  transition: var(--transition-2);
  z-index: -1;
}

.btn .text { transition: var(--transition-1); }

.btn .text-2 {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: max-content;
  color: var(--smoky-black-1);
}

.btn:is(:hover, :focus-visible)::before { bottom: -50%; }

.btn:is(:hover, :focus-visible) .text-1 { transform: translateY(-40px); }

.btn:is(:hover, :focus-visible) .text-2 {
  top: 50%;
  transform: translate(-50%, -50%);
}

.btn-secondary {
  background-color: var(--gold-crayola);
  color: var(--black);
}

.btn-secondary::before { background-color: var(--smoky-black-1); }

.btn-secondary .text-2 { color: var(--white); }

.has-before,
.has-after {
  position: relative;
  z-index: 1;
}

.has-before::before,
.has-after::after {
  content: "";
  position: absolute;
}

.section {
  position: relative;
  padding-block: var(--section-space);
  overflow: hidden;
  z-index: 1;
}

.bg-black-10 { background-color: var(--smoky-black-2); }

.grid-list {
  display: grid;
  gap: 40px;
}

.hover\:shine { position: relative; }

.hover\:shine::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background-image: linear-gradient(to right, transparent 0%, #fff6 100%);
  transform: skewX(-0.08turn) translateX(-180%);
}

.hover\:shine:is(:hover, :focus-within)::after {
  transform: skewX(-0.08turn) translateX(275%);
  transition: var(--transition-3);
}

.img-holder {
  aspect-ratio: var(--width) / var(--height);
  overflow: hidden;
  background-color: var(--eerie-black-4);
}

.btn-text {
  color: var(--gold-crayola);
  padding-block-end: 4px;
  margin-inline: auto;
  text-transform: uppercase;
  letter-spacing: var(--letterSpacing-3);
  font-weight: var(--weight-bold);
  transition: var(--transition-1);
}

.btn-text:is(:hover, :focus-visible) { color: var(--white); }

.shape {
  display: none;
  position: absolute;
  max-width: max-content;
  z-index: -1;
}

.w-100 { width: 100%; }

.move-anim { animation: move 5s linear infinite; }

@keyframes move {
  0%,
  100% { transform: translateY(0); }

  50% { transform: translateY(30px); }
}

.has-bg-image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.input-field {
  background-color: var(--eerie-black-2);
  color: var(--white);
  height: 56px;
  padding: 10px 20px;
  border: 1px solid var(--white-alpha-10);
  margin-block-end: 20px;
  outline: none;
  transition: border-color var(--transition-2);
}

.input-field::placeholder { color: inherit; }

.input-field:focus { border-color: var(--gold-crayola); }

.icon-wrapper {
  position: relative;
  margin-block-end: 20px;
}

.icon-wrapper .input-field {
  margin-block-end: 0;
  padding-inline-start: 40px;
  appearance: none;
  cursor: pointer;
}

.icon-wrapper ion-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4rem;
  --ionicon-stroke-width: 50px;
  pointer-events: none;
}

.icon-wrapper ion-icon:first-child { left: 15px; }

.icon-wrapper ion-icon:last-child { right: 10px; }

/*-----------------------------------*\
  #PRELOAD
\*-----------------------------------*/

.preload {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--gold-crayola);
  z-index: 10;
  display: grid;
  place-content: center;
  justify-items: center;
  transition: var(--transition-2);
  display: none;
}

.preload > * { transition: var(--transition-1); }

.preload.loaded > * { opacity: 0; }

.preload.loaded {
  transition-delay: 250ms;
  transform: translateY(100%);
}

@keyframes rotate360 {
  0% { transform: rotate(0); }
  100% { transform: rotate(1turn); }
}

.preload .text {
  background-image: var(--loading-text-gradient);
  background-size: 500%;
  font-size: calc(2rem + 3vw);
  font-weight: var(--weight-bold);
  line-height: 1em;
  text-transform: uppercase;
  letter-spacing: 16px;
  padding-inline-start: 16px;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-stroke: 0.5px var(--eerie-black-3);
  animation: loadingText linear 2s infinite;
}

@keyframes loadingText {
  0% { background-position: 100%; }
  100% { background-position: 0%; }
}

/*-----------------------------------*\
  #TOPBAR
\*-----------------------------------*/

.topbar { display: none; }

/*-----------------------------------*\
  #HEADER
\*-----------------------------------*/

.header .btn { display: none; }

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: transparent;
  padding-block: 40px;
  z-index: 4;
  border-block-end: 1px solid transparent;
  transition: var(--transition-1);
}

.header.active {
  padding-block: 20px;
  background-color: var(--eerie-black-4);
  border-color: var(--black-alpha-15);
}

.header.hide {
  transform: translateY(-100%);
  transition-delay: 250ms;
}

.header .container {
  padding-inline: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.nav-open-btn {
  padding: 12px;
  padding-inline-end: 0;
}

.nav-open-btn .line {
  width: 30px;
  height: 2px;
  background-color: var(--white);
  margin-block: 4px;
  transform-origin: left;
  animation: menuBtn 400ms ease-in-out alternate infinite;
}

@keyframes menuBtn {
  0% { transform: scaleX(1); }
  100% { transform: scaleX(0.5); }
}

.nav-open-btn .line-2 { animation-delay: 150ms; }

.nav-open-btn .line-3 { animation-delay: 300ms; }

.navbar {
  position: fixed;
  background-color: var(--smoky-black-1);
  top: 0;
  left: -360px;
  bottom: 0;
  max-width: 360px;
  width: 100%;
  padding-inline: 30px;
  padding-block-end: 50px;
  overflow-y: auto;
  visibility: hidden;
  z-index: 2;
  transition: var(--transition-2);
}

.navbar.active {
  visibility: visible;
  transform: translateX(360px);
}

.navbar .close-btn {
  color: var(--white);
  border: 1px solid currentColor;
  padding: 4px;
  border-radius: var(--radius-circle);
  margin-inline-start: auto;
  margin-block: 30px 20px;
}

.navbar .close-btn ion-icon { --ionicon-stroke-width: 40px; }

.navbar .close-btn:is(:hover, :focus-visible) { color: var(--gold-crayola); }

.navbar .logo {
  max-width: max-content;
  margin-inline: auto;
  margin-block-end: 60px;
}

.navbar-list {
  border-block-end: 1px solid var(--white-alpha-20);
  margin-block-end: 100px;
}

.navbar-item { border-block-start: 1px solid var(--white-alpha-20); }

.navbar-link {
  position: relative;
  font-size: var(--fontSize-label-2);
  text-transform: uppercase;
  padding-block: 10px;
  max-width: unset;
}

.navbar-link::after { display: none; }

.navbar-link .span { transition: var(--transition-1); }

.navbar-link:is(:hover, :focus-visible, .active) .span {
color: #ff4fb8;
  transform: translateX(20px);
}

.navbar-link .separator {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(45deg);
  opacity: 0;
  transition: var(--transition-1);
}

.navbar-link:is(:hover, :focus-visible, .active) .separator { opacity: 1; }

.navbar-title { margin-block-end: 15px; }

.navbar-text { margin-block: 10px; }

.navbar .body-4 { color: var(--quick-silver); }

.sidebar-link { transition: var(--transition-1); }

.sidebar-link:is(:hover, :focus-visible) { color: var(--gold-crayola); }

.navbar .text-center .separator {
  margin-block: 30px;
  margin-inline: auto;
}

.navbar .contact-label { margin-block-end: 10px; }

.navbar::-webkit-scrollbar-thumb { background-color: var(--white-alpha-10); }

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: var(--black-alpha-80);
  opacity: 0;
  pointer-events: none;
  transition: var(--transition-2);
  z-index: 1;
}

.overlay.active {
  opacity: 1;
  pointer-events: all;
}





/* === VIDEO SECTION === */
.about-video-banner {
  position: relative;
  height: 70vh;
  overflow: hidden;
}

.video-container {
  position: relative;
  height: 100%;
}

.video-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.video-container .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
}

/* === ABOUT SECTION === */
.about-info-section {
  background: var(--color-bg);
  padding: 6rem 2rem;
  text-align: center;
}

.about-info-section .container {
  max-width: 960px;
  margin: auto;
}

.about-card {
  width: 999px;
  height: 600px;
  max-width: 90vw;
  margin: auto;
  padding: 2.5rem;
  border-radius: 1rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.61);
}

.about-card .section-subtitle {
  color: var(--color-secondary);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
}

.about-card .section-title {
  font-size: 4rem;
  margin-bottom: 1rem;
}

.about-card .section-text {
    text-indent: 2em;
  font-size: 1.9 rem;
  line-height: 1.9;
  flex-grow: 1;
  display: flex;
  flex-direction: initial;
  justify-content: space-evenly;
  text-align: center;
}

.btn-group {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-top: 2rem;
}

/* LOCATION BUTTON GROUP */
.location-btn-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
}

.location-btn-group .btn {
  min-width: 200px;
}

/* === MOBILE OPTIMIZATION === */
@media (max-width: 768px) {
  .about-card {
    width: 100%;
    height: auto;
    padding: 2rem 1.5rem;
  }

  .about-card .section-title {
    font-size: 1.5rem;
  }

  .about-card .section-text {
    font-size: 0.95rem;
    display: block;
    text-align: left;
    margin-top: 1rem;
  }
}








/*-----------------------------------*\
  #HERO
\*-----------------------------------*/

.hero .slider-btn { display: none; }

.hero {
  position: relative;
  padding-block: 120px;
  min-height: 100vh;
  overflow: hidden;
  z-index: 1;
}

.hero .slider-item {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  display: grid;
  place-content: center;
  padding-block-start: 100px;
  opacity: 0;
  visibility: hidden;
  transition: var(--transition-3);
  z-index: 1;
}

.hero .slider-item.active {
  opacity: 1;
  visibility: visible;
}

.hero .slider-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale(1.15);
  pointer-events: none;
  user-select: none;
  z-index: -1;
}

.hero .slider-item.active .slider-bg {
  animation: smoothScale 7s linear forwards;
}

@keyframes smoothScale {
  0% { transform: scale(1); }
  100% { transform: scale(1.15); }
}

.hero .section-subtitle::after { margin-block: 14px 20px; }

.hero-text { margin-block: 10px 40px; }

.hero .btn { margin-inline: auto; }

.hero-btn {
  position: absolute;
  bottom: 15px;
  right: 15px;
  z-index: 2;
  background-color: var(--gold-crayola);
  width: 110px;
  height: 110px;
  padding: 12px;
  transform: scale(0.6);
}

/*hero btn colors */
.btn .text-1 {
  opacity: 1;
  color: #f0f0f0;
}

.hero-btn img {
  margin-inline: auto;
  margin-block-end: 6px;
}

.hero-btn .span {
  color: var(--black);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: var(--letterSpacing-1);
  line-height: var(--lineHeight-3);
}

.hero-btn::after {
  inset: 0;
  border: 1px solid var(--gold-crayola);
  animation: rotate360 15s linear infinite;
}

.slider-reveal {
  transform: translateY(30px);
  opacity: 0;
}

.hero .slider-item.active .slider-reveal {
  animation: sliderReveal 1s ease forwards;
}

@keyframes sliderReveal {
  0% {
  transform: translateY(30px);
  opacity: 0;
  }

  100% {
  transform: translateY(0);
  opacity: 1;
  }
}

.hero .slider-item.active .section-subtitle { animation-delay: 500ms; }

.hero .slider-item.active .hero-title { animation-delay: 1000ms; }

.hero .slider-item.active .hero-text { animation-delay: 1.5s; }

.hero .slider-item.active .btn { animation-delay: 2s; }


/*-----------------------------------*\
  #SERVICE
\*-----------------------------------*/

.service .section-title { margin-block-end: 16px; }
.service .section-text { margin-block-end: 40px; }
.service-card { overflow: hidden; }
.service-card .has-before {
  padding-block: 30px;
  margin-block-end: 26px;
  z-index: 1;
}

.service-card .has-before::before {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 140px;
  height: 100%;
  background-image: url('../images/img-pattern.png');
  background-position: center;
  background-size: cover;
  background-repeat: repeat;
  transition: var(--transition-2);
  transition-delay: 0;
  z-index: -1;
  will-change: transform;
}

.service-card:is(:hover, :focus-within) .has-before::before {
  transform: rotateY(0.5turn) translateX(50%);
  transition-delay: 300ms;
}

.service-card .card-banner { transition: var(--transition-2); }
.service-card:is(:hover, :focus-within) .card-banner { transform: scale(1.05); }
.service .card-title { margin-block-end: 12px; }

/*-----------------------------------*\
  #SPECIAL DISH
\*-----------------------------------*/

.special-dish-content { padding-block: 70px; }
.special-dish .abs-img {
  margin-inline: auto;
  margin-block-end: 12px;
}

.special-dish .section-text { margin-block: 16px 40px; }
.special-dish-content .wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-block-end: 40px;
}

.special-dish-content .del {
  text-decoration: none;
  color: var(--davys-grey);
}

.special-dish-content .span { color: var(--gold-crayola); }
.special-dish .btn { margin-inline: auto; }

  /**
   * SERVICE
   */

  .service .shape { display: block; }

  .service .shape-1 {
  bottom: 0;
  left: 0;
  }

  .service .shape-2 {
  top: 0;
  right: 0;
  }
.special-dish {
  position: relative;
  overflow: hidden; /* Prevents shape from spilling out of the section */
}

.special-dish .shape.shape-1 {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: -1; /* Put it behind the content */
  pointer-events: none; /* Allows clicks to pass through if needed */
}


/*-----------------------------------*\
  #TESTIMONIALS
\*-----------------------------------*/

.testi {
  padding-block-end: 340px;
  position: static;
}

.testi .wrapper {
  display: flex;
  justify-content: center;
  gap: 2px;
  margin-block: 40px 50px;
}

.testi .separator {
  animation: rotate360 15s linear infinite;
}


/*-----------------------------------*\
  # FEATURES
\*-----------------------------------*/

/* 1. Grid layout: force each <li> to stretch to the height of the tallest */
.features .grid-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: stretch;    /* ← makes all the <li>s the same height */
}

/* 2. Turn each <li> into a flex container so its child can fill it */
.features .grid-list .feature-item {
  display: flex;
}

/* 3. Stretch the card inside the <li>, and stack its content from the top */
.feature-card {
  background-color: var(--eerie-black-3);
  padding: 30px 20px 40px;
  border-radius: 1rem;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);

  display: flex;
  flex-direction: column;
  justify-content: flex-start;  /* ← pin everything to the top */
  height: 100%;                  /* ← fill the <li>’s height */
  flex: 1;                       /* ← ensure it grows/shrinks equally */
}

/* keep your icon animation */
.feature-card .card-icon {
  max-width: max-content;
  margin: 0 auto 1rem;
  transition: var(--transition-2);
}
.feature-card:hover .card-icon {
  transform: scale(-1) rotate(130deg);
}

/* tighten up the title/text spacing */
.feature-card .card-title {
  margin: 0 0 1rem;
  color: var(--white);
}
.feature-card .card-text {
  margin: 0;
  color: var(--eerie-black-3);
  line-height: var(--lineHeight-6);
}





/* CATERING BTTN */
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  padding: 20px;
  box-sizing: border-box;
}

.button.cater {
  position: absolute;  /* Use absolute to position the button relative to the nearest positioned ancestor */
  left: 50%;  /* Center the button horizontally */
  transform: translateX(-50%);  /* Adjust for perfect centering */
  text-align: center;
  display: block;  /* Ensures block-level behavior */
  margin: 0 auto;  /* Centers the button horizontally */
}

/* Modal Content */
.modal-content {
  background-color: #fff;
  margin: auto;
  padding: 20px;
  border-radius: 10px;
  max-width: 600px;
  width: 100%;
  box-sizing: border-box;
}

/* Close Button */
.close {
  color: #ff4fb8;
  font-size: 30px;
  cursor: pointer;
  position: absolute;
  top: 10px;
  right: 20px;
}

.close:hover,
.close:focus {
  color: rgba(0, 0, 0, 0.5);
  text-decoration: none;
}

/* Button Styles */
.modal-button,
.email-button {
  display: inline-block;
  padding: 15px 30px;
  color: white;
  background-color: rgba(0, 10, 0, 0.2);  /* Green button (adjusted from default pink) */
  border: none;
  border-radius: 5px;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.3s ease, transform 0.3s ease;
}

.modal-button {
  background-color: rgba(105, 105, 105, 0.2);  /* Default black button */
}

.modal-button:hover {
  background-color: #ed4ab1;  /* Darker green */
  transform: scale(1.05);  /* Slightly increase the button size on hover */
}

.email-button {
  background-color: #ed4ab1; /* Light pink button */
}

.email-button:hover {
  background-color: #ed4ab1; /* Darker pink */
  transform: scale(1.05);  /* Slightly increase the button size on hover */
}

/* Responsive Styling for Mobile */
@media screen and (max-width: 768px) {
  .modal-content {
  padding: 15px;
  width: 90%;  /* Modal content width adjusted for smaller screens */
  }

  .modal-button,
  .email-button {
  font-size: 16px;  /* Slightly smaller font on mobile */
  padding: 12px 25px;
  max-width: 100%;  /* Buttons take full width on mobile */
  }

  .close {
  font-size: 25px;
  }
}

/* Responsive Styling for Mobile */
@media screen and (max-width: 768px) {
  .modal-content {
  padding: 15px;
  width: 90%;
  }

  .modal-button,
  .email-button {
  font-size: 16px; /* Slightly smaller font on mobile */
  padding: 12px 25px;
  max-width: 100%; /* Buttons take full width on mobile */
  }

  .close {
  font-size: 25px;
  }
}

/* Additional Styling */
.modal-button,
.email-button {
  box-sizing: border-box;
}

h2 {
  font-size: 24px;
  color: #333;
  font-weight: bold;
}

p {
  font-size: 16px;
  color: #666;
}

/*-----------------------------------*\
  #EVENT
\*-----------------------------------*/

.event .section-title { margin-block-end: 40px; }

.event-card {
  position: relative;
  overflow: hidden;
}

.event-card .card-content {
  background-image: var(--gradient-1);
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 35px 35px 25px;
}

.event-card .publish-date {
  position: absolute;
  top: 30px;
  left: 25px;
  padding: 5px 10px;
  color: var(--gold-crayola);
  background-color: rgba(0, 0, 0, 0.5);
  font-weight: var(--weight-bold);
  letter-spacing: var(--letterSpacing-1);
  line-height: 14px;
}

.event-card .card-subtitle {
  color: var(--gold-crayola);
  text-transform: uppercase;
  font-weight: var(--weight-bold);
  letter-spacing: var(--letterSpacing-2);
  margin-block-end: 5px;
}

.event-card .card-banner .img-cover { transition: var(--transition-2); }

.event-card:is(:hover, :focus-within) .img-cover { transform: scale(1.05); }

.event .btn {
  margin-inline: auto;
  margin-block-start: 40px;
}

/* Menu EVnts */
/* Styles specific to the new event section */
.event-two .grid-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* Two columns for larger screens */
  gap: 30px;  /* Space between the items */
  list-style: none;
  padding: 0;
  margin: 0;
}

.event-two .event-card {
  display: flex;
  flex-direction: column;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  max-width: 100%; /* Ensure card doesn't exceed container width */
}

.event-two .card-banner {
  position: relative;
  width: 100%; /* Ensures the banner takes up full width of the card */
  height: 450px; /* Set height to a fixed value */
  overflow: hidden;
  border-radius: 10px 10px 0 0;
}

.event-two .card-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Ensures the image covers the area */
}

/* Ensure card content is properly aligned */
.event-two .card-content {
  padding: 15px;  /* Reduced padding for smaller devices */
  text-align: center;
}

.event-two .btn {
  display: inline-block;
  padding: 12px 20px;
  background-color: #333333;
  color: #fff;
  text-decoration: none;
  border-radius: 5px;
  text-align: center;
}

.event-two .btn:hover {
  background-color: #ff4abb;
}

/* Media query for medium to small screens */
@media (max-width: 1024px) {
  .event-two .grid-list {
  grid-template-columns: repeat(2, 1fr); /* Still two columns for tablets */
  }
  .event-two .card-content {
  padding: 20px; /* Adjust padding for tablet */
  }
}

/* Media query for mobile screens */
@media (max-width: 768px) {
  .event-two .grid-list {
  grid-template-columns: 1fr; /* Stacks the events vertically on mobile */
  gap: 20px; /* Reduced gap for mobile */
  }

  .event-two .card-banner {
  height: 350px; /* Adjust height for smaller screens */
  }

  .event-two .card-banner img {
  object-fit: cover; /* Keep object fit */
  }

  .event-two .card-content {
  padding: 10px; /* Reduced padding for mobile */
  }
}

/* Media query for very small screens (mobile landscape, small tablets) */
@media (max-width: 480px) {
  .event-two .grid-list {
  grid-template-columns: 1fr; /* Ensure the grid is still single-column */
  }

  .event-two .card-banner {
  height: 300px; /* Adjust the image container height */
  }

  .event-two .card-banner img {
  object-fit: cover;
  }

  .event-two .card-content {
  padding: 8px; /* Further reduce padding */
  }

  .event-two .btn {
  padding: 10px 18px; /* Adjust button size on smaller screens */
  }
}



/*-----------------------------------*\
  #MEDIA QUERIES
\*-----------------------------------*/

/**
 * responsive for larger than 575px screen
 */

@media (min-width: 575px) {

  /**
   * CUSTOM PROPERTY
   */

  :root {

  /**
   * typography
   */

  --fontSize-body-2: 2rem;

  }

  /**
   * REUSED STYLE
   */

  :is(.service, .about) .section-text {
  max-width: 420px;
  margin-inline: auto;
  }

  .contact-number { --fontSize-body-1: 3rem; }

  /**
   * TOPBAR
   */

  .topbar {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding-block: 10px;
  border-block-end: 1px solid var(--white-alpha-20);
  z-index: 4;
  transition: var(--transition-1);
  }

  .topbar:has(~ .header.active) { transform: translateY(-100%); }

  .topbar-item:not(.link),
  .topbar .separator { display: none; }

  .topbar .container,
  .topbar-item {
  display: flex;
  align-items: center;
  }

  .topbar .container {
  justify-content: center;
  gap: 30px;
  }

  .topbar-item { gap: 6px; }

  .topbar-item ion-icon { --ionicon-stroke-width: 60px; }

  .topbar-item .span { font-size: var(--fontSize-label-1); }

  .topbar .link { transition: var(--transition-1); }

  .topbar .link:is(:hover, :focus-visible) { color: var(--gold-crayola); }

  /**
   * HEADER
   */

  .header { top: 51px; }

  .header.active { top: 0; }

  .header .btn {
  display: block;
  margin-inline-start: auto;
  }

  /**
   * HERO
   */

  .hero-btn { transform: scale(0.7);

  }

  /**
   * SERVICE
   */

  .service .container {
  max-width: 420px;
  margin-inline: auto;
  }
  /**
   * EVENT
   */

  .event .container {
  max-width: 420px;
  margin-inline: auto;
  }

/*-----------------------------------*\
  #FOOTER
\*-----------------------------------*/

.footer-top { margin-block-end: 70px; }

.footer-brand {
  position: relative;
  padding: 50px 40px;
  background: var(--smoky-black-1) url("../images/footer-form-bg.png");
  background-position: center top;
  background-repeat: repeat;
}

.footer-brand::before,
.footer-brand::after {
  top: 0;
  width: 15px;
  height: 100%;
  background-image: url("../images/footer-form-pattern.png");
}

.footer-brand::before { left: 0; }

.footer-brand::after { right: 0; }

.footer-brand .logo {
  max-width: max-content;
  margin-inline: auto;
  margin-block-end: 40px;
}

.footer-brand :is(.body-4, .label-1) {
  color: var(--quick-silver);
  line-height: var(--lineHeight-3);
}

.footer-brand .contact-link {
  margin-block: 6px;
  transition: var(--transition-1);
}

.footer-brand .contact-link:is(:hover, :focus-visible) { color: var(--gold-crayola); }

.footer-brand .wrapper {
  display: flex;
  justify-content: center;
  gap: 2px;
  margin-block: 40px 25px;
}

.footer-brand .separator { animation: rotate360 15s linear infinite; }

.footer-brand .label-1 { margin-block-end: 30px; }

.footer-brand .label-1 .span {
  display: inline;
  color: var(--white);
}

.footer-brand .icon-wrapper .input-field { cursor: text; }

.footer-brand .btn { min-width: 100%; }

.footer-list {
  display: grid;
  gap: 20px;
}

.footer-link {
  color: var(--quick-silver);
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: var(--letterSpacing-4);
  margin-inline: auto;
  transition: var(--transition-1);
}

.footer-link:is(:hover, :focus-visible) { color: var(--gold-crayola); }

.copyright {
  color: var(--quick-silver);
  line-height: var(--lineHeight-3);
}

.copyright .link {
  display: inline;
  color: var(--gold-crayola);
  text-decoration: underline;
}
  .footer-brand > * {
  max-width: 460px;
  margin-inline: auto;
  }

  .footer .input-wrapper { position: relative; }

  .footer .input-field {
  margin-block-end: 0;
  padding-inline-end: 205px;
  }

  .footer-brand .btn {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  min-width: max-content;
  }
  .footer-brand { grid-column: 1 / 3; }
  .footer .grid-list {
  grid-template-columns: 0.45fr 1fr 0.45fr;
  align-items: center;
  }

  .footer-brand {
  grid-column: auto;
  order: 1;
  padding-block: 100px;
  }

  .footer-list:last-child { order: 2; }

}
  .footer-brand { grid-column: 1 / 3; }

  /**
   * HEADER
   */

  .navbar-list { margin-inline: 30px; }

  /**
   * HERO
   */

  .hero .slider-btn {
  display: grid;
  position: absolute;
  z-index: 1;
  color: var(--gold-crayola);
  font-size: 2.4rem;
  border: 1px solid var(--gold-crayola);
  width: 45px;
  height: 45px;
  place-items: center;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  transition: var(--transition-1);
  }

  .hero .slider-btn ion-icon { transform: rotate(-45deg); }

  .hero .slider-btn.prev { left: 30px; }

  .hero .slider-btn.next { right: 30px; }

  .hero .slider-btn:is(:hover, :focus-visible) {
  background-color: var(--gold-crayola);
  color: var(--black);
  }

  /**
   * RESERVATION
   */

  .reservation .input-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 20px;
  }

  .reservation .input-wrapper:nth-child(4) {
  grid-template-columns: repeat(3, 1fr);
  }

/**
 * responsive for larger than 992px screen
 */

@media (min-width: 992px) {

  /**
   * CUSTOM PROPERTY
   */

  :root {

  /**
   * spacing
   */

  --section-space: 100px;

  }

  /**
   * REUSED STYLE
   */

  :is(.service, .event) .container { max-width: unset; }

  :is(.service, .event) .grid-list { grid-template-columns: repeat(3, 1fr); }

  :is(.service, .event) .grid-list li:last-child {
  grid-column: auto;
  width: 100%;
  }
  /**
   * TOPBAR
   */

  .topbar-item:not(.link) { display: flex; }

  .topbar .item-2 { margin-inline-end: auto; }

  /**
   * SERVICE
   */

  .service .shape { display: block; }

  .service .shape-1 {
  bottom: 0;
  left: 0;
  }

  .service .shape-2 {
  top: 0;
  right: 0;
  }


  /**
   * SPECIAL DISH
   */

  .special-dish {
  display: grid;
  grid-template-columns: 1fr 1fr;
  text-align: left;
  }

  .special-dish-content { padding-inline: 50px 25px; }

  .special-dish-content .container { position: relative; }

  .special-dish .section-subtitle::after,
  .special-dish .btn { margin-inline: 0; }

  .special-dish-content .wrapper { justify-content: flex-start; }

  .special-dish .abs-img {
  position: absolute;
  top: 10px;
  left: -40px;
  animation: move 5s linear infinite;
  }

  /**
   * CUSTOM PROPERTY
   */

  :root {

  /**
   * typography
   */

  --fontSize-title-2: 2.5rem;

  }
  /**
   * REUSED STYLE
   */

  .container,
  :is(.service, .event) .container {
  max-width: 1200px;
  width: 100%;
  margin-inline: auto;
  }

  /**
   * TOPBAR
   */

  .topbar .container { max-width: unset; }

  .topbar .separator { display: block; }



  /**
   * HEADER
   */

  .nav-open-btn,
  .navbar > *:not(.navbar-list),
  .header .overlay { display: none; }

  .header .container { max-width: unset; }

  .navbar,
  .navbar.active,
  .navbar-list { all: unset; }

  .navbar,
  .navbar.active { margin-inline: auto 20px; }

  .navbar-list {
  display: flex;
  gap: 30px;
  }

  .navbar-item { border-block-start: none; }

  .navbar .separator { display: none; }

  .navbar-link:is(:hover, :focus-visible, .active) .span {
  transform: unset;
  }

  .navbar-link {
  font-weight: var(--weight-bold);
  letter-spacing: var(--letterSpacing-1);
  }

  .navbar-link::after { display: block; }

  .navbar-link.active::after {
  transform: scaleX(1);
  opacity: 1;
  }

  .header .btn { margin-inline-start: 0; }



  /**
   * HERO
   */

  .hero { height: 880px; }

  .hero-btn {
  bottom: 50px;
  right: 50px;
  transform: scale(1);
  }


  /**
   * SERVICE
   */

  .service .grid-list { gap: 150px; }

  .service .grid-list li:nth-child(2n+1) { transform: translateY(-160px); }

  .service .section-text { margin-block-end: 75px; }

/* Special Dish Section Styles */
.special-dish-content {
text-align: center;
  padding: 80px 30px; /* Adjusted padding for a balanced look */
  padding-inline-end: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* Container Styles */
.special-dish-content .container {
  width: 100%;
  max-width: 1100px; /* Max-width to ensure content isn't too stretched on large screens */
  padding: 0 15px; /* Small padding to ensure content doesn't touch the edges */
  box-sizing: border-box; /* Ensure padding is included in width */
}

/* Image Slider Styles */
.special-dish-banner .slider-container {
  position: relative;
  width: 100%;
  height: 100%;
  max-height: 100%; /* Slightly reduced height for better proportion */
  overflow: hidden;
}

.special-dish-banner .slider {
  display: flex;
  transition: transform 0.9s ease-in-out;
}

.special-dish-banner .slide {
  width: 100%;
  height: 100%; /* Full height of the slider container */
  object-fit: cover; /* Prevent image distortion */
}

/* Navigation Buttons */
.special-dish-banner .prev,
.special-dish-banner .next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  font-size: 30px;
  padding: 10px;
  cursor: pointer;
  z-index: 10;
  border-radius: 50%;
}

.special-dish-banner .prev {
  left: 10px;
}

.special-dish-banner .next {
  right: 10px;
}

/* Hover effect for navigation buttons */
.special-dish-banner .prev:hover, .special-dish-banner .next:hover {
  background-color: rgba(0, 0, 0, 0.7);
}

/* Accessibility: Aria labels for buttons */
.special-dish-banner .prev[aria-label="Previous Slide"],
.special-dish-banner .next[aria-label="Next Slide"] {
  border: 2px solid transparent;
}

/* General styling for special dish */
.special-dish-banner .slider-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%; /* 16:9 Aspect ratio for large screens */
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Image slider styling */
.special-dish-banner .slider {
  display: flex;
  width: 100%;
  height: 100%;
}

.special-dish-banner .slider img {
  width: 100%;
  height: auto;
  object-fit: cover; /* Ensure images fill the container without distortion */
  object-position: center;
}
}

/*-----------------------------------*\
  # MENU
\*-----------------------------------*/

  .menu {
  color: var( --black-alpha-15); /* or --white or your custom variable */
}

.menu .grid-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* Two columns */
  gap: 55px; /* Gap between items */
  position: relative;
  margin-block-end: 55px; /* Space after the grid */
}

.menu .grid-list::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
  border-inline-start: 1px solid var(--white-alpha-20); /* Create a separator between columns */
}

.menu .section-title {
  margin-block-end: 40px;
}

.menu-card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background-color: var( --black-alpha-15);
  padding: 20px;
  border-radius: var(--radius-24);
  box-shadow: 0 2px 10px rgba(150, 148, 148, 0.54);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.menu-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 15px rgba(255, 255, 255, 0.35);
}

.menu-card .card-banner {
  flex-shrink: 0;
  border-radius: var(--radius-24);
  overflow: hidden;
  width: 150px; /* Set fixed width for images */
}

.menu-card .card-banner .img-cover {
  transition: transform 0.3s ease;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.menu-card .hover\:card:hover .card-banner .img-cover {
  transform: scale(1.05); /* Zoom effect on hover */
}

.menu-card .title-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
}

.menu-card .card-title {
  transition: color 0.3s ease;
}

.menu-card .card-title:hover {
  color: var(--gold-crayola);
}

.menu-card .badge {
  background-color: var(--gold-crayola);
  color: var(--eerie-black-1);
  font-family: var(--fontFamily-forum);
  padding-inline: 10px;
  line-height: var(--lineHeight-6);
  text-transform: uppercase;
  margin-block-start: 10px;
}

.menu-card .span {
  color: var(--white);
  margin-block: 10px;
}

.menu-card .card-text {
  color: var(--quick-silver);
  line-height: var(--lineHeight-4);
}

.menu-text .span {
  display: inline-block;
  color: var(--gold-crayola);
}

.menu .btn {
  margin-inline: auto;
  margin-block-start: 26px;
}

.menu .shape {
  display: block;
  width: 70%;
}

.menu .shape-2 {
  top: 0;
  left: 0;
}

.menu .shape-3 {
  bottom: 0;
  right: 0;
}


.menu-card .span {
  flex-grow: 1;
  display: flex;
  align-items: center;
  gap: 15px;
  position: relative;
}

.menu-card .span::before {
  content: "";
  height: 6px;
  flex-grow: 1;
  border-block: 1px solid var(--white-alpha-20);
}

/* Media Queries for Responsive Layout */

@media (max-width: 1200px) {
  .menu .grid-list {
  grid-template-columns: repeat(2, 1fr); /* Two columns for medium screens */
  gap: 30px; /* Slightly reduced gap */
  }
}

@media (max-width: 768px) {
  .menu .grid-list {
  grid-template-columns: 1fr; /* Stack into one column for smaller screens */
  gap: 20px; /* Smaller gap between items */
  }

  /* Adjust card title and text for better mobile view */
  .menu-card .card-title {
  font-size: 1.1rem; /* Smaller font size for better readability */
  }

  .menu-card .card-text {
  font-size: 0.9rem; /* Adjust description size */
  }

  .menu-card .badge {
  font-size: 0.9rem; /* Adjust badge size */
  padding-inline: 8px; /* Smaller padding */
  }

  .menu .btn {
  margin-inline: auto;
  margin-block-start: 20px; /* Less margin on small screens */

  }
}

@media (max-width: 480px) {
  .menu .grid-list {
  grid-template-columns: 1fr; /* Single column layout for extra small screens */
  gap: 15px; /* Tighter gap for very small screens */
  }

  .menu-card .card-title {
  font-size: 1rem; /* Even smaller font size for readability */
  }

  .menu-card .badge {
  font-size: 0.8rem; /* Adjust badge size */
  padding-inline: 6px; /* Smaller padding */
  }

  .menu-card .card-banner {
  width: 120px; /* Adjust image size on small screens */
  }

  .menu .btn {
  margin-inline: auto;
  margin-block-start: 15px; /* Less margin on very small screens */
  }
}

  /*-----------------------------------*\
   #TESTIMONIALS
 \*-----------------------------------*/

.testi {
  padding-block-end: 340px;
  position: static;
}

.testi .wrapper {
  display: flex;
  justify-content: center;
  gap: 2px;
  margin-block: 40px 50px;
}

.testi .separator { animation: rotate360 15s linear infinite; }

  .reservation-form,

 /*-----------------------------------*\
#RESERVATION START
\*-----------------------------------*/



.form-text { margin-block-end: 40px; }

.form-text .link {
  display: inline;
  color: var(--gold-crayola);
}

.form-right .headline-1 { margin-block-end: 40px; }

.form-right .contact-label { margin-block-end: 5px; }

.form-right .separator { margin: 20px auto; }

.form-right .body-4 {
  color: var(--quick-silver);
  line-height: var(--lineHeight-3);
}

.form-right .body-4:not(:last-child) { margin-block-end: 25px; }

.form-left,
.form-right { padding: 40px 20px 30px; }

.input-field[type="date"] {
  text-transform: uppercase;
  padding-inline-end: 10px;
}

.input-field[type="date"]::-webkit-calendar-picker-indicator { opacity: 0; }

textarea.input-field {
  resize: none;
  height: 140px;
  padding-block: 20px;
  line-height: var(--lineHeight-1);
}

.form-left .btn {
  max-width: 100%;
  width: 100%;
}

.form-right {
  background-repeat: repeat;
  background-position: top left;

  /**
   * TESTIMONIALS
   */

/* Ensure the video background section takes full height */
.container.testi {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh; /* Full viewport height */
  margin-bottom: 0; /* Remove any bottom margin */
}

/* Style for the video background */
.video-background video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* This ensures the video covers the entire section */
  z-index: -1; /* Place the video behind the content */
}

/* The reservation section */
.reservation {
  position: relative;
  z-index: 1; /* Ensure it appears above the video */
  margin-top: -40px; /* Negative margin to overlap slightly with the video */
  padding-top: 40px; /* Optional padding if you want to add space for the reservation content */
}

/* Optional: You can adjust the padding/margins based on your preference */
.container {
  padding: 0; /* Remove extra padding in container */
}

.form.reservation-form {
  padding: 20px;
}

/* Ensure form content aligns well */
.input-wrapper {
  margin-bottom: 20px;
}

textarea.input-field {
  margin-bottom: 20px;
}

/* On mobile devices, ensure proper overlap */
@media (max-width: 768px) {
  .section.testi {
  height: 60vh; /* Adjust the video height on smaller screens */
  }

  .reservation {
  margin-top: -30px; /* Slight overlap on mobile devices */
  padding-top: 30px; /* Add some space to the content */
  }
}

/* On even smaller screens (mobile landscape) */
@media (max-width: 480px) {
  .section.testi {
  height: 50vh; /* Reduce video height further */
  }

  .reservation {
  margin-top: -20px; /* More slight overlap for very small screens */
  padding-top: 20px; /* Adjust padding as needed */
  }
}
}
/* RESERVATION END--------------- */

/*-----------------------------------*\
  #FEATURES START----------------
\*-----------------------------------*/

/* Base styles for smaller screens */
.features .section-title {
  margin-block-end: 40px;
  font-size: calc(1.5rem + 2vw); /* Responsive title size */
}

.feature-card {
  padding: 20px 15px 30px; /* Padding adjusted for smaller screens */
  transition: transform var(--transition-2), background-color var(--transition-2);
}

.feature-card .card-icon {
  max-width: max-content;
  margin-inline: auto;
  transition: transform var(--transition-2);
}

/* Hover effect with a smooth transition */
.feature-card:hover .card-icon {
  transform: scale(1.1) ; /* More subtle and smoother effect */
}

.feature-card .card-title {
  margin-block: 20px;
  font-size: calc(1.2rem + 1vw); /* Responsive title size for card */
}

.feature-card .card-text {
  color: var(--quick-silver);
  line-height: var(--lineHeight-6);
  font-size: calc(0.9rem + 0.5vw); /* Responsive font size for text */
}

/* Grid setup for smaller screens (mobile-first approach) */
.features .grid-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); /* Flexible grid for small screens */
  gap: 20px;
}

/* device Styling for Features Section */
.features {
  overflow: visible;
  position: relative;
}

.features .shape {
  display: block;
  position: absolute;
}

.features .shape-1 {
  top: -100px;
  right: 0;
}

.features .shape-2 {
  bottom: 80px;
  left: 0;
}

/* Larger screens */
@media (min-width: 576px) {
  .feature-item {
  flex-basis: 48%; /* Two items per row on small devices */
  }

  .features .section-title {
  font-size: calc(1.8rem + 1.5vw); /* Larger titles for bigger screens */
  }
}

@media (min-width: 768px) {
  .features .section-title {
  font-size: calc(2rem + 1.5vw); /* Adjust title size for tablets */
  }

  .feature-item {
  flex-basis: 30%; /* Three items per row on medium screens */
  }
}

@media (min-width: 1024px) {
  .feature-item {
  flex-basis: 22%; /* Four items per row on large screens */
  }

  .features .section-title {
  font-size: calc(2.2rem + 1.2vw); /* Adjust title for large screens */
  }
}

@media (min-width: 1200px) {
  .feature-item {
  flex-basis: 22%; /* Maintain 4 items per row for very large screens */
  }

  .feature-card {
  padding: 40px 30px 50px; /* Larger padding for larger screens */
  }
}
/* FEATURES END--------------- */

  /**
   * SPECIAL DISH--------------------------
   */

  .special-dish {
  overflow: visible;
  position: relative;
  }

  .special-dish .shape {
  display: block;
  right: 0;
  z-index: 1;
  }

  .special-dish .shape-1 { top: 45%; }

  .special-dish .shape-2 {
  bottom: 0;
  transform: translateY(50%);
  width: max-content;
  }

.page-container {
  display: flex;
  width: 100%;
}

.menu-background-wrapper {
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  padding: 40px;
  width: 25%; /* Adjusted for two menus and content */
  min-width: 250px;
}

.btn-primary {
  position: relative;
  z-index: 1;
  display: block;
  width: fit-content;
  margin: 20px auto;
  text-align: center;
}

.content-area {
  flex: 1;
  padding: 20px;
  margin: 20px; /* add margin */
  background-color: #f0f0f0; /* add background color */
  border-radius: 8px; /* add rounded corners */
  line-height: 1.6; /* improve readability */
}

@media (max-width: 768px) {
  .page-container {
  flex-direction: column;
  }

  .menu-background-wrapper {
  width: 100%;
  }

  .menu-controls-left,
  .menu-controls-right {
  width: 100%;
  justify-content: center;
  margin: 10px 0;
  }
}
  .menu .shape {
  display: block;
  width: 70%;
}

.menu .shape-2 {
  top: 0;
  left: 0;
}

.menu .shape-3 {
  bottom: 0;
  right: 0;
}

/* GALLERY START--------------- */
/* Gallery Container */
.gallery-container {
  padding: 20px;
  text-align: center;
}

.gallery-title {
  font-size: 1rem;
  margin-bottom: 20px;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 images per row */
  gap: 15px;
  max-width: 1200px;
  margin: 0 auto;
}

/* Gallery Item */
.gallery-item {
  width: 100%;
  height: 100%;
  border: 5px solid #464646; /* Polaroid-style border */
  border-radius: 10px;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  cursor: pointer;
  object-fit: cover;
}
/* Responsive Styles Gallery */
@media screen and (max-width: 768px) {
  .gallery-grid {
  grid-template-columns: repeat(2, 1fr); /* 2 images per row on smaller screens */
  }
}

@media screen and (max-width: 480px) {
  .gallery-grid {
  grid-template-columns: 1fr; /* 1 image per row on mobile */
  }
}
/* Hover Effects */
.gallery-item:hover {
  transform: scale(1.05); /* Slight zoom effect */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); /* Drop shadow effect */
}

/* ============================
   GALLERY STYLES - Responsive & Polished
============================ */

.gallery-container {
  padding: 60px 20px;
  text-align: center;
}

.gallery-title {
  font-size: 2.5rem;
  margin-bottom: 30px;
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Responsive Grid Layout */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); /* Ensuring flexible grid */
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}

/* Gallery Item Styles */
.gallery-item {
  width: 100%;
  aspect-ratio: 4 / 3; /* Ensures image proportions are maintained */
  object-fit: cover; /* Makes sure the image fits nicely in the box */
  border: 5px solid #444;
  border-radius: 12px;
  background-color: #000000;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
  cursor: pointer;
  display: block;
}

/* Hover Effect */
.gallery-item:hover {
  transform: scale(1.04);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
}

/* Mobile Optimization */
@media screen and (max-width: 768px) {
  .gallery-title {
  font-size: 2rem;
  }

  .gallery-grid {
  gap: 15px; /* Reduced gap on smaller screens */
  }

  .gallery-item {
  border-width: 4px;
  border-radius: 10px;
  }
}

@media screen and (max-width: 480px) {
  .gallery-title {
  font-size: 1.75rem;
  }

  .gallery-grid {
  grid-template-columns: 1fr; /* Stacking images on smaller screens */
  gap: 10px; /* Even smaller gap on tiny screens */
  }

  .gallery-item {
  border-width: 3px;
  border-radius: 8px;
  }
}
/* GALLERY END------------------------------------------------------------------------------------------- */

/* Catering START---------------------------------------------------------------------------------------- */




/*-----------------------------------*\
  #RESERVATION PATCHED LAYOUT
\*-----------------------------------*/

.reservation-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  background-color: var(--smoky-black-2);
  padding: 60px;
  border-radius: var(--radius-24);
  align-items: stretch;
}

.form-left,
.contact-right {
  background-color: var(--smoky-black-1);
  padding: 40px 30px;
  border-radius: var(--radius-24);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contact-right h2 {
  margin-bottom: 20px;
  font-size: var(--fontSize-title-2);
  color: var(--gold-crayola);
  text-align: center;
}

.contact-info {
  color: var(--quick-silver);
  text-align: center;
  line-height: var(--lineHeight-5);
}

.contact-info p {
  margin-bottom: 12px;
}

@media (max-width: 768px) {
  .reservation-wrapper {
    grid-template-columns: 1fr;
  }
}




/*-----------------------------------*\
  #MENU
\*-----------------------------------*/

.menu .section-title { margin-block-end: 40px; }

.menu .grid-list { margin-block-end: 50px; }

.menu-card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

.hover\:card .card-banner { background-color: var(--gold-crayola); }

.hover\:card .card-banner .img-cover { transition: var(--transition-2); }

.hover\:card:is(:hover, :focus-within) .card-banner .img-cover {
  opacity: 0.7;
  transform: scale(1.05);
}

.menu-card .card-banner {
  flex-shrink: 0;
  border-radius: var(--radius-24);
}

.menu-card .card-title { transition: var(--transition-1); }

.menu-card .card-title:is(:hover, :focus-visible) { color: var(--gold-crayola); }

.menu-card .badge {
  background-color: var(--gold-crayola);
  color: var(--eerie-black-1);
  font-family: var(--fontFamily-forum);
  max-width: max-content;
  line-height: var(--lineHeight-6);
  text-transform: uppercase;
  padding-inline: 10px;
  margin-block-start: 10px;
}

.menu-card .span {
  color: var(--gold-crayola);
  margin-block: 10px;
}

.menu-card .card-text {
  color: var(--quick-silver);
  line-height: var(--lineHeight-4);
}

.menu-text .span {
  display: inline-block;
  color: var(--gold-crayola);
}

.menu .btn {
  margin-inline: auto;
  margin-block-start: 26px;
}

.menu .shape {
  display: block;
  width: 70%;
}

.menu .shape-2 {
  top: 0;
  left: 0;
}

.menu .shape-3 {
  bottom: 0;
  right: 0;
}
  .menu .grid-list {
    gap: 55px 200px;
    margin-block-end: 55px;
  }
  .menu .grid-list {
    position: relative;
    column-gap: 90px;
  }

  .menu .grid-list::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    height: 100%;
    border-inline-start: 1px solid var(--white-alpha-20);
  }
  .menu-card .title-wrapper {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
  }

  .menu-card .badge { margin-block-start: 0; }

  .menu-card .span {
    flex-grow: 1;
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
  }

  .menu-card .span::before {
    content: "";
    height: 6px;
    flex-grow: 1;
    border-block: 1px solid var(--white-alpha-20);
  }
  .menu-card .title-wrapper {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
  }

  .menu-card .badge { margin-block-start: 0; }

  .menu-card .span {
    flex-grow: 1;
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
  }

  .menu-card .span::before {
    content: "";
    height: 6px;
    flex-grow: 1;
    border-block: 1px solid var(--white-alpha-20);
  }

#locations-section {
  border-bottom: 10px double var(--black); /* thin white underline */
  padding-bottom: 2rem; /* space between content and line */

}


/* ----------------------------------- *
   # FOOTER – fresh layout
 * ----------------------------------- */

.footer{
  background-position:top center;
  background-size:cover;
  background-repeat:no-repeat;
  color:var(--quick-silver);
  padding-block:4rem 2rem;
}


.footer-inner{
  display:grid;
  gap:3rem;
}

.brand-block,
.links-block,
.map-block{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

.logo{margin-bottom:1rem;}

.foot-text{margin-block:.5rem;font-size: 16px;line-height:1.4;}
.foot-link{
  font-size:16px;
  margin-block:.3rem;
  transition:opacity .3s;
}
.foot-link:hover{opacity:.75;}

.link-list{
  display:grid;
  gap:.45rem;
  margin-bottom:1.3rem;
}
.link-list a{
  font-size: 13px;
  transition:opacity .3s;
}
.link-list a:hover{opacity:.75;}

.social-list{
  display:flex;
  gap:1rem;
  font-size:1.7rem;
}
.social-list a{transition:opacity .3s;}
.social-list a:hover{opacity:.7;}

.map-block iframe{
  width:100%;
  max-width:340px;
  height:220px;
  border:0;
  border-radius:.8rem;
  box-shadow:0 4px 20px hsl(0 0% 0% / .25);
  margin-inline:auto;
}

.copyright{
  border-top:1px solid hsla(0,0%,100%,.15);
  margin-top:2.5rem;
  padding-top:1.2rem;
  font-size: 16px;
  text-align:center;
}

/* Tablet & up */
@media(min-width:768px){
  .footer-inner{
    grid-template-columns: 1fr 1fr 1fr;
    align-items:start;
    text-align:left;
  }
  .brand-block,
  .links-block,
  .map-block{align-items:flex-start;}
  .map-block iframe{max-width:280px;height:200px;}
}

/* Large desktop */
@media(min-width:1200px){
  .footer-inner{gap:4rem;}
  .map-block iframe{max-width:320px;height:220px;}
}

/* ----------------------------------- *
   # UNIVERSAL FOOTER HOVER UNDERLINE EFFECT
 * ----------------------------------- */

.hover-underline {
  position: relative;
  text-decoration: none;
  color: inherit;
  transition: color .3s;
}

.hover-underline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;
  background: var(--gold-crayola);   /* use your accent color token */
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .35s cubic-bezier(.25,.8,.25,1);
}

.hover-underline:hover,
.hover-underline:focus {
  color: var(--gold-crayola);
}

.hover-underline:hover::after,
.hover-underline:focus::after {
  transform: scaleX(1);
  transform-origin: left;
}
