/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


/* ==========================================================================
   GLOBAL
   ========================================================================== */

html {
    overflow-x: hidden;
}

body {
    overflow-x: clip;
}


/* ==========================================================================
   NAVIGATION MENU
   ========================================================================== */

/* Language switcher — left border via pseudo element (no effect on item) */
li.wpml-ls-slot-3.wpml-ls-first-item {
    position: relative !important;
}

li.wpml-ls-slot-3.wpml-ls-first-item::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 10px !important;
    bottom: 10px !important;
    width: 2px !important;
    background-color: #603813a5 !important;
}


/* ==========================================================================
   EVENTS SECTION — HOME PAGE (shortcode a9240f4c only)
   ========================================================================== */

/* Card hover — dark overlay on hover */
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-featured-image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 40px 40px 8px 0;
    margin-bottom: 0 !important;
}

.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-featured-image-wrapper::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    transition: background 0.5s ease;
    pointer-events: none;
}

.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event:hover .tribe-events-pro-photo__event-featured-image-wrapper::after {
    background: rgba(0, 0, 0, 0.25);
}

/* Card hover — disable plugin default effect + image zoom */
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-featured-image {
    transition: transform 0.5s ease;
}

.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event:hover .tribe-events-pro-photo__event-featured-image-link,
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event:hover .tribe-events-pro-photo__event-featured-image-wrapper,
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event:hover article {
    filter: none !important;
    opacity: 1 !important;
    transform: none !important;
    box-shadow: none !important;
}

.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event:hover .tribe-events-pro-photo__event-featured-image {
    filter: none !important;
    opacity: 1 !important;
    box-shadow: none !important;
    transform: scale(1.1) !important;
}

/* Date tag — background */
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-date-tag {
    background-color: #603813;
    padding: 10px;
    width: 80px !important;
    border-radius: 0 0 8px 8px;
    margin-right: 15px !important;
}

/* Date tag — text */
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-date-tag-month,
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-date-tag-daynum,
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-date-tag-day {
    color: #ffffff !important;
    font-family: 'Marcellus SC', serif !important;
    font-weight: 400 !important;
    display: block;
}

.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-date-tag-month {
    font-size: 16px !important;
    letter-spacing: 1px !important;
}

.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-date-tag-daynum {
    font-size: 30px !important;
}

.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-date-tag-day {
    font-size: 16px !important;
    letter-spacing: 1px !important;
    margin-top: -5px !important;
}

/* Card title — font */
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-title-link {
    font-family: 'Marcellus SC', serif !important;
    font-size: 25px !important;
    font-weight: 400 !important;
    color: #603813 !important;
    letter-spacing: 0px !important;
    line-height: 20px !important;
    
}

/* Card time — font */
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-datetime {
    font-family: 'Manrope', sans-serif !important;
    font-size: 21px !important;
    font-weight: 300 !important;
    color: #111111 !important;
    letter-spacing: 0px !important;
    margin-top: 5px !important;
    text-transform: uppercase !important;
}

/* Card title — remove underline on hover */
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-title-link,
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event:hover .tribe-events-pro-photo__event-title-link,
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-title:hover .tribe-events-pro-photo__event-title-link {
    text-decoration: none !important;
    background-image: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

/* Card details — time bellow title */
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-details {
    display: flex;
    flex-direction: column;
    margin-top: 15px !important;
    
}

.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-title {
    order: 1 !important;
}

.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-datetime {
    order: 2 !important;
}

/* Hide "Free" cost badge + series archive link */
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event-cost,
.tribe-events-view--shortcode-a9240f4c .tribe-events-calendar-series-archive__container {
    display: none !important;
}

/* Hide the header bar (search, view switcher, datepicker) */
.tribe-events-view--shortcode-a9240f4c .tribe-events-header {
    display: none !important;
}

/* Remove residual bottom spacing below the photo grid */
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo,
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo .tribe-common-g-row {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Hide prev/next/today nav and subscribe to calendar dropdown */
.tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo-nav,
.tribe-events-view--shortcode-a9240f4c .tribe-events-c-subscribe-dropdown__container {
    display: none !important;
}

/* Remove top and bottom spacing of the events module */
.tribe-events-view--shortcode-a9240f4c.tribe-common {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.tribe-events-view--shortcode-a9240f4c .tribe-events-l-container,
.tribe-common--breakpoint-medium.tribe-events-view--shortcode-a9240f4c .tribe-events-l-container {
    padding: 0 !important;
    min-height: 0 !important;
}

/* 1-column layout on tablet and mobile + bigger card gap */
@media (max-width: 1024px) {
    .tribe-events-view--shortcode-a9240f4c {
        --tec-grid-width-1-of-3: 100%;
        --tec-grid-width-1-of-2: 100%;
    }
    .tribe-events-view--shortcode-a9240f4c .tribe-events-pro-photo__event {
        width: 100% !important;
        margin-bottom: 40px !important;
    }
}


/* ==========================================================================
   EVENTS SECTION — EVENTS PAGE (shortcode e89a5463 only)
   ========================================================================== */

/* Card hover — dark overlay on hover */
.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-featured-image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 40px 40px 8px 0;
    margin-bottom: 0 !important;
}

.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-featured-image-wrapper::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    transition: background 0.5s ease;
    pointer-events: none;
}

.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event:hover .tribe-events-pro-photo__event-featured-image-wrapper::after {
    background: rgba(0, 0, 0, 0.25);
}

/* Card hover — disable plugin default effect + image zoom */
.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-featured-image {
    transition: transform 0.5s ease;
}

.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event:hover .tribe-events-pro-photo__event-featured-image-link,
.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event:hover .tribe-events-pro-photo__event-featured-image-wrapper,
.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event:hover article {
    filter: none !important;
    opacity: 1 !important;
    transform: none !important;
    box-shadow: none !important;
}

.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event:hover .tribe-events-pro-photo__event-featured-image {
    filter: none !important;
    opacity: 1 !important;
    box-shadow: none !important;
    transform: scale(1.1) !important;
}

/* Date tag — background */
.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-date-tag {
    background-color: #603813;
    padding: 10px;
    width: 80px !important;
    border-radius: 0 0 8px 8px;
    margin-right: 15px !important;
}

/* Date tag — text */
.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-date-tag-month,
.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-date-tag-daynum,
.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-date-tag-day {
    color: #ffffff !important;
    font-family: 'Marcellus SC', serif !important;
    font-weight: 400 !important;
    display: block;
}

.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-date-tag-month {
    font-size: 16px !important;
    letter-spacing: 1px !important;
}

.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-date-tag-daynum {
    font-size: 30px !important;
}

.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-date-tag-day {
    font-size: 16px !important;
    letter-spacing: 1px !important;
    margin-top: -5px !important;
}

/* Card title — font */
.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-title-link {
    font-family: 'Marcellus SC', serif !important;
    font-size: 25px !important;
    font-weight: 400 !important;
    color: #603813 !important;
    letter-spacing: 0px !important;
    line-height: 20px !important;
}

/* Card time — font */
.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-datetime {
    font-family: 'Manrope', sans-serif !important;
    font-size: 21px !important;
    font-weight: 300 !important;
    color: #111111 !important;
    letter-spacing: 0px !important;
    margin-top: 5px !important;
    text-transform: uppercase !important;
}

/* Card title — remove underline on hover */
.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-title-link,
.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event:hover .tribe-events-pro-photo__event-title-link,
.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-title:hover .tribe-events-pro-photo__event-title-link {
    text-decoration: none !important;
    background-image: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}

/* Card details — time below title */
.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-details {
    display: flex;
    flex-direction: column;
    margin-top: 15px !important;
}

.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-title {
    order: 1 !important;
}

.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-datetime {
    order: 2 !important;
}

/* Hide "Free" cost badge + series archive link */
.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event-cost,
.tribe-events-view--shortcode-e89a5463 .tribe-events-calendar-series-archive__container {
    display: none !important;
}

/* Hide the header bar (search, view switcher, datepicker) */
.tribe-events-view--shortcode-e89a5463 .tribe-events-header {
    display: none !important;
}

/* Hide prev/next/today nav and subscribe to calendar dropdown */
.tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo-nav,
.tribe-events-view--shortcode-e89a5463 .tribe-events-c-subscribe-dropdown__container {
    display: none !important;
}

/* Remove top and bottom spacing of the events module */
.tribe-events-view--shortcode-e89a5463.tribe-common {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.tribe-events-view--shortcode-e89a5463 .tribe-events-l-container,
.tribe-common--breakpoint-medium.tribe-events-view--shortcode-e89a5463 .tribe-events-l-container {
    padding: 0 !important;
    min-height: 0 !important;
}

/* 1-column layout on tablet and mobile + bigger card gap */
@media (max-width: 1024px) {
    .tribe-events-view--shortcode-e89a5463 {
        --tec-grid-width-1-of-3: 100%;
        --tec-grid-width-1-of-2: 100%;
    }
    .tribe-events-view--shortcode-e89a5463 .tribe-events-pro-photo__event {
        width: 100% !important;
        margin-bottom: 40px !important;
    }
}


/* ==========================================================================
   SINGLE EVENT PAGE
   ========================================================================== */

.single-tribe_events {
    position: relative;
}

/* Hide content until JS restructuring is complete — prevents image flash */
.single-tribe_events .tribe-events-single {
    visibility: hidden;
}

.single-tribe_events.cws-layout-ready .tribe-events-single {
    visibility: visible;
}

.single-tribe_events::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('https://cws12.crazywebstudios.com/wp-content/uploads/2026/04/tann-beach-club-bg-texture.webp');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    opacity: 0.5;
    z-index: -1;
    pointer-events: none;
}

.single-tribe_events #tribe-events-pg-template {
    padding-top: 140px;
    padding-bottom: 40px;
}

/* Two-column layout — structure injected by custom.js */
.single-tribe_events .cws-single-event-first-row {
    display: flex;
    gap: 40px;
    align-items: flex-start;
}

.single-tribe_events .cws-single-event-first-col {
    flex: 0 0 48%;
}

.single-tribe_events .cws-single-event-first-col img {
    border-radius: 40px 40px 40px 40px;
    display: block;
    width: 100%;
}

.single-tribe_events .cws-single-event-second-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* Event title */
.single-tribe_events .tribe-events-single-event-title {
    font-family: 'Marcellus SC', serif;
    font-size: 40px;
    font-weight: 400;
    color: #603813;
    letter-spacing: 1px;
    line-height: 1.2;
    margin-bottom: 0px;
     text-transform: uppercase;
}

/* Date / time */
.single-tribe_events .tribe-events-schedule {
    font-family: 'Manrope', sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: #111111;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 15px;
}

.single-tribe_events .tribe-events-schedule h2 {
    font-family: 'Manrope', sans-serif;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 1px;
}

/* Description */
.single-tribe_events .tribe-events-single-event-description {
    font-family: 'Manrope', sans-serif;
    font-size: 18px;
    font-weight: 300;
    line-height: 1.7;
    letter-spacing: 0.5px;
    color: var(--e-global-color-text);
}

/* Prev / next nav links */
.single-tribe_events .tribe-events-sub-nav a {
    font-family: 'Manrope', sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #603813;
    text-decoration: none;
}

/* Book Now button */
.single-tribe_events .cws-single-event-book {
    margin-top: 20px;
}

.single-tribe_events .cws-book-now-btn {
    display: inline-block;
    background-color: #603813;
    font-family: 'Marcellus SC', sans-serif;
    font-size: 18px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #ffffff !important;
    text-decoration: none !important;
    border: 2px solid #603813;
    border-radius: 8px 8px 80px 80px;
    padding: 15px 50px 15px 50px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.single-tribe_events .cws-book-now-btn:hover {
    background-color: transparent;
    color: #603813 !important;
}

/* Hide meta section (details, venue, organizer) */
.single-tribe_events .tribe-events-single-section {
    display: none !important;
}

/* Hide "« All Events" back link */
.single-tribe_events .tribe-events-back {
    display: none !important;
}

/* Hide "Add to calendar" dropdown */
.single-tribe_events .tribe-events-c-subscribe-dropdown__container {
    display: none !important;
}

/* Remove top border and padding on event footer nav */
.single-tribe_events #tribe-events-footer {
    border-top: none !important;
    padding: 0 !important;
}

.single-tribe_events .tribe-events-nav-pagination {
    border-top: none !important;
}

.single-tribe_events .tribe-events-sub-nav {
    border-top: none !important;
}

/* Prev / next nav links */
.single-tribe_events .tribe-events-sub-nav a {
    font-family: 'Manrope', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #603813 !important;
    text-decoration: none !important;
    transition: color 0.3s ease;
}

.single-tribe_events .tribe-events-sub-nav a:hover {
    color: #111111 !important;
}


/* ==========================================================================
   GRAVITY FORMS
   ========================================================================== */

/* Form wrapper — background and rounded corners */
.gform_wrapper {
    background-color: #EEDCC0 !important;
    border-radius: 40px !important;
    padding: 40px !important;
}

/* Hide form title */
.gform_wrapper .gform_title {
    display: none !important;
}

/* Field labels */
.gform_wrapper .gfield_label {
    font-family: 'Manrope', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
}

/* Required label asterisk */
.gform_wrapper .gfield_required {
    color: #603813 !important;
}

/* Input fields, textareas, selects */
.gform_wrapper input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.gform_wrapper textarea,
.gform_wrapper select {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 300 !important;
    letter-spacing: 0.5px !important;
    margin-bottom: -20px !important;
    border: none !important;
    border-radius: 8px !important;
    transition: none !important;
}

/* Placeholder text */
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 300 !important;
}

/* Remove focus outline/border */
.gform_wrapper input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
    outline: none !important;
    box-shadow: none !important;
    border: none !important;
}

/* Checkbox and radio labels */
.gform_wrapper .gfield_checkbox label,
.gform_wrapper .gfield_radio label {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 300 !important;
    letter-spacing: 0.5px !important;
}

/* Checkbox — remove border, rounded corners, brown accent */
.gform_wrapper .gfield_checkbox input[type="checkbox"],
.gform_wrapper input[type="checkbox"] {
    border: none !important;
    border-radius: 8px !important;
    outline: none !important;
    box-shadow: none !important;
    accent-color: #603813 !important;
    --gf-ctrl-choice-check-color: #603813 !important;
}

/* Field description / sublabel */
.gform_wrapper .gfield_description,
.gform_wrapper .gform_sublabel {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 300 !important;
    letter-spacing: 0.5px !important;
}

/* Validation messages */
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
    font-family: 'Manrope', sans-serif !important;
    font-weight: 300 !important;
}

/* Submit button — match site button style */
.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
    display: flex !important;
    justify-content: center !important;
}

.gform_wrapper input[type="submit"],
.gform_wrapper button[type="submit"] {
    display: inline-block !important;
    background-color: #603813 !important;
    font-family: 'Marcellus SC', serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #ffffff !important;
    border: 2px solid #603813 !important;
    border-radius: 8px 8px 80px 80px !important;
    padding: 15px 100px !important;
    transition: background-color 0.3s ease, color 0.3s ease !important;
    cursor: pointer !important;
    margin-top: 10px !important;
}

.gform_wrapper input[type="submit"]:hover,
.gform_wrapper button[type="submit"]:hover {
    background-color: transparent !important;
    color: #603813 !important;
}


/* ==========================================================================
   HOTSPOT BUTTON — soft edge fade (adjust opacity per hotspot)
   ========================================================================== */

/* All hotspots — brighter white on hover and active */
.e-hotspot:hover .e-hotspot__button,
.e-hotspot--active .e-hotspot__button {
    background-color: rgba(255, 255, 255, 0.65) !important;
    opacity: 1 !important;
}

/* Hotspot 1 */
.elementor-repeater-item-688ff0e .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 75%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 75%, rgba(255,255,255,0) 100%);
}

/* Hotspot 1.1 */
.elementor-repeater-item-b04c476 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 85%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 85%, rgba(255,255,255,0) 100%);
}

/* Hotspot 1.2 */
.elementor-repeater-item-bc7d764 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 85%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 85%, rgba(255,255,255,0) 100%);
}

/* Hotspot 2 */
.elementor-repeater-item-451f6e8 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 85%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 85%, rgba(255,255,255,0) 100%);
}

/* Hotspot 2.1 */
.elementor-repeater-item-f6ae9b9 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 85%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 85%, rgba(255,255,255,0) 100%);
}

/* Hotspot 2.2 */
.elementor-repeater-item-525b47b .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 3 */
.elementor-repeater-item-dcd734a .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 75%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 75%, rgba(255,255,255,0) 100%);
}

/* Hotspot 4 */
.elementor-repeater-item-43fe4fe .e-hotspot__button {
    transform: rotate(0deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 25%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 25%, rgba(255,255,255,0) 100%);
}

/* Hotspot 4.1 */
.elementor-repeater-item-5e9052e .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 4.2 */
.elementor-repeater-item-bf82ee7 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 4.3 */
.elementor-repeater-item-88d5e2a .e-hotspot__button {
    transform: rotate(15deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 4.4 */
.elementor-repeater-item-a909e3c .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 4.5 */
.elementor-repeater-item-63fd53c .e-hotspot__button {
    transform: rotate(-15deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 5 */
.elementor-repeater-item-5428a76 .e-hotspot__button {
    transform: rotate(0deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 35%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 35%, rgba(255,255,255,0) 100%);
}

/* Hotspot 6 */
.elementor-repeater-item-817525e .e-hotspot__button {
    transform: rotate(-12.5deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 7 */
.elementor-repeater-item-b849ca0 .e-hotspot__button {
    transform: rotate(50deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 8 */
.elementor-repeater-item-91c49f2 .e-hotspot__button {
    transform: rotate(-42.5deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 45%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 45%, rgba(255,255,255,0) 100%);
}

/* Hotspot 9 */
.elementor-repeater-item-b60ee48 .e-hotspot__button {
    transform: rotate(-62.5deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 10 */
.elementor-repeater-item-b6eaa93 .e-hotspot__button {
    transform: rotate(58deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 11 */
.elementor-repeater-item-b923e41 .e-hotspot__button {
    transform: rotate(0deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 25%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 25%, rgba(255,255,255,0) 100%);
}

/* Hotspot 12 */
.elementor-repeater-item-1e55964 .e-hotspot__button {
    transform: rotate(22.5deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 13 */
.elementor-repeater-item-3c8094c .e-hotspot__button {
    transform: rotate(5deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 25%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 25%, rgba(255,255,255,0) 100%);
}

/* Hotspot 13 (new) */
.elementor-repeater-item-da9cd02 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 13.1 */
.elementor-repeater-item-9972ff1 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 65%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 65%, rgba(255,255,255,0) 100%);
}


/* ==========================================================================
   HOTSPOT TOOLTIP — BOOK NOW LINK
   ========================================================================== */

.e-hotspot__tooltip a {
    display: inline-block !important;
    background-color: #603813 !important;
    font-family: 'Marcellus SC', serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #ffffff !important;
    text-decoration: none !important;
    border: 2px solid #603813 !important;
    border-radius: 8px 8px 80px 80px !important;
    padding: 12px 60px !important;
    transition: background-color 0.3s ease, color 0.3s ease !important;
    margin-top: 0px !important;
}

.e-hotspot__tooltip a:hover {
    background-color: transparent !important;
    color: #603813 !important;
}

/* Tooltip bold string — secondary font */
.e-hotspot__tooltip strong {
    font-family: 'Manrope', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #111111 !important;
}


/* ==========================================================================
   IMAGE — HOTSPOT SECTION DESKTOP (cws-hotspot-desktop)
   ========================================================================== */

.cws-hotspot-desktop .elementor-widget-container > img {
    border-radius: 40px !important;
}

/* ==========================================================================
   IMAGE — HOTSPOT SECTION MOBILE (cws-hotspot-mobile)
   ========================================================================== */

.cws-hotspot-mobile {
    --background-align: center !important;
}

.cws-hotspot-mobile .elementor-widget-container > img {
    border-radius: 40px !important;
}

/* ==========================================================================
   HOTSPOT BUTTON MOBILE — soft edge fade (adjust opacity per hotspot)
   ========================================================================== */

/* Hotspot 1 */
.elementor-repeater-item-74b6251 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 65%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 65%, rgba(255,255,255,0) 100%);
}

/* Hotspot 1.1 */
.elementor-repeater-item-b7ff418 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 75%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 75%, rgba(255,255,255,0) 100%);
}

/* Hotspot 2 */
.elementor-repeater-item-acfcbeb .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 85%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 85%, rgba(255,255,255,0) 100%);
}

/* Hotspot 2.1 */
.elementor-repeater-item-01f4b04 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 3 */
.elementor-repeater-item-60ca9be .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 35%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 35%, rgba(255,255,255,0) 100%);
}

/* Hotspot 4 */
.elementor-repeater-item-6588b18 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 35%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 35%, rgba(255,255,255,0) 100%);
}

/* Hotspot 5 */
.elementor-repeater-item-3ec41c3 .e-hotspot__button {
    transform: rotate(-33deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 60%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 60%, rgba(255,255,255,0) 100%);
}

/* Hotspot 6 */
.elementor-repeater-item-81ab24b .e-hotspot__button {
    transform: rotate(28deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 75%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 75%, rgba(255,255,255,0) 100%);
}

/* Hotspot 7 */
.elementor-repeater-item-f847510 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 85%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 85%, rgba(255,255,255,0) 100%);
}

/* Hotspot 7.1 */
.elementor-repeater-item-77b1cf5 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 7.2 */
.elementor-repeater-item-fc65338 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 8 */
.elementor-repeater-item-4d28cec .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 75%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 75%, rgba(255,255,255,0) 100%);
}

/* Hotspot 9 */
.elementor-repeater-item-58dfb49 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 65%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 65%, rgba(255,255,255,0) 100%);
}

/* Hotspot 10 */
.elementor-repeater-item-80a3462 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 11 */
.elementor-repeater-item-2e737af .e-hotspot__button {
    transform: rotate(-40deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 60%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 60%, rgba(255,255,255,0) 100%);
}

/* Hotspot 12 */
.elementor-repeater-item-b907a95 .e-hotspot__button {
    transform: rotate(50deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 60%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 60%, rgba(255,255,255,0) 100%);
}

/* Hotspot 13 */
.elementor-repeater-item-5a1bdcc .e-hotspot__button {
    transform: rotate(-10deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 60%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 60%, rgba(255,255,255,0) 100%);
}

/* Hotspot 14 */
.elementor-repeater-item-87eb5b8 .e-hotspot__button {
    transform: rotate(22.5deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 60%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 60%, rgba(255,255,255,0) 100%);
}

/* Hotspot 15 */
.elementor-repeater-item-d288002 .e-hotspot__button {
    transform: rotate(0deg) !important;
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}

/* Hotspot 16 */
.elementor-repeater-item-695d893 .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 65%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 65%, rgba(255,255,255,0) 100%);
}

/* Hotspot 17 */
.elementor-repeater-item-457e3fc .e-hotspot__button {
    -webkit-mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
    mask-image: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%);
}


/* ==========================================================================
   WP GRID BUILDER — CARDS
   ========================================================================== */

/* Book Table Now button — force center */
.wpgb-block-3 {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Tablet & mobile — single column, image first, content centered */
@media (max-width: 1024px) {
    .wpgb-card-wrapper,
    .wp-grid-builder .wpgb-card-inner {
        flex-direction: column !important;
    }
    .wpgb-card-media {
        order: 0 !important;
        width: 100% !important;
        max-width: 800px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-right: 0 !important;
        margin-bottom: 20px !important;
    }
    .wpgb-card-inner {
        gap: 0 !important;
    }
    .wpgb-card-content {
        order: 1 !important;
        width: 100% !important;
        text-align: center !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
    }
    .wpgb-card-body {
        padding-left: 0 !important;
        margin-left: 0 !important;
        padding-bottom: 20px !important;
    }
    .wpgb-block-1,
    .wpgb-block-2 {
        text-align: center !important;
    }
    .wpgb-block-1 {
        font-size: 40px !important;
    }
}

@media (max-width: 600px) {
    .wpgb-block-1 {
        font-size: 30px !important;
    }
    .wpgb-block-2 {
        font-size: 16px !important;
        line-height: 24px !important;
    }
}

/* Chaty */
.chaty-channel .chaty-tooltip:after {
  display: block !important;
  opacity: 1.0 !important;
}