.elementor-kit-5{--e-global-color-primary:#094151;--e-global-color-secondary:#094151;--e-global-color-text:#094151;--e-global-color-accent:#79D9B3;--e-global-color-a4f28cf:#FFFFFF;--e-global-color-ab66bc1:#062932;--e-global-color-67c5619:#094151;--e-global-color-b7477bd:#087898;--e-global-color-78afbe6:#FFD56A;--e-global-color-39bd979:#79D9B3;--e-global-color-5b143eb:#F3F3F3;--e-global-color-e075a77:#999999;--e-global-color-39c6a79:#666666;--e-global-typography-primary-font-family:"Instrument Serif";--e-global-typography-primary-font-size:96px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:0.95em;--e-global-typography-primary-letter-spacing:1px;--e-global-typography-secondary-font-family:"Instrument Serif";--e-global-typography-secondary-font-size:44px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1em;--e-global-typography-secondary-letter-spacing:-0.5px;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.4em;--e-global-typography-text-letter-spacing:1px;--e-global-typography-accent-font-family:"DM Sans";--e-global-typography-accent-font-size:10px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0.5px;--e-global-typography-f952b1a-font-family:"DM Sans";--e-global-typography-f952b1a-font-size:32px;--e-global-typography-f952b1a-font-weight:500;--e-global-typography-f952b1a-line-height:1.5em;--e-global-typography-f952b1a-letter-spacing:0.4px;--e-global-typography-e7f44c4-font-family:"DM Sans";--e-global-typography-e7f44c4-font-size:16px;--e-global-typography-e7f44c4-font-weight:600;--e-global-typography-e7f44c4-line-height:1.5em;--e-global-typography-5efd9c9-font-family:"rollerscript-smooth";--e-global-typography-5efd9c9-font-size:24px;--e-global-typography-5efd9c9-line-height:1.4em;--e-global-typography-fe59225-font-family:"DM Sans";--e-global-typography-fe59225-font-size:10px;--e-global-typography-fe59225-font-weight:700;--e-global-typography-fe59225-text-transform:uppercase;--e-global-typography-fe59225-line-height:1.5em;--e-global-typography-fe59225-letter-spacing:0.5px;--e-global-typography-834fc39-font-family:"DM Sans";--e-global-typography-834fc39-font-size:12px;--e-global-typography-834fc39-line-height:1.3em;--e-global-typography-834fc39-letter-spacing:0.6px;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );color:var( --e-global-color-primary );border-radius:0px 0px 0px 0px;padding:8px 12px 8px 12px;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 p{margin-block-end:24px;}.elementor-kit-5 a{color:var( --e-global-color-accent );}.elementor-kit-5 h1{color:var( --e-global-color-primary );}.elementor-kit-5 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-5 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-f952b1a-font-family ), Sans-serif;font-size:var( --e-global-typography-f952b1a-font-size );font-weight:var( --e-global-typography-f952b1a-font-weight );line-height:var( --e-global-typography-f952b1a-line-height );letter-spacing:var( --e-global-typography-f952b1a-letter-spacing );}.elementor-kit-5 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-e7f44c4-font-family ), Sans-serif;font-size:var( --e-global-typography-e7f44c4-font-size );font-weight:var( --e-global-typography-e7f44c4-font-weight );line-height:var( --e-global-typography-e7f44c4-line-height );}.elementor-kit-5 h5{color:var( --e-global-color-accent );font-family:var( --e-global-typography-5efd9c9-font-family ), Sans-serif;font-size:var( --e-global-typography-5efd9c9-font-size );line-height:var( --e-global-typography-5efd9c9-line-height );}.elementor-kit-5 h6{color:var( --e-global-color-primary );font-family:var( --e-global-typography-fe59225-font-family ), Sans-serif;font-size:var( --e-global-typography-fe59225-font-size );font-weight:var( --e-global-typography-fe59225-font-weight );text-transform:var( --e-global-typography-fe59225-text-transform );line-height:var( --e-global-typography-fe59225-line-height );letter-spacing:var( --e-global-typography-fe59225-letter-spacing );}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );color:var( --e-global-color-a4f28cf );background-color:#FFFFFF21;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-e075a77 );border-radius:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1592px;}.e-con{--container-max-width:1592px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:24px;}.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1592px){.elementor-kit-5{--e-global-typography-primary-font-size:80px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-5 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-5 h3{font-size:var( --e-global-typography-f952b1a-font-size );line-height:var( --e-global-typography-f952b1a-line-height );letter-spacing:var( --e-global-typography-f952b1a-letter-spacing );}.elementor-kit-5 h4{font-size:var( --e-global-typography-e7f44c4-font-size );line-height:var( --e-global-typography-e7f44c4-line-height );}.elementor-kit-5 h5{font-size:var( --e-global-typography-5efd9c9-font-size );line-height:var( --e-global-typography-5efd9c9-line-height );}.elementor-kit-5 h6{font-size:var( --e-global-typography-fe59225-font-size );line-height:var( --e-global-typography-fe59225-line-height );letter-spacing:var( --e-global-typography-fe59225-letter-spacing );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}}@media(max-width:1200px){.elementor-kit-5{--e-global-typography-primary-font-size:72px;--e-global-typography-text-font-size:14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}}@media(max-width:1024px){.elementor-kit-5{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-5 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-5 h3{font-size:var( --e-global-typography-f952b1a-font-size );line-height:var( --e-global-typography-f952b1a-line-height );letter-spacing:var( --e-global-typography-f952b1a-letter-spacing );}.elementor-kit-5 h4{font-size:var( --e-global-typography-e7f44c4-font-size );line-height:var( --e-global-typography-e7f44c4-line-height );}.elementor-kit-5 h5{font-size:var( --e-global-typography-5efd9c9-font-size );line-height:var( --e-global-typography-5efd9c9-line-height );}.elementor-kit-5 h6{font-size:var( --e-global-typography-fe59225-font-size );line-height:var( --e-global-typography-fe59225-line-height );letter-spacing:var( --e-global-typography-fe59225-letter-spacing );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-primary-font-size:48px;--e-global-typography-text-font-size:14px;--e-global-typography-f952b1a-font-size:32px;--e-global-typography-f952b1a-line-height:1.2em;--e-global-typography-f952b1a-letter-spacing:0.3px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-5 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-5 h3{font-size:var( --e-global-typography-f952b1a-font-size );line-height:var( --e-global-typography-f952b1a-line-height );letter-spacing:var( --e-global-typography-f952b1a-letter-spacing );}.elementor-kit-5 h4{font-size:var( --e-global-typography-e7f44c4-font-size );line-height:var( --e-global-typography-e7f44c4-line-height );}.elementor-kit-5 h5{font-size:var( --e-global-typography-5efd9c9-font-size );line-height:var( --e-global-typography-5efd9c9-line-height );}.elementor-kit-5 h6{font-size:var( --e-global-typography-fe59225-font-size );line-height:var( --e-global-typography-fe59225-line-height );letter-spacing:var( --e-global-typography-fe59225-letter-spacing );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.elementor-element.liga .elementor-heading-title {
  font-feature-settings: "liga" 1, "calt" 1, "ss01" 1;
}

ul {
    margin-bottom: 24px;
}

.wp-block-separator {
    border-top: 1px solid #999999;
    margin: 32px 0 !important;
}



/**
 * Guesty Booking Bridge — Brand & Design CSS
 * Elementor → Site Settings → Custom CSS
 *
 * DESIGN STYLES ONLY — colors, fonts, spacing, borders, animations.
 * References Elementor global design tokens where possible.
 * Structural layout lives in the plugin (assets/css/gbb-frontend.css).
 *
 * To update brand colors: change them in Elementor → Site Settings → Global Colors.
 * GBB components will update automatically via the variable mappings below.
 */

/* ============================================================
   GBB CSS VARIABLES — mapped to Elementor global tokens
   ============================================================ */

body {
    /* Colors — mapped to Elementor global palette */
    --gbb-primary-color:        var(--e-global-color-primary);       /* #094151 */
    --gbb-primary-hover:        var(--e-global-color-ab66bc1);       /* #062932 */
    --gbb-accent-color:         var(--e-global-color-78afbe6);       /* #FFD56A */
    --gbb-text-color:           var(--e-global-color-text);          /* #094151 */
    --gbb-text-light:           var(--e-global-color-39c6a79);       /* #666666 */
    --gbb-muted-color:          var(--e-global-color-e075a77);       /* #999999 */
    --gbb-border-color:         #e0e0e0;
    --gbb-secondary-color:      #f8f9fa;
    --gbb-secondary-hover:      #e9ecef;
    --gbb-success-color:        #27ae60;
    --gbb-error-color:          #e74c3c;
    --gbb-shadow:               0 20px 60px rgba(0, 0, 0, 0.3);

    /* Typography — mapped to Elementor global typography */
    --gbb-font-family:          var(--e-global-typography-text-font-family);     /* DM Sans */
    --gbb-font-size:            var(--e-global-typography-accent-font-size);     /* 10px */
    --gbb-font-weight:          var(--e-global-typography-accent-font-weight);   /* 700 */
    --gbb-letter-spacing:       var(--e-global-typography-accent-letter-spacing); /* 0.5px */
    --gbb-text-transform:       var(--e-global-typography-accent-text-transform); /* uppercase */
    --gbb-input-display-font-family:    var(--e-global-typography-secondary-font-family); /* Instrument Serif */
    --gbb-input-display-font-size:      24px;
    --gbb-input-display-font-weight:    var(--e-global-typography-secondary-font-weight); /* 400 */
    --gbb-input-display-letter-spacing: var(--e-global-typography-secondary-letter-spacing); /* -0.5px */
    --gbb-input-display-text-transform: none;
    --gbb-input-display-line-height: 1.4em;

    /* Layout */
    --gbb-border-radius:        0;
    --gbb-input-padding:        16px 14px;
}

/* ============================================================
   BOOKING WIDGET — DESIGN
   ============================================================ */

.gbb-booking-widget {
    background: var(--gbb-accent-color);
    border: none;
    border-radius: var(--gbb-border-radius);
    padding: 24px;
    font-family: var(--gbb-font-family);
    font-size: var(--gbb-font-size);
    color: var(--gbb-text-color);
}

.gbb-booking-widget__form {
    gap: 16px;
}

.gbb-booking-widget__field {
    gap: 6px;
}

.gbb-booking-widget__label {
    display: none;
}

.gbb-widget-trust {
    color: var(--gbb-primary-color);
    font-family: var(--gbb-font-family);
    font-weight: var(--gbb-font-weight);
    text-align: center;
}

.elementor-kit-5 input.gbb-booking-widget__input,
.elementor-kit-5 .gbb-booking-widget__input,
.gbb-booking-widget__input {
    padding: 12px 12px;
    border: 1px solid var(--gbb-border-color);
    border-radius: var(--gbb-border-radius);
    font-size: var(--gbb-input-display-font-size) !important;
    font-family: var(--gbb-input-display-font-family) !important;
    font-weight: var(--gbb-input-display-font-weight) !important;
    letter-spacing: var(--gbb-input-display-letter-spacing) !important;
    line-height: 1.4 !important;
    text-transform: capitalize !important;
    color: var(--gbb-primary-color) !important;
    background: #ffffff !important;
    transition: border-color 0.2s ease;
}

.elementor-kit-5 input.gbb-booking-widget__input::placeholder,
.elementor-kit-5 .gbb-booking-widget__input::placeholder,
.gbb-booking-widget__input::placeholder {
    color: var(--gbb-primary-color) !important;
    font-size: var(--gbb-input-display-font-size) !important;
    font-family: var(--gbb-input-display-font-family) !important;
    font-weight: var(--gbb-input-display-font-weight) !important;
    letter-spacing: var(--gbb-input-display-letter-spacing) !important;
    line-height: 1.4 !important;
    text-transform: capitalize !important;
}

.gbb-booking-widget__input:focus {
    outline: none;
    border-color: var(--gbb-primary-color);
}

.gbb-booking-widget__input--error {
    border-color: var(--gbb-error-color);
}

.gbb-booking-widget__date-error {
    font-size: 12px;
    color: var(--gbb-error-color);
    margin-top: -8px;
}

/* Primary Button — inline widget */
.elementor-kit-5 .gbb-booking-widget__button--primary,
.gbb-booking-widget__button--primary {
    background: var(--gbb-primary-color) !important;
    color: #ffffff !important;
    border: none;
    border-radius: var(--gbb-border-radius);
    padding: var(--gbb-input-padding);
    font-size: var(--gbb-font-size);
    font-family: var(--gbb-font-family);
    font-weight: var(--gbb-font-weight);
    letter-spacing: var(--gbb-letter-spacing);
    text-transform: var(--gbb-text-transform);
    transition: none;
    margin-top: 8px;
}

.elementor-kit-5 .gbb-booking-widget__button--primary:hover,
.gbb-booking-widget__button--primary:hover {
    background: var(--gbb-primary-color) !important;
    color: #ffffff !important;
}

/* Secondary Button — inline widget */
.gbb-booking-widget__button--secondary {
    background: var(--gbb-secondary-color);
    color: var(--gbb-text-color);
    border: 1px solid var(--gbb-border-color);
    border-radius: var(--gbb-border-radius);
    padding: var(--gbb-input-padding);
    font-size: var(--gbb-font-size);
    font-family: var(--gbb-font-family);
    font-weight: var(--gbb-font-weight);
    letter-spacing: var(--gbb-letter-spacing);
    text-transform: var(--gbb-text-transform);
    transition: none;
    margin-top: 8px;
}

.gbb-booking-widget__button--secondary:hover {
    background: var(--gbb-secondary-color);
}

/* Responsive */
@media (max-width: 1024px) {
    .gbb-booking-widget {
        padding: 0 !important;
    }
}

/* ============================================================
   MODAL — DESIGN
   ============================================================ */

.gbb-modal__backdrop {
    background: rgba(0, 0, 0, 0.6);
}

.gbb-modal__container {
    background: #ffffff;
    border-radius: var(--gbb-border-radius) !important;
    padding: 32px;
    box-shadow: var(--gbb-shadow);
    font-family: var(--gbb-font-family);
    font-size: var(--gbb-font-size);
    color: var(--gbb-text-color);
}

.gbb-modal__close {
    background: var(--gbb-primary-color) !important;
    border: none;
    border-radius: var(--gbb-border-radius);
    font-size: 18px !important;
    color: #ffffff !important;
    padding: 6px 10px;
    transition: none;
}

.gbb-modal__close:hover {
    background: var(--gbb-primary-color) !important;
    color: #ffffff !important;
}

.gbb-modal__title {
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 20px 0;
    color: var(--gbb-text-color);
    padding-right: 32px;
}

.gbb-modal__loading {
    text-align: center;
    color: var(--gbb-text-color);
    padding: 16px 0;
    font-style: italic;
}

.gbb-modal__error {
    background: #fdf0f0;
    border: 1px solid #f5c6c6;
    border-radius: var(--gbb-border-radius);
    color: var(--gbb-error-color);
    padding: 10px 14px;
    font-size: 13px;
    margin-bottom: 12px;
}

/* Price quote state */
.gbb-modal__dates {
    font-size: 13px;
    color: var(--gbb-text-color);
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--gbb-border-color);
}

.gbb-modal__quote-breakdown {
    margin-bottom: 24px;
}

.gbb-modal__quote-row {
    padding: 10px 0;
    border-bottom: 1px solid var(--gbb-border-color);
    font-size: 14px;
}

.gbb-modal__quote-row:last-child {
    border-bottom: none;
}

.gbb-modal__quote-row--total {
    padding-top: 14px;
    font-weight: 700;
    font-size: 16px;
    border-top: 2px solid var(--gbb-text-color);
    margin-top: 4px;
}

.gbb-modal__quote-label { color: var(--gbb-text-color); }
.gbb-modal__quote-value { color: var(--gbb-text-color); font-weight: 500; }

/* ============================================================
   MODAL QUOTE STATE — DATES & BREAKDOWN
   ============================================================ */

.gbb-modal__dates {
    font-family: var(--gbb-font-family);
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.5px;
    color: var(--gbb-text-light);
    text-transform: uppercase;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--gbb-border-color);
}

.gbb-modal__quote-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--gbb-border-color);
    font-family: var(--gbb-font-family);
    font-size: 15px;
    font-weight: 400;
    color: var(--gbb-text-color);
}

.gbb-modal__quote-row:last-child {
    border-bottom: none;
}

.gbb-modal__quote-row--total {
    padding-top: 16px;
    font-size: 18px;
    font-weight: 700;
    border-top: 2px solid var(--gbb-primary-color);
    border-bottom: none;
    margin-top: 4px;
}

.gbb-modal__quote-label {
    color: var(--gbb-text-color);
}

.gbb-modal__quote-value {
    color: var(--gbb-text-color);
    font-weight: 500;
}

.gbb-modal__quote-row--total .gbb-modal__quote-label,
.gbb-modal__quote-row--total .gbb-modal__quote-value {
    font-weight: 700;
}

/* ============================================================
   PET FEE CHECKBOX
   ============================================================ */

.gbb-modal__pet-fee {
    margin: 16px 0;
    padding: 16px;
    background: var(--gbb-secondary-color);
    border: 1px solid var(--gbb-border-color);
}

.gbb-modal__pet-fee-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-family: var(--gbb-font-family);
    font-size: 13px;
    font-weight: 400;
    color: var(--gbb-text-color);
    cursor: pointer;
    line-height: 1.5;
}

/* Custom checkbox */
.gbb-modal__pet-fee-checkbox {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    min-width: 18px;
    border: 2px solid var(--gbb-primary-color) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    background-color: #ffffff !important;
    cursor: pointer;
    margin-top: 1px;
    margin-right: 6px;
    position: relative;
    flex-shrink: 0;
}

.gbb-modal__pet-fee-checkbox:checked {
    background: var(--gbb-primary-color) !important;
    background-color: var(--gbb-primary-color) !important;
}

.gbb-modal__pet-fee-checkbox:checked::after {
    content: '';
    position: absolute;
    left: 4px;
    top: 1px;
    width: 6px;
    height: 10px;
    border: 2px solid #ffffff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

.gbb-modal__pet-fee-amount {
    font-weight: 700;
}

.gbb-modal__pet-fee-note {
    font-family: var(--gbb-font-family);
    font-size: 11px;
    font-weight: 400;
    color: var(--gbb-text-light);
    margin: 16px 0 8px 0 !important;
    line-height: 1.4;
}

/* Guest details / payment state */
.gbb-modal__field {
    gap: 6px;
    margin-bottom: 14px;
}

.gbb-modal__label {
    display: none;
}

.elementor-kit-5 input.gbb-modal__input,
.elementor-kit-5 .gbb-modal__input,
.gbb-modal__input {
    padding: var(--gbb-input-padding);
    border: 1px solid var(--gbb-border-color);
    border-radius: var(--gbb-border-radius);
    font-size: 12px !important;
    font-family: var(--gbb-font-family);
    font-weight: var(--gbb-font-weight);
    letter-spacing: var(--gbb-letter-spacing);
    text-transform: var(--gbb-text-transform);
    color: var(--gbb-text-color) !important;
    background: #ffffff !important;
    transition: border-color 0.2s ease;
}

.elementor-kit-5 input.gbb-modal__input::placeholder,
.elementor-kit-5 .gbb-modal__input::placeholder,
.gbb-modal__input::placeholder {
    color: var(--gbb-text-light) !important;
    font-size: 12px;
    font-family: var(--gbb-font-family);
    font-weight: var(--gbb-font-weight);
    letter-spacing: var(--gbb-letter-spacing);
    text-transform: var(--gbb-text-transform);
}

.gbb-modal__input:focus {
    outline: none;
    border-color: var(--gbb-primary-color);
}

.gbb-modal__total-reminder {
    background: var(--gbb-secondary-color);
    border-radius: var(--gbb-border-radius);
    padding: 12px 16px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 20px;
    color: var(--gbb-text-color);
}

/* Primary Button — modal (accent bg, primary text) */
.elementor-kit-5 .gbb-modal__container .gbb-booking-widget__button--primary,
.gbb-modal__container .gbb-booking-widget__button--primary {
    background: var(--gbb-accent-color) !important;
    color: var(--gbb-primary-color) !important;
    border: none;
    border-radius: var(--gbb-border-radius);
    padding: var(--gbb-input-padding);
    font-size: var(--gbb-font-size);
    font-family: var(--gbb-font-family);
    font-weight: var(--gbb-font-weight);
    letter-spacing: var(--gbb-letter-spacing);
    text-transform: var(--gbb-text-transform);
    transition: none;
    margin-top: 8px;
}

.elementor-kit-5 .gbb-modal__container .gbb-booking-widget__button--primary:hover,
.gbb-modal__container .gbb-booking-widget__button--primary:hover {
    background: var(--gbb-accent-color) !important;
    color: var(--gbb-primary-color) !important;
}

/* Secondary Button — modal (primary bg, white text) */
.elementor-kit-5 .gbb-modal__container .gbb-booking-widget__button--secondary,
.gbb-modal__container .gbb-booking-widget__button--secondary {
    background: var(--gbb-primary-color) !important;
    color: #ffffff !important;
    border: none;
    border-radius: var(--gbb-border-radius);
    padding: var(--gbb-input-padding);
    font-size: var(--gbb-font-size);
    font-family: var(--gbb-font-family);
    font-weight: var(--gbb-font-weight);
    letter-spacing: var(--gbb-letter-spacing);
    text-transform: var(--gbb-text-transform);
    transition: none;
    margin-top: 8px;
}

.elementor-kit-5 .gbb-modal__container .gbb-booking-widget__button--secondary:hover,
.gbb-modal__container .gbb-booking-widget__button--secondary:hover {
    background: var(--gbb-primary-color) !important;
    color: #ffffff !important;
}

/* Confirmation state */
.gbb-modal__confirmation-icon {
    width: 56px;
    height: 56px;
    background: var(--gbb-success-color);
    color: #ffffff;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 20px;
}

.gbb-modal__confirmation-message {
    text-align: center;
    color: var(--gbb-text-color);
    margin-bottom: 20px;
    line-height: 1.6;
}

.gbb-modal__confirmation-code {
    background: var(--gbb-secondary-color);
    border-radius: var(--gbb-border-radius);
    padding: 12px 16px;
    text-align: center;
    font-size: 15px;
    margin-bottom: 16px;
    color: var(--gbb-text-color);
}

.gbb-modal__confirmation-code strong {
    color: var(--gbb-primary-color);
    font-size: 17px;
    display: block;
    margin-top: 4px;
}

.gbb-modal__confirmation-summary {
    font-size: 13px;
    color: var(--gbb-text-color);
    line-height: 1.8;
    text-align: center;
    margin-bottom: 20px;
}

.gbb-booking-notice {
    padding: 14px 16px;
    margin-bottom: 16px;
    font-family: var(--gbb-font-family);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}

.gbb-booking-notice--success {
    background: #f0faf5;
    border-left: 4px solid var(--gbb-success-color);
    color: var(--gbb-text-color);
}

.gbb-booking-notice--error {
    background: #fdf0f0;
    border-left: 4px solid var(--gbb-error-color);
    color: var(--gbb-text-color);
}

/* Trust badges */
.gbb-trust-badges {
    margin: 16px 0 8px;
}

.gbb-trust-badges__message {
    font-size: var(--gbb-font-size);
    font-family: var(--gbb-font-family);
    font-weight: var(--gbb-font-weight);
    letter-spacing: 0.3px;
    color: var(--gbb-text-light);
}

/* ============================================================
   FLATPICKR — DESIGN
   ============================================================ */

.flatpickr-calendar {
    border-radius: var(--gbb-border-radius);
    border: 1px solid var(--gbb-border-color);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    font-family: var(--gbb-font-family);
    font-size: var(--gbb-font-size);
}

.flatpickr-months {
    background: #ffffff;
}

.flatpickr-months .flatpickr-month {
    background: #ffffff !important;
    color: var(--gbb-primary-color);
    border-radius: var(--gbb-border-radius);
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    color: var(--gbb-primary-color) !important;
    fill: var(--gbb-primary-color) !important;
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
    color: var(--gbb-accent-color) !important;
    fill: var(--gbb-accent-color) !important;
}

.flatpickr-current-month {
    font-family: var(--gbb-font-family);
    font-size: 9px;
    font-weight: 400;
    letter-spacing: var(--gbb-letter-spacing);
    text-transform: var(--gbb-text-transform);
    color: var(--gbb-primary-color);
}

.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-monthDropdown-months {
    color: var(--gbb-primary-color) !important;
    font-family: var(--gbb-font-family) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    letter-spacing: var(--gbb-letter-spacing) !important;
    text-transform: var(--gbb-text-transform) !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer;
    padding: 0 !important;
    margin: 0 !important;
    -webkit-appearance: none;
    appearance: none;
}

.flatpickr-current-month .flatpickr-monthDropdown-months option {
    color: var(--gbb-primary-color);
    background: #ffffff;
    text-transform: var(--gbb-text-transform);
    font-size: 12px;
}

.flatpickr-current-month input.cur-year {
    color: var(--gbb-primary-color) !important;
    font-family: var(--gbb-font-family) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    height: 24px !important;
    line-height: 24px !important;
    padding: 0 2px !important;
}

.flatpickr-weekdays {
    background: #ffffff;
}

span.flatpickr-weekday {
    font-family: var(--gbb-font-family);
    font-size: var(--gbb-font-size);
    font-weight: var(--gbb-font-weight);
    letter-spacing: var(--gbb-letter-spacing);
    text-transform: var(--gbb-text-transform);
    color: var(--gbb-primary-color);
    background: #ffffff;
}

.flatpickr-day {
    font-family: var(--gbb-font-family);
    font-size: 11px;
    font-weight: 600;
    color: var(--gbb-primary-color) !important;
    border-radius: var(--gbb-border-radius);
    border: none;
}

.flatpickr-day:hover {
    background: var(--gbb-accent-color);
    color: var(--gbb-primary-color) !important;
    border: none;
}

.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange,
.flatpickr-day.endRange:hover {
    background: var(--gbb-primary-color);
    border-color: var(--gbb-primary-color);
    color: #ffffff !important;
    border-radius: var(--gbb-border-radius);
}

.flatpickr-day.inRange {
    background: var(--gbb-accent-color);
    border-color: var(--gbb-accent-color);
    color: var(--gbb-primary-color) !important;
    border-radius: var(--gbb-border-radius);
    box-shadow: -5px 0 0 var(--gbb-accent-color), 5px 0 0 var(--gbb-accent-color);
}

.flatpickr-day.disabled,
.flatpickr-day.disabled:hover,
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    color: #cccccc !important;
    text-decoration: line-through;
    background: transparent;
}

.flatpickr-day.today {
    border-color: var(--gbb-primary-color);
    color: var(--gbb-primary-color) !important;
}

.flatpickr-day.today:hover {
    background: var(--gbb-primary-color);
    color: #ffffff !important;
}

.flatpickr-input[readonly]::-webkit-input-placeholder {
    opacity: 1;
}

.flatpickr-input[readonly]::placeholder {
    opacity: 1;
}

/* ============================================================
   REVIEWS — DESIGN
   ============================================================ */

body {
    --gbb-review-star-color:        var(--gbb-accent-color);
    --gbb-review-star-empty-color:  #e0e0e0;
    --gbb-review-text-color:        var(--gbb-text-color);
    --gbb-review-text-light:        var(--gbb-text-light);
    --gbb-review-border-color:      var(--gbb-border-color);
    --gbb-review-bg:                #ffffff;
    --gbb-review-item-bg:           #f9f9f9;
    --gbb-review-border-radius:     var(--gbb-border-radius);
    --gbb-review-font-size:         16px;
    --gbb-review-avatar-bg:         var(--gbb-primary-color);
    --gbb-review-avatar-color:      #ffffff;
}

.gbb-reviews {
    font-family: var(--gbb-font-family);
    font-weight: 400;
    letter-spacing: 1px;
    font-size: var(--gbb-review-font-size);
    color: var(--gbb-review-text-color);
}

.gbb-reviews__header {
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--gbb-review-border-color);
}

.gbb-reviews__average {
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    color: var(--gbb-review-text-color);
}

.gbb-reviews__stars { gap: 2px; }

.gbb-reviews__count {
    font-size: 13px;
    color: var(--gbb-review-text-light);
}

.gbb-reviews__list { gap: 16px; }

.gbb-reviews__item {
    background: var(--gbb-review-item-bg);
    border-radius: var(--gbb-review-border-radius);
    padding: 20px;
    border: 1px solid var(--gbb-review-border-color);
}

.gbb-reviews__item-header { margin-bottom: 12px; }

.gbb-reviews__reviewer {
    font-weight: 600;
    font-size: 15px;
    color: var(--gbb-review-text-color);
}

.gbb-reviews__item-stars { gap: 2px; }

.gbb-reviews__date {
    font-size: 12px;
    color: var(--gbb-review-text-light);
    margin-left: auto;
}

.gbb-reviews__text {
    font-size: var(--gbb-review-font-size);
    color: var(--gbb-review-text-color);
    line-height: 1.7;
    margin: 0;
}

.gbb-reviews__empty {
    color: var(--gbb-review-text-light);
    font-style: italic;
    text-align: center;
    padding: 24px 0;
}

.gbb-reviews__star,
.gbb-reviews-summary__star {
    font-size: 18px;
    line-height: 1;
}

.gbb-reviews__star--full,
.gbb-reviews-summary__star--full { color: var(--gbb-review-star-color); }

.gbb-reviews__star--half,
.gbb-reviews-summary__star--half { color: var(--gbb-review-star-color); opacity: 0.6; }

.gbb-reviews__star--empty,
.gbb-reviews-summary__star--empty { color: var(--gbb-review-star-empty-color); }

.gbb-reviews-summary {
    gap: 6px;
    font-size: 13px;
}

.gbb-reviews-summary__stars { gap: 1px; }
.gbb-reviews-summary__star { font-size: 14px; }

.gbb-reviews-summary__rating {
    font-weight: 600;
    color: var(--gbb-review-text-color);
}

.gbb-reviews-summary__count { color: var(--gbb-review-text-light); }

/* Responsive */
@media (max-width: 480px) {
    .gbb-reviews__average { font-size: 24px; }
    .gbb-reviews__item { padding: 16px; }
}

/* ============================================================
   HERO GALLERY — DESIGN
   ============================================================ */

.custom-hero-gallery {
    gap: 6px;
    aspect-ratio: 3 / 1;
}

.custom-hero-gallery__grid {
    gap: 6px;
}

.custom-hero-gallery__hero img {
    transition: transform 0.35s ease;
}

.custom-hero-gallery__hero a:hover img {
    transform: scale(1.06);
}

.custom-hero-gallery__thumb img {
    transition: transform 0.35s ease;
}

.custom-hero-gallery__thumb a:hover img {
    transform: scale(1.06);
}

/* ============================================================
   AMENITIES GRID — DESIGN
   ============================================================ */

/* Grid column count is set via the shortcode columns="" attribute.
   Only override here if needed for responsive adjustments above. */

/* ============================================================
   PROPERTY MAP — DESIGN
   ============================================================ */

@media (max-width: 1024px) {
    [id^="gbb-map"] {
        height: 300px !important;
    }
}

/* ============================================================
   FILTER SIDEBAR TOGGLE — DESIGN
   ============================================================ */

#filter-toggle-btn {
    display: none;
    width: 100%;
    padding: 12px 16px;
    background: var(--gbb-primary-color);
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    border: none;
    border-radius: var(--gbb-border-radius);
    cursor: pointer;
    margin-bottom: 8px;
    text-align: left;
}

@media (max-width: 767px) {
    .jet-smart-filters-select .jet-filter-label {
        margin: 0 0 4px 0 !important;
        font-size: 11px !important;
    }

    .jet-smart-filters-select .jet-select__control {
        padding: 10px 36px 10px 12px !important;
        font-size: 16px !important;
        background-color: #ffffff !important;
    }

    .jet-smart-filters-select .jet-select::after {
        content: '';
        pointer-events: none;
        position: absolute;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-top: 6px solid var(--gbb-primary-color);
    }
}

/* ============================================================
   RESPONSIVE CONTAINER OVERRIDES
   ============================================================ */

@media (max-width: 1024px) {
    #booking-form {
        background-color: var(--gbb-accent-color) !important;
    }
}

@media (max-width: 480px) {
    .gbb-modal__container {
        padding: 24px 16px;
        border-radius: var(--gbb-border-radius);
    }
}

/* ============================================================
   GBB LOCATION FILTERS SHORTCODE — DESIGN
   ============================================================ */

.gbb-filter-label {
    display: none !important;
}

.elementor-kit-5 input.gbb-filter-date-input,
.gbb-filter-date-input {
    padding: 14px 14px !important;
    height: auto !important;
    font-family: var(--gbb-input-display-font-family) !important;
    font-size: var(--gbb-input-display-font-size) !important;
    font-weight: var(--gbb-input-display-font-weight) !important;
    letter-spacing: var(--gbb-input-display-letter-spacing) !important;
    line-height: 1.4 !important;
    text-transform: capitalize !important;
    text-align: left !important;
    color: var(--gbb-primary-color) !important;
    -webkit-text-fill-color: var(--gbb-primary-color) !important;
    background: #ffffff !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    border: 1px solid #094151 !important;
    border-radius: var(--gbb-border-radius) !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    opacity: 1 !important;
}

.elementor-kit-5 input.gbb-filter-date-input::placeholder,
.gbb-filter-date-input::placeholder {
    -webkit-text-fill-color: var(--gbb-primary-color) !important;
    color: var(--gbb-primary-color) !important;
    font-family: var(--gbb-input-display-font-family) !important;
    font-size: var(--gbb-input-display-font-size) !important;
    font-weight: var(--gbb-input-display-font-weight) !important;
    text-transform: capitalize !important;
    text-align: left !important;
    opacity: 1 !important;
}

.gbb-filter-date-input.gbb-placeholder-active {
    color: var(--gbb-primary-color) !important;
    -webkit-text-fill-color: var(--gbb-primary-color) !important;
    opacity: 1 !important;
}

/* ============================================================
   SEARCH BAR — DESIGN
   ============================================================ */

.gbb-search-bar {
    background: var(--gbb-primary-color);
    width: 100%;
}

.gbb-search-bar__form {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
}

.gbb-search-bar__field {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
    padding: 12px 20px;
    border-right: 1px solid rgba(255, 255, 255, 0.15);
    position: relative;
    box-sizing: border-box;
}

.gbb-search-bar__field:last-of-type {
    border-right: none;
}

.gbb-search-bar__field--bedrooms {
    border-right: none !important;
}

.gbb-search-bar__label {
    font-family: var(--gbb-font-family) !important;
    font-size: var(--gbb-font-size) !important;
    font-weight: var(--gbb-font-weight) !important;
    letter-spacing: var(--gbb-letter-spacing) !important;
    text-transform: var(--gbb-text-transform) !important;
    color: #ffffff !important;
    display: block !important;
    margin-bottom: 4px;
    line-height: 1;
}

/* Date + number inputs */
.elementor-kit-5 input.gbb-search-bar__input,
.gbb-search-bar__input {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    font-family: var(--gbb-input-display-font-family) !important;
    font-size: var(--gbb-input-display-font-size) !important;
    font-weight: var(--gbb-input-display-font-weight) !important;
    letter-spacing: var(--gbb-input-display-letter-spacing) !important;
    line-height: 1.2 !important;
    text-transform: capitalize !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    width: 100% !important;
    box-shadow: none !important;
    outline: none !important;
}

.elementor-kit-5 input.gbb-search-bar__input::placeholder,
.gbb-search-bar__input::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.5) !important;
    font-family: var(--gbb-input-display-font-family) !important;
    font-size: var(--gbb-input-display-font-size) !important;
    font-weight: var(--gbb-input-display-font-weight) !important;
    text-transform: capitalize !important;
    opacity: 1 !important;
}

select.gbb-search-bar__input {
    -webkit-appearance: auto !important;
    appearance: auto !important;
    cursor: pointer;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: transparent !important;
    border: none !important;
    width: 100% !important;
    padding: 0 !important;
    font-family: var(--gbb-input-display-font-family) !important;
    font-size: var(--gbb-input-display-font-size) !important;
    font-weight: var(--gbb-input-display-font-weight) !important;
}

select.gbb-search-bar__input option {
    color: #094151;
    background: #ffffff;
}

.gbb-search-bar__field--submit {
    flex: 0 0 auto !important;
    padding: 0 !important;
    border-right: none !important;
    border-left: none !important;
    background: #79D9B3 !important;
    display: flex !important;
}


.gbb-search-bar__button {
    background: #79D9B3 !important;
    border: none !important;
    color: var(--gbb-primary-color) !important;
    font-family: var(--gbb-font-family) !important;
    font-size: var(--gbb-font-size) !important;
    font-weight: var(--gbb-font-weight) !important;
    letter-spacing: var(--gbb-letter-spacing) !important;
    text-transform: var(--gbb-text-transform) !important;
    padding: 0 40px !important;
    cursor: pointer;
    white-space: nowrap;
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: stretch !important;
    width: 100% !important;
    min-height: 100% !important;
}

.gbb-search-bar__button:hover {
    background: #ffffff !important;
    color: var(--gbb-primary-color) !important;
}

/* Responsive */
@media (max-width: 767px) {
    .gbb-search-bar__form {
        flex-direction: column;
    }

    .gbb-search-bar__field {
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    }

    .gbb-search-bar__field--submit {
        border-bottom: none;
    }

    .gbb-search-bar__button {
        width: 100% !important;
        justify-content: center;
        padding: 16px 32px !important;
    }
}

/* ============================================================
   UNAVAILABLE OVERLAY — DESIGN
   ============================================================ */

.gbb-listing-unavailable {
    position: relative;
}

.gbb-unavailable-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 20;
    background: #666666 !important;
    color: #ffffff !important;
    font-family: var(--gbb-font-family) !important;
    font-size: var(--gbb-font-size) !important;
    font-weight: var(--gbb-font-weight) !important;
    letter-spacing: var(--gbb-letter-spacing) !important;
    text-transform: var(--gbb-text-transform) !important;
    border-radius: 0 !important;
    padding: 6px 12px !important;
}/* End custom CSS */