@import url("https://fonts.googleapis.com/css2?family=Caveat&family=Spartan:wght@500;600&display=swap");

/*
Headings:(semi bold)
font-family: 'Spartan', sans-serif;

Subheadings:
font-family: 'Caveat', cursive;

Text / buttons / nav:  (medium)
font-family: 'Spartan', sans-serif;
*/

body {
  font-family: "Spartan", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Spartan", sans-serif;
}

p {
  font-size: 1.1em;
}

.nav-v7 .navbar-logo .header-logo {
  max-width: 180px;
}

.navbar-regular.nav-v7 .navbar-nav>li>a {
  font-family: "Spartan", sans-serif;
  border-right: none !important;
}

.navbar.nav-v6 .header-logo {
  max-width: 70px;
}

.navbar.nav-v6 .container {
  width: 80%;
}

.navbar-regular.nav-v6 .navbar-nav>li>a,
li.drop-down-link .sub-menu a {
  font-family: "Spartan", sans-serif;
  font-weight: 500;
  font-size: 0.9em;
  border-right: none !important;
  padding: 0 10px;
  text-transform: uppercase;
}

li.drop-down-link .sub-menu {
  left: 0;
  top: 55px;
  padding: 15px 10px;
  width: 135px !important;
}

.nav-v6.nav-scroll li.drop-down-link .sub-menu {
  top: 50px;
}

li.drop-down-link .sub-menu a:focus {
  color: #001d3b;
}

.section-header,
.about-us-v8-content .text-wrapper h1,
.about-us-v7-content .text-wrapper h1,
.specials-v3.home-specials h1,
.specials h1,
.events-container h1,
.about-us-page .about-us-s1-content h1,
.custom-modal .newsletter-popup .section-header {
  text-transform: uppercase;
  font-family: "Spartan", sans-serif;
  font-weight: 600;
  font-size: 3.8em;
}

.about-us-v8-content .text-wrapper h2,
.reviews-v2-wrapper h2,
.map-newsletter h2,
.order-tmt-section h2 {
  font-family: "Caveat", cursive;
  text-transform: none;
  font-size: 1.7em;
}

.custom-temp-btn,
.custom-temp-btn:focus,
.custom-temp-btn:active,
.uk-overlay-panel a.custom-temp-btn,
.on-cover-content .section-wrapper a.custom-temp-btn,
.about-us-v7-content .text-wrapper .text-content .custom-temp-btn,
.about-us-v8-wrapper a.custom-temp-btn,
.map-newsletter .sph-email-subscription .sph-submit-button,
.custom-modal .newsletter-popup .sph-email-subscription .sph-submit-button,
.addtocalendar.atc-style-blue .atcb-link,
.specials-v3.home-specials div a.custom-temp-btn {
  padding: 10px 40px 6px;
  text-transform: uppercase;
  background-color: #171717;
  background: #171717;
  border: 2px solid #171717;
  color: #FFF;
  font-family: "Spartan", sans-serif;
  font-weight: 500;
  font-size: 16px;
  -webkit-box-shadow: none;
  box-shadow: none;
  border-radius: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.custom-temp-btn:hover,
.uk-overlay-panel a.custom-temp-btn:hover,
.about-us-v8-wrapper a.custom-temp-btn:hover,
.specials-v3.home-specials div a.custom-temp-btn:hover,
.map-newsletter .sph-email-subscription .sph-submit-button:hover,
.custom-modal .newsletter-popup .sph-email-subscription .sph-submit-button:hover,
.addtocalendar.atc-style-blue .atcb-link:hover {
  text-decoration: none;
  background-color: transparent;
  background: transparent;
  border: 2px solid #171717;
  color: #171717;
  opacity: 1;
}

.uk-overlay-panel a.custom-temp-btn,
.on-cover-content .section-wrapper a.custom-temp-btn,
.addtocalendar.atc-style-blue .atcb-link {
  background-color: #fff;
  background: #fff;
  border: 2px solid #fff;
  color: #171717;
}

.uk-overlay-panel a.custom-temp-btn:hover,
.on-cover-content .section-wrapper a.custom-temp-btn:hover,
.addtocalendar.atc-style-blue .atcb-link:hover {
  background-color: transparent;
  background: transparent;
  border: 2px solid #fff;
  color: #fff;
}

/*HOMEPAGE*/

/*Slideshow section*/

/* UIkit sets .uk-overlay-fade { opacity: 0.7 } and only restores it to 1
   on hover via .uk-overlay-active — which is never in our static HTML.
   Override: the overlay panel in the slideshow must always be fully visible. */
.slideshow-v2-wrapper .uk-overlay-fade,
.uk-slidenav-position .uk-overlay-fade {
  opacity: 1 !important;
  transition: none !important;
}

/* Ensure the overlay panel sits above the slide image */
.uk-overlay-panel {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.uk-overlay-background {
  background: rgba(0, 0, 0, 0.45);
}

/* Hero h1 styling */
.uk-overlay-panel h1 {
  margin-top: 0;
  margin-bottom: 28px;
  text-transform: uppercase;
  font-family: "Spartan", sans-serif;
  font-weight: 700;
  font-size: 3.6em;
  color: #fff;
  line-height: 1.1;
  letter-spacing: 0.06em;
}

/* Hero CTA button */
.uk-overlay-panel .custom-temp-btn {
  color: #fff;
  border-color: #fff;
  background: transparent;
  background-color: transparent;
}

.uk-overlay-panel .custom-temp-btn:hover,
.uk-overlay-panel .custom-temp-btn:focus {
  background-color: #fff;
  background: #fff;
  color: #111;
}

.uk-dotnav-contrast>*>* {
  background: #d1d1d1;
  border: 1px solid #d1d1d1;
  opacity: 1;
}

.uk-dotnav-contrast>.uk-active>*,
.uk-dotnav-contrast>*> :focus,
.uk-dotnav-contrast>*> :hover {
  background: #f20e01;
  border: 1px solid #f20e01;
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

/*Slideshow section end*/


/*Banner section*/
.banner-section {
  padding: 30px 0;
}

.banner-section h1 {
  font-family: "Spartan", sans-serif;
  font-size: 1.1em;
  font-weight: 500;
}

.banner-section .banner-pin {
  color: #fff;
  font-size: 1.1em;
}

.banner-section .banner-pin:hover,
.banner-section .banner-pin:focus,
.banner-section .banner-pin.active {
  color: #d1d1d1;
}

/*Banner section end*/
/* Custom html 1 */
.custom_html_1-section .buttons-holder {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1em;
}

/* Custom html 1 end */
/*About us section*/
.about-us-v8-wrapper:before {
  background-attachment: scroll;
}

.about-us-v8-content .text-wrapper h2,
.order-tmt-section h2 {
  margin-top: 10px;
  margin-bottom: 20px;
  color: #f20e01;
}

/*About us section end*/

/*Reviews section*/
.reviews-v2-wrapper {
  background-size: cover !important;
  background-attachment: scroll !important;
}

.reviews-v2-wrapper h1 {
  margin-top: 20px;
}

.reviews-v2-wrapper .container {
  padding-top: 20px;
}

.reviews-v2-wrapper h1 {
  margin-bottom: 0;
}

.reviews-v2-wrapper h2 {
  margin-top: 0;
  color: #f20e01;
}

.reviews-v2-wrapper h3 {
  font-family: "Spartan", sans-serif;
  text-transform: capitalize;
  font-size: 1.1em;
  margin: 20px auto 15px;
  color: #fff;
  font-weight: 500;
}

.reviews-v2-wrapper h3 .fa.fa-star {
  color: #f20e01;
  font-size: 0.8em;
}

.reviews-v2-wrapper .review-quote {
  color: #f20e01;
  opacity: 1;
}

.reviews-v2-wrapper .review-text {
  padding-top: 0;
}

.reviews-v2-wrapper .review-text p {
  line-height: 1.5em;
  font-size: 1.1em;
}

.owl-theme .owl-dots .owl-dot button {
  background: #d1d1d1;
  border: 1px solid #d1d1d1;
  opacity: 1;
}

.owl-theme .owl-dots .owl-dot.active button,
.owl-theme .owl-dots .owl-dot:hover button {
  background: #f20e01;
  border: 1px solid #f20e01;
  opacity: 1;
}

/*Reviews section end*/

/*Newsletter section*/
.map-newsletter {
  border-right: 0;
}

.map-newsletter .text-wrapper:before {
  background-attachment: scroll;
}

.map-newsletter .section-header {
  color: #171717;
}

.map-newsletter h2 {
  color: #f20e01;
}

.map-newsletter .sph-email-subscription h2 {
  font-family: "Spartan", sans-serif;
  color: #171717;
  font-size: 1.1em;
}

.map-newsletter .sph-email-subscription .sph-email-input {
  padding: 9px 5px;
  color: #171717;
  border-bottom: 1px solid #171717;
}

.map-newsletter .sph-email-subscription input::-webkit-input-placeholder {
  color: #171717;
}

.map-newsletter .sph-email-subscription input:-moz-placeholder {
  /* Firefox 18- */
  color: #171717;
}

.map-newsletter .sph-email-subscription input::-moz-placeholder {
  /* Firefox 19+ */
  color: #171717;
}

.map-newsletter .sph-email-subscription input:-ms-input-placeholder {
  color: #171717;
}

.map-newsletter .bar {
  top: -6px;
}

.map-newsletter .bar:before,
.map-newsletter .bar:after {
  background: #f20e01;
}

.googlemap-v3-wrapper .triangle {
  display: none;
}

.sph-response-message {
  font-size: 1.1em;
  color: #171717;
}

/*Newsletter section end*/

/*Newsletter popup section*/
.custom-modal .modal-content {
  background-image: url("../assets/newsletter_back.jpg");
  background-size: cover;
}

.custom-modal .newsletter-popup .section-header {
  color: #171717;
}

.custom-modal .newsletter-popup .sph-email-subscription h2,
.custom-modal .newsletter-popup .sph-email-subscription label h2 {
  font-family: "Spartan", sans-serif;
  font-size: 1.1em;
  color: #171717;
}

.custom-modal .newsletter-popup .sph-email-subscription .sph-email-input {
  color: #171717;
  border: 1px solid #171717;
  background: transparent;
}

.custom-modal .newsletter-popup .sph-email-subscription .sph-email-input::-webkit-input-placeholder {
  color: #171717;
}

.custom-modal .newsletter-popup .sph-email-subscription .sph-email-input:-moz-placeholder {
  /* Firefox 18- */
  color: #171717;
}

.custom-modal .newsletter-popup .sph-email-subscription .sph-email-input::-moz-placeholder {
  /* Firefox 19+ */
  color: #171717;
}

.custom-modal .newsletter-popup .sph-email-subscription .sph-email-input:-ms-input-placeholder {
  color: #171717;
}

/*Newsletter popup section end*/

/*Contact section*/
.contact-v3 {
  color: #fff;
}

.contact-v3 .hours-title h1,
.contact-v3 .social-title h1,
.contact-v3 .contact-us-title h1 {
  font-weight: 600;
}

.contact-v3 .contact-location,
.contact-v3 .hours,
.contact-v3 .find-us {
  font-size: 1em;
  font-weight: 500;
}

.contact-v3 .contact-us p {
  margin: 0;
}

.contact-v3 .days {
  padding: 0;
}

.contact-v3 .from-to {
  text-transform: uppercase;
}

.contact-v3 a {
  text-decoration: none;
  color: #fff;
}

.contact-v3 .custom-temp-btn.allergen-guide {
  border-color: #fff;
  background-color: transparent;
}

.contact-v3 .custom-temp-btn.allergen-guide:hover,
.contact-v3 .custom-temp-btn.allergen-guide:focus {
  border-color: #fff;
  background-color: #fff;
  color: #000;
}

/*Contact section end*/

/*Footer section*/
.footer-v2-wrapper a {
  font-size: 1em;
}

/*Footer section end*/

/*HOMEPAGE END*/

/*ABOUT US PAGE*/
.about-us-s1-wrapper {
  padding-top: 70px;
}

.about-us-page .about-us-s1-content img {
  max-width: 200px;
}

.about-us-page .about-us-s2-content ul {
  font-size: 1.1em;
}

.about-page-content .about-us-v7-content .text-wrapper .text-content {
  padding: 40px 6%;
}

/*ABOUT US PAGE END*/

/*FOOD AND DRINKS PAGE*/

/* Boxed container: centers content — wider for more breathing room */
.food-menu-page .drink-menu-v2-wrapper,
.drink-menu-page .drink-menu-v2-wrapper,
#drinks {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

.food-menu-page .food-menu-v2-wrapper,
.drink-menu-page .drink-menu-v2-wrapper {
  padding-top: 45px;
}

.food-menu-nav .food-menu-nav-item {
  background-color: transparent;
  background: transparent;
  border: 2px solid #171717;
  color: #171717;
  padding: 10px 40px 6px;
}

.food-menu-nav .food-menu-nav-item:hover,
.food-menu-nav .food-menu-nav-item:focus,
.food-menu-nav .food-menu-nav-item.active {
  background-color: #171717;
  background: #171717;
  border: 2px solid #171717;
  color: #FFF;
}

/* Card base: flat design matching the reference screenshot */
.food-menu-grid-item-content {
  border-radius: 0;
  margin: 8px 8px;
}

.drink-menu .food-menu-page h2,
.drink-menu .drink-menu-page h2 {
  font-family: "Spartan", sans-serif;
  text-transform: uppercase;
  font-weight: 600;
  color: #000;
}

.food-menu-grid h3,
.food-menu-grid .food-price {
  font-family: "Spartan", sans-serif;
  font-size: 1.15em;
  color: #000;
  font-weight: 500;
  display: inline;
}

.food-menu-grid p,
.food-menu-grid .food-item-description {
  font-size: 1em;
  font-weight: 500;
  padding: 20px;
}

.food-menu-grid-item-content .food-menu-content {
  border-left: 1px solid #f20e01;
}

.food-menu-grid .food-price {
  color: #ea0e01;
  padding-right: 20px;
}

.food-menu-grid .fodd-item-title-price {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  padding-top: 15px;
}

/*FOOD AND DRINKS PAGE END*/

/* Responsive: tablet — cocktails 2-col CSS grid, wine 2-col Masonry */
@media (min-width: 768px) and (max-width: 1023px) {
  .food-menu-custom-layout .menu_1.food-menu-grid .food-menu-content {
    grid-template-columns: repeat(2, 1fr);
  }

  .food-menu-custom-layout .menu_2.food-menu-grid .food-menu-grid-item,
  .food-menu-custom-layout .menu_2.food-menu-grid .food-menu-grid-sizer {
    width: 50%;
  }

  .drink-menu-grid .food-item-holder {
    text-align: right;
  }

  .drink-menu-grid .food-item-title {
    display: block;
    text-align: left;
  }

  .drink-menu-grid .food-price {
    display: block;
  }

  .drink-menu-grid .food-item-description {
    text-align: left;
  }
}

/* Responsive: mobile — single column for both */
@media (max-width: 767px) {
  .food-menu-custom-layout .menu_1.food-menu-grid .food-menu-content {
    grid-template-columns: 1fr;
  }

  .food-menu-custom-layout .menu_2.food-menu-grid .food-menu-grid-item,
  .food-menu-custom-layout .menu_2.food-menu-grid .food-menu-grid-sizer {
    width: 100%;
  }

  .food-menu-grid-item-content {
    margin: 6px 4px;
  }
}

/* Smooth scrolling (prefer-reduced-motion safe) */
html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}



/*SPECIALS PAGE*/
.onespecial {
  font-size: 1.1em;
}

.specials h2 {
  font-weight: 600;
}

/*SPECIALS PAGE END*/

/*EVENTS PAGE*/
.events-container h1 {
  margin-top: 35px;
}

.events-container h2 {
  font-weight: 600;
  font-size: 1.8em;
}

.events-container h3,
.events-container .event-info-text p,
.events-container .event-time {
  font-family: "Spartan", sans-serif;
  font-size: 1.1em;
}

.atc-style-blue .atcb-list {
  width: 100%;
}

/*EVENTS PAGE END*/

/*GIFT CARDS PAGE*/
.gift-cards-page h1 {
  margin-top: 35px;
}

/*GIFT CARDS PAGE END*/

.drink-menu .pagecontent {
  padding-top: 110px;
}

.empty-content-message h2,
.empty-content-message h3,
.food-menu-page .empty-content-message h2,
.food-menu-page .empty-content-message h3 {
  text-transform: none;
  text-align: center;
  font-family: "Spartan", sans-serif;
  font-size: 1.1em;
  font-weight: 400;
}

/* Custom menu layout START*/

.food-menu-custom-layout .custom-menu-container {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 10px;
}

.food-menu-custom-layout .food-menu-grid-item-content {
  box-shadow: none;
  background: transparent;
  padding: 0;
}

/* Generic fallback: override only for non-drink pages (food menu) */
.food-menu-page:not(.drink-menu-page) .food-menu-custom-layout .food-menu-grid-item-content .food-menu-content {
  border-left: none;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  gap: 20px;
  justify-content: center;
}

/*
  Cocktails tab (menu_1)
  — Full-width section block, CSS Grid creates the 3-col card layout.
*/
.food-menu-custom-layout .menu_1.food-menu-grid .food-menu-grid-item,
.food-menu-custom-layout .menu_1.food-menu-grid .food-menu-grid-sizer {
  width: 100%;
}

.food-menu-custom-layout .menu_1.food-menu-grid .food-menu-grid-item-content {
  box-shadow: none;
  background: transparent;
  padding: 0;
  margin: 0;
}

.food-menu-custom-layout .menu_1.food-menu-grid .food-menu-content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  /* increased gap for breathing room */
  border-left: none;
}

.food-menu-custom-layout .menu_1.food-menu-grid .food-item-holder {
  max-width: none;
  margin: 0;
  border-radius: 12px;
  /* consistent card rounding */
}

/*
  Wine tab (menu_2)
  — Each wine sub-section is a Masonry tile at 33.333% with gap between tiles.
*/
.food-menu-custom-layout .menu_2.food-menu-grid .food-menu-grid-item,
.food-menu-custom-layout .menu_2.food-menu-grid .food-menu-grid-sizer {
  width: 33.333%;
}

.food-menu-custom-layout .menu_2.food-menu-grid .food-menu-grid-item-content {
  box-shadow: none;
  background: transparent;
  padding: 0;
  margin: 12px 10px;
  /* increased gap between wine section tiles */
}

.food-menu-custom-layout .menu_2.food-menu-grid .food-menu-content {
  display: block;
  border-left: none;
}

/* Wine section heading: visually separates the category name from items */
.food-menu-custom-layout .menu_2.food-menu-grid .food-menu-grid-item-content h2 {
  font-family: "Spartan", sans-serif;
  font-size: 1em;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #111;
  margin: 0 0 10px 0;
  padding-bottom: 8px;
  border-bottom: 2px solid #171717;
}

/* Wine item description: compact italic below the title/price row */
.food-menu-custom-layout .menu_2.food-menu-grid .food-item-description {
  font-size: 0.82em;
  font-style: italic;
  color: #666;
  padding: 4px 12px 10px;
  line-height: 1.4;
}

.food-menu-custom-layout .food-menu-grid .food-item-holder {
  border-bottom: none;
  background-color: #fff;
  border-radius: 10px;
  margin: 20px auto;
  padding: 0;
  max-width: 400px;
  filter: drop-shadow(0 0 7px #3d3d3d);
}

.food-menu-custom-layout .food-item-photo-holder {
  text-align: center;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
}

.food-menu-custom-layout .food-item-photo-holder img {
  display: inline-block;
  object-fit: cover;
  width: 100%;
  transition: 0.3s ease-in-out;
  transform: scale(1);
  aspect-ratio: 4/3;
}

.food-menu-custom-layout .food-item-photo-holder .placeholder {
  background-color: #000;
  object-fit: contain;
}

.food-menu-custom-layout .food-item-photo-holder img:hover,
.food-menu-custom-layout .food-item-photo-holder img:focus {
  transform: scale(1.05);
}

.food-menu-custom-layout .food-item-text-holder {
  padding: 10px 15px 15px 15px;
}

/* Column-width rules are now tab-specific above (menu_1 / menu_2 sections).
   This block intentionally left minimal — responsive overrides are below. */

/* These layout rules apply to the food (restaurant) menu page only.
   The drinks page uses Masonry-based columns and must NOT have display:block or width:100% on grid items. */
.food-menu-page:not(.drink-menu-page) .food-menu-custom-layout .food-menu-grid,
.food-menu-page:not(.drink-menu-page) .food-menu-custom-layout .food-menu-grid-item {
  display: block;
}

.food-menu-page:not(.drink-menu-page) .food-menu-custom-layout .food-menu-grid-item {
  width: 100%;
}

.food-menu-custom-layout .food-menu-grid:last-of-type .food-menu-grid-item:last-of-type {
  margin-bottom: 40px;
}

.food-menu-custom-layout .food-menu-holder {
  padding-bottom: 70px;
}

.section-nav {
  display: flex;
  flex-wrap: nowrap;
  /* keep all pills on one line */
  overflow-x: auto;
  /* scroll if viewport is very narrow */
  gap: .35rem;
  margin: .75rem 0 1rem;
  justify-content: center;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  /* hide scrollbar on Firefox */
}

.section-nav::-webkit-scrollbar {
  display: none;
}

/* hide on Chrome/Safari */
.section-nav .custom-temp-btn {
  margin: 0;
  padding: 6px 12px 4px;
  font-size: 0.82em;
  white-space: nowrap;
  flex-shrink: 0;
}

.food-menu-page .food-menu-custom-layout {
  position: relative;
  /* important for absolute child */
}

/* Fixed bottom-right button */
.food-menu-custom-layout .scroll-to-top {
  position: fixed;
  right: calc(16px + env(safe-area-inset-right));
  bottom: calc(70px + env(safe-area-inset-bottom));
  z-index: 1000;

  width: 44px;
  height: 44px;
  border-radius: 999px;

  border: 1px solid #ddd;
  background: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, .3);

  display: flex;
  justify-content: center;
  align-items: center;

  filter: drop-shadow(0 0 3px #3d3d3d);

  /* start hidden */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .2s ease, visibility .2s ease, box-shadow .2s ease;
}

.food-menu-custom-layout .scroll-to-top:hover,
.food-menu-custom-layout .scroll-to-top:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, .5);
}

/* When visible */
.food-menu-custom-layout .scroll-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.food-menu-custom-layout .scroll-to-top i {
  color: #000;
}

/* Custom menu layout END*/

@media (max-width: 1400px) {
  .navbar.nav-v7 .container {
    width: 100%;
  }

  .navbar-regular.nav-v6 .navbar-nav>li>a,
  li.drop-down-link .sub-menu a {
    padding: 0 7px;
  }

  .navbar.nav-v6 .container {
    width: 100%;
  }

  .section-header,
  .about-us-v8-content .text-wrapper h1,
  .about-us-v7-content .text-wrapper h1,
  .specials-v3.home-specials h1,
  .specials h1,
  .events-container h1,
  .about-us-page .about-us-s1-content h1,
  .custom-modal .newsletter-popup .section-header {
    font-size: 3.4em;
  }

  .uk-overlay-panel h1 {
    font-size: 3.2em;
  }

  .about-us-page .about-us-s1-content img {
    max-width: 150px;
  }

  .specials h2 {
    font-size: 1.3em;
  }

  .empty-content-message h2,
  .empty-content-message h3,
  .food-menu-page .empty-content-message h2,
  .food-menu-page .empty-content-message h3 {
    font-size: 1.1em;
  }

  .food-menu-custom-layout .food-menu-grid-item-content .food-menu-content {
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  }
}

@media (max-width: 1200px) {
  .navbar-regular.nav-v7 .navbar-nav>li>a {
    font-size: 1.1em;
    padding: 0 7px;
  }

  .navbar-regular.nav-v6 .navbar-nav>li>a,
  li.drop-down-link .sub-menu a {
    font-size: 0.8em;
  }

  li.drop-down-link .sub-menu {
    width: 125px !important;
  }

  .section-header,
  .about-us-v8-content .text-wrapper h1,
  .about-us-v7-content .text-wrapper h1,
  .specials-v3.home-specials h1,
  .specials h1,
  .events-container h1,
  .about-us-page .about-us-s1-content h1,
  .custom-modal .newsletter-popup .section-header {
    font-size: 3em;
  }

  .about-us-v8-content .text-wrapper h2,
  .reviews-v2-wrapper h2,
  .map-newsletter h2,
  .order-tmt-section h2 {
    font-size: 1.6em;
  }

  p {
    font-size: 1em;
  }

  .uk-overlay-panel h1 {
    font-size: 2.8em;
  }

  .banner-section {
    padding: 25px 0;
  }

  .banner-section h1 {
    font-size: 1em;
  }

  .googlemap-v3-wrapper .map-item,
  #map-v3-container {
    min-height: 460px;
  }

  .map-newsletter .sph-email-subscription h2 {
    font-size: 1em;
  }

  .sph-response-message {
    font-size: 1em;
  }

  .custom-modal .newsletter-popup .sph-email-subscription h2,
  .custom-modal .newsletter-popup .sph-email-subscription label h2 {
    font-size: 1em;
  }

  .contact-v3 .contact-location,
  .contact-v3 .hours,
  .contact-v3 .find-us {
    font-size: 0.9em;
  }

  .footer-v2-wrapper a {
    font-size: 0.9em;
  }

  .drink-menu .food-menu-page h2,
  .drink-menu .drink-menu-page h2 {
    font-size: 1.4em;
  }

  .food-menu-grid h3,
  .food-menu-grid .food-price {
    font-size: 1.05em;
  }

  .food-menu-grid p,
  .food-menu-grid .food-item-description {
    font-size: 0.9em;
  }

  .onespecial {
    font-size: 1em;
  }

  .events-container h2 {
    font-size: 1.6em;
  }

  .events-container h3,
  .events-container .event-info-text p,
  .events-container .event-time {
    font-size: 1em;
  }

  .empty-content-message h2,
  .empty-content-message h3,
  .food-menu-page .empty-content-message h2,
  .food-menu-page .empty-content-message h3 {
    font-size: 1em;
  }

  .food-menu-custom-layout .food-menu-grid-item-content .food-menu-content {
    grid-template-columns: repeat(auto-fill, minmax(315px, 1fr));
  }
}

@media (max-width: 1023px) {

  .navbar-regular.nav-v6 .navbar-nav>li>a,
  li.drop-down-link .sub-menu a {
    font-size: 0.7em;
  }

  .navbar-regular.nav-v6 .navbar-nav>li>a {
    padding: 0 6px;
  }

  .section-header,
  .about-us-v8-content .text-wrapper h1,
  .about-us-v7-content .text-wrapper h1,
  .specials-v3.home-specials h1,
  .specials h1,
  .events-container h1,
  .about-us-page .about-us-s1-content h1,
  .custom-modal .newsletter-popup .section-header {
    font-size: 2.8em;
  }

  .custom-temp-btn,
  .uk-overlay-panel a.custom-temp-btn,
  .on-cover-content .section-wrapper a.custom-temp-btn,
  .about-us-v7-content .text-wrapper .text-content .custom-temp-btn,
  .about-us-v8-wrapper a.custom-temp-btn,
  .map-newsletter .sph-email-subscription .sph-submit-button,
  .custom-modal .newsletter-popup .sph-email-subscription .sph-submit-button,
  .addtocalendar.atc-style-blue .atcb-link,
  .specials-v3.home-specials div a.custom-temp-btn {
    font-size: 16px;
  }

  .uk-overlay-panel h1 {
    font-size: 2.4em;
  }

  .reviews-v2-wrapper h3 {
    font-size: 1em;
  }

  .reviews-v2-wrapper .review-text p {
    font-size: 1em;
  }

  .about-us-page .about-us-s1-content img {
    max-width: 100px;
  }

  .about-page-content .about-us-v7 .about-us-v7-content:last-of-type {
    min-height: 250px;
  }

  .about-page-content .about-us-v7-content .text-wrapper .text-content {
    text-align: center;
  }

  .onespecial {
    font-size: 0.9em;
  }

  .specials h2 {
    font-size: 1.2em;
  }

  .empty-content-message h2,
  .empty-content-message h3,
  .food-menu-page .empty-content-message h2,
  .food-menu-page .empty-content-message h3 {
    font-size: 1em;
  }

  .contact-v3 .custom-temp-btn.allergen-guide {
    font-size: 11px;
    padding: 10px 15px 6px;
    display: inline-block;
  }
}

@media (max-width: 769px) {
  .navbar-collapse.collapse {
    padding-bottom: 0;
  }
}

@media (max-width: 991px) {
  .navbar.nav-v6 .socialnav {
    display: none;
  }

  .navbar-right {
    margin-right: 0;
  }

  .navbar.nav-v7 .container {
    padding-left: 0;
    padding-right: 0;
  }

  .navbar-regular.nav-v7 .navbar-nav>li>a {
    padding: 0 4px;
  }

  .social-icons-holder .contact-icon {
    width: 28px;
  }

  .map-newsletter .bar {
    top: 0;
  }
}

@media (max-width: 767px) {
  .navbar.nav-v7 .header-logo {
    max-width: 60px;
  }

  .navbar-regular.nav-v7 .navbar-nav>li>a {
    font-size: 1em;
    padding: 6px 15px;
  }

  .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
  .navbar-regular.nav-v6 .navbar-nav>.active>a,
  .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
  .navbar-regular.nav-v6 .navbar-nav>.active>a:hover {
    color: #150f19 !important;
  }

  .navbar.nav-v6 .header-logo {
    max-width: 55px;
    left: 5px;
  }

  .navbar-regular.nav-v6 .navbar-nav>li>a {
    font-size: 1em;
    padding: 6px 15px;
  }

  .navbar.nav-v6 .socialnav {
    display: inline-block;
  }

  /* DROPDOWN */
  .nav-v6-drop li.drop-down-link {
    display: block;
  }

  li.drop-down-link .sub-menu {
    position: relative;
    width: 100% !important;
    margin-top: 0;
    padding: 5px 20px 5px 35px;
  }

  li.drop-down-link.menu-drop .sub-menu {
    width: 100% !important;
  }

  li.drop-down-link .sub-menu,
  .nav-v6.nav-scroll li.drop-down-link .sub-menu {
    top: 0;
  }

  li.drop-down-link .sub-menu a {
    font-size: 13px;
    padding: 7px 0 !important;
  }

  .navbar-regular.nav-v6 .navbar-nav>li.drop-down-link>a:hover {
    background-color: #f20e01 !important;
  }

  .navbar-regular.nav-v6 .navbar-nav>li.drop-down-link.active>a:hover {
    background-color: #f20e01 !important;
  }

  .drink-menu .navbar.nav-v6 .navbar-nav>li>a {
    background-color: #171717;
  }

  .drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover {
    background-color: #f20e01;
  }

  .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
  .navbar-regular.nav-v6 .navbar-nav>.active>a,
  .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
  .navbar-regular.nav-v6 .navbar-nav>.active>a:hover {
    color: #fff !important;
  }

  .section-header,
  .about-us-v8-content .text-wrapper h1,
  .about-us-v7-content .text-wrapper h1,
  .specials-v3.home-specials h1,
  .specials h1,
  .events-container h1,
  .about-us-page .about-us-s1-content h1,
  .custom-modal .newsletter-popup .section-header {
    font-size: 2.6em;
  }

  p {
    font-size: 0.9em;
  }

  .navbar-fixed-bottom.nav-v1 .bottom-list-item a {
    text-transform: uppercase;
    font-family: "Spartan", sans-serif;
    font-weight: 500;
    font-size: 14px;
    padding: 15px 5px;
  }

  .uk-overlay-background {
    border-bottom: 1px solid #fff;
  }

  .uk-overlay-panel h1 {
    font-size: 1.7em;
  }

  .banner-section {
    padding: 15px 0;
  }

  .banner-section h1 {
    font-size: 0.9em;
  }

  .about-us-v8-content {
    min-height: 260px;
  }

  .about-us-v8-content .text-wrapper h1 {
    margin-top: 20px;
  }

  .about-us-v8-content .text-wrapper {
    text-align: center;
    padding: 20px !important
  }

  .about-us-v8-content .text-wrapper p {
    text-align: center !important;
  }

  .reviews-v2-wrapper h3 {
    font-size: 0.9em;
  }

  .reviews-v2-wrapper .review-text p {
    font-size: 0.9em;
  }

  .googlemap-v3-wrapper .map-item.map-newsletter {
    min-height: 440px;
  }

  .map-newsletter .text-wrapper .text-content {
    top: -10px;
  }

  .map-newsletter .sph-email-subscription h2 {
    font-size: 0.9em;
  }

  .sph-response-message {
    font-size: 0.9em;
  }

  .custom-modal .newsletter-popup .sph-email-subscription h2,
  .custom-modal .newsletter-popup .sph-email-subscription label h2 {
    font-size: 0.9em;
  }

  .footer-v2-wrapper a {
    font-size: 0.8em;
  }

  .about-us-page .about-us-s1-content img {
    max-width: 70px;
  }

  .about-page-content .about-us-v7-content .text-wrapper .text-content {
    padding: 20px 2%;
  }

  .food-menu-page .food-menu-v2-wrapper,
  .drink-menu-page .drink-menu-v2-wrapper {
    padding-top: 45px;
  }

  .food-menu-nav .food-menu-nav-item {
    padding: 7px 20px;
    border: none;
    border-bottom: 2px solid #171717;
  }

  .food-menu-nav .food-menu-nav-item:hover,
  .food-menu-nav .food-menu-nav-item:focus,
  .food-menu-nav .food-menu-nav-item.active {
    border: none;
    border-bottom: 2px solid #171717;
  }

  .food-menu-nav .food-menu-nav-item:first-of-type {
    border-top: 2px solid #171717;
  }

  .drink-menu .food-menu-page h2,
  .drink-menu .drink-menu-page h2 {
    font-size: 1.2em;
  }

  .food-menu-grid h3,
  .food-menu-grid .food-price {
    font-size: 1em;
  }

  .food-menu-grid p,
  .food-menu-grid .food-item-description {
    font-size: 0.85em;
  }

  .events-container .container {
    margin-bottom: 150px;
  }

  .events-container h2 {
    font-size: 1.4em;
  }

  .events-container h3,
  .events-container .event-info-text p,
  .events-container .event-time {
    font-size: 0.9em;
  }

  .drink-menu .pagecontent {
    padding-top: 70px;
  }

  .empty-content-message h2,
  .empty-content-message h3,
  .food-menu-page .empty-content-message h2,
  .food-menu-page .empty-content-message h3 {
    font-size: 0.9em;
  }

  .food-menu-custom-layout .food-menu-grid-item-content .food-menu-content {
    grid-template-columns: 1fr;
  }

  .food-menu-custom-layout .food-menu-grid .food-item-holder {
    max-width: 550px;
  }
}

@media (max-width: 320px) {

  .section-header,
  .about-us-v8-content .text-wrapper h1,
  .about-us-v7-content .text-wrapper h1,
  .specials-v3.home-specials h1,
  .specials h1,
  .events-container h1,
  .about-us-page .about-us-s1-content h1,
  .custom-modal .newsletter-popup .section-header {
    font-size: 2.2em;
  }

  .about-us-v8-content .text-wrapper h2,
  .reviews-v2-wrapper h2,
  .map-newsletter h2,
  .order-tmt-section h2 {
    font-size: 1.5em;
  }

  .navbar-fixed-bottom.nav-v1 .bottom-list-item a {
    font-size: 12px;
  }

  .uk-overlay-panel h1 {
    font-size: 1.3em;
  }

  .footer-v2-wrapper a {
    font-size: 0.7em;
  }

  .empty-content-message h2,
  .empty-content-message h3,
  .food-menu-page .empty-content-message h2,
  .food-menu-page .empty-content-message h3 {
    font-size: 0.9em;
  }
}

/* Inline styles extracted from index.html */



.navbar.nav-v6 .container {
  padding-top: 10px;
  padding-bottom: 10px;
}

.navbar.nav-v6.nav-scroll .container {
  padding-top: 0px;
  padding-bottom: 0px;
}

.navbar.nav-v6 .header-logo img {
  max-width: 100%;
}

.navbar.nav-v6.nav-scroll .header-logo img {
  max-width: 80%;
}

@media (max-width: 767px) {
  .navbar.nav-v6 .navbar-header {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .navbar.nav-v6.nav-scroll .navbar-header {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .navbar.nav-v6 .socialnav {
    margin-top: 10px;
  }

  .navbar.nav-v6.nav-scroll .socialnav {
    margin-top: 0px;
  }

  .navbar.nav-v6 .container {
    padding-top: 0;
    padding-bottom: 0;
  }

  .navbar.nav-v6.nav-scroll .container {
    padding-top: 0;
    padding-bottom: 0;
  }

  .navbar.nav-v6 .header-logo {
    height: 70px;
  }

  .navbar.nav-v6.nav-scroll .header-logo {
    height: 50px;
  }

  .navbar.nav-v6 .header-logo img {
    max-height: 100%;
  }
}


.navbar-regular .navbar-collapse.collapse.in {
  background-color: transparent;
  width: 100%;
}

.navbar.nav-v6 {
  background-color: rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0);
  -moz-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0);
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0);
  -moz-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.navbar.nav-v6.nav-scroll {
  background-color: #171717;
  -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.4);
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.4);
}

.drink-menu .navbar.nav-v6 {
  background-color: #171717;
  -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0);
  -moz-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0);
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0);
  -moz-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.drink-menu .navbar.nav-v6.nav-scroll {
  background-color: #171717;
  -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.4);
  box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.4);
}

.navbar-regular.nav-v6 .navbar-nav>li>a,
.navbar-regular.nav-v6 .navbar-nav>li>a:hover,
.navbar-regular.nav-v6 .navbar-nav>.active>a,
.navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
.navbar-regular.nav-v6 .navbar-nav>.active>a:hover {
  border: none;
  border-right: 1px solid #fff;
  background-color: transparent;
  color: #ff1305;
  -moz-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.navbar-regular.nav-v6 .navbar-nav>li>a {
  color: #fff;
}

.drink-menu .navbar.nav-v6 .navbar-nav>li>a {
  color: #fff;
  border-right: 1px solid #fff;
}

.drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
.drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover {
  color: #ff1305;
}


li.drop-down-link .sub-menu {
  background-color: transparent;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
}

.nav-scroll li.drop-down-link .sub-menu {
  background-color: #171717;
  color: #fff;
}

.drink-menu li.drop-down-link .sub-menu {
  background-color: #171717;
  color: #fff;
}

.drink-menu .nav-scroll li.drop-down-link .sub-menu {
  background-color: #171717;
  color: #fff;
}

li.drop-down-link .sub-menu a {
  color: #fff;
}

.nav-scroll li.drop-down-link .sub-menu a {
  color: #fff;
}

.drink-menu li.drop-down-link .sub-menu a {
  color: #fff;
}

.drink-menu .nav-scroll li.drop-down-link .sub-menu a {
  color: #fff;
}

li.drop-down-link .sub-menu a:hover,
.drink-menu li.drop-down-link .sub-menu a:hover {
  color: #ff1305;
}

.navbar-regular.nav-v6 .navbar-toggle .icon-bar {
  background-color: #fff;
  -moz-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.drink-menu .navbar-regular.nav-v6 .navbar-toggle .icon-bar {
  background-color: #fff;
}

.navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar {
  background-color: #ff1305;
}

.drink-menu .navbar-regular.nav-v6 [aria-expanded="true"].navbar-toggle .icon-bar {
  background-color: #ff1305;
}

.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a,
.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
.navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover {
  border: none;
  border-right: 1px solid #fff;
  color: #ff1305;
}

.navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a {
  color: #fff;
}

.drink-menu .navbar.nav-v6.nav-scroll .navbar-nav>li>a {
  color: #fff;
  border-right: 1px solid #fff;
}

.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover {
  color: #ff1305;
}

.nav-scroll li.drop-down-link .sub-menu a:hover,
.drink-menu .nav-scroll li.drop-down-link .sub-menu a:hover {
  color: #ff1305;
}

.navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
  background-color: #fff;
}

.drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-toggle .icon-bar {
  background-color: #fff;
}

.navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar {
  background-color: #ff1305;
}

.drink-menu .navbar-regular.nav-v6.nav-scroll [aria-expanded="true"].navbar-toggle .icon-bar {
  background-color: #ff1305;
}

.navbar.nav-v6 .header-logo-text {
  color: #fff;
  -moz-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.navbar.nav-v6.nav-scroll .header-logo-text {
  color: #fff;
}

.navbar.nav-v6 .social-icon {
  color: #fff;
  -moz-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.navbar.nav-v6.nav-scroll .social-icon {
  color: #fff;
}

.navbar.nav-v6 .social-square .contact-icon:hover {
  color: #fff;
  background-color: #ff1305;
}

.navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
  color: #fff;
  background-color: #ff1305;
}

.drink-menu .navbar.nav-v6 .header-logo-text {
  color: #fff;
}

.drink-menu .navbar.nav-v6.nav-scroll .header-logo-text {
  color: #fff;
}

.drink-menu .navbar.nav-v6 .social-icon {
  color: #fff;
}

.drink-menu .navbar.nav-v6.nav-scroll .social-icon {
  color: #fff;
}

.drink-menu .navbar.nav-v6 .social-square .contact-icon:hover {
  color: #fff;
}

.drink-menu .navbar.nav-v6.nav-scroll .social-square .contact-icon:hover {
  color: #fff;
}

.navbar.nav-v6 .container {
  border-bottom: 1px solid transparent;
  -moz-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.navbar.nav-v6.nav-scroll .container {
  border-bottom: 1px solid transparent;
}

.drink-menu .navbar.nav-v6 .container {
  border-bottom: 1px solid transparent;
}

.drink-menu .navbar.nav-v6.nav-scroll .container {
  border-bottom: 1px solid transparent;
}

@media (max-width: 767px) {

  .navbar.nav-v6 .container,
  .navbar.nav-v6.nav-scroll .container,
  .drink-menu .navbar.nav-v6 .container,
  .drink-menu .navbar.nav-v6.nav-scroll .container {
    border-bottom: none;
  }

  .navbar.nav-v6 .navbar-header {
    border-bottom: 2px solid transparent;
  }

  .navbar.nav-v6.nav-scroll .navbar-header {
    border-bottom: 2px solid transparent;
  }

  .drink-menu .navbar.nav-v6 .navbar-header {
    border-bottom: 2px solid transparent;
  }

  .drink-menu .navbar.nav-v6.nav-scroll .navbar-header {
    border-bottom: 2px solid transparent;
  }

  .navbar-regular.nav-v6 .navbar-nav>li>a {
    background-color: rgba(0, 0, 0, 0.6);
  }

  .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a {
    background-color: transparent;
  }

  .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
  .navbar-regular.nav-v6 .navbar-nav>.active>a,
  .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
  .navbar-regular.nav-v6 .navbar-nav>.active>a:hover {
    background-color: #ff1305;
    color: #fff;
  }

  .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
  .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover {
    background-color: #ff1305;
    color: #fff;
  }

  .drink-menu .navbar-regular.nav-v6 .navbar-nav>li>a:hover,
  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a,
  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:focus,
  .drink-menu .navbar-regular.nav-v6 .navbar-nav>.active>a:hover {
    color: #fff;
  }

  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>li>a:hover,
  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a,
  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:focus,
  .drink-menu .navbar-regular.nav-v6.nav-scroll .navbar-nav>.active>a:hover {
    color: #fff;
  }
}

/* WINE LIST REDESIGN */
.wine-subnav {
  display: flex;
  flex-wrap: nowrap;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 40px;
  margin-left: -40px;
  /* Pull left to create space as requested */
  margin-right: -40px;
  /* Expand right to fit the last button */
}

.wine-subnav-btn {
  background-color: #171717;
  color: #fff;
  padding: 9px 14px;
  /* Adjusted to account for 1px border */
  border: 1px solid transparent;
  /* Invisible border to prevent jumping */
  text-transform: uppercase;
  font-family: "Spartan", sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.05em;
  transition: all 0.3s ease;
}

.wine-subnav-btn:hover {
  background-color: #fff;
  color: #171717;
  border-color: #171717;
  text-decoration: none;
}

.wine-category-section {
  padding-top: 20px;
  margin-bottom: 50px;
}

.wine-category-title {
  text-align: center;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
  font-size: 24px;
}

.wine-category-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

@media(max-width: 991px) {
  .wine-category-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(max-width: 767px) {
  .wine-category-grid {
    grid-template-columns: 1fr;
  }
}

.wine-card {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  padding: 20px;
  display: flex;
  flex-direction: column;
}

.wine-card-img-wrapper {
  margin-bottom: 15px;
  overflow: hidden;
  border-radius: 6px;
}

.wine-card-img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.wine-card:hover .wine-card-img {
  transform: scale(1.03);
}

.wine-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 10px;
}

.wine-card-title {
  font-size: 16px;
  font-weight: 700;
  margin: 0;
  color: #171717;
  line-height: 1.4;
  padding-right: 15px;
}

.wine-card-prices {
  display: flex;
  flex-direction: column;
  text-align: right;
  min-width: 80px;
}

.wine-card-price {
  color: #e54d42;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
}

.wine-card-description {
  font-size: 14px;
  font-style: italic;
  color: #555;
  line-height: 1.6;
  margin: 0;
  flex-grow: 1;
}

/* EVENTS PAGE V2 */
.events-page-wrapper {
  background-color: #ffffff;
  color: #000000;
}

.events-content-wrapper {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px 80px;
  box-sizing: border-box;
}

.events-hero-fullwidth {
  position: relative;
  width: 100%;
  height: 100vh;
  margin-top: 0;
  overflow: hidden;
}

.events-hero-slider,
.events-hero-slider .owl-stage-outer,
.events-hero-slider .owl-stage,
.events-hero-slider .owl-item {
  height: 100%;
}

.hero-bg {
  width: 100%;
  height: 100vh;
  background-size: cover;
  background-position: center;
}

.events-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

.events-hero-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  width: 100%;
  padding: 0 15px;
}

.events-title {
  font-family: "Spartan", sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.15em;
  color: #ff1305;
  margin-bottom: 20px;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.events-divider {
  width: 50px;
  border-top: 2px solid #fff;
  margin: 0 auto 30px;
}

.events-subtitle {
  font-family: "Playfair Display", serif;
  font-size: 42px;
  font-weight: 700;
  margin-bottom: 30px;
  color: #ffffff;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.events-intro-text {
  font-size: 16px;
  line-height: 1.8;
  color: #ffffff;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
  max-width: 800px;
  margin: 0 auto;
}

.events-services-section {
  padding: 80px 0;
}

.section-heading {
  font-family: "Spartan", sans-serif;
  font-size: 18px;
  letter-spacing: 0.1em;
  font-weight: 700;
  margin-bottom: 60px;
  color: #000000;
}

.service-block {
  margin-bottom: 80px;
}

.service-block:last-child {
  margin-bottom: 0;
}

.service-title {
  font-family: "Playfair Display", serif;
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 20px;
  color: #000000;
}

.service-desc {
  font-size: 16px;
  line-height: 1.8;
  color: #555555;
  margin-bottom: 30px;
}

.text-highlight {
  font-weight: 700;
  color: #000000;
}

.btn-events-outline {
  display: inline-block;
  padding: 12px 30px;
  border: 1px solid #000;
  color: #000;
  font-family: "Spartan", sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: all 0.3s ease;
  background-color: transparent;
}

.btn-events-outline:hover {
  background-color: #000;
  color: #fff;
}

.upcoming-events-section {
  padding: 40px 0 40px 0;
  background-color: #f9f9f9;
}

.event-card {
  background: #ffffff;
  padding: 40px;
  border: 1px solid #eaeaea;
  text-align: center;
  height: 100%;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.event-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.event-date {
  font-family: "Spartan", sans-serif;
  font-weight: 700;
  color: #ff1305;
  font-size: 14px;
  margin-bottom: 15px;
  letter-spacing: 0.05em;
}

.event-time {
  color: #888;
  font-weight: 400;
}

.event-card-title {
  font-family: "Playfair Display", serif;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 15px;
  color: #000000;
}

.event-card-desc {
  font-size: 14px;
  color: #666;
  line-height: 1.6;
  margin-bottom: 25px;
}

.btn-events-solid {
  display: inline-block;
  padding: 12px 30px;
  background-color: #ff1305;
  color: #fff;
  font-family: "Spartan", sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: 1px solid #ff1305;
  transition: all 0.3s ease;
}

.btn-events-solid:hover {
  background-color: #d11004;
  border-color: #d11004;
  color: #fff;
}

.events-cta-section {
  padding: 100px 0;
  background-color: #ffffff;
}

.cta-title {
  font-family: "Playfair Display", serif;
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 20px;
}

.cta-text {
  font-size: 18px;
  color: #555;
  margin-bottom: 40px;
}

.upcoming-events-section .col-md-4 {
  margin-bottom: 30px;
}

@media (max-width: 768px) {
  .gallery-grid {
    grid-template-columns: 1fr;
    grid-template-rows: 250px 250px 250px;
  }

  .gallery-grid .item-1 {
    grid-row: auto;
  }

  .service-block {
    text-align: center;
  }

  .service-img-col {
    margin-bottom: 30px;
  }

  .event-card {
    margin-bottom: 30px;
  }
}

.events-equal-height {
  display: flex;
  flex-wrap: wrap;
}

.events-equal-height>[class*='col-'] {
  display: flex;
  flex-direction: column;
}

/* ========================================= */
/* ABOUT PAGE - FLEX LAYOUT                  */
/* ========================================= */

.about-page-wrapper {
  padding-top: 150px;
  padding-bottom: 80px;
  background-color: #fcfcfc;
  overflow-x: hidden;
  font-family: 'Lora', serif;
}

.about-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
}

.about-header {
  margin-bottom: 50px;
}

.about-main-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 2.5rem;
  color: #000000;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.text-wf-red {
  color: #C8102E !important;
}

.bg-wf-red {
  background-color: #C8102E !important;
}

.about-flex-layout {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}

.about-col {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.col-left {
  width: 32%;
}

.col-middle {
  width: 33%;
}

.col-right {
  width: 30%;
}

.bento-item {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  background: #fff;
}

.bento-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.item-founders {
  height: 450px;
  transform: rotate(-3deg);
  border: 6px solid #fff;
  z-index: 10;
  box-shadow: -5px 15px 35px rgba(0, 0, 0, 0.15);
  margin-bottom: 20px;
}

.item-community {
  height: 280px;
}

.item-craft {
  height: 260px;
}

.item-ingredients {
  height: 260px;
}

.item-wild-spirit {
  padding: 30px;
  background-color: #000000;
  color: #FFFFFF;
  border-radius: 12px;
}

.item-wildfire-way {
  padding: 40px 30px;
  background-color: #111111;
  color: #FFFFFF;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.item-closing {
  padding: 30px;
  background-color: #f5f5f5;
  border: 1px solid #eaeaea;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.bento-badge {
  position: absolute;
  background-color: #C8102E;
  color: #FFFFFF;
  padding: 8px 16px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  border: 3px solid #FFFFFF;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  z-index: 5;
}

.item-founders .bento-badge {
  left: 10px;
  bottom: 10px;
  transform: rotate(-2deg);
}

.badge-left {
  left: 10px;
  bottom: 10px;
}

.badge-center {
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  width: max-content;
}

.badge-right {
  right: 10px;
  bottom: 10px;
}

.bento-box-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  margin-top: 0;
  margin-bottom: 15px;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.bento-box-text {
  font-family: 'Lora', serif;
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
  color: #ddd;
}

.item-closing .bento-box-text {
  color: #000000;
}

.bento-list {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
  width: 100%;
}

.bento-list li {
  padding-left: 15px;
  position: relative;
  margin-bottom: 12px;
  font-family: 'Lora', serif;
  font-size: 14px;
  color: #ddd;
}

.bento-list li::before {
  content: '•';
  color: #CBA135;
  /* Gold Accent for bullets */
  position: absolute;
  left: 0;
  font-size: 16px;
  top: -2px;
}

.btn-wf-primary {
  display: inline-block;
  background-color: #C8102E;
  color: #FFFFFF;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 13px;
  padding: 10px 24px;
  text-transform: uppercase;
  border-radius: 4px;
  border: 2px solid #C8102E;
  transition: all 0.3s ease;
  text-decoration: none;
}

.btn-wf-primary:hover {
  background-color: transparent;
  color: #C8102E;
}

@media (max-width: 991px) {
  .about-flex-layout {
    flex-direction: column;
  }

  .about-col {
    width: 100%;
  }

  .item-founders {
    height: 350px;
    transform: none;
    margin-bottom: 0;
    border-width: 4px;
  }

  .item-founders .bento-badge {
    transform: none;
  }
}

/* ==========================================================================
   ABOUT PAGE V2 (Bright, Premium, Modern Bento Grid)
   ========================================================================== */
.about-page-wrapper-v2 {
  background-color: #FAFAFA;
  font-family: 'Lora', serif;
  color: #333;
  overflow-x: hidden;
}

/* Headings */
.about-page-wrapper-v2 h1,
.about-page-wrapper-v2 h2,
.about-page-wrapper-v2 h3,
.about-page-wrapper-v2 h4 {
  font-family: 'Spartan', sans-serif;
  font-weight: 600;
  color: #171717;
  text-transform: uppercase;
}

.about-page-wrapper-v2 .section-heading {
  font-size: 2.5rem;
  margin-bottom: 2rem;
  letter-spacing: 1px;
}

.about-page-wrapper-v2 .section-heading.centered {
  text-align: center;
}

/* Helpers */
.shadow-light {
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
  border-radius: 12px;
}

.text-wf-gold {
  color: #CBA135;
}

.text-wf-red {
  color: #C8102E;
}

.img-responsive {
  width: 100%;
  height: auto;
  display: block;
}

.rounded-corners {
  border-radius: 12px;
  overflow: hidden;
}

/* 1. Hero Section */
.about-hero {
  padding: 120px 0 60px;
  background: #fff;
}

.about-main-title {
  font-size: 4rem;
  letter-spacing: 2px;
  border-bottom: 3px solid #C8102E;
  display: inline-block;
  padding-bottom: 10px;
}

/* Common Split Layout */
.about-split-layout {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: center;
  margin: 60px 0;
}

.about-split-left,
.about-split-right {
  flex: 1;
  min-width: 300px;
}

@media(max-width: 991px) {
  .reverse-on-mobile {
    flex-direction: column-reverse;
  }
}

/* 2. Core Story (Bento Collage) */
.about-story-section {
  padding: 60px 0;
}

.about-collage {
  position: relative;
  height: 600px;
  width: 100%;
}

.about-collage img {
  position: absolute;
  object-fit: cover;
  border: 6px solid #fff;
  transition: transform 0.3s ease;
}

.about-collage img:hover {
  transform: scale(1.02);
  z-index: 10;
}

.about-collage .img-1 {
  width: 60%;
  height: 70%;
  top: 0;
  left: 0;
  z-index: 2;
}

.about-collage .img-2 {
  width: 45%;
  height: 45%;
  top: 20%;
  right: 0;
  z-index: 3;
}

.about-collage .img-3 {
  width: 50%;
  height: 40%;
  bottom: 0;
  left: 20%;
  z-index: 4;
}

.story-text {
  font-size: 1.15rem;
  line-height: 1.8;
}

.offerings-list {
  list-style: none;
  padding: 0;
  margin-top: 15px;
}

.offerings-list li {
  margin-bottom: 10px;
  font-size: 1.1rem;
}

/* 3. Why Choose Us */
.about-values-section {
  padding: 80px 0;
  background: #FAFAFA;
}

.values-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}

.value-item {
  background: #fff;
  padding: 35px 30px;
  border: 1px solid #eaeaea;
  border-top: 4px solid #C8102E;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  color: #171717;
}

.value-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05);
  border-color: #C8102E;
}

.value-icon {
  font-size: 2.5rem;
  margin-bottom: 20px;
  color: #C8102E;
}

.value-title {
  font-family: 'Spartan', sans-serif;
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 12px;
  color: #171717;
}

.value-text {
  font-family: 'Spartan', sans-serif;
  font-size: 1.05rem;
  line-height: 1.6;
  color: #444;
}

/* 4. Statistics Strip */
.about-stats-section {
  background: #fff;
  color: #171717;
  padding: 80px 0;
  border-top: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  text-align: center;
}

.stat-item {
  padding: 20px 0;
}

.about-page-wrapper-v2 .stat-number {
  font-family: 'Spartan', sans-serif;
  font-size: 3.5rem;
  font-weight: 700;
  color: #171717;
  margin: 0 0 10px;
}

.stat-label {
  font-family: 'Spartan', sans-serif;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 2px;
  color: #CBA135;
  font-size: 0.9em;
}

/* 5. Meet The Team */
.about-team-section {
  padding: 80px 0;
}

.team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  margin-top: 40px;
}

.team-member {
  background: #fff;
  padding: 20px;
  border-radius: 12px;
}

.team-img-wrapper {
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 20px;
  aspect-ratio: 1/1;
}

.team-img-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.team-name {
  margin: 0 0 5px;
  font-size: 1.25rem;
}

.team-role {
  color: #777;
  font-size: 0.9rem;
  font-style: italic;
  margin: 0;
}

/* 6. Customer Reviews */
.about-reviews-section {
  padding: 60px 0;
  background: #fff;
}

.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.review-card {
  background: #FAFAFA;
  padding: 30px;
  text-align: center;
  border-top: 4px solid #CBA135;
}

.review-stars {
  margin-bottom: 15px;
  font-size: 1.2rem;
}

.review-quote {
  font-size: 1.1rem;
  line-height: 1.6;
  font-style: italic;
  margin-bottom: 20px;
}

/* 7. Footer CTA */
.about-footer-cta {
  padding: 80px 0;
  background: #FAFAFA;
}

.closing-text {
  font-size: 1.5rem;
  font-style: italic;
  max-width: 800px;
  margin: 0 auto 40px;
  line-height: 1.6;
}

.btn-wf-primary {
  background: #C8102E;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  padding: 15px 40px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 1px;
  border: none;
  transition: background 0.3s;
}

.btn-wf-primary:hover {
  background: #a00d25;
  color: #fff;
}

/* Responsive Overrides */
@media(max-width: 1199px) {
  .stats-grid {
    grid-template-columns: 1fr 1fr;
  }

  .team-grid {
    grid-template-columns: 1fr 1fr;
  }

  .reviews-grid {
    grid-template-columns: 1fr;
  }
}

@media(max-width: 767px) {
  .about-collage {
    height: 400px;
  }

  .about-main-title {
    font-size: 2.5rem;
  }

  .values-grid {
    grid-template-columns: 1fr;
  }

  .stats-grid {
    grid-template-columns: 1fr;
  }

  .team-grid {
    grid-template-columns: 1fr;
  }
}

/* Animations & Helpers for About Page */
@keyframes fadeUpAnim {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeLeftAnim {
  0% {
    opacity: 0;
    transform: translateX(-40px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeRightAnim {
  0% {
    opacity: 0;
    transform: translateX(40px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes scaleInAnim {
  0% {
    opacity: 0;
    transform: scale(0.9);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.anim-fade-up {
  animation: fadeUpAnim 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  opacity: 0;
}

.anim-fade-left {
  animation: fadeLeftAnim 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  opacity: 0;
}

.anim-fade-right {
  animation: fadeRightAnim 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  opacity: 0;
}

.anim-scale-in {
  animation: scaleInAnim 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  opacity: 0;
}

.anim-delay-1 {
  animation-delay: 0.1s;
}

.anim-delay-2 {
  animation-delay: 0.2s;
}

.anim-delay-3 {
  animation-delay: 0.3s;
}

.anim-delay-4 {
  animation-delay: 0.4s;
}

.anim-delay-5 {
  animation-delay: 0.5s;
}

.about-page-wrapper-v2 .hero-title {
  color: #fff;
  font-family: 'Spartan', sans-serif;
  font-weight: 700;
  font-size: 4.5rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin: 0;
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.6);
}

.about-page-wrapper-v2 .hero-subtitle {
  color: #fff;
  font-family: 'Caveat', cursive;
  font-size: 2rem;
  max-width: 800px;
  margin: 15px auto 0;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.6);
}

.sharp-corners {
  border-radius: 0 !important;
}

.hover-zoom {
  transition: transform 0.6s ease;
}

.hover-zoom:hover {
  transform: scale(1.05);
}

/* Contact Page V5 Styles */
.contact-hero {
  position: relative;
  padding: 150px 0 100px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1;
}

.contact-hero .container {
  position: relative;
  z-index: 2;
}

.contact-hero h1 {
  font-family: 'Spartan', sans-serif;
  font-size: 3.5rem;
  font-weight: 700;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.contact-v5-section {
  padding: 80px 0;
  background-color: #FAFAFA;
}

.cv5-section-title {
  font-family: 'Spartan', sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #171717;
  margin-bottom: 30px;
  position: relative;
  padding-bottom: 15px;
}

.cv5-section-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 60px;
  height: 3px;
  background: #C8102E;
}

.cv5-form .cv5-input {
  width: 100%;
  padding: 16px 20px;
  margin-bottom: 25px;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  background: #fbfbfb;
  font-family: 'Spartan', sans-serif;
  font-size: 0.95rem;
  color: #333;
  transition: all 0.3s ease;
  resize: none;
}

.cv5-form .cv5-input:focus {
  outline: none;
  border-color: #C8102E;
  background: #fff;
  box-shadow: 0 5px 15px rgba(200, 16, 46, 0.08);
}

.cv5-btn-submit {
  background: #171717;
  color: #fff;
  font-family: 'Spartan', sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 16px 40px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: all 0.3s ease;
  width: 100%;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.cv5-btn-submit:hover {
  background: #C8102E;
  transform: translateY(-2px);
  box-shadow: 0 6px 15px rgba(200, 16, 46, 0.2);
}

.cv5-info-box {
  background: transparent;
  padding: 0;
  border: none;
  box-shadow: none;
}

@media (min-width: 992px) {
  .cv5-row {
    display: flex;
    align-items: stretch;
  }

  .cv5-form-col {
    border-right: 2px solid #eaeaea;
    padding-right: 50px;
  }

  .cv5-info-col {
    padding-left: 50px;
  }
}

.cv5-info-block {
  display: flex;
  align-items: flex-start;
  margin-bottom: 25px;
}

.cv5-info-icon {
  font-size: 1.5rem;
  color: #C8102E;
  margin-right: 20px;
  margin-top: 3px;
  width: 30px;
  text-align: center;
}

.cv5-info-block h4 {
  font-family: 'Spartan', sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: #171717;
  margin: 0 0 5px;
}

.cv5-info-block p {
  font-family: 'Spartan', sans-serif;
  font-size: 0.95rem;
  line-height: 1.6;
  color: #666;
  margin: 0;
}

.cv5-map-container {
  margin-top: 30px;
  border: 1px solid #eaeaea;
}

.cv5-map-container iframe {
  display: block;
  width: 100%;
}

.cv5-alert-success {
  padding: 15px;
  background: #d4edda;
  color: #155724;
  border-left: 4px solid #28a745;
  margin-bottom: 20px;
  font-family: 'Spartan', sans-serif;
}

.cv5-alert-error {
  padding: 15px;
  background: #f8d7da;
  color: #721c24;
  border-left: 4px solid #dc3545;
  margin-bottom: 20px;
  font-family: 'Spartan', sans-serif;
}

/* Footer Links */
.footer-links-list a {
  color: #fff;
  text-decoration: none;
  transition: color 0.3s;
}

.footer-links-list a:hover {
  color: #f20e01;
}

/* Legal Pages Styling */
.legal-page-hero {
  padding: 150px 0 60px;
  background-color: #171717;
  border-bottom: 1px solid #000;
}

.legal-page-hero h1 {
  font-family: 'Spartan', sans-serif;
  font-size: 3rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 10px;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.legal-updated {
  font-family: 'Spartan', sans-serif;
  color: #ccc;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.legal-intro {
  font-family: 'Spartan', sans-serif;
  font-size: 1.1rem;
  line-height: 1.8;
  color: #444;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.legal-content-section {
  padding-top: 60px;
  padding-bottom: 100px;
}

.legal-content-wrapper {
  margin-top: 50px;
}

.legal-section-block {
  margin-bottom: 40px;
  padding-bottom: 30px;
  border-bottom: 1px solid #eaeaea;
}

.legal-section-block:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.legal-section-title {
  font-family: 'Spartan', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #171717;
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.legal-section-body {
  font-family: 'Spartan', sans-serif;
  font-size: 1.05rem;
  line-height: 1.8;
  color: #444;
}

.legal-section-body p {
  margin-bottom: 20px;
}

.legal-section-body a {
  color: #C8102E;
  text-decoration: underline;
}

/* FAQ Page Styling */
.faq-content-section {
  padding-top: 60px;
  padding-bottom: 100px;
}

.faq-intro {
  font-family: 'Spartan', sans-serif;
  font-size: 1.1rem;
  line-height: 1.8;
  color: #444;
  text-align: center;
  max-width: 800px;
  margin: 0 auto 40px;
}

.faq-accordion {
  max-width: 800px;
  margin: 0 auto;
}

.faq-item {
  border: 1px solid #eaeaea;
  border-radius: 8px;
  margin-bottom: 15px;
  background-color: #fff;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}

.faq-item:hover {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 25px;
  font-family: 'Spartan', sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  color: #171717;
  cursor: pointer;
  list-style: none;
  margin: 0;
}

.faq-question::-webkit-details-marker {
  display: none;
}

.faq-question:focus {
  outline: none;
}

.faq-icon i {
  transition: transform 0.3s ease;
  color: #C8102E;
}

details[open] .faq-icon i {
  transform: rotate(-180deg);
}

.faq-answer {
  padding: 0 25px 25px;
  font-family: 'Spartan', sans-serif;
  font-size: 1.05rem;
  line-height: 1.8;
  color: #555;
  border-top: 1px solid #eaeaea;
  margin-top: 10px;
  padding-top: 20px;
}

.faq-answer p:last-child {
  margin-bottom: 0;
}

/* ==========================================================================
   Careers Page Styles
   ========================================================================== */
.careers-content-section {
  padding-top: 60px;
  padding-bottom: 60px;
}

.careers-intro {
  font-family: 'Spartan', sans-serif;
  font-size: 1.1rem;
  line-height: 1.8;
  color: #555;
  margin-bottom: 40px;
  text-align: center;
}

.job-card {
  background: #fff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  padding: 30px;
  margin-bottom: 30px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
  transition: all 0.3s ease;
}

.job-card:hover {
  box-shadow: 0 8px 15px rgba(0, 0, 0, 0.05);
  border-color: #ddd;
}

.job-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #f0f0f0;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.job-card-title-group h3.job-title {
  font-family: 'Spartan', sans-serif;
  font-weight: 700;
  font-size: 1.4rem;
  color: #171717;
  margin: 0 0 5px 0;
}

.job-type {
  display: inline-block;
  font-family: 'Spartan', sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  color: #f20e01;
  background: rgba(242, 14, 1, 0.1);
  padding: 4px 10px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.job-card-action .apply-btn {
  display: inline-block;
  padding: 12px 30px;
  background-color: #f20e01;
  color: #fff;
  font-family: 'Spartan', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: all 0.3s ease;
  border-radius: 4px;
  text-decoration: none;
  border: none;
}

.job-card-action .apply-btn:hover {
  background-color: #d10c01;
  color: #fff;
  text-decoration: none;
}

.job-description {
  font-family: 'Spartan', sans-serif;
  font-size: 1rem;
  line-height: 1.8;
  color: #666;
}

.job-description ul {
  padding-left: 20px;
  margin-top: 15px;
  margin-bottom: 15px;
}

.job-description ul li {
  margin-bottom: 8px;
}

.no-jobs-message {
  padding: 50px 20px;
  background: #f9f9f9;
  border-radius: 8px;
  border: 1px dashed #ccc;
}

.no-jobs-message i {
  font-size: 3rem;
  color: #ccc;
  margin-bottom: 20px;
}

.no-jobs-message p {
  font-family: 'Spartan', sans-serif;
  font-size: 1.1rem;
  color: #666;
  margin-bottom: 25px;
}

@media (max-width: 767px) {
  .job-card-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .job-card-action {
    margin-top: 20px;
    width: 100%;
  }

  .job-card-action .apply-btn {
    width: 100%;
    text-align: center;
  }
}

/* ==========================================================================
   GLOBAL RESPONSIVENESS FIXES (Mobile & Tablet)
   ========================================================================== */
@media (max-width: 991px) {

  /* 1. Header Fixes: Tighten header space to take less room */
  .navbar-fixed-top {
    z-index: 999999 !important;
  }

  .navbar .container {
    position: relative;
  }

  /* Hide logo when mobile menu is opened */
  .navbar:has(.navbar-collapse.in) a.header-logo,
  .navbar:has(.navbar-collapse.collapsing) a.header-logo {
    display: none !important;
  }

  a.header-logo.logo-top,
  a.header-logo.logo-scroll {
    position: absolute !important;
    left: 15px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    max-width: 150px;
    z-index: 10000 !important;
    margin: 0 !important;
    display: block !important;
  }

  .navbar-header {
    float: right;
    width: auto;
  }

  .navbar-toggle {
    display: block !important;
    position: relative;
    z-index: 10000 !important;
    margin-top: 15px;
    margin-bottom: 15px;
    margin-right: 15px;
    padding: 5px 8px;
  }

  .socialnav {
    display: none !important;
    /* Hide social icons in header on mobile to prevent crowding */
  }

  .navbar-collapse,
  #navbar-collapse-1 {
    clear: both;
    width: 100%;
    background-color: #000 !important;
    border-top: none;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh !important;
    max-height: 100vh !important;
    overflow-y: auto;
    z-index: 9999 !important;
    padding-top: 100px !important;
    box-sizing: border-box !important;
  }

  #navbar-collapse-1 .nav>li {
    width: 100%;
  }

  #navbar-collapse-1 .nav>li>a {
    color: #fff !important;
    padding: 18px 25px !important;
    font-size: 1.1rem;
    display: block !important;
    border-bottom: 1px solid #222;
    text-align: left;
  }

  /* 2. Global Padding, Margin, and Font Size Reductions */
  /* 2. Global Padding, Margin, and Font Size Reductions */
  h1,
  .h1 {
    font-size: 1.8rem !important;
  }

  h2,
  .h2 {
    font-size: 1.5rem !important;
  }

  h3,
  .h3 {
    font-size: 1.2rem !important;
  }

  p,
  .bento-item-desc {
    font-size: 1.4rem !important;
  }

  .section-padding,
  .py-5,
  .pt-5,
  .pb-5,
  .careers-content-section,
  .contact-v5-section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .my-5,
  .mt-5,
  .mb-5 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }

  /* 3. Footer Stacking and Centering */
  footer,
  .footer {
    text-align: center;
    padding: 40px 15px !important;
  }

  footer .col-md-3,
  footer .col-sm-6,
  .footer .col-md-3 {
    width: 100% !important;
    float: none !important;
    margin-bottom: 40px;
    display: block;
  }

  footer ul,
  .footer ul {
    padding: 0;
    list-style: none;
  }

  footer ul li,
  .footer ul li {
    text-align: center;
  }

  footer .social-icons-holder {
    justify-content: center;
    display: flex;
    gap: 15px;
  }

  footer h1,
  footer .h1,
  .footer h1,
  .footer .h1,
  .contact-v3 h1,
  .contact-v3 .h1 {
    font-size: 1.2rem !important;
    margin-bottom: 10px !important;
    letter-spacing: 1px !important;
  }

  footer h2,
  footer .h2,
  .footer h2,
  .footer .h2,
  .contact-v3 h2,
  .contact-v3 .h2 {
    font-size: 1rem !important;
    margin-bottom: 10px !important;
  }

  /* Fix Front Page Hero on Mobile */
  body.home .header {
    height: 50vh !important;
    min-height: 50vh !important;
    max-height: 50vh !important;
  }

  body.home video#coverVideo {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
  }

  /* Drinks Page Mobile Fixes */
  .drink-menu-page .food-menu-nav {
    display: flex;
    flex-direction: row;
    gap: 10px;
    padding: 0 15px;
    margin-top: 20px;
  }

  .drink-menu-page .food-menu-nav-item {
    flex: 1;
    font-size: 0.9rem !important;
    padding: 12px 5px !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    text-align: center;
  }

  /* Force 1x1 Column on Mobile for the CSS Grid */
  .drink-menu-page .food-menu-content,
  .drink-menu-page .menu_1.food-menu-grid .food-menu-content {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .drink-menu-page .food-item-holder {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto 20px !important;
  }

  /* Restore and tighten massive buttons on front page */
  .custom_html_1-section {
    padding: 20px 0 !important;
  }

  .custom_html_1-section .buttons-holder {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .custom_html_1-section .custom-temp-btn {
    width: 70% !important;
    max-width: 250px;
    margin-bottom: 0 !important;
    padding: 10px 15px !important;
    font-size: 0.9rem;
    text-align: center !important;
  }

  /* 4. Form and Layout adjustments */
  input[type="text"],
  input[type="email"],
  textarea,
  .cv5-form-col {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  /* Fix row overflow on mobile */
  .container {
    overflow-x: hidden;
  }

  /* Custom Wine Dropdown for Mobile */
  .custom-wine-dropdown {
    display: block !important;
    width: 90%;
    margin: 20px auto;
    position: relative;
    font-family: "Spartan", sans-serif;
  }

  .custom-dropdown-selected {
    background-color: #fff;
    border: 2px solid #171717;
    padding: 12px 20px;
    color: #171717;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-transform: uppercase;
    letter-spacing: 1px;
  }

  .custom-dropdown-selected::after {
    content: "";
    width: 10px;
    height: 10px;
    border-right: 2px solid #171717;
    border-bottom: 2px solid #171717;
    transform: rotate(45deg);
    margin-bottom: 4px;
    transition: transform 0.3s ease;
  }

  .custom-wine-dropdown.open .custom-dropdown-selected::after {
    transform: rotate(-135deg);
    margin-bottom: -4px;
  }

  .custom-dropdown-options {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #fff;
    border: 2px solid #171717;
    border-top: none;
    z-index: 100;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    max-height: 250px;
    overflow-y: auto;
  }

  .custom-wine-dropdown.open .custom-dropdown-options {
    display: block;
  }

  .custom-dropdown-option {
    padding: 12px 20px;
    border-bottom: 1px solid #f0f0f0;
    color: #171717;
    cursor: pointer;
    font-size: 0.9rem;
    text-transform: uppercase;
    font-weight: 500;
    transition: background-color 0.2s ease, color 0.2s ease;
  }

  .custom-dropdown-option:last-child {
    border-bottom: none;
  }

  .custom-dropdown-option:active,
  .custom-dropdown-option:hover {
    background-color: #C8102E;
    /* Brand Red */
    color: #fff;
  }

  .wine-subnav-pills {
    display: none !important;
  }

  /* Reduce huge gaps below dropdown */
  .wine-subnav {
    margin-bottom: 10px !important;
  }

  .wine-category-section {
    padding-top: 0 !important;
  }
}

/* Hide custom dropdown on desktop */
.custom-wine-dropdown {
  display: none;
}

/* Mobile Fixes for Home Page Reviews */
@media (max-width: 900px) {
  .reviews-v2-wrapper .review-text p {
    font-size: 0.9em !important;
    line-height: 1.5em !important;
  }

  .reviews-v2-wrapper .review-text {
    padding: 15px 30px !important;
  }
}

/* Home Page Typography Balance (Desktop) */
.home .uk-overlay-panel h1,
.uk-overlay-panel h1 {
  font-size: 3em !important;
}

.home .about-us-v8-content h1,
.about-us-v8-content h1 {
  font-size: 2.6em !important;
}

.home .about-us-v8-content h2,
.about-us-v8-content h2 {
  font-size: 1.8em !important;
}

.home .about-us-v8-content p,
.about-us-v8-content p {
  font-size: 1.05em !important;
}

/* Fix for black flash on page load */
.about-us-v8-content,
.about-us-v8-image-bar {
  opacity: 1 !important;
  transition: none !important;
}

/* Home Page Typography Persistence (Mobile) */
@media (max-width: 900px) {

  .home .uk-overlay-panel h1,
  .uk-overlay-panel h1 {
    font-size: 2.4rem !important;
  }

  .home .about-us-v8-content h1,
  .about-us-v8-content h1 {
    font-size: 2rem !important;
  }

  .home .about-us-v8-content h2,
  .about-us-v8-content h2 {
    font-size: 1.5rem !important;
  }

  .home .about-us-v8-content p,
  .about-us-v8-content p {
    font-size: 0.95rem !important;
  }
}




/* Prevent layout shifts and FOUC (black flashes) during JS initialization */
.gallery-v4-grid {
  min-height: 400px;
  clear: both;
}

.owl-carousel:not(.owl-loaded) {
  display: block !important;
  opacity: 0;
}

.reviews-v2-wrapper {
  min-height: 400px;
}

.about-us-v8-wrapper,
.about-us-v8-item {
  opacity: 1 !important;
  visibility: visible !important;
}

.about-us-v8-content {
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 767px) {

  /* About Page Mobile Responsiveness */
  .about-hero {
    min-height: 400px !important;
  }

  .about-page-wrapper-v2 .hero-title {
    font-size: 1.8rem !important;
    letter-spacing: 1px;
  }

  .about-page-wrapper-v2 .hero-subtitle {
    font-size: 1.2rem !important;
    margin-top: 10px;
  }

  .about-story-section,
  .about-values-section,
  .about-team-section,
  .about-stats-section {
    padding: 20px 0 !important;
  }

  .about-split-layout {
    margin: 10px 0 !important;
  }

  .about-page-wrapper-v2 .section-heading {
    font-size: 1.5rem !important;
    margin-bottom: 1.5rem;
    text-align: center;
  }

  .about-page-wrapper-v2 .stat-number {
    font-size: 1.5rem !important;
    margin-bottom: 5px;
  }

  .about-page-wrapper-v2 .stat-label {
    font-size: 0.65rem !important;
    letter-spacing: 0.5px;
  }

  .about-page-wrapper-v2 .story-text,
  .about-page-wrapper-v2 .value-text {
    font-size: 0.95rem;
    text-align: center;
  }

  .about-split-right,
  .about-split-left {
    text-align: center;
  }

  .about-page-wrapper-v2 .offerings-list {
    display: inline-block;
    text-align: left;
    margin: 0 auto;
  }
}

/* Fix list alignment */
.about-page-wrapper-v2 .offerings-list li {
  position: relative;
  padding-left: 25px;
  text-align: left;
}

.about-page-wrapper-v2 .offerings-list li i {
  position: absolute;
  left: 0;
  top: 4px;
}

@media (max-width: 767px) {

  /* Disable scroll animations on mobile to prevent empty space */
  .anim-fade-up,
  .anim-fade-right,
  .anim-fade-left,
  .anim-scale-in {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}

@media (max-width: 767px) {
  .value-item {
    padding: 20px 15px !important;
  }

  .value-icon {
    font-size: 1.6rem !important;
    margin-bottom: 10px !important;
  }

  .value-title {
    font-size: 1rem !important;
    margin-bottom: 8px !important;
  }

  .about-page-wrapper-v2 .value-text {
    font-size: 0.85rem !important;
    line-height: 1.4 !important;
  }
}


/* ==========================================================================
   STYLES EXTRACTED FROM FRONT-PAGE.PHP
   ========================================================================== */


video#coverVideo {
  z-index: 99;
  background: url(../video_poster_2.jpg) no-repeat;
  background-size: cover;
}


@media (min-width: 1025px) {

  video#coverVideo {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    -ms-transform: translateX(-50%) translateY(-50%);
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    max-width: none;
    vertical-align: baseline;
  }
}

@media (max-width: 1024px) {

  video#coverVideo {
    width: 100%;
  }

  .header {
    max-height: 100vh;
    background-image: none !important;
    width: initial;
    height: initial;
  }

  body.home-page {
    background-color: transparent;
  }
}



.video-volume-btn {
  color: rgba(255, 255, 255, 0.9);
}



.custom_html_1-section .top-svg-border path,
.custom_html_1-section .top-svg-border polygon {
  fill: #000;
}

.custom_html_1-section .bottom-svg-border path,
.custom_html_1-section .bottom-svg-border polygon {
  fill: #000;
}


.about-us-v8-wrapper {
  padding: 3%;
}

.about-us-v8-wrapper:before {
  background-image: url('../about_back.jpg');
}

.about-us-v8-wrapper .top-svg-border path,
.about-us-v8-wrapper .top-svg-border polygon {
  fill: #000;
}

.about-us-v8-wrapper .bottom-svg-border path,
.about-us-v8-wrapper .bottom-svg-border polygon {
  fill: #000;
}

.about-us-v8-wrapper .container {
  padding: 0;
  width: 100%;
}

.about-us-v8-content .text-content.title-image h1:after {
  background-image: url('../title_decoration.png');
}

@-webkit-keyframes grow {
  from {
    opacity: 0;
    width: 0px;
  }

  to {
    opacity: 1;
    width: 80%;
  }
}

@-moz-keyframes grow {
  from {
    opacity: 0;
    width: 0px;
  }

  to {
    opacity: 1;
    width: 80%;
  }
}

@keyframes grow {
  from {
    opacity: 0;
    width: 0px;
  }

  to {
    opacity: 1;
    width: 80%;
  }
}

.safari-mac .about-us-v8-item .about-us-v8-image-bar {
  width: 80%;
}


@media (max-width: 767px) {
  .about-us-v8-wrapper {
    padding: 0;
  }

  .about-us-v8-wrapper .container {
    padding: 0;
    width: 100%;
  }

  .about-us-v8-item {
    padding: 0 !important;
  }
}



.about-us-v8-wrapper.custom-about-us-v8-wrapper {
  padding: 4%;
}

.about-us-v8-wrapper.custom-about-us-v8-wrapper:before {
  background-image: url('../reservations_back.jpg');

}

.about-us-v8-wrapper.custom-about-us-v8-wrapper .top-svg-border path,
.about-us-v8-wrapper.custom-about-us-v8-wrapper .top-svg-border polygon {
  fill: #000;
}

.about-us-v8-wrapper.custom-about-us-v8-wrapper .bottom-svg-border path,
.about-us-v8-wrapper.custom-about-us-v8-wrapper .bottom-svg-border polygon {
  fill: #000;
}

.about-us-v8-wrapper.custom-about-us-v8-wrapper .container {
  padding: 0;
  width: 100%;
}

.custom-about-us-v8-wrapper .about-us-v8-content .text-content.title-image h1:after {
  background-image: url('../title_decoration.png');
}

@-webkit-keyframes grow {
  from {
    opacity: 0;
    width: 0px;
  }

  to {
    opacity: 1;
    width: 80%;
  }
}

@-moz-keyframes grow {
  from {
    opacity: 0;
    width: 0px;
  }

  to {
    opacity: 1;
    width: 80%;
  }
}

@keyframes grow {
  from {
    opacity: 0;
    width: 0px;
  }

  to {
    opacity: 1;
    width: 80%;
  }
}

.safari-mac .custom-about-us-v8-wrapper .about-us-v8-item .about-us-v8-image-bar {
  width: 80%;
}


@media (max-width: 767px) {
  .about-us-v8-wrapper.custom-about-us-v8-wrapper {
    padding: 0;
  }

  .about-us-v8-wrapper.custom-about-us-v8-wrapper .container {
    padding: 0;
    width: 100%;
  }

  .custom-about-us-v8-wrapper .about-us-v8-item {
    padding: 0 !important;
  }
}




@media (max-width: 1024px) {
  .uk-slidenav-position:hover .uk-slidenav {
    display: none;
  }
}

.slideshow-v2-wrapper .top-svg-border path,
.slideshow-v2-wrapper .top-svg-border polygon {
  fill: #000;
}

.slideshow-v2-wrapper .bottom-svg-border path,
.slideshow-v2-wrapper .bottom-svg-border polygon {
  fill: #000;
}




.slideshow-v2-wrapper .slideshow-controls-btn {
  color: rgba(255, 255, 255, 0.8);
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 10;
  background: none;
  border: none;
  font-size: 24px;
  outline: none;
}

@media (max-width: 767px) {
  .slideshow-v2-wrapper .slideshow-controls-btn {
    opacity: 1 !important;
  }
}


.order-tmt-section .top-svg-border path,
.order-tmt-section .top-svg-border polygon {
  fill: #000;
}

.order-tmt-section .bottom-svg-border path,
.order-tmt-section .bottom-svg-border polygon {
  fill: #000;
}

.order-tmt-section {
  background-color: #fff;
  background-image: url('../reservations_back.jpg');
}

.order-tmt-section h1 {
  color: #000;
}

.order-tmt-section h2 {
  color: #f20e01;
}

.order-tmt-section p {
  color: #000;
}


.gallery-v4-wrapper .top-svg-border path,
.gallery-v4-wrapper .top-svg-border polygon {
  fill: #000;
}

.gallery-v4-wrapper .bottom-svg-border path,
.gallery-v4-wrapper .bottom-svg-border polygon {
  fill: #66b95f;
}


#reviews.carousel-wrapper {
  color: #fff;
  background-color: #171717;
  background: url('../reviews_back.jpg') no-repeat center center fixed;
  background: linear-gradient(rgba(250, 250, 250, 0), rgba(250, 250, 250, 0)), url('../reviews_back.jpg') no-repeat center center fixed;
}

.reviews-v2-wrapper .top-svg-border path,
.reviews-v2-wrapper .top-svg-border polygon {
  fill: #fff;
}

.reviews-v2-wrapper .bottom-svg-border path,
.reviews-v2-wrapper .bottom-svg-border polygon {
  fill: #fff;
}

@media(max-width: 1024px) {
  #reviews.carousel-wrapper {
    background-attachment: scroll;
  }
}

.reviews-v2-wrapper .carousel-controls .carousel-control-btn {
  color: #fff;
}


.map-newsletter .text-wrapper:before {
  background-image: url('../newsletter_back.jpg');
}

.googlemap-v3-wrapper .top-svg-border path,
.googlemap-v3-wrapper .top-svg-border polygon {
  fill: #66b95f;
}

.googlemap-v3-wrapper .bottom-svg-border path,
.googlemap-v3-wrapper .bottom-svg-border polygon {
  fill: #fff;
}


.contact-v3 .hours-title,
.contact-v3 .social-title,
.contact-v3 .contact-us-title {
  color: #fff;
}

.contact a:hover,
.contact a:active,
.contact-us a:hover,
.contact-us a:active {
  color: #e3391c;
}

.contact-v3 .social-circle .contact-icon {
  color: rgba(255, 255, 255, 0.8);
}

.contact-v3 .social-square .contact-icon:hover {
  color: #171717;
  background-color: #e3391c;
}

.about-hero {
  background-size: cover;
  background-position: center;
  min-height: 600px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

.hero-content-wrapper {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 0 20px;
}

.featured-food-carousel {
  margin-top: 40px;
  padding: 10px;
}

.text-white {
  color: #fff !important;
}


/* ==========================================================================
   STYLES EXTRACTED FROM PAGE-ABOUT.PHP
   ========================================================================== */

#reviews.carousel-wrapper {
  color: #fff;
  background-color: #171717;
  background: url('../reviews_back.jpg') no-repeat center center fixed;
  background: linear-gradient(rgba(250, 250, 250, 0), rgba(250, 250, 250, 0)), url('../reviews_back.jpg') no-repeat center center fixed;
  background-size: cover;
}

#reviews .top-svg-border path,
#reviews .top-svg-border polygon {
  fill: #fff;
}

#reviews .bottom-svg-border path,
#reviews .bottom-svg-border polygon {
  fill: #fff;
}

@media(max-width: 1024px) {
  #reviews.carousel-wrapper {
    background-attachment: scroll;
  }
}

#reviews .carousel-controls .carousel-control-btn {
  color: #fff;
}

.about-page-wrapper-v2 #reviews h2,
.about-page-wrapper-v2 #reviews h3 {
  color: #fff !important;
}

.about-page-wrapper-v2 #reviews h3 i.fa-star {
  font-size: 1.3em;
  margin: 0 2px;
}

.about-page-wrapper-v2 #reviews .review-text p {
  font-size: 1.4em;
  line-height: 1.6;
}


/* ==========================================================================
   STYLES EXTRACTED FROM PAGE-BRUNCH.PHP
   ========================================================================== */

/* Base Theme */
:root {
  --bg-color: #faf9f6;
  --text-color: #171717;
  --brand-red: #C8102E;
}

body {
  background-color: var(--bg-color);
  color: var(--text-color);
  font-family: 'Spartan', sans-serif;
}


/* Hero Section - Brand Unified */
.brunch-hero {
  height: 70vh;
  /* Grand hero height */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  z-index: 10;
  /* Brand unified background */
  background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('../food_back.jpg');
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}

.brunch-title {
  /* Using official sizes */
  font-size: 3.8em;
  font-family: "Spartan", sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  color: #fff;
  margin: 0;
  line-height: 1;
  text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
  /* Improved readability */
}

.brunch-subtitle {
  /* Using official accent font */
  font-family: "Caveat", cursive;
  font-size: 2.2em;
  color: #f20e01;
  /* Official brand red */
  margin-top: 5px;
  text-transform: none;
  letter-spacing: normal;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.8);
  /* Improved readability */
}

.scroll-indicator {
  position: absolute;
  bottom: 80px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #fff;
  font-family: "Spartan", sans-serif;
  animation: bounce 2s infinite;
}

@keyframes bounce {

  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0) translateX(-50%);
  }

  40% {
    transform: translateY(-15px) translateX(-50%);
  }

  60% {
    transform: translateY(-7px) translateX(-50%);
  }
}

/* The Unifying SVG Border */
.hero-bottom-svg {
  position: absolute;
  bottom: -2px;
  /* Pull down slightly to prevent pixel gaps */
  left: 0;
  width: 100%;
  line-height: 0;
  z-index: 20;
}

.hero-bottom-svg svg {
  display: block;
  width: 100%;
  height: 60px;
}

.hero-bottom-svg path {
  fill: var(--bg-color);
  /* Blends into the horizontal section below */
}

/* Horizontal Layout */
.brunch-horizontal-wrapper {
  overflow: hidden;
  background-color: var(--bg-color);
  position: relative;
  /* For absolute title */
  margin-top: -12vh;
  /* Pulls the horizontal slider up underneath the hero SVG */
  padding-top: 12vh;
  /* Offsets the negative margin internally so content isn't swallowed! */
  z-index: 1;
}

.brunch-horizontal-container {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  height: 100vh;
  padding: 0 10vw;
  align-items: center;
}

/* Base Panel */
.h-panel {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 5vw;
  padding-left: 45vw;
  /* Push cards to the right to leave space for the title */
  position: relative;
  scroll-snap-align: start;
}

.h-category-title {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 5vw;
  font-size: clamp(3rem, 6vw, 6rem);
  font-weight: 700;
  text-transform: uppercase;
  color: #e0e0e0;
  white-space: normal;
  /* Wrap text to prevent overlapping other sections */
  max-width: 35vw;
  /* Restrict width so it doesn't touch the cards */
  text-align: left;
  line-height: 1.1;
  z-index: 0;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);
}

/* =========================================
   Layout 1: The Grand Feature (Index 0)
   ========================================= */
.layout-grand .h-item {
  width: 450px;
  margin-right: 80px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.layout-grand .h-img-mask {
  width: 100%;
  height: 500px;
  overflow: hidden;
  position: relative;
  background: #eaeaea;
}

.layout-grand .h-img-mask img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.2);
  /* For internal parallax */
}

/* =========================================
   Vertical Scrolling Layout (Categories 1+)
   ========================================= */
.brunch-vertical-wrapper {
  background-color: #fafafa;
  padding: 80px 10vw;
}

.v-panel {
  margin-bottom: 100px;
  position: relative;
}

.v-category-title {
  font-size: clamp(3rem, 5vw, 5rem);
  font-weight: 700;
  text-transform: uppercase;
  color: #e0e0e0;
  margin-bottom: 50px;
  text-align: center;
  line-height: 1;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.05);
}

.v-grid-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 400px));
  justify-content: center;
  gap: 40px;
}

.h-item {
  scroll-snap-align: center;
  display: flex;
  flex-direction: column;
  gap: 20px;
  background: #fff;
  padding: 30px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  border-radius: 8px;
  transition: transform 0.3s, box-shadow 0.3s;
  min-width: 400px;
  max-width: 450px;
}

.v-item {
  display: flex;
  flex-direction: column;
  gap: 20px;
  background: #fff;
  padding: 30px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  border-radius: 8px;
  transition: transform 0.3s, box-shadow 0.3s;
  /* GSAP hidden state */
  opacity: 0;
  transform: translateY(50px);
}

.v-item:hover {
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  transform: translateY(-5px);
}

.v-img-mask {
  width: 100%;
  height: 250px;
  overflow: hidden;
  border-radius: 4px;
}

.v-img-mask img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}

.v-item:hover .v-img-mask img {
  transform: scale(1.05);
}

.v-item-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: 10px;
}

.v-item-name {
  font-size: 1.3rem;
  font-weight: 600;
  text-transform: uppercase;
  margin: 0;
}

.v-item-price {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--brand-red);
}

.v-item-desc {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #555;
  margin: 0;
}

/* Common Text Styles */
.h-item-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: 10px;
}

.h-item-name {
  font-size: 1.3rem;
  font-weight: 600;
  text-transform: uppercase;
  margin: 0;
}

.h-item-price {
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--brand-red);
}

.h-item-desc {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #555;
  margin: 0;
}

/* Mobile Overrides (Vertical Fallback) */
@media (max-width: 900px) {
  .brunch-hero {
    height: 60vh;
  }

  .scroll-indicator {
    display: none;
  }

  .brunch-horizontal-wrapper {
    margin-top: 0 !important;
    padding-top: 40px !important;
    /* Added back breathing room below hero */
  }

  .brunch-horizontal-container {
    flex-direction: column;
    width: 100%;
    height: auto;
    padding: 0 5% 0 5%;
    /* Removed bottom padding to let margin handle spacing */
  }

  .h-panel {
    flex-direction: column;
    height: auto;
    padding: 0;
    border-right: none;
    width: 100%;
    margin-bottom: 50px;
    /* Exactly 50px spacing after TO SHARE */
  }

  .h-category-title {
    position: static;
    transform: none !important;
    /* This stops it from shifting up and getting cut off! */
    margin-right: 0;
    margin-bottom: 20px;
    color: var(--brand-red);
    font-size: 1.4rem !important;
    /* Small enough to fit on one line on mobile */
    white-space: nowrap;
    /* Forces one line */
    text-align: center;
    width: 100%;
    max-width: 100%;
    /* Overrides the desktop 35vw max-width so it can actually center! */
    border-bottom: none;
    /* Removed underline as requested */
    padding-bottom: 0;
  }

  /* Reset custom layouts on mobile */
  .layout-grand .h-item {
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
    /* Reduced space between items */
    transform: none !important;
    opacity: 1 !important;
  }

  .layout-grand .h-item:last-child {
    margin-bottom: 0;
    /* Prevents double-spacing at the end of the list */
  }

  .layout-grand .h-img-mask,
  .v-img-mask {
    height: 350px;
  }

  .v-category-title {
    color: var(--brand-red);
    font-size: 1.6rem !important;
    margin-bottom: 30px;
    text-shadow: none;
  }

  .v-panel {
    margin-bottom: 50px;
    /* Exactly 50px spacing between vertical categories */
  }

  /* Typography Overrides to counteract custom.css massive mobile defaults */
  .h-item-name,
  .v-item-name {
    font-size: 1.1rem !important;
  }

  .h-item-price,
  .v-item-price {
    font-size: 1.1rem !important;
  }

  .h-item-desc,
  .v-item-desc {
    font-size: 0.9rem !important;
  }

  .v-grid-wrapper {
    grid-template-columns: 1fr;
  }

  .v-item {
    transform: none !important;
    opacity: 1 !important;
  }

  .brunch-vertical-wrapper {
    padding: 0 5% 50px 5%;
    /* Removed top padding so spacing is strictly controlled by margins */
  }
}

.brunch-empty-section {
  padding: 100px 0;
  text-align: center;
}

/* ==========================================================================
   INLINE STYLES REPLACEMENTS
   ========================================================================== */
.header-hero {
  background-image: none;
  background-repeat: no-repeat;
  background-position: center center fixed;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  z-index: 98;
  position: relative;
  overflow: hidden;
  height: 100vh;
}

.h-100 {
  height: 100%;
}

.p-0 {
  padding: 0 !important;
}

.bg-about-left-1 {
  background-image: url('../about_us_left.jpg');
  width: 49%;
}

.bg-about-right-1 {
  background-image: url('../about_us_right.jpg');
  width: 49%;
}

.bg-about-left-2 {
  background-image: url('../about_us_left_2.jpg');
  width: 47%;
}

.about-content-right-1 {
  width: 51%;
  color: #171717;
  background: rgba(250, 250, 250, 0);
  text-align: left;
}

.about-content-right-2 {
  width: 53%;
  color: #171717;
  background: rgba(250, 250, 250, 0);
  text-align: left;
}

.about-text-pad-1 {
  padding: 60px 0 60px 8%;
}

.about-text-pad-2 {
  padding: 60px 8% 60px 0;
}

.about-text-pad-3 {
  padding: 60px 0 60px 9%;
}

.text-dark {
  color: #171717 !important;
}

.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.carousel-hero {
  height: 650px;
}

.carousel-indicators-custom {
  bottom: 20px;
}

.hero-slide-1 {
  background-image: url('../gallery/c3_a7e68fb6b5440390961a049349082d.jpg');
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}

.hero-slide-2 {
  background-image: url('../gallery/0e_f06e7b5f5e449a9dc2d24bb16e534d.jpg');
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}

.hero-slide-3 {
  background-image: url('../gallery/80_5c3310a36a4cef99f72a3bfa7c980b.jpg');
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}

.carousel-caption-custom {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  text-shadow: none;
}

.d-none {
  display: none !important;
}


/* ==========================================================================
   STYLES EXTRACTED FROM PAGE-DRINKS.PHP
   ========================================================================== */

/* Completely override the background to use a fixed pseudo-element. 
     This guarantees it covers the full viewport and never cuts off, regardless of page height. */
body.drink-menu:before {
  display: none !important;
}

.drink-menu-page:before {
  content: "";
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background-image: url('<?php echo get_template_directory_uri(); ?>/assets/drinks_back.jpg') !important;
  background-position: top left !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  -webkit-filter: grayscale(0.5) opacity(0.2) !important;
  filter: grayscale(0.5) opacity(0.2) !important;
  z-index: -1 !important;
  pointer-events: none;
}

/* Gap and top padding for the signature cocktails grid */
.food-menu-custom-layout .drink-menu-grid {
  margin-top: 40px;
}

.food-menu-custom-layout .food-menu-grid-item {
  padding: 15px;
  /* Increase gap between cards */
}


/* Hide the main footer on the drinks page as per the reference design */
.drink-menu #contact_v3 {
  display: none !important;
}

.drinks-menu-footer {
  margin-top: 10px;
  padding-bottom: 50px;
}

.text-dark-imp {
  color: #000 !important;
}


/* ==========================================================================
   STYLES EXTRACTED FROM PAGE-MENU.PHP
   ========================================================================== */

/* 
 * Sliding Bento List Menu Styles
 * Brand Guidelines Applied:
 * Red: #C8102E, Gold: #CBA135, Black: #000000, White: #FFFFFF
 */
.bento-menu-wrapper {
  display: flex;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 140px 40px 60px 40px;
  /* Increased top padding to clear fixed header */
  background-color: #FFFFFF;
  color: #000000;
  min-height: 80vh;
  /* Push footer down if content is short */
}

/* Left Sidebar */
.bento-sidebar {
  width: 250px;
  flex-shrink: 0;
  position: sticky;
  top: 100px;
  height: max-content;
  padding-right: 40px;
}

.menu-page-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  /* Extra Bold */
  text-transform: uppercase;
  letter-spacing: 5px;
  font-size: 2.5rem;
  margin-bottom: 50px;
  color: #000000;
}

.bento-category-nav {
  list-style: none;
  padding: 0;
  margin: 0;
}

.bento-nav-item {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 1.1rem;
  color: #666;
  text-decoration: none !important;
  padding: 10px 0;
  margin-bottom: 10px;
  position: relative;
  transition: color 0.3s ease;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.bento-nav-item:hover,
.bento-nav-item.active {
  color: #000000;
  text-decoration: none !important;
}

/* Active indicator line */
.bento-nav-item.active::before {
  content: '';
  position: absolute;
  left: -20px;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 20px;
  background-color: #C8102E;
  /* Red Accent */
}

/* Right Main Panel */
.bento-main {
  flex-grow: 1;
}

.bento-section {
  display: none;
  margin-bottom: 80px;
  animation: fadeIn 0.4s ease-in-out;
}

.bento-section.active-section {
  display: block;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.bento-section-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  /* Bold */
  text-transform: uppercase;
  font-size: 1.8rem;
  margin-bottom: 20px;
  color: #C8102E;
  border-bottom: 2px solid #000000;
  padding-bottom: 15px;
}

.bento-list {
  display: flex;
  flex-direction: column;
}

/* Individual Row */
.bento-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px 20px;
  border-bottom: 1px solid #e0e0e0;
  position: relative;
  cursor: pointer;
  background-color: #FFFFFF;
  transition: background-color 0.4s ease;
  overflow: hidden;
  /* Hide the sliding image initially */
}

.bento-row:hover {
  background-color: #f9f9f9;
  /* Luxurious gray */
}

.bento-row-content {
  max-width: 70%;
  z-index: 2;
}

.bento-item-name {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  /* Semi-Bold */
  font-size: 1.4rem;
  margin: 0 0 8px 0;
  color: #000000;
}

.bento-item-desc {
  font-family: 'Lora', serif;
  font-weight: 400;
  /* Regular */
  font-size: 1rem;
  line-height: 1.6;
  margin: 0;
  color: #444444;
}

.bento-item-price {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  /* Medium */
  font-size: 1.2rem;
  color: #666666;
  z-index: 2;
  transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  /* Smooth slide */
}

/* Hover Image Slide-In */
.bento-hover-image {
  position: absolute;
  right: -250px;
  /* Hidden off screen right */
  top: 50%;
  transform: translateY(-50%);
  width: 180px;
  height: 180px;
  border-radius: 50%;
  /* Make it look like a plate */
  overflow: hidden;
  transition: right 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
  z-index: 1;
}

.bento-hover-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bento-row:hover .bento-hover-image {
  right: 30px;
  /* Slides smoothly into view */
}

/* Push price out of the way when image slides in */
.bento-row:hover .bento-item-price {
  transform: translateX(-220px);
}

/* Responsive */
@media (max-width: 991px) {
  .bento-menu-wrapper {
    flex-direction: column;
    padding: 120px 20px 40px 20px;
  }

  .bento-sidebar {
    width: 100%;
    position: relative;
    top: 0;
    margin-bottom: 10px !important;
    /* Reduced from 30px */
    padding-right: 0;
  }

  .menu-page-title {
    margin-bottom: 10px !important;
    /* Reduced from 50px */
  }

  .bento-category-nav {
    display: none !important;
    /* Hide pills on mobile */
  }

  .bento-section {
    display: block !important;
    margin-bottom: 15px;
    opacity: 1;
    transform: none;
    animation: none;
  }

  .bento-section .bento-list {
    display: none;
  }

  .bento-section.active-section .bento-list {
    display: flex;
    animation: fadeIn 0.4s ease-in-out;
  }

  .bento-section-title {
    cursor: pointer;
    background-color: #f9f9f9;
    padding: 15px 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
    margin-bottom: 0;
    position: relative;
    font-size: 1.2rem;
  }

  .bento-section-title::after {
    content: '+';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.5rem;
    color: #C8102E;
  }

  .bento-section.active-section .bento-section-title {
    background-color: #000;
    color: #fff;
    border-color: #000;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }

  .bento-section.active-section .bento-section-title::after {
    content: '−';
    color: #fff;
  }

  .bento-row-content {
    max-width: 100%;
  }

  /* Disable hover slide on mobile for better touch experience */
  .bento-hover-image {
    display: none;
  }

  .bento-row:hover .bento-item-price {
    transform: none;
  }
}

.bento-subtitle {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #C8102E;
  padding: 30px 20px 10px 20px;
  margin: 0;
  letter-spacing: 1px;
}


/* ==========================================================================
   STYLES EXTRACTED FROM PAGE-SPECIALS.PHP
   ========================================================================== */

/* Base Light Theme for Specials */
:root {
  --menu-bg: #faf9f6;
  /* Premium off-white */
  --menu-text: #171717;
  --menu-accent: #C8102E;
  /* Brand Red */
}

body {
  background-color: var(--menu-bg);
  color: var(--menu-text);
  font-family: 'Spartan', sans-serif;
  overflow-x: hidden;
}

/* Cinematic Hero Section */
.specials-hero {
  position: relative;
  height: 70vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-image: url('../specials_pg_back.jpg');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  /* Parallax effect */
  z-index: 1;
}

.specials-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: -1;
}

/* Removed overflow: hidden to prevent font clipping on tall letters */
.hero-text-wrapper {
  padding: 10px;
}

.specials-title {
  font-size: 5rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 4px;
  line-height: 1.1;
  /* slightly increased line-height to prevent clipping */
  margin: 0;
  color: #ffffff;
  /* GSAP init */
  opacity: 0;
  transform: translateY(50px);
}

.specials-subtitle {
  font-family: "Caveat", cursive;
  font-size: 3rem;
  color: var(--menu-accent);
  margin-top: 0;
  /* GSAP init */
  opacity: 0;
}

/* Menu Container */
.specials-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 5vw 100px 5vw;
  /* top right bottom left */
  background-color: var(--menu-bg);
  position: relative;
  z-index: 2;
}

/* Featured Item Spotlight */
.s-feature-wrapper {
  padding: 60px 40px;
  margin-bottom: 100px;
  border: 2px solid var(--menu-accent);
  position: relative;
  background: #fff;
  /* GSAP init */
  opacity: 0;
  transform: translateY(40px);
}

.s-feature-inner {
  display: flex;
  align-items: center;
  gap: 40px;
  text-align: left;
}

.s-feature-image {
  flex: 1;
  max-width: 45%;
}

.s-feature-image img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}

.s-feature-content {
  flex: 1;
}

.s-feature-tag {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--menu-bg);
  padding: 0 20px;
  color: var(--menu-accent);
  text-transform: uppercase;
  letter-spacing: 3px;
  font-weight: 700;
  font-size: 1rem;
}

.s-feature-name {
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: 20px;
  text-transform: uppercase;
  color: var(--menu-text);
}

.s-feature-desc {
  font-size: 1.1rem;
  line-height: 1.8;
  color: #555;
  margin-bottom: 25px;
  max-width: 600px;
}

.s-feature-price {
  font-size: 2rem;
  font-weight: 700;
  color: var(--menu-accent);
}

/* Elegant List Sections */
.s-list-wrapper {
  margin-bottom: 120px;
}

.s-list-wrapper:last-child {
  margin-bottom: 0px;
}

.cat-title-wrapper {
  margin-bottom: 0px;
  text-align: center;
  /* Removed overflow hidden to prevent any potential clipping */
}

.s-category-title {
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--menu-text);
  text-transform: uppercase;
  letter-spacing: 2px;
  margin: 0;
  /* GSAP init */
  opacity: 0;
  transform: translateY(30px);
}

.s-category-line {
  width: 0px;
  height: 3px;
  background: var(--menu-accent);
  margin: 20px auto 60px auto;
}

/* Staggered Grid for Items with Images */
.s-list-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px 60px;
}

/* New Layout for Item with Image */
.s-list-item {
  display: flex;
  align-items: center;
  padding-bottom: 25px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  /* GSAP init */
  opacity: 0;
  transform: translateY(40px);
  transition: transform 0.4s ease, border-color 0.4s ease;
}

.s-list-item:hover {
  transform: translateY(-5px);
  border-color: var(--menu-accent);
}

.s-item-image {
  width: 100px;
  height: 100px;
  flex-shrink: 0;
  border-radius: 50%;
  overflow: hidden;
  margin-right: 25px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
}

.s-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.s-list-item:hover .s-item-image img {
  transform: scale(1.1);
}

.s-item-content {
  flex-grow: 1;
}

.s-list-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 10px;
}

.s-list-name {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--menu-text);
  margin: 0;
  text-transform: uppercase;
  line-height: 1.3;
  padding-right: 15px;
  transition: color 0.3s;
}

.s-list-item:hover .s-list-name {
  color: var(--menu-accent);
}

.s-list-price {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--menu-accent);
  flex-shrink: 0;
}

.s-list-desc {
  font-size: 0.95rem;
  color: #666;
  line-height: 1.6;
  margin: 0;
}

/* Unifying Brand SVG Border for Specials */
.hero-bottom-svg {
  position: absolute;
  bottom: -2px;
  /* Pull down slightly to prevent pixel gaps */
  left: 0;
  width: 100%;
  line-height: 0;
  z-index: 20;
}

.hero-bottom-svg svg {
  display: block;
  width: 100%;
  height: 60px;
}

.hero-bottom-svg path {
  fill: var(--menu-bg);
  /* Blends into the container below */
}

/* Mobile Fallback */
@media (max-width: 900px) {
  .specials-hero {
    height: 60vh;
  }

  .specials-title {
    font-size: 5.5rem;
    /* Massive on mobile */
  }

  .specials-subtitle {
    font-size: 3.5rem;
    /* Huge script font on mobile */
    margin-top: 0;
  }

  .specials-container {
    padding: 60px 5vw 50px 5vw;
    /* Added proper breathing room below hero */
  }

  .s-feature-wrapper {
    padding: 40px 20px;
  }
  
  .s-feature-inner {
    flex-direction: column;
    text-align: center;
    gap: 20px;
  }
  
  .s-feature-image {
    max-width: 100%;
  }

  .s-list-container {
    grid-template-columns: 1fr;
  }

  /* Explicitly shrink all typography for mobile to override global styles */
  .s-category-title {
    font-size: 1.5rem !important;
  }

  .s-feature-name {
    font-size: 1.3rem !important;
  }

  .s-list-name {
    font-size: 1.05rem !important;
  }

  .s-list-price {
    font-size: 1.1rem !important;
  }

  .s-list-desc,
  .s-feature-desc {
    font-size: 0.9rem !important;
  }
}

.specials-empty-section {
  text-align: center;
  padding: 50px 0;
}

.wine-subnav-pills {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 40px;
}

/* Contact Page Responsive Fixes */
@media (max-width: 991px) {
  .cv5-form-col {
    margin-bottom: 50px;
  }

  .contact-hero {
    height: 300px;
  }

  .contact-hero h1 {
    font-size: 3rem;
  }
}

@media (max-width: 768px) {
  .contact-hero {
    height: 250px;
  }

  .contact-hero h1 {
    font-size: 2.5rem;
  }

  .contact-v5-section {
    padding: 50px 0;
  }

  .cv5-section-title {
    font-size: 1.8rem;
  }
}

/* Typography Shrinking for Legal, Careers, and FAQ on Mobile */
@media (max-width: 768px) {

  /* Shared Hero (Legal, Careers, FAQ) */
  .legal-page-hero h1 {
    font-size: 1.8rem !important;
  }

  .legal-updated {
    font-size: 0.85rem !important;
  }

  /* Legal Page */
  .legal-section-title {
    font-size: 1.1rem !important;
  }

  .legal-section-body p,
  .legal-intro p,
  .legal-section-body,
  .legal-intro {
    font-size: 0.85rem !important;
  }

  /* Careers Page */
  .job-card-title-group h3.job-title {
    font-size: 1.15rem !important;
  }

  .job-description p,
  .careers-intro p,
  .job-description,
  .careers-intro {
    font-size: 0.85rem !important;
  }

  .job-type {
    font-size: 0.8rem !important;
  }

  /* FAQ Page */
  .faq-question {
    font-size: 1.05rem !important;
    padding: 15px 20px !important;
  }

  .faq-answer {
    padding: 20px !important;
  }

  .faq-answer p {
    font-size: 0.85rem !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}



/* Dynamic Notice for Contact Page */
.cv5-dynamic-notice {
  display: flex;
  align-items: center;
  margin-bottom: 25px;
  padding: 12px 18px;
  border: 1px solid #eaeaea;
  border-radius: 4px;
  background: #fff;
  font-size: 14px;
  color: #333;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
}

.cv5-dynamic-notice i {
  color: #da2128;
  font-size: 18px;
  margin-right: 12px;
}

.cv5-dynamic-notice span {
  font-weight: 500;
  letter-spacing: 0.5px;
}

/* Header Buttons */
.navbar-nav .nav-order-link a.btn-header-order {
  background-color: #C8102E !important;
  /* Brand Red */
  color: #ffffff !important;
  border-radius: 4px;
  padding: 8px 16px !important;
  margin-top: 15px;
  margin-left: 10px;
  font-weight: 600;
  text-transform: uppercase;
  transition: background-color 0.3s ease;
}

.navbar-nav .nav-order-link a.btn-header-order:hover {
  background-color: #a00d25 !important;
}

.navbar-nav .nav-phone-link {
  display: flex;
  align-items: center;
}

.navbar-nav .nav-phone-link a.btn-header-phone {
  color: #ffffff;
  padding: 8px 12px !important;
  margin-top: 15px;
  margin-left: 10px;
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 4px;
  transition: all 0.3s ease;
}

.navbar-nav .nav-phone-link a.btn-header-phone:hover {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: #ffffff;
}

.navbar-nav .nav-phone-link a.btn-header-phone i {
  margin-right: 5px;
}

/* ==========================================================================
   STYLES EXTRACTED FROM PAGE-LOYALTY.PHP
   ========================================================================== */

.loyalty-hero {
  padding: 180px 20px 100px;
  background-color: #fcfcfc;
  background-image: linear-gradient(rgba(252, 252, 252, 0.90), rgba(252, 252, 252, 0.96)), url('../food_back.jpg');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.loyalty-hero-container {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.loyalty-hero-title {
  font-family: 'Spartan', sans-serif;
  font-size: 3.5em;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  color: #222222;
  margin-bottom: 20px;
  letter-spacing: -1.5px;
}

.loyalty-hero-subtitle {
  font-size: 1.15em;
  font-weight: 600;
  color: #555555;
  margin-bottom: 35px;
  line-height: 1.6;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.loyalty-steps {
  padding: 60px 20px;
  background-color: #ffffff;
}

.loyalty-steps-container {
  max-width: 1000px;
  margin: 0 auto;
}

.loyalty-section-title {
  font-family: 'Spartan', sans-serif;
  font-size: 2.2em;
  font-weight: 900;
  text-transform: uppercase;
  color: #222222;
  margin-bottom: 50px;
  text-align: center;
  letter-spacing: -1px;
}

.loyalty-steps-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 40px;
}

.loyalty-step-col {
  flex: 1;
  min-width: 250px;
  text-align: center;
}

.loyalty-step-num {
  font-size: 3em;
  font-weight: 900;
  color: #d6b876;
  margin-bottom: 10px;
  font-family: 'Spartan', sans-serif;
  line-height: 1;
  letter-spacing: -2px;
}

.loyalty-step-title {
  font-size: 1.2em;
  font-weight: 800;
  text-transform: uppercase;
  color: #222222;
  margin-bottom: 15px;
  letter-spacing: -0.5px;
}

.loyalty-step-text {
  font-size: 1em;
  color: #555555;
  line-height: 1.6;
  margin: 0;
  font-weight: 500;
}

.loyalty-double {
  padding: 60px 20px;
  background-color: #fcfcfc;
}

.loyalty-double-container {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}

.loyalty-double-content {
  flex: 1;
  min-width: 300px;
}

.loyalty-double-title {
  font-family: 'Spartan', sans-serif;
  font-size: 2.2em;
  font-weight: 900;
  text-transform: uppercase;
  color: #222222;
  margin-bottom: 20px;
  line-height: 1.2;
  letter-spacing: -1px;
}

.loyalty-double-text {
  font-size: 1.1em;
  font-weight: 600;
  color: #555555;
  line-height: 1.6;
  margin-bottom: 0;
}

.loyalty-double-badge-wrapper {
  flex: 1;
  min-width: 300px;
  text-align: center;
}

.loyalty-double-badge {
  background-color: #f0f0f0;
  padding: 40px 20px;
  border-radius: 50%;
  width: 200px;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

.loyalty-double-badge h3 {
  font-family: 'Spartan', sans-serif;
  font-size: 2.5em;
  font-weight: 900;
  color: #222222;
  line-height: 1;
  letter-spacing: -1px;
}

.loyalty-double-badge h3 span {
  font-size: 0.35em;
  letter-spacing: 2px;
  display: block;
  margin-top: 10px;
}

.loyalty-faq {
  padding: 60px 20px 80px;
  background-color: #ffffff;
}

.loyalty-faq-container {
  max-width: 800px;
  margin: 0 auto;
}

.loyalty-faq-title {
  font-family: 'Spartan', sans-serif;
  font-size: 2.2em;
  font-weight: 900;
  text-transform: uppercase;
  color: #222222;
  margin-bottom: 40px;
  text-align: center;
  letter-spacing: -1px;
}

.loyalty-faq-item {
  margin-bottom: 35px;
  padding-bottom: 25px;
  border-bottom: 1px solid #eaeaea;
}

.loyalty-faq-item-last {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.loyalty-faq-q {
  font-family: 'Spartan', sans-serif;
  font-size: 1.2em;
  color: #222222;
  font-weight: 800;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: -0.5px;
}

.loyalty-faq-a {
  color: #555555;
  font-size: 1em;
  line-height: 1.6;
  margin: 0;
  font-weight: 500;
}

.loyalty-final-cta {
  padding: 0 20px 160px;
  background-color: #ffffff;
  text-align: center;
}

.loyalty-final-cta-container {
  max-width: 800px;
  margin: 0 auto;
  border-top: 1px solid #eaeaea;
  padding-top: 80px;
}

.loyalty-final-cta-title {
  font-family: 'Spartan', sans-serif;
  font-size: 2.5em;
  font-weight: 900;
  text-transform: uppercase;
  color: #222222;
  margin-bottom: 20px;
  letter-spacing: -1px;
}

.loyalty-final-cta-text {
  font-size: 1.15em;
  font-weight: 500;
  color: #555555;
  margin-bottom: 40px;
  line-height: 1.6;
}

.premium-btn {
  display: inline-block;
  background-color: #d6b876;
  color: #ffffff;
  padding: 18px 45px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 1.05em;
  text-decoration: none !important;
  border-radius: 4px;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(214, 184, 118, 0.2);
}

.premium-btn:hover {
  background-color: #222222;
  color: #d6b876;
  text-decoration: none !important;
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(34, 34, 34, 0.2);
}

.premium-btn-dark {
  background-color: #222222;
  color: #ffffff;
  box-shadow: 0 4px 15px rgba(34, 34, 34, 0.15);
}

.premium-btn-dark:hover {
  background-color: #d6b876;
  color: #ffffff;
  text-decoration: none !important;
  box-shadow: 0 8px 25px rgba(214, 184, 118, 0.3);
}

@media (max-width: 768px) {
  .loyalty-hero-title {
    font-size: 2.5em;
  }

  .loyalty-double-title {
    font-size: 1.8em;
  }

  .loyalty-section-title {
    font-size: 1.8em;
  }

  .loyalty-faq-title {
    font-size: 1.8em;
  }

  .loyalty-final-cta-title {
    font-size: 2em;
  }

  .loyalty-hero {
    padding: 120px 20px 60px;
  }

  .loyalty-final-cta {
    padding: 0 20px 80px;
  }

  .loyalty-steps-grid,
  .loyalty-double-container {
    flex-direction: column;
    text-align: center;
  }
}

/* Brunch & Specials Updates */
.brunch-overview {
  padding: 60px 20px 40px;
  margin: 0 auto;
  max-width: 900px;
  text-align: center;
  position: relative;
  z-index: 10;
}

.overview-title-script {
  font-family: "Caveat", cursive;
  font-size: 3em;
  color: #d6b876;
  margin-bottom: 10px;
  text-transform: none;
}

.overview-text {
  font-size: 1.2em;
  line-height: 1.8;
  color: #333;
  margin-bottom: 35px;
  font-family: "Spartan", sans-serif;
  font-weight: 500;
}

.overview-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  margin-bottom: 50px;
}

.o-badge {
  background-color: transparent;
  color: #222;
  border: 2px solid #d6b876;
  padding: 12px 25px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 0.85em;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.o-badge i {
  color: #d6b876;
  font-size: 1.4em;
}

.overview-separator {
  width: 60px;
  height: 3px;
  background-color: #d6b876;
  margin: 0 auto 40px;
}

.menu-notes-container {
  text-align: left;
  max-width: 750px;
  margin: 0 auto 20px;
  font-size: 1em;
  line-height: 1.6;
  color: #555;
  position: relative;
  z-index: 10;
}

.menu-notes-container p {
  margin-bottom: 15px;
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

.menu-notes-container i {
  color: #d6b876;
  font-size: 1.2em;
  margin-top: 3px;
}

.font-weight-bold {
  font-weight: bold;
}

.mt-20 {
  margin-top: 20px;
}

.brunch-ctas {
  margin: 60px 0;
  display: flex;
  gap: 15px;
  justify-content: center;
  flex-wrap: wrap;
}

.cta-btn {
  margin: 0 !important;
}

/* ==========================================================================
   Desserts Page Styles (Option 5: Classic Editorial Gallery)
   ========================================================================== */
.desserts-page-main {
  background-color: #fcfbf9;
  padding: 160px 20px 100px;
}


.desserts-page-container {
  max-width: 1200px;
  margin: 0 auto;
}

.desserts-hero {
  text-align: center;
  margin-bottom: 80px;
}

.desserts-hero-script {
  font-family: 'Caveat', cursive;
  font-size: 3.5rem;
  color: #c9a756;
  display: block;
  margin-bottom: -15px;
  position: relative;
  z-index: 2;
}

.desserts-hero-title {
  font-family: 'Playfair Display', serif;
  font-size: 3.5rem;
  letter-spacing: 0.1em;
  color: #2c2925;
  margin: 0;
  text-transform: uppercase;
  font-weight: 700;
}

.desserts-hero-subtitle {
  font-family: 'Spartan', sans-serif;
  font-size: 1rem;
  color: #6b6357;
  margin-top: 10px;
  letter-spacing: 0.05em;
}

.desserts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 80px 40px;
  align-items: start;
  padding-bottom: 40px;
}

.dessert-item-editorial {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.dessert-item-editorial:hover {
  opacity: 0.85;
}

.dessert-editorial-image {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  margin-bottom: 25px;
  border-radius: 4px;
}

.dessert-editorial-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s ease;
}

.dessert-item-editorial:hover .dessert-editorial-image img {
  transform: scale(1.03);
}

.dessert-image-placeholder {
  width: 100%;
  height: 100%;
  background-color: #eae6e0;
}

.dessert-editorial-content {
  width: 90%;
}

.dessert-editorial-name {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem;
  color: #1a1a1a;
  margin: 0 0 15px 0;
  line-height: 1.2;
}

.dessert-editorial-divider {
  width: 40px;
  height: 1px;
  background-color: #c9a756;
  margin: 0 auto 15px auto;
}

.dessert-editorial-desc {
  font-family: 'Spartan', sans-serif;
  font-size: 0.85rem;
  color: #555;
  margin: 0 0 10px 0;
  line-height: 1.6;
}

.dessert-editorial-price {
  font-weight: 700;
  color: #1a1a1a;
  font-size: 0.95rem;
  display: block;
}

/* Responsive adjustments */
@media (max-width: 991px) {
  .desserts-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  }
}

@media (max-width: 768px) {
  .desserts-grid {
    grid-template-columns: 1fr;
    gap: 60px;
  }

  .desserts-hero-script {
    font-size: 2.2rem;
    margin-bottom: 0;
    line-height: 1.1;
  }

  .desserts-hero-title {
    font-size: 2.2rem;
    margin-top: 10px;
  }

  .dessert-editorial-image {
    aspect-ratio: auto;
    height: 300px;
  }
}

/* ==========================================================================
   PRIVATE EVENTS PAGE STYLES - ULTIMATE PREMIUM
   ========================================================================== */

/* Hero */
.events-hero-premium {
  position: relative;
  height: 70vh;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.events-hero-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  z-index: 1;
  filter: brightness(0.6);
}

.events-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle, rgba(17, 17, 17, 0.3) 0%, rgba(17, 17, 17, 0.8) 100%);
  z-index: 2;
}

.events-hero-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  color: #fff;
  padding: 0 20px;
  width: 100%;
}

.events-hero-content .events-title {
  font-family: 'Oswald', sans-serif !important;
  font-size: 3.0rem !important;
  /* Reduced per user request */
  color: #ffffff !important;
  /* Forcing white */
  text-transform: uppercase;
  letter-spacing: 4px;
  margin: 0 0 20px;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.8);
  line-height: 1.3;
}

.events-title-accent {
  width: 80px;
  height: 3px;
  background-color: #d4af37;
  /* Premium gold accent instead of red */
  margin: 30px auto;
}

.events-intro-text {
  font-family: 'Inter', sans-serif;
  font-size: 1.4rem !important;
  /* Slightly larger for readability */
  margin: 0 auto;
  line-height: 1.8 !important;
  color: #ffffff !important;
  font-weight: 300;
  max-width: 750px !important;
  /* Prevent text from stretching too wide */
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
  /* Improve legibility against background */
}

/* Numbered Editorial Grid */
.events-numbered-features {
  padding: 120px 0;
  background-color: #fafafa;
}

.section-heading-editorial {
  font-family: 'Oswald', sans-serif;
  font-size: 3.5rem;
  color: #111;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 80px;
  position: relative;
}

.section-heading-editorial::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background-color: #a02020;
  margin: 20px auto 0;
}

.numbered-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px 40px;
  max-width: 1100px;
  margin: 0 auto;
}

.numbered-feature {
  display: flex;
  align-items: flex-start;
  gap: 25px;
  transition: transform 0.3s ease;
}

.numbered-feature:hover {
  transform: translateX(5px);
}

.feature-number {
  font-family: 'Oswald', sans-serif;
  font-size: 3.5rem;
  font-weight: 700;
  color: #a02020;
  line-height: 1;
  opacity: 0.8;
  margin-top: -5px;
}

.feature-content h4 {
  font-family: 'Oswald', sans-serif;
  font-size: 1.6rem;
  color: #111;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.feature-content h4.text-red {
  color: #a02020 !important;
}

.feature-content p {
  font-family: 'Inter', sans-serif;
  font-size: 1.15rem;
  color: #555;
  line-height: 1.7;
  margin: 0;
}

@media (max-width: 768px) {
  .numbered-feature-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}

/* Occasions Strip */
.events-premium-occasions {
  padding: 100px 0;
  background-color: #111;
  color: #D4AF37;
  /* Gold */
  border-top: 1px solid #222;
  border-bottom: 1px solid #222;
}

.occasions-heading {
  font-family: 'Oswald', sans-serif;
  font-size: 2.5rem;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 60px;
  color: #D4AF37;
  /* Gold */
}

.occasions-text-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px 40px;
  max-width: 900px;
  margin: 0 auto;
}

.occasion-text-item {
  font-family: 'Inter', sans-serif;
  font-size: 1.25rem;
  color: #f9f9f9;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  gap: 15px;
}

.diamond {
  display: inline-block;
  width: 8px;
  height: 8px;
  background-color: #D4AF37;
  /* Gold */
  transform: rotate(45deg);
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .occasions-text-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .occasion-text-item {
    font-size: 1.15rem;
  }
}

/* Inquiry Form */
.events-premium-inquiry {
  padding: 120px 0;
  background-color: #f4f4f4;
}

.inquiry-form-card {
  background: #fff;
  padding: 80px 60px;
  border-radius: 4px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
  max-width: 800px;
  margin: 0 auto;
}

.inquiry-title {
  font-family: 'Oswald', sans-serif;
  font-size: 2.2rem;
  color: #111;
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.inquiry-subtitle {
  font-family: 'Inter', sans-serif;
  font-size: 1.2rem;
  color: #666;
  margin-bottom: 50px;
}

/* Custom WPForms Styling */
#premium-inquiry-card .wpforms-container {
  margin: 0 auto !important;
}

/* CSS Flexbox Layout for the Form */
/* WPForms Native Layout handles 2-column grid */

/* Brutal Input Styling Override */
html body #premium-inquiry-card .wpforms-form .wpforms-field input,
html body #premium-inquiry-card .wpforms-form .wpforms-field select,
html body #premium-inquiry-card .wpforms-form .wpforms-field textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  border: 1px solid #ddd !important;
  border-radius: 0 !important;
  padding: 15px 20px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 1rem !important;
  color: #333 !important;
  background-color: #fafafa !important;
  height: auto !important;
  margin: 0 !important;
  /* Prevent layout wraps */
  resize: none !important;
  /* Remove drag handle */
}

html body #premium-inquiry-card .wpforms-form .wpforms-field input:focus,
html body #premium-inquiry-card .wpforms-form .wpforms-field textarea:focus {
  border-color: #a02020 !important;
  background-color: #fff !important;
  outline: none !important;
}

/* Reset WPForms Native Constrictions */
html body #premium-inquiry-card .wpforms-field,
html body #premium-inquiry-card .wpforms-field-row,
html body #premium-inquiry-card .wpforms-field-row-block {
  max-width: 100% !important;
}

/* Force container rows to expand, but let inner blocks (First/Last) keep their 48% layout */
html body #premium-inquiry-card .wpforms-field-row {
  width: 100% !important;
}

html body #premium-inquiry-card .wpforms-field.wpforms-field-name,
html body #premium-inquiry-card .wpforms-field.wpforms-field-textarea {
  width: 100% !important;
}

html body #premium-inquiry-card .wpforms-form .wpforms-field-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  color: #333;
  margin-bottom: 8px;
  display: block;
}

/* Aggressive targeting for all WPForms inputs */
html body #premium-inquiry-card .wpforms-container .wpforms-form .wpforms-field input,
html body #premium-inquiry-card .wpforms-container .wpforms-form .wpforms-field select,
html body #premium-inquiry-card .wpforms-container .wpforms-form .wpforms-field textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  border: 1px solid #ddd !important;
  border-radius: 0 !important;
  padding: 15px 20px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 1rem !important;
  color: #333 !important;
  background-color: #fafafa !important;
  transition: all 0.3s ease !important;
  height: auto !important;
  line-height: normal !important;
}

html body #premium-inquiry-card .wpforms-container .wpforms-form .wpforms-field input:focus,
html body #premium-inquiry-card .wpforms-container .wpforms-form .wpforms-field textarea:focus {
  border-color: #a02020 !important;
  background-color: #fff !important;
  outline: none !important;
  box-shadow: none !important;
}

#premium-inquiry-card .wpforms-form button[type=submit] {
  background-color: #a02020 !important;
  color: #fff !important;
  font-family: 'Oswald', sans-serif !important;
  font-size: 1.25rem !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  padding: 15px 40px !important;
  border: none !important;
  border-radius: 0 !important;
  transition: all 0.3s ease !important;
  width: auto;
  display: block;
  margin: 10px auto 0 !important;
  /* Centered button */
  cursor: pointer;
}

.inquiry-form-card .wpforms-form button[type=submit]:hover {
  background-color: #111 !important;
}

.inquiry-form-card .wpforms-form .wpforms-field-sublabel {
  font-size: 0.8rem;
  color: #888;
  display: block;
  margin-top: 5px;
}

.premium-form-placeholder {
  border: 2px dashed #e0e0e0;
  padding: 60px 40px;
  border-radius: 8px;
  background: #fafafa;
  text-align: center;
}

.premium-form-placeholder h4 {
  font-family: 'Oswald', sans-serif;
  font-size: 1.5rem;
  color: #333;
  margin-bottom: 10px;
}

.premium-form-placeholder p {
  font-family: 'Inter', sans-serif;
  color: #888;
}

/* FAQ Block */
.events-premium-faq {
  padding: 120px 0;
  background-color: #fff;
}

.premium-faq-accordion {
  border-top: 1px solid #eaeaea;
  margin-top: 60px;
}

/* Isolate FAQ Item from clashing with homepage .faq-item */
.premium-faq-accordion .faq-item {
  border: none !important;
  border-bottom: 1px solid #eaeaea !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

.premium-faq-accordion .faq-item:hover {
  box-shadow: none !important;
}

.premium-faq-accordion .faq-item .faq-question {
  margin: 0;
  padding: 15px 0 !important;
  /* Reduced top/bottom spacing */
  font-family: 'Oswald', sans-serif;
  font-size: 1.25rem !important;
  color: #111;
  cursor: pointer;
  position: relative;
  transition: color 0.3s ease;
  letter-spacing: 0.5px;
  text-transform: none;
  /* Make it more editorial/sentence case */
  font-weight: 500;
  text-align: left !important;
  /* Restore left alignment */
  justify-content: flex-start !important;
  /* Restore left alignment */
}

.premium-faq-accordion .faq-item .faq-question::after {
  content: '+';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5rem !important;
  color: #d4af37 !important;
  /* Gold accent for premium feel */
  font-weight: 300;
  transition: transform 0.4s ease, color 0.3s ease;
}

.premium-faq-accordion .faq-item .faq-question:hover {
  color: #a02020 !important;
}

.premium-faq-accordion .faq-item .faq-question.active {
  color: #a02020 !important;
}

.premium-faq-accordion .faq-item .faq-question.active::after {
  content: '−';
  transform: translateY(-50%) rotate(180deg);
  color: #111 !important;
}

.premium-faq-accordion .faq-item .faq-answer {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease;
}

.premium-faq-accordion .faq-item .faq-answer p {
  padding-bottom: 24px !important;
  margin: 0;
  color: #555;
  font-family: 'Inter', sans-serif;
  line-height: 1.7;
  font-size: 1rem !important;
  text-align: left !important;
  /* Restore left alignment */
}

/* Reduce heading size specifically for FAQ */
.events-premium-faq .section-heading-editorial {
  font-size: 2.5rem !important;
  margin-bottom: 20px;
}

/* CTA */
.events-premium-cta {
  padding: 120px 0;
  background-color: #000;
  color: #fff;
  background-image: linear-gradient(45deg, #111 25%, transparent 25%, transparent 75%, #111 75%, #111),
    linear-gradient(45deg, #111 25%, transparent 25%, transparent 75%, #111 75%, #111);
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px;
}

.cta-heading {
  font-family: 'Oswald', sans-serif;
  font-size: 3.5rem;
  text-transform: uppercase;
  margin-bottom: 15px;
  letter-spacing: 2px;
}

.cta-text {
  font-family: 'Inter', sans-serif;
  font-size: 1.3rem;
  color: #ddd;
  margin-bottom: 50px;
}

.btn-editorial-solid {
  background-color: #a02020;
  color: #fff;
  border: none;
  padding: 20px 60px;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-size: 1.25rem;
  transition: all 0.3s ease;
}

.btn-editorial-solid:hover {
  background-color: #fff;
  color: #a02020;
}

/* Responsive Overrides */
@media (max-width: 992px) {
  .events-hero-content .events-title {
    font-size: 4rem !important;
  }

  .inquiry-form-card {
    padding: 50px 30px;
  }
}

@media (max-width: 768px) {
  .events-hero-content .events-title {
    font-size: 3rem !important;
  }

  .section-heading-editorial {
    font-size: 2.5rem;
  }

  .occasions-heading {
    font-size: 2rem;
  }
}


/* Responsive Overrides */
@media (max-width: 768px) {
  .events-hero-content .events-title {
    font-size: 3rem;
  }

  .inquiry-form-card {
    padding: 30px 20px;
  }
}

/* Events Premium Inquiry Section */
section.events-premium-inquiry {
  padding: 50px 0 !important;
}

/* Premium Contact CTA Redesign */
.events-premium-cta {
  background-color: #1a1a1a !important;
  /* Dark charcoal */
  background-image: none !important;
  /* Remove any brutalist grids/patterns */
  padding: 80px 20px !important;
  border-top: 2px solid #d4af37 !important;
  /* Gold top border */
}

.events-premium-cta .cta-heading {
  font-family: 'Oswald', sans-serif !important;
  font-size: 2.5rem !important;
  color: #ffffff !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin-bottom: 15px !important;
  font-weight: 500 !important;
}

.events-premium-cta .cta-text {
  font-family: 'Inter', sans-serif !important;
  color: #d4af37 !important;
  /* Gold subtext */
  font-size: 1.1rem !important;
  margin-bottom: 40px !important;
  font-weight: 300 !important;
}

.events-premium-cta .btn-editorial-solid {
  background-color: transparent !important;
  color: #d4af37 !important;
  border: 1px solid #d4af37 !important;
  padding: 15px 50px !important;
  font-family: 'Oswald', sans-serif !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-size: 1.1rem !important;
  border-radius: 0 !important;
  transition: all 0.3s ease !important;
}

.events-premium-cta .btn-editorial-solid:hover {
  background-color: #d4af37 !important;
  color: #1a1a1a !important;
}

/* User's custom manual offset for FAQ accordion row */
@media (min-width: 992px) {
  .faq-custom-row {
    margin-left: 215px !important;
    margin-right: -230px !important;
  }
}

/* Restored Background Images from index.html */
.about-us-v8-wrapper:before {
  background-image: url('../about_back.jpg');
}

.custom-about-us-v8-wrapper:before {
  background-image: url('../reservations_back.jpg');
}

.custom-about-us-v8-wrapper-v2:before {
  background-image: url('../newsletter_back.jpg');
}

.about-us-v8-content .text-content.title-image h1:after {
  background-image: url('../title_decoration.png');
}

/* Added Sections Styling */
#whats-on-tap {
  position: relative;
  padding: 100px 0;
  color: #fff;
  background-color: #1a1a1a;
}

#whats-on-tap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../drinks_back.jpg');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  opacity: 0.15;
  z-index: 0;
}

#whats-on-tap .container {
  position: relative;
  z-index: 1;
}

#whats-on-tap h1,
#whats-on-tap p,
#whats-on-tap small {
  color: #fff !important;
}

#whats-on-tap h1 {
  font-size: 2.8rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

#whats-on-tap .custom-temp-btn {
  margin-top: 20px;
  display: inline-block;
  border-color: #d4af37;
  color: #d4af37;
}

#whats-on-tap .custom-temp-btn:hover {
  background-color: #d4af37;
  color: #1a1a1a;
}



.premium-faq-accordion .faq-item .faq-answer p {
  padding-bottom: 24px !important;
  margin: 0;
  color: #555;
  font-family: 'Inter', sans-serif;
  line-height: 1.7;
  font-size: 1rem !important;
  text-align: left !important;
  /* Restore left alignment */
}

/* Reduce heading size specifically for FAQ */
.events-premium-faq .section-heading-editorial {
  font-size: 2.5rem !important;
  margin-bottom: 20px;
}

/* CTA */
.events-premium-cta {
  padding: 120px 0;
  background-color: #000;
  color: #fff;
  background-image: linear-gradient(45deg, #111 25%, transparent 25%, transparent 75%, #111 75%, #111),
    linear-gradient(45deg, #111 25%, transparent 25%, transparent 75%, #111 75%, #111);
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px;
}

.cta-heading {
  font-family: 'Oswald', sans-serif;
  font-size: 3.5rem;
  text-transform: uppercase;
  margin-bottom: 15px;
  letter-spacing: 2px;
}

.cta-text {
  font-family: 'Inter', sans-serif;
  font-size: 1.3rem;
  color: #ddd;
  margin-bottom: 50px;
}

.btn-editorial-solid {
  background-color: #a02020;
  color: #fff;
  border: none;
  padding: 20px 60px;
  font-family: 'Oswald', sans-serif;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-size: 1.25rem;
  transition: all 0.3s ease;
}

.btn-editorial-solid:hover {
  background-color: #fff;
  color: #a02020;
}

/* Responsive Overrides */
@media (max-width: 992px) {
  .events-hero-content .events-title {
    font-size: 4rem !important;
  }

  .inquiry-form-card {
    padding: 50px 30px;
  }
}

@media (max-width: 768px) {
  .events-hero-content .events-title {
    font-size: 3rem !important;
  }

  .section-heading-editorial {
    font-size: 2.5rem;
  }

  .occasions-heading {
    font-size: 2rem;
  }
}


/* Responsive Overrides */
@media (max-width: 768px) {
  .events-hero-content .events-title {
    font-size: 3rem;
  }

  .inquiry-form-card {
    padding: 30px 20px;
  }
}

/* Events Premium Inquiry Section */
section.events-premium-inquiry {
  padding: 50px 0 !important;
}

/* Premium Contact CTA Redesign */
.events-premium-cta {
  background-color: #1a1a1a !important;
  /* Dark charcoal */
  background-image: none !important;
  /* Remove any brutalist grids/patterns */
  padding: 80px 20px !important;
  border-top: 2px solid #d4af37 !important;
  /* Gold top border */
}

.events-premium-cta .cta-heading {
  font-family: 'Oswald', sans-serif !important;
  font-size: 2.5rem !important;
  color: #ffffff !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  margin-bottom: 15px !important;
  font-weight: 500 !important;
}

.events-premium-cta .cta-text {
  font-family: 'Inter', sans-serif !important;
  color: #d4af37 !important;
  /* Gold subtext */
  font-size: 1.1rem !important;
  margin-bottom: 40px !important;
  font-weight: 300 !important;
}

.events-premium-cta .btn-editorial-solid {
  background-color: transparent !important;
  color: #d4af37 !important;
  border: 1px solid #d4af37 !important;
  padding: 15px 50px !important;
  font-family: 'Oswald', sans-serif !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-size: 1.1rem !important;
  border-radius: 0 !important;
  transition: all 0.3s ease !important;
}

.events-premium-cta .btn-editorial-solid:hover {
  background-color: #d4af37 !important;
  color: #1a1a1a !important;
}

/* User's custom manual offset for FAQ accordion row */
@media (min-width: 992px) {
  .faq-custom-row {
    margin-left: 215px !important;
    margin-right: -230px !important;
  }
}

/* Restored Background Images from index.html */
.about-us-v8-wrapper:before {
  background-image: url('../about_back.jpg');
}

.custom-about-us-v8-wrapper:before {
  background-image: url('../reservations_back.jpg');
}

.custom-about-us-v8-wrapper-v2:before {
  background-image: url('../newsletter_back.jpg');
}

.about-us-v8-content .text-content.title-image h1:after {
  background-image: url('../title_decoration.png');
}

/* Added Sections Styling */
#whats-on-tap {
  position: relative;
  padding: 100px 0;
  color: #fff;
  background-color: #1a1a1a;
}

#whats-on-tap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../drinks_back.jpg');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  opacity: 0.15;
  z-index: 0;
}

#whats-on-tap .container {
  position: relative;
  z-index: 1;
}

#whats-on-tap h1,
#whats-on-tap p,
#whats-on-tap small {
  color: #fff !important;
}

#whats-on-tap h1 {
  font-size: 2.8rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

#whats-on-tap .custom-temp-btn {
  margin-top: 20px;
  display: inline-block;
  border-color: #d4af37;
  color: #d4af37;
}

#whats-on-tap .custom-temp-btn:hover {
  background-color: #d4af37;
  color: #1a1a1a;
}

#gift-cards {
  padding: 100px 0;
  background-color: #ffffff;
  color: #1a1a1a;
}

#gift-cards h1 {
  color: #1a1a1a;
  font-size: 2.8rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

#gift-cards p,
#gift-cards small {
  color: #555;
}

#gift-cards .custom-temp-btn {
  margin-top: 20px;
  display: inline-block;
  background-color: #1a1a1a !important;
  border-color: #1a1a1a !important;
  color: #ffffff !important;
}

#gift-cards .custom-temp-btn:hover {
  background-color: transparent !important;
  color: #1a1a1a !important;
}

#loyalty {
  position: relative;
  padding: 100px 0;
  color: #fff;
  background-color: #1a1a1a;
}

#loyalty::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../newsletter_back.jpg');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  opacity: 0.2;
  z-index: 0;
}

#loyalty .container {
  position: relative;
  z-index: 1;
}

#loyalty h1,
#loyalty p {
  color: #fff !important;
}

#loyalty h1 {
  font-size: 2.8rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

#loyalty .custom-temp-btn {
  margin-top: 20px;
  display: inline-block;
  background-color: #d4af37 !important;
  border-color: #d4af37 !important;
  color: #1a1a1a !important;
}

#loyalty .custom-temp-btn:hover {
  background-color: transparent !important;
  color: #d4af37 !important;
}

/* ==========================================================================
   STYLES EXTRACTED FOR PAGE-GIFTCARDS.PHP
   ========================================================================== */

/* Hero Section */
.giftcard-hero {
  position: relative;
  background-color: #1a1a1a;
  color: #ffffff;
  text-align: center;
  padding: 200px 20px 140px;
}

.giftcard-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../video_poster_2.jpg');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  opacity: 0.3;
  z-index: 0;
}

.giftcard-hero-container {
  max-width: 900px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.giftcard-hero-title {
  font-family: 'Spartan', sans-serif;
  font-weight: 600;
  font-size: 3.5rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 30px;
  color: #ffffff !important;
  line-height: 1.2;
}

.highlight-gold {
  color: #d4af37;
  font-family: 'Caveat', cursive;
  font-size: 4.5rem;
  text-transform: none;
  letter-spacing: 1px;
  display: inline-block;
  margin-top: 10px;
}

.giftcard-hero-subtitle {
  font-size: 1.25rem;
  margin-bottom: 50px;
  line-height: 1.8;
  color: #cccccc !important;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}

.giftcard-hero-btn {
  padding: 18px 40px;
  font-size: 1.1rem;
  background-color: #d4af37 !important;
  color: #1a1a1a !important;
  border: none;
  border-radius: 4px;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.giftcard-hero-btn:hover {
  background-color: #ffffff !important;
  color: #1a1a1a !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
}

/* Occasions Section */
.giftcard-occasions {
  background-color: #f9f9f9;
  padding: 80px 20px;
  text-align: center;
}

.giftcard-occasions-container {
  max-width: 1000px;
  margin: 0 auto;
}

.giftcard-section-title {
  font-family: 'Spartan', sans-serif;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 1.5px;
  margin-bottom: 40px;
  color: #1a1a1a !important;
}

.giftcard-occasions-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 15px;
}

.occasion-item {
  font-family: 'Spartan', sans-serif;
  font-weight: 500;
  font-size: 1.1rem;
  color: #333333;
  text-transform: uppercase;
}

.occasion-sep {
  color: #d4af37;
  font-weight: bold;
}

/* Details Section */
.giftcard-details {
  background-color: #ffffff;
  padding: 80px 20px;
}

.giftcard-details-container {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.giftcard-details-box {
  border: 1px solid #e0e0e0;
  padding: 40px;
  background-color: #fafafa;
}

.giftcard-details-title {
  font-family: 'Spartan', sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 20px;
  color: #1a1a1a !important;
}

.giftcard-details-text {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #555555 !important;
  margin-bottom: 15px;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
  .giftcard-hero-title {
    font-size: 2.2rem;
  }

  .highlight-gold {
    font-size: 3rem;
  }

  .occasion-sep {
    display: none;
  }

  .occasion-item {
    display: block;
    width: 100%;
    margin-bottom: 10px;
  }
}

/* ==========================================================================
   STYLES FOR CAREERS APPLICATION MODAL
   ========================================================================== */
.job-modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(50, 50, 50, 0.8);
  z-index: 100000;
  overflow-y: auto;
  padding: 40px 20px;
}

.job-modal-content {
  background-color: #ffffff;
  max-width: 620px;
  margin: 15px auto;
  border-radius: 8px;
  border: 1px solid #cccccc;
  position: relative;
  padding: 45px 30px 25px 30px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
}

.job-modal-close {
  position: absolute;
  top: 8px;
  right: 15px;
  font-size: 28px;
  color: #333333;
  cursor: pointer;
  z-index: 10;
}

.job-modal-close:hover {
  color: #d4af37;
}

.job-modal-header {
  background-color: #f7f7f7;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 15px 20px;
  margin-bottom: 0px;
}

.job-modal-body {
  background-color: #ffffff;
  border-radius: 8px;
  padding: 15px 0px 5px 0px;
}

.job-modal-title {
  color: #111111;
  font-family: 'Spartan', sans-serif;
  font-size: 1.3rem;
  margin-bottom: 20px;
  font-weight: 600;
}

.job-location-selector {
  display: flex;
  align-items: flex-start;
}

.job-location-selector input[type="radio"] {
  margin-top: 5px;
  margin-right: 15px;
  transform: scale(1.2);
}

.job-location-selector label {
  display: flex;
  flex-direction: column;
  color: #111111;
  font-weight: normal;
  margin: 0;
  cursor: pointer;
}

.job-location-selector .loc-name {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 5px;
}

.job-location-selector .loc-address {
  font-size: 0.9rem;
  color: #666666;
}

.job-modal-body form {
  display: flex;
  flex-direction: column;
}

.job-modal-body .form-group {
  margin-bottom: 15px;
}

.job-modal-body label {
  color: #333333;
  margin-bottom: 6px;
  display: block;
  font-weight: 600;
  font-size: 0.95rem;
}

.job-modal-body label .required {
  color: #e61b1b;
}

.job-modal-body input[type="text"],
.job-modal-body input[type="email"],
.job-modal-body input[type="tel"],
.job-modal-body textarea {
  width: 100%;
  background-color: #f7f7f7;
  border: 2px solid #d4d4d4;
  border-radius: 6px;
  padding: 12px 15px;
  color: #111111;
  font-family: inherit;
  font-size: 1.05rem;
  transition: all 0.3s ease;
}

.job-modal-body input:focus,
.job-modal-body textarea:focus {
  border-color: #a02020;
  background-color: #ffffff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(160, 32, 32, 0.1);
}

.file-upload-wrapper {
  position: relative;
  border: 2px solid #d4d4d4;
  border-radius: 6px;
  background-color: #f7f7f7;
  display: flex;
  align-items: center;
  overflow: hidden;
  transition: all 0.3s ease;
}

.file-upload-wrapper:hover {
  border-color: #aaaaaa;
}

.file-input {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
}

.file-label {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 15px 15px;
  margin: 0;
  position: relative;
  z-index: 1;
}

.file-btn {
  color: #111111;
  font-weight: bold;
  padding-right: 20px;
}

.file-name {
  color: #666666;
}

.file-help {
  font-size: 0.85rem;
  color: #666666;
  margin-top: 10px;
}

.submit-application-btn {
  background-color: #e61b1b;
  color: #ffffff;
  border: none;
  padding: 12px;
  border-radius: 6px;
  font-size: 1.1rem;
  font-weight: bold;
  cursor: pointer;
  margin-top: 0px;
  transition: background-color 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
}

.submit-application-btn i {
  margin-left: 10px;
  font-size: 0.9em;
}

.submit-application-btn:hover {
  background-color: #cc0000;
}

.form-messages {
  margin-bottom: 0px;
  font-weight: bold;
  text-align: center;
}

.form-messages:not(:empty) {
  margin-bottom: 10px;
}

.form-messages.success {
  color: #4caf50;
}

.form-messages.error {
  color: #f44336;
}

/* Header Call Button */
.header-call-btn {
  margin-left: 15px;
  margin-right: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: #d4af37;
  color: #1a1a1a !important;
  padding: 8px 18px !important;
  border-radius: 4px;
  font-family: 'Spartan', sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

.header-call-btn:hover {
  background-color: #ffffff;
  color: #1a1a1a !important;
  transform: translateY(-2px);
}

.header-call-btn i {
  font-size: 14px;
  color: #1a1a1a;
}

/* Brunch Page Overrides */
.brunch-vertical-wrapper {
  padding-bottom: 40px !important;
}

.brunch-vertical-container .v-panel:last-child {
  margin-bottom: 0 !important;
}

.brunch-ctas {
  margin-top: 40px;
  margin-bottom: 60px;
}

/* Drinks Page CTAs */
.drinks-cta-container {
  margin-top: 30px;
  padding-top: 30px;
  padding-bottom: 60px;
  border-top: 1px solid #333;
}

.drinks-cta-title {
  font-family: 'Spartan', sans-serif;
  font-size: 2rem;
  margin-bottom: 20px;
  text-transform: uppercase;
}

.drinks-cta-buttons {
  display: flex;
  justify-content: center;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

/* Fix WPForms 2x2 Grid Layout on Events Page */
.inquiry-card-mockup .wpforms-form .wpforms-field-container {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: space-between !important;
}

.inquiry-card-mockup .wpforms-form .wpforms-field {
  margin-bottom: 20px !important;
  padding: 0 !important;
  clear: none !important;
  box-sizing: border-box;
}

.inquiry-card-mockup .wpforms-form .wpforms-field.wpforms-one-half,
.inquiry-card-mockup .wpforms-form .wpforms-field.wpforms-first-half {
  width: calc(50% - 10px) !important;
}

.inquiry-card-mockup .wpforms-form .wpforms-field:not(.wpforms-one-half):not(.wpforms-first-half) {
  width: 100% !important;
}

/* Fix WPForms Name Field Indentation and Width */
html body .inquiry-card-mockup .wpforms-container .wpforms-form .wpforms-field.wpforms-field-name {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    clear: both !important;
}

html body .inquiry-card-mockup .wpforms-container .wpforms-form .wpforms-field.wpforms-field-name fieldset {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    min-width: 0 !important;
}

html body .inquiry-card-mockup .wpforms-container .wpforms-form .wpforms-field.wpforms-field-name .wpforms-field-row {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 20px !important;
    justify-content: space-between !important;
    flex-direction: row !important;
}

html body .inquiry-card-mockup .wpforms-container .wpforms-form .wpforms-field.wpforms-field-name .wpforms-field-row::before,
html body .inquiry-card-mockup .wpforms-container .wpforms-form .wpforms-field.wpforms-field-name .wpforms-field-row::after {
    display: none !important;
    content: none !important;
}

html body .inquiry-card-mockup .wpforms-container .wpforms-form .wpforms-field.wpforms-field-name .wpforms-field-row-block {
    flex: 0 0 calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

html body .inquiry-card-mockup .wpforms-container .wpforms-form .wpforms-field.wpforms-field-name input {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    background: #f9f9f9 !important;
    border: 1px solid #eee !important;
    padding: 10px 15px !important;
    font-size: 0.9rem !important;
    border-radius: 2px !important;
    height: 46px !important;
    box-sizing: border-box !important;
}

html body .inquiry-card-mockup .wpforms-container .wpforms-form .wpforms-field.wpforms-field-name .wpforms-field-sublabel {
    display: none !important;
}

html body .inquiry-card-mockup .wpforms-container .wpforms-form .wpforms-field.wpforms-field-name input {
  width: 100% !important;
  max-width: 100% !important;
  background: #f9f9f9 !important;
  border: 1px solid #eee !important;
  padding: 10px 15px !important;
  font-size: 0.9rem !important;
  border-radius: 2px !important;
  height: 46px !important;
  box-sizing: border-box !important;
}

/* Force ALL inputs to display correctly and not collapse */
.inquiry-card-mockup .wpforms-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.inquiry-card-mockup .wpforms-form textarea,
.inquiry-card-mockup .wpforms-form select {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  box-sizing: border-box !important;
}

.inquiry-card-mockup .wpforms-form .wpforms-field-sublabel,
.inquiry-card-mockup .wpforms-form label.wpforms-field-sublabel {
  display: none !important;
}

.inquiry-card-mockup .wpforms-form .wpforms-field-label {
  display: block !important;
  width: 100% !important;
  margin-bottom: 8px !important;
}

/* Hide WPForms honeypot */
.wpforms-field-hp,
.wpforms-hidden {
  display: none !important;
}

/* ==========================================================================
   ABOUT PAGE (EDITORIAL REDESIGN)
   ========================================================================== */

.about-story-editorial {
  padding: 40px 0;
  background-color: #ffffff;
}

.story-text-container {
  max-width: 900px;
  margin: 40px auto 0;
  column-count: 2;
  column-gap: 50px;
}

@media (max-width: 768px) {
  .story-text-container {
    column-count: 1;
  }
  .story-text-container p {
    font-size: 14px !important;
  }
}

.story-text-container p {
  font-size: 15px;
  line-height: 1.7;
  color: #555555;
  margin-bottom: 20px;
  font-family: 'Open Sans', sans-serif;
  break-inside: avoid;
  text-align: justify;
}

.story-text-container p.drop-cap:first-letter {
  font-size: 3.5rem;
  font-weight: 700;
  color: #8c1515;
  float: left;
  line-height: 0.8;
  margin-right: 10px;
  margin-top: 5px;
  font-family: 'Playfair Display', serif;
}

.story-text-container p:last-child {
  margin-bottom: 0;
  font-weight: 700;
  font-size: 16px;
  color: #111;
  text-align: center;
  column-span: all;
  margin-top: 20px;
}

/* Pull Quote Section */
.about-pull-quote {
  position: relative;
  padding: 80px 0;
  background-attachment: fixed;
  background-position: center center;
  background-size: cover;
}

.about-pull-quote .quote-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  /* Darker overlay for contrast */
  z-index: 1;
}

.about-pull-quote .container {
  position: relative;
  z-index: 2;
  max-width: 900px;
}

h2.quote-text,
#content h2.quote-text,
.about-pull-quote h2.quote-text {
  font-size: 2rem !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 1.6 !important;
  margin-bottom: 30px !important;
  color: #ffffff !important;
  /* Force white text */
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5) !important;
}

.quote-attribution {
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #d4af37 !important;
  /* Gold accent */
  font-weight: 700;
}

/* Features List - Reference Redesign */
.about-features-editorial {
  padding: 60px 0 80px;
  background-color: #fcfbf9;
  /* Soft cream background from reference */
}

.about-features-editorial .section-heading-editorial {
  font-size: 2.5rem !important;
  font-weight: 700;
  color: #111111;
  /* Changed to Brand Black */
  letter-spacing: 0;
  margin-bottom: 10px;
  font-family: 'Playfair Display', serif;
}

.features-grid-v2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 25px;
  max-width: 1200px;
  margin: 0 auto;
}

.feature-card-v2 {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
  display: flex;
  align-items: stretch;
  /* So image fills right side */
  overflow: hidden;
  position: relative;
  padding: 0;
}

.feature-icon-v2 {
  flex: 0 0 60px;
  display: flex;
  justify-content: center;
  padding-top: 25px;
  padding-left: 20px;
}

.feature-icon-v2 i {
  background-color: #8c1515;
  /* Brand Red */
  color: #ffffff;
  width: 45px;
  height: 45px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}

.feature-text-v2 {
  flex: 1;
  padding: 25px 15px 25px 15px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.feature-text-v2 h4 {
  font-size: 17px;
  font-weight: 700;
  color: #111;
  margin-bottom: 8px;
  line-height: 1.3;
  font-family: 'Open Sans', sans-serif;
}

.feature-text-v2 p {
  font-size: 13px;
  color: #555555;
  margin-bottom: 0;
  line-height: 1.5;
  font-family: 'Open Sans', sans-serif;
}

.feature-image-v2 {
  flex: 0 0 120px;
  background-color: #eaeaea;
  background-size: cover;
  background-position: center;
  clip-path: polygon(25% 0, 100% 0, 100% 100%, 0 100%);
  /* Slanted edge effect */
}

.feature-image-v2.placeholder-img {
  background-image: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%);
}

/* Amenities Strip - Reference Redesign */
.about-amenities-strip-v2 {
  background-color: #f9f9f9;
  /* Light background */
  padding: 35px 0;
  border-top: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea;
}

.amenities-flex-v2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 40px;
  max-width: 1200px;
  margin: 0 auto;
}

.amenity-item-v2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 8px;
}

.amenity-item-v2 i {
  font-size: 20px;
  color: #8c1515;
  /* Brand Red */
}

.amenity-item-v2 span {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #333333;
  /* Dark gray text */
}

/* Footer CTAs */
.about-footer-cta-editorial {
  padding: 60px 0;
  background-color: #ffffff;
}

.about-footer-cta-editorial .cta-wrapper {
  display: flex;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
}

.btn-editorial-solid {
  background-color: #8c1515;
  color: #ffffff !important;
  padding: 14px 35px;
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  border: none;
  border-radius: 2px;
  transition: all 0.3s ease;
  letter-spacing: 1.5px;
}

.btn-editorial-solid:hover {
  background-color: #6a0f0f;
  color: #ffffff !important;
}

.btn-editorial-outline {
  background-color: transparent;
  color: #111111 !important;
  padding: 12px 33px;
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  border: 2px solid #111111;
  border-radius: 2px;
  transition: all 0.3s ease;
  letter-spacing: 1.5px;
}

.btn-editorial-outline:hover {
  background-color: #111111;
  color: #ffffff !important;
}

/* --- EVENTS PAGE CSS --- */
.events-mockup-wrapper {
  font-family: "Spartan", sans-serif;
  color: #333;
}

.section-overline-gold {
  color: #d4af37;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

.section-title-serif {
  font-family: "Playfair Display", serif;
  font-size: 2.8rem;
  color: #1a1a1a;
  line-height: 1.2;
}

.section-desc-light {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #555;
}

@media (max-width: 767px) {
  .section-title-serif {
    font-size: 2.2rem !important;
  }
  .section-desc-light {
    font-size: 0.95rem !important;
  }
}

.btn-gold-solid {
  background-color: #d4af37;
  color: #fff !important;
  padding: 12px 30px;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 1.5px;
  border: 2px solid #d4af37;
  border-radius: 0;
  transition: 0.3s;
  display: inline-block;
}

.btn-gold-solid:hover {
  background-color: #b5952f;
  border-color: #b5952f;
  text-decoration: none;
}

.btn-gold-outline {
  background-color: transparent;
  color: #d4af37 !important;
  padding: 12px 30px;
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 1.5px;
  border: 2px solid #d4af37;
  border-radius: 0;
  transition: 0.3s;
  display: inline-block;
}

.btn-gold-outline:hover {
  background-color: #d4af37;
  color: #fff !important;
  text-decoration: none;
}

/* 1. Hero */
.events-hero-mockup {
  position: relative;
  padding: 180px 0;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
}

@media (max-width: 767px) {
  .events-hero-mockup {
    padding: 100px 0;
  }
}

.hero-overlay-mockup {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1;
}

.relative-z {
  position: relative;
  z-index: 2;
}

.hero-overline-mockup {
  color: #d4af37;
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 2px;
  margin-bottom: 1rem;
}

.hero-title-mockup {
  font-family: "Playfair Display", serif;
  font-size: 3.5rem;
  color: #fff;
  line-height: 1.2;
  margin-bottom: 1.5rem;
}

.hero-text-mockup {
  color: #ddd;
  font-size: 1.1rem;
  line-height: 1.6;
}

.hero-text-mockup p {
  color: #ddd;
}

.events-occasions-strip {
  padding: 0;
}

/* 2. Perfect Setting */
.text-2xl {
  font-size: 2.2rem !important;
}

.icon-grid-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

@media (max-width: 991px) {
  .icon-grid-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .icon-grid-wrapper {
    grid-template-columns: 1fr;
  }
}

.icon-grid-card {
  background: #fff;
  padding: 30px;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  border: 1px solid #f0f0f0;
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

@media (max-width: 767px) {
  .icon-grid-card {
    align-items: center;
    text-align: center;
  }
}

.icon-grid-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.icon-grid-card .icon-title {
  font-family: "Spartan", sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  margin-bottom: 0.8rem;
  color: #333;
}

.icon-grid-card .icon-desc {
  font-size: 1rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: 0;
}

.text-gold {
  color: #d4af37;
}

.image-with-floating-card {
  position: relative;
  padding-bottom: 40px;
  padding-right: 40px;
}

.main-portrait-img {
  width: 100%;
  height: auto;
  object-fit: cover;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.floating-white-card {
  position: absolute;
  bottom: 0;
  right: 0;
  background: #fff;
  padding: 30px;
  width: 250px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

@media (max-width: 767px) {
  .floating-white-card {
    position: relative !important;
    width: 90% !important;
    margin: -40px auto 0 auto !important;
    padding: 20px !important;
    display: block !important;
    text-align: center;
  }
}

.card-title-small {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #d4af37;
  margin-bottom: 10px;
}

.card-desc-small {
  font-size: 0.9rem;
  line-height: 1.5;
  color: #444;
  margin: 0;
}

.events-perfect-setting {
  padding: 60px 0;
}

/* 3. Spaces for Every Occasion */
.events-spaces-section {
  background-color: #f7f7f7;
  padding: 100px 0;
}

@media (max-width: 767px) {
  .events-perfect-setting {
    padding: 40px 0 20px 0;
  }
  .events-spaces-section {
    padding: 50px 0;
  }
  .events-perfect-setting .col-md-6:first-child,
  .events-spaces-section .col-md-5 {
    text-align: center;
  }
}

.spaces-grid-2x2 {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: 200px;
  gap: 15px;
}

@media (min-width: 768px) {
  .spaces-grid-2x2 {
    grid-template-columns: 1.5fr 1fr;
    grid-template-rows: 200px 200px;
  }
}

.space-grid-item {
  position: relative;
  background-size: cover;
  background-position: center;
  border-radius: 4px;
  overflow: hidden;
}

.space-item-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 50%);
}

.space-item-title {
  position: absolute;
  bottom: 15px;
  left: 20px;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  margin: 0;
  z-index: 2;
}

/* 4. Let's Plan Your Event */
.events-plan-section {
  padding: 100px 0;
  background-image: url('../images/bg-floral-watermark.jpg');
  /* fallback if exists */
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 30%;
}

@media (max-width: 767px) {
  .events-plan-section {
    padding: 40px 0;
  }
  .events-plan-section .col-md-5 {
    text-align: center;
  }
}

.phone-block {
  display: flex;
  align-items: center;
}

.phone-link {
  font-size: 1.2rem;
  font-weight: 600;
  color: #333;
  text-decoration: none;
}

.phone-link:hover {
  color: #d4af37;
  text-decoration: none;
}

.phone-pill-btn {
  display: inline-block;
  background-color: transparent;
  color: #1a1a1a;
  border: 2px solid #d4af37;
  padding: 12px 30px;
  border-radius: 50px;
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}

.phone-pill-btn:hover {
  background-color: #d4af37;
  color: #fff;
  text-decoration: none;
}

.phone-pill-btn i {
  color: #d4af37;
  transition: all 0.3s ease;
}

.phone-pill-btn:hover i {
  color: #fff;
}

.inquiry-card-mockup {
  background: #fff;
  padding: 40px;
  border-radius: 4px;
}

/* WPForms inside Inquiry Card */
.inquiry-card-mockup .wpforms-container {
  margin: 0;
}

.inquiry-card-mockup .wpforms-field-label {
  font-size: 0.85rem;
  font-weight: 600;
  color: #666;
}

.inquiry-card-mockup input[type="text"],
.inquiry-card-mockup input[type="email"],
.inquiry-card-mockup input[type="tel"],
.inquiry-card-mockup input[type="date"],
.inquiry-card-mockup select {
  width: 100% !important;
  background: #f9f9f9 !important;
  border: 1px solid #eee !important;
  padding: 10px 15px !important;
  font-size: 0.9rem !important;
  border-radius: 2px !important;
  height: 46px !important;
  box-sizing: border-box !important;
}

.inquiry-card-mockup textarea {
  width: 100% !important;
  background: #f9f9f9 !important;
  border: 1px solid #eee !important;
  padding: 12px 15px !important;
  font-size: 0.9rem !important;
  border-radius: 2px !important;
  box-sizing: border-box !important;
}

.inquiry-card-mockup .wpforms-submit {
  background-color: #1a1a1a !important;
  color: #d4af37 !important;
  width: auto !important;
  padding: 15px 40px !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 2px !important;
  transition: all 0.3s ease;
  margin: 10px auto 0 !important;
  display: block !important;
}

.inquiry-card-mockup .wpforms-submit:hover {
  background-color: #d4af37 !important;
  color: #1a1a1a !important;
}

/* 5. FAQ */
.events-faq-section {
  background-color: #ffffff;
  padding: 100px 0;
}

.mockup-faq-accordion {
  border-top: 1px solid #ddd;
}

.faq-item-mockup {
  border-bottom: 1px solid #ddd;
}

.faq-question-mockup {
  padding: 20px 0;
  margin: 0;
  font-size: 1.05rem;
  font-weight: 500;
  color: #333;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.faq-icon-gold {
  color: #d4af37;
  font-size: 0.9rem;
}

.faq-answer-mockup {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
}

.faq-answer-mockup p {
  padding-bottom: 20px;
  margin: 0;
  color: #666;
  font-size: 0.85rem;
  line-height: 1.6;
}

@media (max-width: 767px) {
  .faq-question-mockup {
    font-size: 0.95rem !important;
  }
  .faq-answer-mockup p {
    font-size: 0.8rem !important;
  }
}

@media (max-width: 767px) {
  .inquiry-card-mockup {
    padding: 20px !important;
  }
  
  .inquiry-card-mockup .wpforms-form .wpforms-field.wpforms-one-half,
  .inquiry-card-mockup .wpforms-form .wpforms-field.wpforms-first-half {
    width: 100% !important;
    margin-right: 0 !important;
  }

  .inquiry-card-mockup .wpforms-form .wpforms-field-name .wpforms-field-row {
    flex-direction: column !important;
    gap: 0 !important;
  }

  .inquiry-card-mockup .wpforms-form .wpforms-field-name .wpforms-field-row-block {
    margin-bottom: 15px !important;
  }

  .menu-notes-container {
    padding: 0 15px !important;
  }
  .menu-notes-container p {
    font-size: 0.95rem !important;
    font-weight: 400 !important;
  }
  
  h2.quote-text,
  #content h2.quote-text,
  .about-pull-quote h2.quote-text {
    font-size: 1.4rem !important;
    line-height: 1.5 !important;
  }
  
  .section-heading-editorial {
    font-size: 1.6rem !important;
  }
  
  .feature-text-v2 h4 {
    font-size: 14px !important;
  }
  
  .feature-text-v2 p {
    font-size: 12px !important;
  }
  
  .amenities-flex-v2 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px 5px !important;
  }
  
  .amenity-item-v2 span {
    font-size: 9px !important;
    letter-spacing: 0px !important;
  }
  
  .amenity-item-v2 i {
    font-size: 18px !important;
  }
  
  .about-footer-cta-editorial .cta-wrapper {
    flex-wrap: nowrap !important;
    gap: 10px !important;
  }
  
  .about-footer-cta-editorial .cta-wrapper .btn {
    flex: 1;
    padding: 12px 10px !important;
    font-size: 0.8rem !important;
    white-space: nowrap;
    text-align: center;
  }

  .about-features-editorial {
    padding-bottom: 20px !important;
  }
  
  .cv5-info-block h4 {
    font-size: 1rem !important;
  }
  
  .cv5-info-block p {
    font-size: 0.85rem !important;
  }
  
  #gift-cards,
  #loyalty {
    padding-bottom: 2em !important;
  }
  
  #gift-cards .section-header,
  #loyalty .section-header {
    font-size: 1.6rem !important;
    letter-spacing: 1px !important;
    line-height: 1.3 !important;
  }

  #gift-cards p,
  #loyalty p {
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
  }
}