.homepage-slider > .swiper {
	height: 382px;
}

.homepage-slider .swiper-slide {
	width: 100%;
}

.homepage-slider .swiper-button-prev {
	left: auto;
	margin-inline-start: 0;
	right: 2rem;
	rotate: 90deg;
	top: 2rem;
}

.homepage-slider .swiper-button-next {
	bottom: 1rem;
	margin-inline-start: 0;
	right: 2rem;
	rotate: 90deg;
	top: auto;
}


@media only screen and (min-width: 900px) {

	iframe[name="opentable-make-reservation-widget"] {
	height: 200px !important;
}

 }

a {
    color: #c7ab00;
}

a:hover {
    color: #f8f3d9;
}

/* pop up */
.hustle-ui.hustle-popup .hustle-popup-mask { display: none !important; 
 }
.hustle-ui .hustle-optin {
    width: 100%;
    display:  !important;
}

/* checkout page */
.woocommerce form .form-row label.checkbox, .woocommerce-page form .form-row label.checkbox {
    display: inline;
    font-weight: bold;
}

/* Event page */
#tribe-events-pg-template {

    max-width: 100%;
    padding: var(--tec-spacer-8) var(--tec-spacer-4) var(--tec-spacer-4);
}
/* ----------------------------- */
/* GigPig Widget Styling Start */
/* ----------------------------- */

/* Ensure the iframe is visible */
#gigpig-whatson iframe {
    width: 100%;
    min-height: 1200px; /* adjust height if needed */
    border: none;
}

/* Event cards styling */
#gigpig-whatson .gp-event {
    background: #ffffff;
    border: 1px solid #e5e5e5;
    padding: 25px;
    margin-bottom: 30px;
    border-radius: 12px;
}

/* Event titles */
#gigpig-whatson .gp-event-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 10px;
}

/* Event dates */
#gigpig-whatson .gp-event-date {
    font-weight: 500;
    color: #c62828; /* change to your brand colour */
    margin-bottom: 10px;
}

/* Event links/buttons */
#gigpig-whatson .gp-event a {
    text-decoration: none;
    font-weight: 600;
    color: #c62828; /* change to your brand colour */
}

/* ----------------------------- */
/* GigPig Widget Styling End */
/* ----------------------------- */

/* 1. Target the main container that holds the image and description */
.tribe-events-single-event-description,
.tribe-common.tribe-events.tribe-events-view {
    display: flex !important;
    flex-direction: column !important;
}

/* 2. Move the image to the bottom */
.tribe-events-event-image {
    order: 2 !important; /* A high number pushes it to the bottom */
    margin-top: 40px !important;
    float: none !important; /* Stop it from floating right/left */
    text-align: center;
}

/* 3. Keep the text at the top */
.tribe-events-single-event-description {
    order: 1 !important;
}

/* Resize the event featured image container */
.tribe-events-event-image {
    max-width: 400px; /* Change 500px to your preferred size */
    margin: 0 auto 20px auto; /* Centers the image and adds space below */
    text-align: center;
}

/* Target your unique button class */
a.my-unique-button.elementor-button {
    padding: 8px 16px !important; /* First number is Top/Bottom, second is Left/Right */
    font-size: 12px !important;   /* Reduces the text size */
    min-height: 0 !important;      /* Removes any forced minimum height */
    line-height: 1 !important;    /* Tightens the text spacing */
}

/* Ensure the internal wrapper doesn't add extra space */
a.my-unique-button .elementor-button-content-wrapper {
    padding: 0 !important;
    margin: 0 !important;
}

@media (max-width: 768px) {
    h1 {
        /* 1. Shrink the font size so it fits horizontally */
        font-size: 35px !important; 
        
        /* 2. Force the text to stay inside the box */
        max-width: 100% !important;
        box-sizing: border-box !important;
        
        /* 3. Wrap long words that are too wide for the screen */
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
        
        /* 4. Ensure no negative margins are pulling it off-screen */
        margin-left: 0 !important;
        margin-right: 0 !important;
        
        /* 5. Add a tiny buffer so text doesn't touch the glass */
        padding-left: 15px !important;
        padding-right: 15px !important;
        
        line-height: 1.2 !important;
    }
}

/* Target the specific menu item with the class 'menu-btn' */
.menu-btn a {
    background-color: #D9A4AB !important; /* Your specific Green */
    color: #201D19 !important;           /* Your specific Cream */
    padding: 10px 22px !important;       
    border-radius: 8px !important;       
    display: inline-flex !important;     /* Changed from flex to inline-flex */
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    
    /* Fix for vertical alignment */
    transform: translateY(-2px);         /* Manually nudge up if it sits low */
    height: auto !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

/* Hover effect */
.menu-btn a:hover {
    background-color: #2E2A27 !important; /* Changes to black */
    color: #E5DFC9 !important;           /* Keeps text cream */
    transform: translateY(-3px);         /* Slight lift on hover */
}

/* Force Elementor to stop adding its own underline/indicator */
.menu-btn a::before, 
.menu-btn a::after,
.menu-btn .elementor-item:after {
    display: none !important; 
    content: none !important;
}

/* Remove any list item padding that might be pushing it down */
li.menu-btn {
    display: flex !important;
    align-items: center !important;
}

.my-unique-button:hover .elementor-button-text {
  color: #d9a4ab !important;
}

@media (max-width: 767px) {
    /* Removes the plugin's default top gap */
    #tribe-events-pg-template, 
    .tribe-events-after-html, 
    #tribe-events-content {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}

@media (max-width: 768px) {
    h2 {
        /* 1. Shrink the font size so it fits horizontally */
        font-size: 24px !important; 
        
        /* 2. Force the text to stay inside the box */
        max-width: 100% !important;
        box-sizing: border-box !important;
        
        /* 3. Wrap long words that are too wide for the screen */
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
        
        /* 4. Ensure no negative margins are pulling it off-screen */
        margin-left: 0 !important;
        margin-right: 0 !important;
        
        /* 5. Add a tiny buffer so text doesn't touch the glass */
        padding-left: 15px !important;
        padding-right: 15px !important;
        
        line-height: 1.2 !important;
    }
}

/* This forces the OpenTable iframe to be tall enough for the calendar */
iframe#ot-reservation-widget, 
iframe[src*="opentable"] {
    height: 350px !important;
    max-height: 350px !important;
    overflow: visible !important;
}

@media (max-width: 767px) {
    /* 1. Target the container holding the script */
    .elementor-widget-html {
        width: 100% !important;
        overflow: visible !important;
        display: flex !important;
        justify-content: center !important;
    }

    /* 2. Force the iframe to behave */
    iframe[src*="opentable"] {
        width: 100% !important;
        min-width: 100% !important;
        height: 350px !important;
        margin: 0 auto !important;
        /* This prevents the widget from being 'wider' than the phone */
        max-width: 100vw !important; 
    }
}

/* DESKTOP FIX (Keep this for your 900px centering) */
@media (min-width: 768px) {
    iframe[src*="opentable"] {
        height: 350px !important;
        width: 100% !important;
        max-width: 900px !important;
        display: block !important;
        margin: 0 auto !important;
    }
}