@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

@font-face {
    font-family: 'gambarinoregular';
    src: url('../fonts/gambarino-regular-webfont.woff2') format('woff2'),
         url('../fonts/gambarino-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
:root {
    --primary-color: #8BFFF2;
    --secondary-color: #FF4A96;
    --tertiary-color: #000;
    --quaternary-color: #fff;
    --show-card-bg-color: #fff;
    --show-card-color: #000;
    --show-card-date-color: #DA3F80;

    --footer-bg-color: #000;
    --footer-color: #A5A5A5;
}


.bg-dark-wine {
    --tw-bg-opacity: 1;
    background-color: rgb(94 9 12 / var(--tw-bg-opacity));
  }

body {
    font-family: 'Instrument Sans', sans-serif;
    background-color: #F0E9DF;
}

body > div.mx-auto {
    position: relative;
  
}

body.tags_view_page, body.events_view_page {
    background-color: #5E090C;
}

body.events_view_page h4.--featuring, body.events_view_page .contact-sec p {
    color: #fff;
}

body > .mx-auto.home_page::before, body > .mx-auto.other-page::before {
    content: "";
    width: 100%;
    height: 809px;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #5E090C;
}


body.events_checkoutmulti_page > .mx-auto.other-page::before,
body.events_checkout_page > .mx-auto.other-page::before  {
    height: 450px;
}

.events_index_page .mx-auto.other-page::before {
    display: none;
}

body.pages_contact_page > .mx-auto.other-page::before,
body.pages_faq_page > .mx-auto.other-page::before,
body.pages_about_page > .mx-auto.other-page::before,
body.pages_termsandconditions_page > .mx-auto.other-page::before,
body.pages_cms_page > .mx-auto.other-page::before,
body.events_pay2_page > .mx-auto.other-page::before,
body.events_pay2_multi_page > .mx-auto.other-page::before,
body.events_previewpay2_page > .mx-auto.other-page::before
{
     height: 470px;
}

body.comedians_index_page > .mx-auto.other-page::before {
    height: 570px;
}

body.comedians_index_page > .mx-auto.other-page::before {
    height: 570px;
}

body.comedians_view_page > .mx-auto.other-page::before {
    height: 470px;
}

body.events_view_page > .mx-auto.other-page::before {
    height: 470px;
}

body.tags_view_page > .mx-auto.other-page::before {
    height: 100vh;
}

/* Event View Page Styling */

section.event-view-content-section {
    background-color: #F0E9DF;
}


.events_view_page #comedy .event-view-hero-date-box, 
.events_view_page #comedy .event-view-hero-location-box {
    font: normal normal 600 14px/34px Instrument Sans;
    letter-spacing: 0px;
    color: #5E090C;
    text-transform: uppercase;
    background: #F0E9DF 0% 0% no-repeat padding-box;
    border-radius: 40px;
    padding: 0 20px;
    display: inline-block;
    width: fit-content;
}

.events_view_page #comedy h1.event-view-hero-title {
    padding: 0;
}

.events_view_page #comedy .event-view-hero-title {
    font: normal normal normal 80px/90px 'Gambarino';
    letter-spacing: 0px;
    color: #F0E9DF;
    text-transform: capitalize;
}

.events_view_page .event-view-navigation-buttons a {
    background: #5E090C 0% 0% no-repeat padding-box;
    border-radius: 20px;
    font: normal normal 600 16px/28px Instrument Sans;
    letter-spacing: 1.6px;
    color: #F0E9DF;
    text-transform: uppercase;
}

.events_view_page .event-view-description {
    font: normal normal 500 18px/32px Instrument Sans;
    letter-spacing: 0px;
    color: #5E090C;
}

.events_view_page .event-view-featuring-heading {
    font: normal normal normal 40px/44px 'Gambarino';
    letter-spacing: 0px;
    color: #5E090C;
    text-transform: none;
}

.events_view_page .tickets-card {
    background-color: #FFFFFF;
    border-radius: 10px;
    box-shadow: 0px 3px 6px #00000029;
}

.events_view_page .tickets-header {
    font: normal normal normal 40px / 38px Anton !important;
    letter-spacing: 0px;
    color: #5E090C !important;
    border: 0 !important;
}

.events_view_page .ticket-card {
    background: #5E090C 0% 0% no-repeat padding-box;
    border-radius: 5px;
    font: normal normal 600 16px/20px Instrument Sans;
    letter-spacing: 0px;
    color: #F0E9DF;
    text-transform: uppercase;
}

.events_view_page .ticket-card .ticket-title {
    color: #FFFFFF;
    flex: 1;
    font: normal normal 600 14px/20px 'Instrument Sans';    
    text-overflow: ellipsis;
    padding-right: 1rem;
}

.events_view_page .ticket-quantity {
    background-color: #FFFFFF;
    color: #5E090C;
    border: none;
    border-radius: 4px;
    padding: 0.5rem 2.5rem 0.5rem 1rem;
    font: normal normal 600 14px/20px 'Instrument Sans';
    min-width: 70px;
    height: 36px;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235E090C' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    cursor: pointer;
}

.events_view_page .ticket-quantity:focus {
    outline: 2px solid #F0E9DF;
    outline-offset: 2px;
}

.events_view_page .checkout-btn {
    background: #F0E9DF 0% 0% no-repeat padding-box;
    border-radius: 2rem;
    font: normal normal 600 16px/28px Instrument Sans;
    letter-spacing: 1.6px;
    color: #5E090C;
    text-transform: uppercase;
}

.events_view_page .checkout-btn:hover {
    background-color: #C4C4C4 !important;
    color: #333333 !important;
}

.events_view_page .tickets-text {
    font: normal normal 500 14px/32px Instrument Sans !important;
    letter-spacing: 0px;
    color: #5E090C !important;
}

.event-view-requirements-section {
    background: #FFFEFC 0% 0% no-repeat padding-box;
    border: 1px solid #F0E9DF;
    border-radius: 10px;
}

.events_view_page .event-view-requirements-heading {
    font: normal normal normal 20px/28px Anton;
    letter-spacing: 0px;
    color: #5E090C;
}

.events_view_page .event-view-requirements-list li {
    font: normal normal 500 14px/24px Instrument Sans;
    letter-spacing: 0px;
    color: #5E090C;    
    margin-bottom: 0.75rem;
    padding-left: 1.5rem;
    position: relative;
}

.events_view_page .event-view-requirements-list li::before {
    content: '\f00c';
    font-family: 'Font Awesome 6 Pro';
    font-weight: 900;
    position: absolute;
    left: 0;
    top: 2px;
    color: #5E090C;
    border: 1px solid #5E090C;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    line-height: 1;
    flex-shrink: 0;
}

.events_view_page .event-view-all-sales-final {
    font: normal normal bold 14px/20px 'Instrument Sans';
    color: #5E090C;
    text-transform: uppercase;
    margin-top: 1rem;
}

@media (max-width: 767px) {
    .events_view_page #comedy .event-view-hero-title {
        font: normal normal normal 50px/60px 'Gambarino';
    }
    
    .events_view_page #comedy .event-view-hero-date-box,
    .events_view_page #comedy .event-view-hero-location-box {
        font-size: 16px;
        line-height: 24px;
        padding: 10px 16px;
    }
    
    body.events_view_page > .mx-auto.other-page::before {
        height: 370px;
    }
}

body > .mx-auto.home_page::before{
    height: 930px;
}

.tag-description, .event-list-module h3, .comedians_view_page h1 {
    color: #fff;
}

.comedians_view_page .text-blue-500 {
    color: #ED1D41;
}

.pages_home_page .top-banner-center{
    margin-top: 80px;
}

.pages_home_page .foodsSwiper.pt-5 {
    padding-top: 15px!important;

}

/* Home page carousel - no size override, uses default calendar-event-card sizing */
.pages_home_page .foodsSwiper .calendar-card {
    aspect-ratio: 4 / 3.5;
}

button.bg-blue-600 {
    background-color: #ED1D41 !important;
    color: #fff !important;
}

.top-banner-center p {
    margin: 10px auto 30px;
}

#customer-information label.meta-data--field {
    color: #5E090C !important;
}

.comedians_view_page .border {
    border: none;
}

body > .mx-auto header {
    position: relative;
    z-index: 999998;
}

header,
header > div,
header nav,
header nav .nav-menu,
header nav ul,
header .w-full,
header .mx-auto,
header .flex,
header .grid {
    overflow: visible !important;
}

.gambarinoregular {
     font-family: 'gambarinoregular', sans-serif
}

.quicksand {
    font-family: 'Quicksand', sans-serif;
}

.poppins {
    font-family: 'Poppins', sans-serif;
}

/* HEADER */
.nav-link {
    color: #F0E9DF;
    transition: color 0.3s ease-in-out;
    font: normal normal 600 16px/28px 'Instrument Sans';
    text-transform: uppercase;
}

.nav-link:hover, .nav-link.active {
    color: #F0E9DF !important;
}

.mobile-link {
    color: #333;    
    transition: color 0.3s ease-in-out;
}

.mobile-link:hover, .mobile-link.active {
    color: var(--secondary-color);
}

.menu-button {
    background-color: #F0E9DF;
    color: #5E090C;
    transition: background-color 0.3s ease-in-out;
    font: normal normal 600 16px/24px 'Instrument Sans';
    border: 2px solid transparent;
}

.calendar-button {
    background-color: #FFFFFF;
    color: #5E090C;
    border: 2px solid #5E090C;
    transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
    font: normal normal 600 16px/24px 'Instrument Sans';
}

.calendar-button:hover {
    background-color: #5E090C;
    color: #FFFFFF;
}

.mobile-menu {
    background-color: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.menu-toggle {
    color: #4a5568;
    outline: none;
}

/* FEATURE SLIDER */
/* Swiper Slide Styling */
.swiper-slide {
    
}

/* Image Styling */
.slide-image {
    
}

/* Content Styling */
.slide-subtitle {
    color: var(--secondary-color);
    font: normal normal normal 20px/24px 'Instrument Sans';
}

.slide-title {
    /* color: var(--primary-color); */
    font: normal normal bold 60px/70px 'Instrument Sans';
}

.slide-text {
    font: normal normal normal 18px/28px 'Instrument Sans';
    color: #e3e3e3;
}

/* Navigation Buttons */
/* .swiper-button-prev-container,
.swiper-button-next-container {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
} */

/* .swiper-button-prev-container {
    left: 1rem;
} */

/* .swiper-button-next-container {
    right: 1rem;
} */

/* #featured .swiper-button-prev {
    left: -5em !important;
}

#featured .swiper-button-next {
    right: -5em !important;
} */

#featured .swiper-button-prev::after,
#featured .swiper-button-next::after {
    font-family: "Font Awesome 6 Pro";
    font-weight: 900;
    font-size: 15px !important;
    color: #fff;
}

#featured .swiper-button-prev::after {
    content: "\f060";
}

#featured .swiper-button-next::after {
    content: "\f061";
}

.swiper-button-prev,
.swiper-button-next {
    width: 2.5rem !important;
    height: 2.5rem !important;
    background-color: var(--secondary-color);
    opacity: 0.8;
    border-radius: 50%;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.3s ease-in-out;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
    opacity: 1;
}

/* Pagination container */
#featured .swiper-pagination-bullets {
    display: flex;
    justify-content: center;
    align-items: center;
    bottom: 0px;
}

/* Default inactive bullets */
#featured .swiper-pagination-bullet {
    width: 100% !important; /* Make it look like a line */
    height: 8px !important;
    background: #fff !important; /* Dark inactive color */;
    border-radius: 10px !important;
    transition: background 0.3s ease-in-out;
}

/* Active bullet */
#featured .swiper-pagination-bullet-active {
    background: #ED1D41!important; /* Pink active color */
}

#comedy .swiper-button-prev,
#comedy .swiper-button-next {
    background-color: #ED1D41;
    top: 4rem;
    width: 2.75rem !important;
    height: 2.75rem !important;
}

#comedy .swiper-button-prev:after,
#comedy .swiper-button-next:after {
    font-family: "Font Awesome 6 Pro";
    /* font-weight: 900; */
    font-size: 22px !important;
    color: #fff;
}

#comedy .swiper-button-prev::after {
    content: "\f177";
}

#comedy .swiper-button-next::after {
    content: "\f178";
}

#comedy .swiper-button-prev {
    left: 13% !important;
}

#comedy .swiper-button-next {
    right: 13% !important;
}

#comedy .upcoming-show-div {
    padding-bottom: 0;
    border-bottom: 0;
}

/* TESTIMONIALS CAROUSEL */
.testimonials-section {
    background-color: #F0E9DF;
    position: relative;
}

.testimonials-heading {
    font: normal normal 400 60px/90px 'Gambarino';
    letter-spacing: 0px;
    color: #5E090C;    
    margin-top: 15px;
}

.testimonial-card {
    background-color: #fff;
    border-radius: 8px;
    padding: 1.5rem;
    min-height: 250px;
    width: 100%;
    max-width: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.testimonial-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.testimonial-content {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.testimonial-quote-top,
.testimonial-quote-bottom {
    font: normal normal bold 40px/40px 'Instrument Sans';
    color: #A6855C;
}

.testimonial-quote-top {
    transform: rotate(180deg);
}

.testimonial-quote-bottom {

}

.testimonial-text {
   font: normal normal normal 24px/40px 'Anton';
    color: #ED1D41;
    padding: 0;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.testimonial-name {
    font: normal normal 400 22px/38px 'Anton';
    letter-spacing: 0px;
    color: #A6855C;
    text-transform: uppercase;
    padding: 1rem 0.5rem;
}

.testimonialsSwiper .swiper-button-prev,
.testimonialsSwiper .swiper-button-next {
    background-color: #ED1D41;
    top: 3rem;
    width: 2.75rem !important;
    height: 2.75rem !important;
}

.testimonialsSwiper .swiper-button-prev::after,
.testimonialsSwiper .swiper-button-next::after {
    font-family: "Font Awesome 6 Pro";
    /* font-weight: 900; */
    font-size: 22px !important;
    color: #fff;
}

.testimonialsSwiper .swiper-button-prev::after {
    content: "\f177";
}

.testimonialsSwiper .swiper-button-next::after {
    content: "\f178";
}

.testimonialsSwiper .swiper-button-prev {
    left: 0 !important;
}

.testimonialsSwiper .swiper-button-next {
    right: 0 !important;
}

.testimonialsSwiper {
    padding-bottom: 3rem;
    overflow: visible;
    min-height: 300px;
}

.testimonialsSwiper .swiper-slide {
    width: 100%;
    max-width: 350px;
    height: auto;
}

.testimonialsSwiper .swiper-slide.testimonial-card {
    width: 100%;
    max-width: 588px;
}

.testimonialsSwiper .swiper-wrapper {
    align-items: stretch;
    display: flex;
    height: auto;
}

/* CONTENT */
.upcoming-show-div {
    font: normal normal bold 45px/44px 'Instrument Sans';
    color: #000;
    /* border-bottom: 2px solid #ececec; */
    padding-bottom: 1.5rem;
}

.upcoming-show-div .btn-default {
    font-weight: normal;
}


.upcoming-show-div .subtitle {
    color: #F0E9DF;
    font: normal normal normal 20px/12px 'Instrument Sans';
    padding-bottom: 10px;
}

#comedy .upcoming-show-div .subtext {
    font: normal normal normal 18px/28px 'Instrument Sans';
    color: #F0E9DF;
}

#comedy h2{
    color: #ED1D41;
}

.food-card .food-title {
    font: normal normal normal 40px/40px 'Gambarino';
    letter-spacing: 0px;
    color: #F0E9DF;
    overflow: hidden;
    width: 68%;
    float: left;
}

.food-card .food-content .food-text {
    font: normal normal 500 14px/26px 'Instrument Sans';
    letter-spacing: 1.4px;
    color: #F0E9DF;
}

.swiper-backface-hidden .swiper-slide{
    
}

.food-card .food-text {
    font: normal normal normal 18px/22px 'Instrument Sans';
    color: #F0E9DF!important;
}

.food-card,
.calendar-card {
    transition: all 0.2s ease-in;
    background-color: #101010;
}

.food-card:hover {
 
}

.food-card img,
.calendar-card img {
    transition: all 0.1s ease-out;
    opacity: 0.8;
}

.food-card:hover img,
.calendar-card:hover img {
    opacity: 1;
}

.food-card .food-content,
.calendar-card .calendar-card-content {
    transition: all 0.1s ease-out;    
    left: 0 !important;
    right: 0 !important;
}

.calendar-card .calendar-card-content {
    display: none!important;
}

.food-card .food-content a,
.calendar-card .calendar-card-content a {
    font-size: 25px!important;
    padding: 14px 26px;
    background-color: #ED1D41!important;
    color: #F0E9DF!important;
    opacity: 0;
    height: auto;
    float: left;
    transform: translate3d(-40px, 40px, 0);
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}


.food-card .food-content a i,
.calendar-card .calendar-card-content a i {
    font-weight: 400;
    position: relative;
    right: 10px;
}

.food-card .food-content a:hover,
.calendar-card .calendar-card-content a:hover {
    border: 2px solid #ED1D41!important;
    background-color: #ED1D41!important;
    color: #fff!important;
}


.food-card:hover .food-content a,
.calendar-card:hover .calendar-card-content a {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.gift-form input, .gift-form textarea, .gift-form select{
    background-color: #F7F7F7;
}

.food-card .food-title, .food-card .food-text {
    transition: all 0.1s ease-out;
}

.top-banner-center a.btn-default{
    font: normal normal 600 16px/28px 'Instrument Sans'!important;
}

.calendar-card:hover .calendar-card-content {
    background-color: transparent;
    transform: translateY(-1.5rem) !important;
}

.faq-accordion-icon {
    color: #5E090C;
}

.faq-accordion-icon i{
    color: #5E090C;
}

/* FAQ Page Styles - Using specific class names to avoid conflicts */
.faq-page-container {
    position: relative;
}

.faq-accordion-item {
    position: relative;
    background-color: #FFFFFF;
}

.faq-accordion-button {
    position: relative;
}

.faq-accordion-title {
    padding-left: 0!important;
    font: normal normal 400 30px/40px 'Anton';
    letter-spacing: 0px;
    color: #ED1D41;
    text-transform: uppercase;
}

.faq-accordion-icon {
    position: absolute;
    top: 0;
    right: 0;
    width: auto;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-accordion-icon .faq-icon-inner {
    transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-block;
    opacity: 1;
    transform: scale(1) rotate(0deg);
}

.faq-accordion-content {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), 
                opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                padding-top 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                padding-bottom 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    padding-top: 0;
    padding-bottom: 0;
}

.faq-accordion-content.faq-accordion-open {
    max-height: none;
    opacity: 1;
    padding-top: 1rem;
    padding-bottom: 0;
}

.faq-accordion-text {
    font: normal normal 500 18px/26px 'Instrument Sans';
    letter-spacing: 1.8px;
    color: #5E090C;
}

.faq-accordion-text a {
    color: #ED1D41;
}

/* FAQ Page Section Headers */
.faq-section-header {
    font: normal normal normal 40px/44px 'Anton';
    letter-spacing: 0px;
    text-transform: uppercase;
    color: #5E090C;
    margin-bottom: 1.5rem;
    margin-top: 2rem;
}

.faq-section-container:first-of-type .faq-section-header {
    margin-top: 0;
}

.bold-gift{
    font: normal normal 700 30px/40px 'Instrument Sans';
    letter-spacing: 0px;
    /* padding: 40px 0; */
    color: #000000;
}

.food-card:hover .food-title, 
.food-card:hover .food-text {
    color: #fff;
}
.home_page_upcomming .show-card {
    
}

.show-card {
    color: var(--show-card-color);
}

.show-card .show-date{
    background: #F0E9DF 0% 0% no-repeat padding-box;
    border-radius: 20px;
    padding: 5px 14px;
    font: normal normal 600 14px/26px 'Instrument Sans';
    letter-spacing: 1.4px;
    color: #5E090C;
    text-transform: uppercase;
    text-align: center;
    display: inline-block;
}

.show-card .show-address {    
    font: normal normal 400 18px/24px 'Instrument Sans';
    color: #F0E9DF;
}

.show-card .show-title {
    font: normal normal normal 40px/50px 'Gambarino';
    letter-spacing: 0px;
    color: #5E090C;
}

input#coupon_code {
    background: #EBEBEB 0% 0% no-repeat padding-box;
    border-radius: 10px;
    border: none;
    height: 43px;
}

.checkout-summary-table th {
    font: normal normal 600 18px/26px 'Instrument Sans';
    letter-spacing: 0px;
    color: #5E090C;
    border-color: #5E090C!important;
}

.checkout-summary-table td{
    font: normal normal 500 18px/26px 'Instrument Sans';
    letter-spacing: 0px;
    color: #5E090C;
}

.show-card ul li:first-child {
   
}

.show-card ul li {
    font: normal normal 600 18px/26px 'Instrument Sans';
    letter-spacing: 0px;
    color: #5E090C;
}

.payment-info label {
    color: #5E090C;
}

#gift_certificate_code-error, .alert, .event-nav-buttons .event-nav-date {
    color: rgb(239 68 68 / var(--tw-text-opacity, 1));
    font-size: 0.875rem;
    line-height: 1.25rem;
}

#ticket-information {
    color: #5E090C!important;
}

#ticket-information .show-card .show-title {
    font: normal normal 400 40px/50px 'Gambarino';
    letter-spacing: 0px;
    color: #5E090C;
}

.show-card .description {
    color: #F0E9DF;
    font: normal normal 400 18px/24px 'Instrument Sans';
}

.events_view_page .show-card .show-title {
    font: normal normal bold 45px/55px 'Instrument Sans';
    color: #F0E9DF;
}

.tags_view_page .description {
    height: 140px;
    overflow: hidden;
}

.btn-default {
    font-size: 18px;
    line-height: 24px;
    font-family: 'Instrument Sans', sans-serif;
 
    color: #ffffff;    
    border: 2px solid transparent;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
}


.contact button {
    color: #fff;
}

.tickets-card h3.text-sm{
    font: normal normal 400 18px / 24px 'Instrument Sans'!important;
}

a.btn-default {
    padding: 10px 25px;
}

a.btn-default , button.btn-default, .coupon-code-form button{
    background-color: #F0E9DF!important;
    color: #5E090C!important;
    transition: background-color 0.3s ease-in-out;
    font: normal normal 700 18px / 24px 'Instrument Sans'!important;
    border: 2px solid transparent;
    border-radius: 30px!important;
}

.coupon-code-form button {
    min-height: 43px;
    font: normal normal 600 16px/18px 'Instrument Sans'!important;
    letter-spacing: 1.6px;
    color: #5E090C;
    text-transform: uppercase;
}

a.btn-default.mb-10, a.btn-default.mb-10:hover, a.btn-default.mb-10:focus {
    background-color: #F0E9DF!important;
    color: #5E090C!important;
    font: normal normal 400 18px/24px 'Instrument Sans'!important;
}

.upcoming-show-div a.calendar-btn, .upcoming-show-div a.food-menu-btn{
    font: normal normal 400 18px / 24px 'Instrument Sans'!important;
}

.event-nav-buttons span:hover {

}

.home_page a:hover, .home_page a:focus, #comedy a:hover, .home_page_upcomming a:focus
.comedians-page button:hover, .comedians-page button:focus,
.contact button:hover, .old-calendar-ui a:hover, a.btn-default:hover, a.btn-default:focus,
button.btn-default:hover, button.btn-default:focus, .swiper-button-prev:hover, .swiper-button-next:hover,
.event-nav-buttons span.btn-default:hover, .coupon-code-form button:hover {
    /* background-color: #F0E9DF!important; */
    color: #5E090C;
}



.home_page h2.slide-title a, .home_page nav a:hover, .home_page nav a:focus{
    background-color: transparent!important;
    border-color: transparent!important;
}

.home_page nav a:hover, .home_page nav a:focus{ 
    color: #F0E9DF !important;
}

.subscribe-form button:hover, .subscribe-form button:focus{
    background-color: #fff;
    border-color: #fff;
    color: #000;
}

.btn-default.btn-sold-out {
    background-color: transparent;
    border: 2px solid #979797 !important;
    color: #979797;
}

.btn-default:hover {
    background-color: #5E090C;
}

.subscribe-section {
    background-color: transparent; 
    color: #fff;
}

.event-nav-buttons {
    /* font: normal normal normal 16px / 26px 'Instrument Sans';
    border-top: 1px solid #d1d1d1; */
}

.event-nav-buttons .event-nav-title {
    font: normal normal 600 16px/24px Instrument Sans;
    letter-spacing: 0px;
    color: #5E090C;
    text-transform: uppercase;
}

.event-nav-buttons .event-nav-date {
    font: normal normal 500 16px/24px Instrument Sans;
    letter-spacing: 0px;
    color: #959595;
    text-transform: uppercase;
}

.event-nav-buttons .btn-default i {font-size: 1.5rem; color: #5E090C;}
.event-nav-buttons .btn-default:hover i {
    color: #F0E9DF;
}


.original.slashed {
    color: #ff0000;
    text-decoration: line-through;
}



.subscribe-title {
    font: normal normal 700 80px/90px 'Instrument Sans';
}

.subscribe-text {
    text-align: left;
    font: normal normal 500 14px/32px 'Instrument Sans';
    letter-spacing: 0px;
    color: #F0E9DF;
}

.subscribe-text a, .copy-right-section a {
    text-decoration: underline;
}

.subscribe-form {
    height: 62px;
    vertical-align: middle;
}

.subscribe-input {    
    border: none;
    outline: none;
    color: #000;
    background-color: #fff;
    color: #F0E9DF!important;
    padding: 3px 0px 3px 5px;
}

#subscribe-section button.subscribe-button {
    background-color: transparent!important;  
    font: normal normal 600 14px/14px 'Instrument Sans'!important;
    letter-spacing: 1.4px;
    padding: 4px 14px!important;
    color: #F0E9DF!important;
    text-transform: uppercase;
    border-radius: 30px!important;
    border: none!important;
    height: 28px!important;
    margin-top: 16px;    
    float: right;
}

#subscribe-section button.subscribe-button:hover{
    color: #5E090C!important;
    border: none!important;
    background-color: #F0E9DF!important;
    padding: 4px 14px!important;
}

#subscribe-section label {
    position: absolute;
    bottom: -25px;
    left: 10px;
}

.slide-button:hover {
    color: #fff;
    border: 2px solid #000!important;
    border-color: #000 !important;
}

.subscribe-decor {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.dot {
    width: 12px;
    height: 12px;
    background-color: #fff;
    opacity: 0.5;
    border-radius: 50%;
    position: absolute;
}

.dot-1 { top: 6rem; left: 4rem; }
.dot-2 { top: 8.5rem; left: 14.5rem; width: 8px; height: 8px; }
.dot-3 { top: 5.5rem; left: 18rem; width: 8px; height: 8px; }
.dot-4 { top: 2rem; left: 38rem; }
.dot-5 { top: 12rem; right: 21rem; }
.dot-6 { top: 4rem; right: 16rem; }
.dot-7 { top: 2rem; right: 8rem; }

/* CALENDAR PAGE STYLES */
.page-banner-section {
    background-color: #5E090C;
}

.calendar-page-title {
    font: normal normal normal 60px/70px 'Gambarino';
    letter-spacing: 0px;
    color: #F0E9DF;
    text-align: center;
}

.calendar-search-input {
    background-color: #7A1A1D;
    border: 1px solid #F0E9DF;
    color: #F0E9DF;
}

.calendar-search-input::placeholder {
    color: #F0E9DF;
    text-transform: uppercase;
    font: normal normal normal 16px/24px 'Instrument Sans';
}

.calendar-search-icon {
    color: #F0E9DF;
    transition: opacity 0.3s ease;
}

.calendar-search-input:focus + button .calendar-search-icon,
button:hover .calendar-search-icon {
    opacity: 0.7;
}

.calendar-filter-btn {
    background-color: #F0E9DF;
    border: none;
    color: #5E090C;
    font: normal normal 600 16px/24px 'Instrument Sans';
    text-transform: uppercase;
    transition: background-color 0.3s ease-in-out;
}

.calendar-filter-btn:hover {
    background-color: #E8DCC8;
}


.page-filter-section {
    background-color: #5E090C;
}

.page-filter-section input {
    background-color: #7A1A1D;
    border: 1px solid #F0E9DF;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    color: #F0E9DF;
    font: normal normal normal 16px/24px 'Instrument Sans';
}

.page-filter-section input::placeholder {
    color: #F0E9DF;
    text-transform: uppercase;
}

.page-filter-section #filterByDateBtn {
    background-color: #F0E9DF;
    color: #5E090C;
    border: none;
    border-radius: 3rem;
    padding: 0.75rem 1.5rem;
    font: normal normal 600 16px/24px 'Instrument Sans';
    text-transform: uppercase;
    transition: background-color 0.3s ease-in-out;
}

.page-filter-section #filterByDateBtn:hover {
    background-color: #E8DCC8;
    color: #5E090C;
}

.page-filter-section #filterByDateBtn:focus {
    background-color: #F0E9DF;
    color: #5E090C;
    outline: none;
}

.page-filter-section #filterByDateBtn:active {
    background-color: #E8DCC8;
    color: #5E090C;
}

.page-filter-section #filterByDateBtn:disabled {
    background-color: #A5A5A5;
    color: #fff;
    cursor: not-allowed;
}
/* FOOTER */
.footer {
    background-color: #5E090C;
    color: #fff;
    margin-top: 4rem;
}


footer i {
    color: #fff;
}

footer .address > p,
footer .opening-hours > p,
footer .useful-links > p {
   
    align-items:start;
    word-break: break-word;
   
}

footer .opening-hours > p,
footer .useful-links > p {
    color: #777777;
}

footer .address > p > span, footer .opening-hours > p > span, footer .useful-links > p > span {
    color: #fff;
}

footer .address > h3,
footer .opening-hours > h3,
footer .useful-links > h3 {    
    color: var(--secondary-color);
 
}

/* Footer navigation styling */
footer .useful-links ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

footer .useful-links li {
    margin: 0.5rem 0;
    position: relative;
}

footer .useful-links a {
    color: #F0E9DF;
    text-decoration: none;
    font: normal normal 500 14px/24px 'Instrument Sans';
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.3s ease;
    display: block;
}

footer .useful-links a:hover {
    color: #A6855C;
}

/* Hide default caret on top-level links */
footer .useful-links > ul > li.dropdown > a .caret {
    display: none;
}

/* Arrow indicator for top-level parent links with sub-menus */
footer .useful-links > ul > li.dropdown > a::after {
    content: '\f078';
    font-family: 'Font Awesome 6 Pro';
    font-weight: 900;
    font-size: 11px;
    color: #F0E9DF;
    transition: transform 0.25s ease;
    display: inline-block;
    margin-left: 0.5rem;
}

footer .useful-links > ul > li.dropdown:hover > a::after {
    transform: rotate(180deg);
    color: #A6855C;
}

/* Footer dropdown styles */
footer .useful-links li.dropdown {
    position: relative;
}

footer .useful-links .dropdown-menu {
    display: none;
    position: absolute;
    background-color: #F0E9DF;
    border-radius: 0.5rem;
    padding: 0.5rem;
    min-width: 240px;
    left: 0;
    top: calc(100% + 0.5rem);
    z-index: 1000;
    box-shadow: 0px 8px 24px rgba(94, 9, 12, 0.25);
    text-align: left;
    margin-top: 0;
}

/* Bridge the gap with a pseudo-element for easier hovering */
footer .useful-links li.dropdown > .dropdown-menu::before {
    content: '';
    position: absolute;
    top: -0.5rem;
    left: 0;
    right: 0;
    height: 0.5rem;
    background: transparent;
}

/* Upward-opening dropdowns when not enough space below */
footer .useful-links li.dropdown.dropup > .dropdown-menu {
    top: auto;
    bottom: calc(100% + 0.5rem);
}

footer .useful-links .dropdown-menu ul {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

footer .useful-links li.dropdown:hover > .dropdown-menu,
footer .useful-links .dropdown-menu:hover {
    display: block;
}

footer .useful-links .dropdown-menu li {
    margin: 0.125rem 0;
    padding: 0;
    position: relative;
    list-style: none;
    display: block;
    width: 100%;
}

footer .useful-links .dropdown-menu li:first-child {
    margin-top: 0;
}

footer .useful-links .dropdown-menu li:last-child {
    margin-bottom: 0;
}

footer .useful-links .dropdown-menu a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.875rem 1.25rem;
    color: #5E090C;
    font: normal normal 600 14px/20px 'Instrument Sans';
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: all 0.25s ease-in-out;
    border-radius: 0.5rem;
    position: relative;
}

footer .useful-links .dropdown-menu > li:first-of-type > a {
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
}

footer .useful-links .dropdown-menu > li:last-of-type > a {
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

footer .useful-links .dropdown-menu > li > a:hover {
    background-color: #5E090C !important;
    color: #F0E9DF !important;
    transform: translateX(4px);
    padding-left: 1.5rem;
}

/* Hide the default caret span */
footer .useful-links .dropdown-menu > li.dropdown > a .caret {
    display: none;
}

/* Arrow indicator for items with sub-menus - same as top nav */
footer .useful-links .dropdown-menu > li.dropdown > a::after {
    content: '\f054';
    font-family: 'Font Awesome 6 Pro';
    font-weight: 900;
    font-size: 11px;
    color: #5E090C;
    transition: transform 0.25s ease;
    flex-shrink: 0;
    display: inline-block;
    margin-left: 0.75rem;
}

footer .useful-links .dropdown-menu > li.dropdown > a:hover::after {
    transform: translateX(3px);
    color: #F0E9DF;
}

footer .useful-links .dropdown-menu li.dropdown {
    position: relative;
}

footer .useful-links .dropdown-menu .dropdown-menu {
    display: none;
    position: absolute;
    top: -0.5rem;
    left: calc(100% + 0.5rem);
    margin: 0;
    padding: 0.5rem;
    z-index: 1001;
    background-color: #F0E9DF;
    border-radius: 0.75rem;
    box-shadow: 0px 8px 24px rgba(94, 9, 12, 0.25);
    min-width: 200px;
    opacity: 0;
    transform: translateX(-10px);
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

/* Bridge the gap for second-level dropdown */
footer .useful-links .dropdown-menu li.dropdown > .dropdown-menu::before {
    content: '';
    position: absolute;
    top: 0.5rem;
    left: -0.5rem;
    width: 0.5rem;
    bottom: 0.5rem;
    background: transparent;
}

/* Upward-opening second-level dropdowns */
footer .useful-links .dropdown-menu li.dropdown.dropup > .dropdown-menu {
    top: auto;
    bottom: -0.5rem;
}

footer .useful-links .dropdown-menu li.dropdown:hover > .dropdown-menu,
footer .useful-links .dropdown-menu .dropdown-menu:hover {
    display: block;
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}

/* Second level dropdown items */
footer .useful-links .dropdown-menu .dropdown-menu > li > a {
    padding: 0.75rem 1.25rem;
    font-size: 13px;
    line-height: 18px;
    text-transform: capitalize;
    letter-spacing: 0.3px;
}

footer .useful-links .dropdown-menu .dropdown-menu > li > a:hover {
    transform: translateX(4px);
    padding-left: 1.5rem;
}

/* Mobile styles for footer navigation - Two-Column Compact Layout */
@media (max-width: 767px) {
    /* Two-column grid for top-level items */
    footer .useful-links > ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
        margin: 0;
        padding: 0;
        align-items: stretch;
        overflow: visible;
    }

    .useful-links {
        height: auto!important;
    }
    
    footer .useful-links > ul > li {
        margin: 0;
        border: none;
        display: flex;
        flex-direction: column;
        min-width: 0; /* Prevents grid overflow */
        overflow: visible;
        padding-left: 0;
    }
    
    /* Compact parent links with proper alignment */
    footer .useful-links > ul > li > a {
        padding: 0;
        font: normal normal 600 13px/18px 'Instrument Sans';
        text-transform: uppercase;
        letter-spacing: 0.3px;
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-radius: 0;
        transition: all 0.2s ease;
        width: 100%;
        box-sizing: border-box;
        position: relative;
        overflow: visible;
        white-space: normal;
        word-wrap: break-word;
    }
    
    footer .useful-links > ul > li > a:active {
        background-color: rgba(166, 133, 92, 0.2);
        transform: scale(0.98);
    }
    
    /* Hide default caret */
    footer .useful-links > ul > li > a .caret {
        display: none;
    }
    
    /* Text content alignment */
    footer .useful-links > ul > li > a {
        text-align: left;
        overflow-wrap: break-word;
        word-break: break-word;
    }
    
    /* Chevron for dropdowns - positioned absolutely on the right */
    footer .useful-links > ul > li.dropdown > a::after {
        content: '\f078';
        font-family: 'Font Awesome 6 Pro';
        font-weight: 900;
        font-size: 10px;
        color: #A6855C;
        transition: transform 0.3s ease;
        flex-shrink: 0;
        margin-left: auto;
        width: 16px;
        text-align: center;
    }
    
    footer .useful-links > ul > li.dropdown.open > a::after {
        transform: rotate(180deg);
    }
    
    /* Full-width dropdown that appears below grid */
    footer .useful-links .dropdown-menu {
        position: static;
        width: 100%;
        grid-column: 1 / -1;
        background-color: rgba(0, 0, 0, 0.25);
        border-left: 3px solid #A6855C;
        border-radius: 0;
        padding: 0.5rem 0;
        margin: 0.5rem 0 0 0;
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        transition: max-height 0.3s ease, opacity 0.3s ease, margin 0.3s ease;
    }
    
    footer .useful-links li.dropdown.open > .dropdown-menu {
        max-height: 500px;
        opacity: 1;
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
        overflow: visible;
        max-height: 1000px !important;
    }
    
    /* Clean dropdown items */
    footer .useful-links .dropdown-menu li {
        margin: 0;
        border-bottom: 1px solid rgba(240, 233, 223, 0.1);
    }
    
    footer .useful-links .dropdown-menu li:last-child {
        border-bottom: none;
    }
    
    footer .useful-links .dropdown-menu a {
        padding: 0.75rem 1rem;
        color: #F0E9DF;
        font: normal normal 500 14px/20px 'Instrument Sans';
        text-transform: capitalize;
        letter-spacing: 0.3px;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        min-height: 44px;
        transition: background-color 0.2s ease;
        text-align: left;
        width: 100%;
        box-sizing: border-box;
        overflow: visible;
        white-space: normal;
        word-wrap: break-word;
    }
    
    footer .useful-links .dropdown-menu a .caret {
        display: none;
    }
    
    footer .useful-links .dropdown-menu a:active {
        background-color: rgba(166, 133, 92, 0.15);
    }
    
    /* Items with submenus */
    footer .useful-links .dropdown-menu > li.dropdown > a {
        font-weight: 600;
        justify-content: space-between;
    }
    
    footer .useful-links .dropdown-menu > li.dropdown > a::after {
        content: '\f078';
        font-family: 'Font Awesome 6 Pro';
        font-weight: 900;
        font-size: 10px;
        color: #A6855C;
        transition: transform 0.3s ease;
        flex-shrink: 0;
    }
    
    footer .useful-links .dropdown-menu > li.dropdown.open > a::after {
        transform: rotate(180deg);
    }
    
    /* Second level dropdowns */
    footer .useful-links .dropdown-menu .dropdown-menu {
        position: static;
        background-color: rgba(0, 0, 0, 0.3);
        border-left: 2px solid rgba(166, 133, 92, 0.5);
        margin: 0.5rem 0 0.5rem 1rem;
        padding: 0;
        border-radius: 0;
        opacity: 0;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease, opacity 0.3s ease, margin 0.3s ease;
    }
    
    footer .useful-links .dropdown-menu li.dropdown.open > .dropdown-menu {
        max-height: 1000px;
        opacity: 1;
        overflow: visible;
    }
    
    footer .useful-links .dropdown-menu .dropdown-menu > li > a {
        padding: 0.625rem 1rem;
        font-size: 13px;
    }

    body.comedians_view_page > .mx-auto.other-page::before {
        height: 270px;
    }
}

/* Single column layout for very small screens */
@media (max-width: 425px) {
    footer .useful-links > ul {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }

    .events_view_page .tickets-header {
        font: normal normal normal 35px / 28px Anton !important;
    }
}

/* Adaptive positioning for footer dropdowns near right edge */
@media (min-width: 768px) {
    /* First-level dropdowns align to the right edge - default to upward */
    footer .address .useful-links > ul > li.dropdown > .dropdown-menu {
        left: auto;
        right: 0;
        top: auto;
        bottom: calc(100% - 0.5rem);
    }
    
    /* Right-aligned dropdowns can also open downward if there's space */
    footer .address .useful-links > ul > li.dropdown:not(.dropup) > .dropdown-menu {
        top: calc(100% + 0.5rem);
        bottom: auto;
    }
    
    /* Reverse flex direction for ALL items in right-aligned menus for proper text alignment */
    footer .address .useful-links .dropdown-menu > li > a {
        flex-direction: row-reverse;
        justify-content: space-between;
    }
    
    /* Flip second-level dropdown to left side for right-aligned nav items */
    footer .address .useful-links .dropdown-menu .dropdown-menu {
        left: auto;
        right: 100%;
        top: -0.5rem;
        bottom: auto;
        padding-right: 0.5rem;
        transform: translateX(10px);
    }
    
    /* Right-aligned second-level dropdowns can open upward if needed */
    footer .address .useful-links .dropdown-menu li.dropdown.dropup > .dropdown-menu {
        top: auto;
        bottom: -0.5rem;
    }
    
    footer .address .useful-links .dropdown-menu li.dropdown:hover > .dropdown-menu,
    footer .address .useful-links .dropdown-menu .dropdown-menu:hover {
        transform: translateX(0);
    }
    
    /* Flip arrow direction for right-side submenus */
    footer .address .useful-links .dropdown-menu > li.dropdown > a::after {
        content: '\f053';
        font-family: 'Font Awesome 6 Pro';
        font-weight: 900;
        font-size: 11px;
        color: #5E090C;
        transition: transform 0.25s ease;
        flex-shrink: 0;
        display: inline-block;
    }
    
    footer .address .useful-links .dropdown-menu > li.dropdown > a:hover::after {
        transform: translateX(-3px);
        color: #F0E9DF;
    }
    
    footer .address .useful-links .dropdown-menu > li > a:hover {
        transform: translateX(-4px);
        padding-left: 0.875rem;
        padding-right: 1.5rem;
    }
}


.social-icons a {
    border: 2px none transparent;
    border-radius: 50%;
    width: 2em;
    height: 2em;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: #FFFFFF;
    color: #000;
}

.social-icons i {
    color: #000;
}

.social-icons a > span {
    display: inline-block;
    align-items: center;
    font-size: inherit;
}

.social-icons a:hover {
    color: #808080;
}

.copyright {
    text-align: center;
    padding-top: 1.5rem;
    font: normal normal bold 18px / 26px Quicksand;
    color: #fff;
}

/* TICKETS */
.tickets-card {
    background-color: #f7f7f7;
    color: #000;
    border: 1px solid #D1D1D1;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
}

.tickets-card .tickets-header,
.tickets-card .tickets-text {
    color: #000;
}

.tickets-card .tickets-header {
    font: normal normal bold 24px/24px 'Instrument Sans'!important;
    border-bottom: 2px solid #d1d1d1;
}

/* INDIVIDUAL TICKET */
.ticket-card {
    color: #000;
    border-bottom: 1px solid #e0e0e0;
}

.ticket-card .ticket-title {
    font: normal normal bold 20px/28px 'Instrument Sans';
}


.ticket-card .ticket-more-admit {
    font-size: 0.9rem;
    vertical-align: middle;
}

.ticket-card .ticket-cost .ticket-pwyw {
    font-size: 1rem;
}

.ticket-card .ticket-cost .ticket-pwyw input[type="number"] {
    font-size: 1.1rem;
    font-weight: 500;
}

.txt-sold-out {
    font-size: 0.9rem;
    color: #ff7373;
    vertical-align: top;
}

.ticket-card .ticket-add-fee {
    font-size: 0.9rem;
    font-weight: normal;
    font-style: italic;
}

.checkout-btn {
    color: #004039;
}

#ticket-information, .right-checkout {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border-radius: 10px;
}

#ticket-information {
   margin-top: 10px;
}

#customer-information .customer-info .title, #customer-information .payment-info .title {
    font: normal normal 400 28px/28px 'Anton';
    letter-spacing: 0px;
    color: #5E090C;
    text-transform: uppercase;
    text-align: left;
}

.right-checkout .grid {
    margin-top: 20px!important;
}

.right-checkout {
    text-align: left;
}

.right-checkout .payment-info {
    padding-top: 0;
}

.right-checkout .grid.grid-cols-6 {
    margin-top: 0px!important;
}

.right-checkout button.btn-default {
    font: normal normal 600 16px/28px 'Instrument Sans'!important;
    letter-spacing: 1.6px;
    color: #5E090C;
    text-transform: uppercase;
}

.right-checkout input, .right-checkout select {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border: 1px solid #5E090C;
    border-radius: 10px;
}

.right-checkout p.description {
    font: normal normal 500 18px/28px 'Instrument Sans';
    letter-spacing: 0px;
    color: #5E090C;
    font-style: normal;
    padding-top: 15px;
}

.right-checkout .w-full.mt-3 {
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important;
}

.gift-cert-card {
    border: 1px solid #5E090C;
    border-radius: 10px;
    margin-bottom: 20px;
}

.gift-cert-card label {
    font: normal normal 500 18px/28px 'Instrument Sans';
    letter-spacing: 0px;
    color: #5E090C;
}

.gift-input-wrapper .items-end div:first-child{
    width: 80%;
}

.right-checkout .gift-cert-card input {
    border: none;
    background: #EBEBEB 0% 0% no-repeat padding-box;
    border-radius: 10px;
    border: none;
    height: 43px;
}

.right-checkout .payment-info{
    padding-bottom: 0;
}

.complete-purchase-container {
    border-bottom: 1px solid #5E090C;
    padding-bottom: 20px;
}

.gift-cert-card {

}

.gift-cert-card .payment-info {
    background-color: transparent;
    border: 0;
}

#menu-buttons .menu-btn {
    font: normal normal normal 16px/24px 'Instrument Sans';
    color: #696969;
}

#menu-buttons .menu-btn.active {
    background-color: var(--secondary-color);
    color: #fff;
}

#menu-buttons .menu-btn.active .indicator {
    background-color: #fff;
    border-color: #fff;
}

#menu-buttons .menu-btn > span > i {
    font-size: 0.75em;
    color: #fff;
    display: none;
    margin-top: 1px;
    margin-left: 1px;
}

#menu-buttons .menu-btn.active > span > i {    
    color: #000;
    display: block;
}

#menu-content-container {
    background-color: #F7F7F7;
    border: 1px solid #D1D1D1;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    color: #696969;
    font: normal normal normal 16px/24px 'Instrument Sans';
}

#menu-content-container .menu-title {
    font: normal normal bold 30px/55px 'Instrument Sans';
    color: #000;
}

#menu-content-container .menu-items .menu-item {
    margin-bottom: 1.5em;
}

.event-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #000;
}

.tag-description h1, .tags_view_page .header3 {
    font: normal normal normal 40px / 44px 'Anton';
    letter-spacing: 0px;
    text-transform: uppercase;
    color: #ED1D41;
    margin-bottom: 20px;
}


/* CALENDAR EVENT CARDS - Food Card Behavior */
.calendar-event-card {
    transition: all 0.3s ease-in;
    background-color: transparent;
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
}

.calendar-event-card img {
    transition: all 0.3s ease-out;
    opacity: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.calendar-event-card:hover img {
    opacity: 1;
}

.calendar-card-gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(to top, rgba(0, 0, 0, .2) 0%, rgba(0, 0, 0, 0.2) 5%, transparent 100%);
    z-index: 1;
    pointer-events: none;
}

.calendar-card-content {
    transition: all 0.3s ease-out;
    width: calc(100% - 3rem);
    left: 0 !important;
    right: 0 !important;
    z-index: 2;
}

.calendar-card-link {
    font-size: 25px !important;
    padding: 16px 30px;
    background-color: #ED1D41 !important;
    color: #F0E9DF !important;
    opacity: 0;
    height: auto;
    float: left;
    transform: translate3d(-40px, 40px, 0);
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.calendar-card-link i {
    font-weight: 400;
    position: relative;
    right: 10px;
}

.calendar-card-link:hover {
    border: 2px solid #ED1D41 !important;
    background-color: #ED1D41 !important;
    color: #fff !important;
}

.calendar-event-card:hover .calendar-card-link {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.calendar-card-content .calendar-card-text {
    opacity: 0 !important;
    max-height: 0;
    overflow: hidden;
    overflow-y: auto;
    transition:
        opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        max-height 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    pointer-events: none;
    margin: 0;
    padding: 0; /* small vertical padding for nicer reveal */
    font: normal normal 500 14px/26px 'Instrument Sans', sans-serif;
    letter-spacing: 1.4px;
    color: #F0E9DF;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.3) transparent;
    cursor: grab;
    -webkit-overflow-scrolling: touch;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.calendar-card-content .calendar-card-text:active {
    cursor: grabbing !important;
}

.calendar-card-content .calendar-card-text::-webkit-scrollbar {
    width: 4px;
}

.calendar-card-content .calendar-card-text::-webkit-scrollbar-track {
    background: transparent;
}

.calendar-card-content .calendar-card-text::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: 9999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.calendar-card-content .calendar-card-text::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.5);
}

.calendar-event-card:hover .calendar-card-content .calendar-card-text {
    opacity: 1 !important;
    max-height: 120px;
    pointer-events: auto;
    padding: 0.25rem 0;
    margin-top: 0rem;
}

.calendar-event-card:hover .calendar-card-content .calendar-card-text {
    max-height: 55px;
}

.calendar-card-subtitle,
.calendar-card-title {
    transition: all 0.1s ease-out;
    font: normal normal normal 40px/45px 'Gambarino';
    color: #F0E9DF;
    margin: 0 0 0.5rem 0;
    text-transform: none;
}


.calendar-event-card:hover .calendar-card-content {
    background-color: transparent;
    transform: translateY(-1.5rem) !important;
}

.calendar-date-banner {
    position: absolute;
    top: 1rem;
    left: 1rem;
    background-color: #F0E9DF;
    padding: 0.065rem 0.76rem;
    border-radius: 3rem;
    text-align: left;
    font: normal normal 600 14px/26px 'Instrument Sans';
    letter-spacing: 1.4px;
    color: #5E090C;
    text-transform: uppercase;
    z-index: 3;
}

.calendar-date-banner.carousel-date {
    font: normal normal 600 13px/22px 'Instrument Sans';
    letter-spacing: 1.1px;
}

.upsell-tickets-form h4, .upsell-tickets-form .text-gray-800{
    color: #fff;
}

.upsell-tickets-form .text-green-700, .seating-chart-explain .text-gray-600 {
    color: #ED1D41!important;
}

.mt-4 .text-blue-600 {
    color: #fff;
}

.upsell-tickets-form .btn-default {
    background: #ED1D41 0% 0% no-repeat padding-box;
    border-radius: 20px;
}

.subscribe-text a {
    display: inline-block!important;
}


.copy-right-section span {
    display: none!important;
}

@media (max-width: 767px) {

    .body-brisbane .upcoming-show-div{
            align-items: baseline;
    }

    .contact-section .grid {
        padding: 15px 20px;
    }

    .subscribe-section .hidden-sm {
        display: none;
    }

    .raven-left h3 {
        font: normal normal 400 36px / 40px 'Gambarino'!important;
       
    }

    body.pages_contact_page > .mx-auto.other-page::before {
        height: 300px!important;
    }

    .subscribe-title span {
        font: normal normal 400 32px/32px 'Gambarino'!important;
    }

    .comedy-option.grid > div {
        padding: 10px 20px;
    }

    .subscribe-title {
        font: normal normal bold 50px/60px 'Instrument Sans';
    }

    body.events_checkoutmulti_page > .mx-auto.other-page::before,
    body.events_checkout_page > .mx-auto.other-page::before {
        height: 340px;
    }

    .gift-certificate-wrapper .w-full > div{
        width: 100%;
    }

    body.pages_contact_page > .mx-auto.other-page::before, body.pages_faq_page > .mx-auto.other-page::before, 
    body.pages_about_page > .mx-auto.other-page::before, body.pages_termsandconditions_page > .mx-auto.other-page::before,
    body.pages_cms_page > .mx-auto.other-page::before {
        height: 370px;
    }

    .raven-hotel .grid > div {
        display: inline-block;
        width: 100%;
    
    }

    .about1-left h1 {
        font: normal normal 400 40px / 60px 'Anton';
    }

    .about-bottom.mx-auto {
        margin: 20px!important;
        max-width: 100%!important;
    }

    .raven-hotel .image-right {
        height: auto;
        min-height: 740px;
    }

    .about-bottom img{
        margin-bottom: 15px;
    }
    
    #comedy.below-carousel h1 {
        font: normal normal normal 50px / 55px 'Gambarino'; 
    }

    form.subscribe-form {
        margin: 10px 0;
        display: block;
    }

    .comedy-standards .border-white,
    .comedy-option > div, .comedy-standards .p-4, 
    .comedy-option {
         border: none;
     }
     
    .comedy-standards .border-white.p-6{
        border: 1px solid #fff;
        border-radius: 10px;
    }

    .comedy-standards .comedy-option .p-4 {
        border: 1px solid rgb(234 29 63 / var(--tw-border-opacity, 1));
        border-radius: 10px;
    }

    #subscribe-section button.subscribe-button{
        margin-right: 8px;
    }

    .ourmenubg {
        margin: 20px 0;
    }

    form.subscribe-form input {
        background-color: transparent;
        border: none;
        display: inline-block;
        width: 70%;
        height: 100%;
        padding: 0 10px;
    }

    form.subscribe-form button {
        width: auto;
    }

    footer .address { 
        padding-left: 0;
        text-align: left;
        border: none;
    }

    
    .social-media li, .useful-links li {
        padding-left: 0;
    }

    .slide-title {
        font: normal normal bold 40px / 50px 'Instrument Sans';
        margin-bottom: 0em !important;
    }

    #featured .swiper-pagination-bullet {
        width: 60% !important;        
    }

    #featured .swiper-pagination-bullet-active {     
        width: 100% !important;
    }
    
    .food-card .food-title {
        font: normal normal bold 25px / 35px 'Instrument Sans';
    }

    .food-card .food-content a {
        font-size: 1.5rem;
    }

    .food-card .food-text {
        font: normal normal normal 15px / 22px 'Instrument Sans';
    }

    .testimonials-heading {
        font: normal normal bold 40px / 50px 'Instrument Sans';
    }

    .testimonial-card {
        min-height: 180px;
        padding: 1.5rem;
    }

    .testimonial-text {
        font: normal normal 400 20px/30px 'Anton';
        letter-spacing: 0px;
        color: #ED1D41;
        padding: 1rem 0.5rem;
    }

    .testimonial-name {
        font: normal normal 400 18px/30px 'Anton';
        letter-spacing: 0px;
        color: #A6855C;
        text-transform: uppercase;
        padding: 1rem 0.5rem;
    }

    .testimonial-quote-top,
    .testimonial-quote-bottom {
        font: normal normal bold 30px / 30px 'Instrument Sans';
    }

    .testimonialsSwiper .swiper-button-prev,
    .testimonialsSwiper .swiper-button-next {
        width: 2.5rem !important;
        height: 2.5rem !important;
    }

    .testimonialsSwiper .swiper-button-prev::after,
    .testimonialsSwiper .swiper-button-next::after {
        font-size: 16px !important;
    }

    /* .swiper-slide-active .food-content a {
        opacity: 1;
    }

    .swiper-slide-active .food-content {
        background-color: var(--primary-color);
        transform: translateY(-1.5rem) !important;
    } */

    /* .swiper-slide-active .food-title,
    .swiper-slide-active .food-text {
        color: #000;
    } */

    body > .mx-auto.home_page::before {
        height: 780px;
    }

    #comedy .swiper-button-prev, #comedy .swiper-button-next {
       top: 2rem;
    }

    #comedy .swiper-button-next {
        right: 0!important;
    }

    #comedy .swiper-button-prev {
        left: 0!important;
    }


    .calendar-card-subtitle, .calendar-card-title{
        font: normal normal 400 36px / 40px 'Gambarino';
        color: #F0E9DF;
    }
    
}

@media (min-width:768px) and (max-width:1024px) {
    body > .mx-auto.home_page::before {
        height: 830px;
    }
    .pages_home_page .foodsSwiper.pt-5 {
        padding-bottom: 70px!important;
    }

  
}

@media (min-width:1024px) and (max-width:1440px) { 
    
    .pages_home_page .foodsSwiper.pt-5 {
        padding-bottom: 80px!important;
    }
    .pages_home_page .top-banner-center {
        margin-top: 10px;
    }
}

@media (max-width: 1440px) {
    .swiper-button-prev-container, .swiper-button-next-container {
        display: inline-block;
    }
}

@media (max-width: 1023px) { 
    .home_page header div.py-3 {
        padding-top: 15px!important;
    }

    .about1-left h1 {
        font: normal normal 400 40px / 50px 'Anton'!important;
    }

    .about1-left h1 {
        font: normal normal 400 40px / 50px 'Anton'; 
    }

    body.pages_contact_page > .mx-auto.other-page::before, body.pages_faq_page > .mx-auto.other-page::before, 
    body.pages_about_page > .mx-auto.other-page::before, 
    body.pages_termsandconditions_page > .mx-auto.other-page::before, 
    body.pages_cms_page > .mx-auto.other-page::before {
        height: 340px;
    }

    body.pages_about_page > .mx-auto.other-page::before {
        height: 325px;
    }

    body.pages_about_page > .mx-auto.other-page::before

    /* .body-brisbane .max-w-7xl {
        padding: 15px;
    } */

    #comedy h1 {
        font: normal normal normal 40px / 50px 'Gambarino'!important;
    }
}

@media (max-width: 1024px) { 
    #mobile-menu {
        background-color: #5E090C;
        border-top: 1px solid rgba(240, 233, 223, 0.2);
    }
    
    #mobile-menu > ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }

     .gift-certificate-wrapper .w-full > div{
        width: 100%;
    }


    body.events_checkoutmulti_page > .mx-auto.other-page::before,
    body.events_checkout_page > .mx-auto.other-page::before{
        height: 310px;
    }

    .menu-button {
        text-align: center;
        font: normal normal 600 15px/24px 'Instrument Sans';
        text-transform: uppercase;
        letter-spacing: 0.5px;
        background-color: #F0E9DF;
        color: #5E090C;
        border-radius: 1.5rem;
        padding: 0.625rem 1.5rem;
        display: inline-block;
        transition: all 0.3s ease-in-out;
    }
    
    .menu-button:hover {
        background-color: #E8DCC8;
        transform: scale(1.02);
    }

    button#menu-toggle svg {
        color: #5E090C;
        width: 24px;
        height: 24px;
    }

    button#menu-toggle {
        border: 2px solid #F0E9DF;
        background-color: #F0E9DF;
        border-radius: 5px;
        padding: 6px;
        transition: background-color 0.3s ease-in-out;
    }
    
    button#menu-toggle:hover {
        background-color: #E8DCC8;
        border-color: #E8DCC8;
    }

    .home_page .logo-header, .logo-header {
        width: 180px;
        height: auto;
        max-width: 100%;
    }
}

@media (min-width: 1192px) {
    .home_page .logo-header, .logo-header {
        width: 143px;
        height: auto; 
        max-width: 100%;
    }

   
}

/* Header Grid Layout */
@media (min-width: 1024px) {
    header .lg\:grid-cols-3 {
        grid-template-columns: 1fr auto 1fr;
    }
    
    header nav {
        display: flex;
    }
    
    header .nav-menu {
        display: flex;
        align-items: center;
    }
}

@media (min-width:1280px) and (max-width:1410px) {
    #featured .swiper-button-prev-container{
        left: 0;
    }
    #featured .swiper-button-next-container{
        right: 0;
    }
}
@media (max-width:1600px) {
    .calendar-card-subtitle,
    .calendar-card-title {
        transition: all 0.1s ease-out;
        font: normal normal normal 22px/22px 'Gambarino';
        color: #F0E9DF;
        margin: 0 0 0.5rem 0;
        text-transform: none;
    }

    .pages_home_page .foodsSwiper.pt-5 {
        padding-bottom: 30px;
    }
}



/* PAGINATION */
.pagination-container {
    margin-top: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
}

.pagination-link {
    font: normal normal 500 13px/18px 'Instrument Sans';
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.pagination-link:not(.pagination-disabled) {
    color: #333333;
}

.pagination-link:hover:not(.pagination-disabled) {
    opacity: 0.7;
}

.pagination-disabled {
    color: #BBBBBB !important;
    cursor: not-allowed;
    opacity: 1;
}

.pagination-disabled i,
.pagination-disabled span {
    color: #000 !important;
}

.pagination-link:not(.pagination-disabled) i,
.pagination-link:not(.pagination-disabled) span {
    color: #000;
}

.pagination-container {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.pagination-container ul {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pagination-container li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pagination-container li::marker {
    display: none;
    content: none;
}

.pagination-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    font: normal normal 500 14px/18px 'Instrument Sans';
    color: #7A7A7A;
    background-color: #D9D9D9;
    border-radius: 0.375rem;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    border: none;
}

.pagination-number:hover:not(.pagination-active) {
    background-color: #C4C4C4;
    color: #5E090C;
}

.pagination-active {
    background-color: #5E090C !important;
    color: #FFFFFF !important;
}

.pagination-ellipsis {
    color: #BBBBBB;
    padding: 0 0.25rem;
    font-size: 14px;
}

/* CakePHP Paginator default styles override */
.pagination-container a.pagination-link,
.pagination-container span.pagination-link {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    font: normal normal 700 16px/20px 'Instrument Sans';
    color: #000!;
}

.pagination-container a[rel=prev], .pagination-container a[rel=next] {
    font: normal normal bold 16px / 20px Instrument Sans;
    color: #5E090C;
    letter-spacing: 0px;
}

.pagination-container .pagination-numbers a,
.pagination-container .pagination-numbers span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    font: normal normal bold 16px/20px Montserrat;
    color: #797979;
    background-color: #D5D2CF;
    border-radius: 0.375rem;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    border: none;
}

.pagination-container .pagination-numbers .active a,
.pagination-container .pagination-numbers .active span {
    background-color: #5E090C;
    color: #FFFFFF;
}

.pagination-container .pagination-numbers a:hover {
    background-color: #C4C4C4;
    color: #5E090C;
}

.pagination-container .pagination-numbers .pagination-active {
    background-color: #5E090C !important;
    color: #FFFFFF !important;
}

/* CALENDAR FILTER POPUP */
.filter-container-relative {
    position: relative;
}

.calendar-filter-popup {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    z-index: 9999;
}

.calendar-popup-overlay {
    display: none;
}

.calendar-popup-content {
    position: relative;
    z-index: 2;
    background-color: #F0E9DF;
    border-radius: 0.75rem;
    box-shadow: 0px 3px 6px #5E090C7B;
    width: 370px;
    max-width: calc(100vw - 2rem);
    overflow: hidden;
}

@media (max-width: 768px) {
    .calendar-filter-popup {
        left: 50%;
        right: auto;
        transform: translateX(-50%);
    }
    
    .calendar-popup-content {
        width: 100%;
        max-width: calc(100vw - 2rem);
    }
}

.calendar-close-btn {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    background: transparent;
    border: none;
    color: #000000;
    font-size: 1.25rem;
    cursor: pointer;
    z-index: 3;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease;
}

.calendar-close-btn:hover {
    opacity: 0.7;
}

/* ==============================================
   Navigation Dropdown Menus
   ============================================== */

/* Desktop Navigation Dropdown Styles */
.nav-menu li.dropdown {
    position: relative;
}

.nav-menu li.dropdown > .dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-10px);
    background-color: #F0E9DF;
    border: none;
    border-radius: 0.75rem;
    padding: 0.5rem;
    min-width: 220px;
    box-shadow: 0px 8px 24px rgba(94, 9, 12, 0.2);
    z-index: 999999 !important;
    margin-top: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.nav-menu li.dropdown:hover > .dropdown-menu,
.nav-menu li.dropdown > .dropdown-menu:hover {
    display: block;
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}

.nav-menu .dropdown-menu > li {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.nav-menu .dropdown-menu > li + li {
    margin-top: 0.25rem;
}

.nav-menu .dropdown-menu > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.875rem 1.25rem;
    color: #5E090C;
    font: normal normal 600 14px/20px 'Instrument Sans';
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-decoration: none;
    transition: all 0.25s ease-in-out;
    border-radius: 0.5rem;
    position: relative;
}

.nav-menu .dropdown-menu > li:first-of-type > a {
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
}

.nav-menu .dropdown-menu > li:last-of-type > a {
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

.nav-menu .dropdown-menu > li > a:hover {
    background-color: #5E090C !important;
    color: #F0E9DF !important;
    transform: translateX(4px);
    padding-left: 1.5rem;
}

/* Arrow indicator for items with sub-menus */
.nav-menu .dropdown-menu > li.dropdown > a::after {
    content: '\f054';
    font-family: 'Font Awesome 6 Pro';
    font-weight: 900;
    font-size: 11px;
    transition: transform 0.25s ease;
    flex-shrink: 0;
}

.nav-menu .dropdown-menu > li.dropdown > a:hover::after {
    transform: translateX(3px);
}

/* Second Level Dropdown */
.nav-menu .dropdown-menu li.dropdown {
    position: relative;
}

.nav-menu .dropdown-menu li.dropdown > .dropdown-menu {
    display: none;
    position: absolute;
    top: -0.5rem;
    left: calc(100% + 0.5rem);
    margin: 0;
    padding: 0.5rem;
    z-index: 9999999 !important;
    background-color: #F0E9DF;
    border-radius: 0.75rem;
    box-shadow: 0px 8px 24px rgba(94, 9, 12, 0.25);
    min-width: 200px;
    opacity: 0;
    transform: translateX(-10px);
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

/* Flip second-level dropdown to left side for right-aligned nav items */
nav[class*="justify-end"] .nav-menu li.dropdown > .dropdown-menu li.dropdown > .dropdown-menu {
    left: auto;
    right: 100%;
    padding-right: 0.5rem;
    transform: translateX(10px);
}

nav[class*="justify-end"] .nav-menu li.dropdown > .dropdown-menu li.dropdown:hover > .dropdown-menu,
nav[class*="justify-end"] .nav-menu li.dropdown > .dropdown-menu li.dropdown > .dropdown-menu:hover {
    transform: translateX(0);
}

.nav-menu .dropdown-menu li.dropdown:hover > .dropdown-menu,
.nav-menu .dropdown-menu li.dropdown > .dropdown-menu:hover {
    display: block;
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
}

/* Second level dropdown items */
.nav-menu .dropdown-menu .dropdown-menu > li > a {
    padding: 0.75rem 1.25rem;
    font-size: 13px;
    line-height: 18px;
    text-transform: capitalize;
    letter-spacing: 0.3px;
}

.nav-menu .dropdown-menu .dropdown-menu > li > a:hover {
    transform: translateX(4px);
    padding-left: 1.5rem;
}

/* Reverse flex direction for ALL items in right-aligned menus for proper text alignment */
nav[class*="justify-end"] .nav-menu .dropdown-menu > li > a {
    flex-direction: row-reverse;
    justify-content: space-between;
}

/* Flip arrow direction for right-side submenus */
nav[class*="justify-end"] .nav-menu .dropdown-menu > li.dropdown > a::after {
    content: '\f053';
    flex-shrink: 0;
}

/* Mobile Menu Dropdown */
#mobile-menu {
    z-index: 999990 !important;
}

#mobile-menu li {
    list-style: none;
}

/* Top level menu items */
#mobile-menu > ul > li {
    border-bottom: 1px solid rgba(240, 233, 223, 0.15);
    padding: 0;
}

#mobile-menu > ul > li:last-child {
    border-bottom: none;
}

#mobile-menu li > a {
    color: #F0E9DF;
    font: normal normal 600 16px/24px 'Instrument Sans';
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: block;
    padding: 0.875rem 0;
    transition: color 0.3s ease-in-out;
}

#mobile-menu li > a:hover {
    color: #A6855C;
}

#mobile-menu li.dropdown > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* First level dropdown */
#mobile-menu .dropdown-menu {
    padding: 0;
    margin: 0;
    background-color: rgba(0, 0, 0, 0.25);
    border-left: 3px solid #A6855C;
    margin-top: 0;
    margin-bottom: 0;
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.4s ease-in-out, opacity 0.3s ease-in-out, margin 0.4s ease-in-out;
}

#mobile-menu li.dropdown.open > .dropdown-menu {
    max-height: 1000px;
    opacity: 1;
    margin-top: 0.5rem;
    margin-bottom: 0.75rem;
}

#mobile-menu .dropdown-menu > li {
    margin: 0;
    padding: 0;
}

#mobile-menu .dropdown-menu > li > a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0.75rem 1rem;
    color: #F0E9DF;
    font: normal normal 500 15px/22px 'Instrument Sans';
    text-transform: uppercase;
    letter-spacing: 0.3px;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    border-bottom: 1px solid rgba(240, 233, 223, 0.08);
}

#mobile-menu .dropdown-menu > li:last-child > a {
    border-bottom: none;
}

#mobile-menu .dropdown-menu > li > a:hover {
    color: #A6855C;
    background-color: rgba(166, 133, 92, 0.1);
    padding-left: 1.25rem;
}

/* Second level dropdown in mobile */
#mobile-menu .dropdown-menu li.dropdown > a {
    font-weight: 600;
    justify-content: space-between;
}

/* Arrow for dropdown items with submenus */
#mobile-menu .dropdown-menu li.dropdown > a::after {
    content: '\f078';
    font-family: 'Font Awesome 6 Pro';
    font-weight: 900;
    font-size: 11px;
    color: #A6855C;
    transition: transform 0.3s ease, color 0.3s ease;
    flex-shrink: 0;
    display: inline-block;
}

#mobile-menu .dropdown-menu li.dropdown.open > a::after {
    transform: rotate(180deg);
    color: #F0E9DF;
}

#mobile-menu .dropdown-menu li.dropdown > .dropdown-menu {
    background-color: rgba(0, 0, 0, 0.35);
    border-left: 2px solid rgba(166, 133, 92, 0.6);
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0.5rem;
}

#mobile-menu .dropdown-menu li.dropdown.open > .dropdown-menu {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

#mobile-menu .dropdown-menu .dropdown-menu > li > a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0.625rem 1rem;
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Second-level items with submenus */
#mobile-menu .dropdown-menu .dropdown-menu li.dropdown > a {
    justify-content: space-between;
    font-weight: 600;
}

/* Arrow for second-level dropdown items */
#mobile-menu .dropdown-menu .dropdown-menu li.dropdown > a::after {
    content: '\f078';
    font-family: 'Font Awesome 6 Pro';
    font-weight: 900;
    font-size: 10px;
    color: #A6855C;
    transition: transform 0.3s ease, color 0.3s ease;
    flex-shrink: 0;
    display: inline-block;
}

#mobile-menu .dropdown-menu .dropdown-menu li.dropdown.open > a::after {
    transform: rotate(180deg);
    color: #F0E9DF;
}

/* Dropdown toggle caret/arrow for top-level nav */
.nav-menu li.dropdown > a::after {
    content: '\f078';
    font-family: 'Font Awesome 6 Pro';
    font-weight: 900;
    display: inline-block;
    margin-left: 0.5rem;
    font-size: 11px;
    transition: transform 0.3s ease;
    vertical-align: middle;
}

#mobile-menu li.dropdown > a::after {
    content: '\f078';
    font-family: 'Font Awesome 6 Pro';
    font-weight: 900;
    display: inline-block;
    margin-left: auto;
    color: #A6855C;
    font-size: 13px;
    transition: transform 0.3s ease, color 0.3s ease;
    opacity: 0.9;
}

#mobile-menu li.dropdown > a:hover::after {
    color: #F0E9DF;
    opacity: 1;
}

/* Rotate caret on hover/open for top-level nav */
.nav-menu li.dropdown:hover > a::after {
    transform: rotate(180deg);
}

#mobile-menu li.dropdown.open > a::after {
    transform: rotate(180deg);
    color: #F0E9DF;
    opacity: 1;
}

/* Dropdown z-index rules handled above */

.calendar-popup-inner {
    padding: 2rem 2rem 2rem;
}

.calendar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.calendar-month-title {
    font: normal normal 600 16px/34px Instrument Sans;
    letter-spacing: 0px;
    color: #5E090C;
    text-transform: uppercase;    
    margin: 0;
}

.calendar-nav-btn {
    background: transparent;
    border: none;
    color: #5E090C;
    font-size: 1rem;
    cursor: pointer;
    padding: 0.25rem;
    transition: opacity 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.calendar-nav-btn:hover {
    opacity: 0.6;
}

.calendar-weekdays {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.calendar-weekday {
    text-align: center;
    font: normal normal 500 14px/34px Instrument Sans;
    letter-spacing: 0px;
    color: #120001;
}

.calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.5rem 0.75rem;
    margin-bottom: 1.5rem;
}

.calendar-day {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font: normal normal 500 15px/20px 'Instrument Sans';
    letter-spacing: 0px;
    color: #848484;
    background-color: transparent;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.calendar-day.empty {
    cursor: default;
}

.calendar-day:not(.empty):not([disabled]):not(.today):hover {
    background-color: rgba(94, 9, 12, 0.1);
}

.calendar-day.has-event {
    font-weight: 500;
}

.calendar-day.has-event {
    background-color: #5E090C;
    color: #FFFFFF !important;    
}

.calendar-day.today {
    background-color: #5E090C;
    color: #FFFFFF !important;
    font-weight: 600;
}

.calendar-day.today.has-event::after {
    background-color: #FFFFFF;
}

.calendar-day.past-date {
    opacity: 0.3;
    cursor: not-allowed !important;
}

.calendar-day[disabled] {
    opacity: 0.25;
    cursor: not-allowed !important;
}

.calendar-footer {
    padding: 0;
    border-top: none;
}

.calendar-legend {
    display: flex;
    align-items: center;
    justify-content: center;    
    font: normal normal 500 14px/34px Instrument Sans;
    letter-spacing: 0px;
    color: #FFFFFF;
    text-transform: uppercase;
    background-color: #5E090C;
    padding: 0.025rem 1rem;
    border-radius: 2rem;
    margin: 0;
    border: none;
    cursor: default;
}


/* Purchase Confirmation Page (pay2.ctp) */
.purchase-confirmation-content {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border-radius: 10px;
}

.purchase-confirmation-heading {
    font: normal normal normal 28px/28px Anton;
    letter-spacing: 0px;
    color: #5E090C;
    text-transform: uppercase;
}

.purchase-confirmation-text {
    font: normal normal 500 18px/26px Instrument Sans;
    letter-spacing: 1.8px;
    color: #5E090C;
}

.purchase-confirmation-link {
    text-decoration: underline;
    word-break: break-all;
    color: #5E090C;
}

.purchase-confirmation-button {
    font: normal normal 600 16px/28px Instrument Sans;
    letter-spacing: 1.6px;
    color: #5E090C;
    text-transform: uppercase;
    background: #F0E9DF 0% 0% no-repeat padding-box;
    border-radius: 2rem;
}

.purchase-confirmation-button:hover {
    background-color: #5E090C;
    color: #F0E9DF;
}

.purchase-confirmation-custom-message {
    font: normal normal 500 18px/32px 'Instrument Sans';
    letter-spacing: 0px;
    color: #5E090C;
}
