#elementor-popup-modal-1085 {
    align-items: center !important;
    justify-content: center !important;
    height: 100dvh !important;
    height: 100vh !important;
    padding: clamp(10px, 2vh, 18px) clamp(8px, 2vw, 18px) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: auto !important;
}

html.blanos-popup-scroll-locked,
body.blanos-popup-scroll-locked {
    overflow: hidden !important;
    overscroll-behavior: none !important;
}

body.blanos-popup-scroll-locked {
    touch-action: none !important;
}

body.blanos-popup-scroll-locked #elementor-popup-modal-1085 {
    touch-action: none !important;
}

body.blanos-popup-scroll-locked #elementor-popup-modal-1085 .dialog-widget-content,
body.blanos-popup-scroll-locked #elementor-popup-modal-1085 .dialog-widget-content *,
body.blanos-popup-scroll-locked > .flatpickr-calendar {
    touch-action: auto !important;
}

html.blanos-popup-scroll-restoring {
    scroll-behavior: auto !important;
}

#elementor-popup-modal-1085,
#elementor-popup-modal-1085 .dialog-widget-content {
    overscroll-behavior: contain !important;
}

#elementor-popup-modal-1085 .dialog-widget-content {
    position: relative !important;
}

/* Elementor's own generated CSS sets this popup's open/close (entrance/exit) animation to
   1.2s (#elementor-popup-modal-1085 .dialog-widget-content{animation-duration:1.2s}) via the
   popup's Advanced > Popup Settings > Animation Duration option. That setting currently isn't
   reachable through the Elementor editor on this site (its canvas fails to load for this
   template), so the duration is shortened here instead — same effect, no editor dependency. */
#elementor-popup-modal-1085 .dialog-widget-content {
    animation-duration: 0.25s !important;
}

#elementor-popup-modal-1085 .blanos-popup-back-button {
    display: none !important;
    position: sticky !important;
    top: 10px !important;
    left: 0 !important;
    z-index: 999998 !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: fit-content !important;
    margin: 0 0 14px !important;
    padding: 9px 15px !important;
    border: 1px solid #d8baf3 !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: #5900ad !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    box-shadow: 0 10px 24px rgba(89, 0, 173, 0.13) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

#elementor-popup-modal-1085 .blanos-popup-back-button:hover {
    transform: translateY(-1px) !important;
    background: #f8f1ff !important;
    box-shadow: 0 14px 30px rgba(89, 0, 173, 0.18) !important;
}

#elementor-popup-modal-1085.blanos-popup-form-can-go-back .blanos-popup-back-button {
    display: inline-flex !important;
}

/* v1.8.26: dynamic sizing — the box now sizes to its content instead of always being the
   full 60vw/92dvh, but keeps those exact same values as its max (and adds a comfortable
   min so short content, like the initial type picker, doesn't shrink too small). */
#elementor-popup-modal-1085 .dialog-widget-content {
    width: fit-content !important;
    min-width: min(480px, 92vw) !important;
    max-width: 60vw !important;
    height: fit-content !important;
    min-height: min(320px, 70dvh) !important;
    max-height: min(92dvh, calc(100vh - 32px)) !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    border-radius: 22px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    -webkit-overflow-scrolling: auto !important;
}

#elementor-popup-modal-1085 .dialog-message {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    scrollbar-gutter: stable both-edges !important;
}

#elementor-popup-modal-1085 .dialog-message::-webkit-scrollbar {
    width: 10px;
}

#elementor-popup-modal-1085 .dialog-message::-webkit-scrollbar-track {
    background: #f4edf9;
    border-radius: 999px;
}

#elementor-popup-modal-1085 .dialog-message::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #8a20d5, #5900ad);
    border: 2px solid #f4edf9;
    border-radius: 999px;
}

#elementor-popup-modal-1085 .elementor,
#elementor-popup-modal-1085 .elementor-section-wrap,
#elementor-popup-modal-1085 .elementor-location-popup,
#elementor-popup-modal-1085 .e-con,
#elementor-popup-modal-1085 .e-con-inner {
    max-width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

#elementor-popup-modal-1085 .dialog-close-button {
    position: sticky !important;
    top: 10px !important;
    z-index: 999999 !important;
    margin-left: auto !important;
}

#elementor-popup-modal-1085 .party-form-title,
#elementor-popup-modal-1085 .party-form-title .elementor-heading-title {
    font-size: 20px !important;
    line-height: 1.25 !important;
}

#elementor-popup-modal-1085 .party-form-description,
#elementor-popup-modal-1085 .party-form-description p {
    color: #6b6073 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
}

#elementor-popup-modal-1085 .blanos-party-form,
#elementor-popup-modal-1085 .blanos-party-form form,
#elementor-popup-modal-1085 .elementor-form,
#elementor-popup-modal-1085 .elementor-form-fields-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

#elementor-popup-modal-1085 .elementor-form-fields-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    column-gap: 16px !important;
    row-gap: 18px !important;
}

#elementor-popup-modal-1085 .elementor-field-group {
    min-width: 0 !important;
    box-sizing: border-box !important;
}

#elementor-popup-modal-1085 .elementor-field-group label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    line-height: 1.3 !important;
}

#elementor-popup-modal-1085 input,
#elementor-popup-modal-1085 select,
#elementor-popup-modal-1085 textarea,
#elementor-popup-modal-1085 button {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

#elementor-popup-modal-1085 input,
#elementor-popup-modal-1085 select,
#elementor-popup-modal-1085 textarea {
    font-size: 16px !important;
}

#elementor-popup-modal-1085 textarea {
    min-height: 115px !important;
    resize: vertical !important;
}

/* GDPR consent checkbox — added by JS (ensureGdprConsentField in blanos-reservation.js), not an
   Elementor-authored field, so it needs its own layout instead of the generic block-label rule
   above (which would stack the label under the checkbox). */
#elementor-popup-modal-1085 .blanos-gdpr-field .elementor-field-option {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
}

#elementor-popup-modal-1085 .blanos-gdpr-field input.blanos-gdpr-consent {
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    margin: 3px 0 0 !important;
    accent-color: #5900ad !important;
}

#elementor-popup-modal-1085 .blanos-gdpr-field label {
    display: inline !important;
    width: auto !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #4a3d5c;
}

#elementor-popup-modal-1085 .blanos-gdpr-consent-link {
    color: #5900ad !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
}

@media (min-width: 768px) {
    #elementor-popup-modal-1085 .elementor-field-group-name,
    #elementor-popup-modal-1085 .elementor-field-group-phone,
    #elementor-popup-modal-1085 .blanos-name-field,
    #elementor-popup-modal-1085 .blanos-phone-field {
        width: calc(50% - 8px) !important;
        max-width: calc(50% - 8px) !important;
        flex: 0 0 calc(50% - 8px) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}

#elementor-popup-modal-1085 .elementor-field-group-email,
#elementor-popup-modal-1085 .elementor-field-group-party_date,
#elementor-popup-modal-1085 .elementor-field-group-message,
#elementor-popup-modal-1085 .elementor-field-group-submit,
#elementor-popup-modal-1085 .elementor-field-type-submit {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

#elementor-popup-modal-1085.blanos-popup-selector-mode .elementor-widget-form,
#elementor-popup-modal-1085.blanos-popup-selector-mode .blanos-party-form,
#elementor-popup-modal-1085.blanos-popup-selector-mode .party-form-summary {
    display: none !important;
}

#elementor-popup-modal-1085:not(.blanos-popup-selector-mode) .blanos-booking-selector {
    display: none !important;
}

#elementor-popup-modal-1085 .party-form-summary {
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.party-form-summary__price {
    display: block;
    margin-top: 10px;
    color: #5900ad;
    font-size: 19px;
    font-weight: 800;
}

#elementor-popup-modal-1085 .blanos-form-error-box {
    width: 100%;
    margin: 14px 0 0;
    padding: 14px 16px;
    box-sizing: border-box;
    background: #fff1f5;
    border: 1px solid #f3b6c7;
    border-left: 5px solid #d72664;
    border-radius: 12px;
    color: #7a1331;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.55;
    display: none;
}

#elementor-popup-modal-1085 .blanos-form-error-box.is-visible {
    display: block;
}

#elementor-popup-modal-1085 .blanos-form-error-box strong {
    display: block;
    margin-bottom: 5px;
    color: #7a1331;
    font-size: 14px;
    font-weight: 800;
}

#elementor-popup-modal-1085 .blanos-form-error-box ul {
    margin: 6px 0 0;
    padding-left: 18px;
}

#elementor-popup-modal-1085 .blanos-required-asterisk {
    display: inline !important;
    margin-left: 3px !important;
    color: #d7263d !important;
    -webkit-text-fill-color: #d7263d !important;
    font-weight: 900 !important;
}

#elementor-popup-modal-1085.blanos-popup-success-mode .elementor-widget-form,
#elementor-popup-modal-1085.blanos-popup-success-mode form.elementor-form,
#elementor-popup-modal-1085.blanos-popup-success-mode .party-form-summary,
#elementor-popup-modal-1085.blanos-popup-success-mode .party-form-title,
#elementor-popup-modal-1085.blanos-popup-success-mode .party-form-description,
#elementor-popup-modal-1085.blanos-popup-success-mode .blanos-success-header-hidden,
#elementor-popup-modal-1085.blanos-popup-success-mode .blanos-popup-back-button {
    display: none !important;
}

#elementor-popup-modal-1085 .blanos-submission-success-phase {
    width: 100% !important;
    max-width: 980px !important;
    margin: 8px auto 0 !important;
    padding: clamp(22px, 3vw, 38px) !important;
    box-sizing: border-box !important;
    background: linear-gradient(145deg, #ffffff 0%, #faf5ff 100%) !important;
    border: 1px solid #dfcaf2 !important;
    border-radius: 24px !important;
    box-shadow: 0 18px 45px rgba(68, 0, 112, 0.13) !important;
    color: #332d38 !important;
    outline: none !important;
    text-align: center !important;
}

#elementor-popup-modal-1085 .blanos-success-check {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 58px !important;
    height: 58px !important;
    margin: 0 auto 13px !important;
    background: #e8f8ed !important;
    border: 2px solid #67bb7d !important;
    border-radius: 999px !important;
    color: #238542 !important;
    -webkit-text-fill-color: #238542 !important;
    font-size: 30px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

#elementor-popup-modal-1085 .blanos-success-eyebrow {
    margin-bottom: 10px !important;
    color: #7900df !important;
    -webkit-text-fill-color: #7900df !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: 0.7px !important;
    text-transform: uppercase !important;
}

#elementor-popup-modal-1085 .blanos-submission-success-phase h3 {
    max-width: 760px !important;
    margin: 0 auto 24px !important;
    color: #3f007f !important;
    -webkit-text-fill-color: #3f007f !important;
    font-size: clamp(22px, 2.4vw, 34px) !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
}

#elementor-popup-modal-1085 .blanos-success-price {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    width: fit-content !important;
    min-width: min(100%, 310px) !important;
    margin: 0 auto 24px !important;
    padding: 16px 24px !important;
    background: linear-gradient(135deg, #7900df, #3f007f) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 28px rgba(89, 0, 173, 0.24) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

#elementor-popup-modal-1085 .blanos-success-price span {
    font-size: 13px !important;
    font-weight: 750 !important;
}

#elementor-popup-modal-1085 .blanos-success-price strong {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-family: Montserrat, sans-serif !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
}

#elementor-popup-modal-1085 .blanos-success-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    text-align: left !important;
}

#elementor-popup-modal-1085 .blanos-success-panel {
    min-width: 0 !important;
    padding: 22px !important;
    background: #ffffff !important;
    border: 1px solid #eadcf7 !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 24px rgba(72, 0, 117, 0.07) !important;
}

#elementor-popup-modal-1085 .blanos-success-panel h4 {
    margin: 0 0 13px !important;
    color: #4b008f !important;
    -webkit-text-fill-color: #4b008f !important;
    font-size: 18px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
}

#elementor-popup-modal-1085 .blanos-success-row {
    display: grid !important;
    grid-template-columns: minmax(110px, 0.42fr) minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 11px 0 !important;
    border-bottom: 1px solid #eee5f4 !important;
}

#elementor-popup-modal-1085 .blanos-success-row:last-child {
    border-bottom: 0 !important;
}

#elementor-popup-modal-1085 .blanos-success-row span {
    color: #766c7d !important;
    -webkit-text-fill-color: #766c7d !important;
    font-size: 12px !important;
    font-weight: 750 !important;
}

#elementor-popup-modal-1085 .blanos-success-row strong {
    min-width: 0 !important;
    color: #3f3446 !important;
    -webkit-text-fill-color: #3f3446 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.5 !important;
    overflow-wrap: anywhere !important;
}

@media (max-width: 767px) {
    #elementor-popup-modal-1085 .blanos-submission-success-phase {
        padding: 22px 16px !important;
        border-radius: 18px !important;
    }

    #elementor-popup-modal-1085 .blanos-success-grid {
        grid-template-columns: 1fr !important;
    }

    #elementor-popup-modal-1085 .blanos-success-price {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 5px !important;
        width: 100% !important;
    }

    #elementor-popup-modal-1085 .blanos-success-row {
        grid-template-columns: 1fr !important;
        gap: 4px !important;
    }
}

#elementor-popup-modal-1085 .elementor-field-group-activity_choice {
    display: none !important;
}

#elementor-popup-modal-1085 .elementor-field-group-phone,
#elementor-popup-modal-1085 .blanos-phone-field {
    position: relative !important;
    z-index: 1000 !important;
    overflow: visible !important;
}

#elementor-popup-modal-1085 .elementor-field-group-phone .iti,
#elementor-popup-modal-1085 .blanos-phone-field .iti {
    --blanos-phone-prefix-width: 112px;
    --blanos-phone-input-padding: 126px;
    --blanos-phone-dropdown-width: min(370px, calc(100vw - 32px));
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    filter: none !important;
    transform: none !important;
    isolation: auto !important;
}

#elementor-popup-modal-1085 .elementor-field-group-phone .iti__flag-container,
#elementor-popup-modal-1085 .blanos-phone-field .iti__flag-container,
#elementor-popup-modal-1085 .elementor-field-group-phone .iti__country-container,
#elementor-popup-modal-1085 .blanos-phone-field .iti__country-container {
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    z-index: 2 !important;
    width: var(--blanos-phone-prefix-width) !important;
    min-width: var(--blanos-phone-prefix-width) !important;
    max-width: var(--blanos-phone-prefix-width) !important;
    height: 100% !important;
    border-top-left-radius: 12px !important;
    border-bottom-left-radius: 12px !important;
    filter: none !important;
    transform: none !important;
    overflow: visible !important;
}

#elementor-popup-modal-1085 .elementor-field-group-phone .iti__selected-flag,
#elementor-popup-modal-1085 .blanos-phone-field .iti__selected-flag,
#elementor-popup-modal-1085 .elementor-field-group-phone .iti__selected-country,
#elementor-popup-modal-1085 .blanos-phone-field .iti__selected-country {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: var(--blanos-phone-prefix-width) !important;
    min-width: var(--blanos-phone-prefix-width) !important;
    max-width: var(--blanos-phone-prefix-width) !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 0 10px 0 13px !important;
    box-sizing: border-box !important;
    color: #3f3446 !important;
    background-color: #f4eef9 !important;
    background-image: none !important;
    border: 0 !important;
    border-right: 1px solid #d9c0ef !important;
    border-radius: 12px 0 0 12px !important;
    outline: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: none !important;
    opacity: 1 !important;
    text-decoration: none !important;
    text-shadow: none !important;
    cursor: pointer !important;
}

#elementor-popup-modal-1085 .elementor-field-group-phone .iti__selected-country-primary,
#elementor-popup-modal-1085 .blanos-phone-field .iti__selected-country-primary,
#elementor-popup-modal-1085 .elementor-field-group-phone .iti__flag-box,
#elementor-popup-modal-1085 .blanos-phone-field .iti__flag-box {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    filter: none !important;
    -webkit-filter: none !important;
    transform: none !important;
    opacity: 1 !important;
}

#elementor-popup-modal-1085 .elementor-field-group-phone .iti__selected-flag:hover,
#elementor-popup-modal-1085 .elementor-field-group-phone .iti__selected-flag:focus,
#elementor-popup-modal-1085 .elementor-field-group-phone .iti__selected-flag:active,
#elementor-popup-modal-1085 .elementor-field-group-phone .iti__selected-flag[aria-expanded="true"],
#elementor-popup-modal-1085 .blanos-phone-field .iti__selected-flag:hover,
#elementor-popup-modal-1085 .blanos-phone-field .iti__selected-flag:focus,
#elementor-popup-modal-1085 .blanos-phone-field .iti__selected-flag:active,
#elementor-popup-modal-1085 .blanos-phone-field .iti__selected-flag[aria-expanded="true"],
#elementor-popup-modal-1085 .elementor-field-group-phone .iti__selected-country:hover,
#elementor-popup-modal-1085 .elementor-field-group-phone .iti__selected-country:focus,
#elementor-popup-modal-1085 .elementor-field-group-phone .iti__selected-country:active,
#elementor-popup-modal-1085 .elementor-field-group-phone .iti__selected-country[aria-expanded="true"],
#elementor-popup-modal-1085 .blanos-phone-field .iti__selected-country:hover,
#elementor-popup-modal-1085 .blanos-phone-field .iti__selected-country:focus,
#elementor-popup-modal-1085 .blanos-phone-field .iti__selected-country:active,
#elementor-popup-modal-1085 .blanos-phone-field .iti__selected-country[aria-expanded="true"] {
    color: #3f3446 !important;
    background-color: #f4eef9 !important;
    background-image: none !important;
    border: 0 !important;
    border-right: 1px solid #d9c0ef !important;
    border-radius: 12px 0 0 12px !important;
    outline: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    transform: none !important;
    opacity: 1 !important;
}

#elementor-popup-modal-1085 .elementor-field-group-phone .iti__selected-flag::before,
#elementor-popup-modal-1085 .elementor-field-group-phone .iti__selected-flag::after,
#elementor-popup-modal-1085 .blanos-phone-field .iti__selected-flag::before,
#elementor-popup-modal-1085 .blanos-phone-field .iti__selected-flag::after,
#elementor-popup-modal-1085 .elementor-field-group-phone .iti__selected-country::before,
#elementor-popup-modal-1085 .elementor-field-group-phone .iti__selected-country::after,
#elementor-popup-modal-1085 .blanos-phone-field .iti__selected-country::before,
#elementor-popup-modal-1085 .blanos-phone-field .iti__selected-country::after {
    content: none !important;
    display: none !important;
}

#elementor-popup-modal-1085 .elementor-field-group-phone .iti__flag,
#elementor-popup-modal-1085 .blanos-phone-field .iti__flag,
#elementor-popup-modal-1085 .iti__country-list .iti__flag {
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: none !important;
    opacity: 1 !important;
    image-rendering: auto !important;
    mix-blend-mode: normal !important;
    backface-visibility: visible !important;
}

#elementor-popup-modal-1085 .elementor-field-group-phone .iti__selected-dial-code,
#elementor-popup-modal-1085 .blanos-phone-field .iti__selected-dial-code {
    position: static !important;
    display: inline-block !important;
    margin: 0 0 0 7px !important;
    padding: 0 !important;
    color: #3f3446 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    transform: none !important;
    opacity: 1 !important;
    font: inherit !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

#elementor-popup-modal-1085 .elementor-field-group-phone .iti__arrow,
#elementor-popup-modal-1085 .blanos-phone-field .iti__arrow {
    position: static !important;
    flex: 0 0 auto !important;
    margin: 0 0 0 6px !important;
    filter: none !important;
    transform: none !important;
    opacity: 1 !important;
}

#elementor-popup-modal-1085 .elementor-field-group-phone input[name="form_fields[phone]"],
#elementor-popup-modal-1085 .blanos-phone-field input[name="form_fields[phone]"],
#elementor-popup-modal-1085 .elementor-field-group-phone .iti input[type="tel"],
#elementor-popup-modal-1085 .blanos-phone-field .iti input[type="tel"] {
    width: 100% !important;
    padding-left: var(--blanos-phone-input-padding, 126px) !important;
    padding-inline-start: var(--blanos-phone-input-padding, 126px) !important;
    padding-right: 16px !important;
    padding-inline-end: 16px !important;
    direction: ltr !important;
    text-align: left !important;
    text-indent: 0 !important;
    box-sizing: border-box !important;
}

/* intl-tel-input 25+ puts the search and list in this wrapper. Keep the
   complete panel above later Elementor fields instead of raising only the list. */
#elementor-popup-modal-1085 .elementor-field-group-phone .iti__dropdown-content,
#elementor-popup-modal-1085 .blanos-phone-field .iti__dropdown-content {
    position: absolute !important;
    inset: 100% auto auto 0 !important;
    z-index: 1001 !important;
    width: var(--blanos-phone-dropdown-width) !important;
    min-width: var(--blanos-phone-dropdown-width) !important;
    max-width: min(370px, calc(100vw - 32px)) !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    color: #3f3446 !important;
    background: #fff !important;
    border: 1px solid #d9c0ef !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 45px rgba(50, 0, 80, 0.22) !important;
    overflow: hidden !important;
    isolation: auto !important;
    filter: none !important;
    transform: none !important;
    opacity: 1 !important;
}

#elementor-popup-modal-1085 .elementor-field-group-phone .iti__search-input,
#elementor-popup-modal-1085 .blanos-phone-field .iti__search-input {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 9px 12px !important;
    padding-inline: 12px !important;
    box-sizing: border-box !important;
    color: #3f3446 !important;
    background: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid #eadcf5 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    direction: ltr !important;
    text-align: left !important;
    text-indent: 0 !important;
    filter: none !important;
    transform: none !important;
}

#elementor-popup-modal-1085 .elementor-field-group-phone .iti__dropdown-content .iti__country-list,
#elementor-popup-modal-1085 .blanos-phone-field .iti__dropdown-content .iti__country-list {
    position: relative !important;
    inset: auto !important;
    z-index: auto !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: 280px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background: #fff !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

#elementor-popup-modal-1085 .elementor-field-group-phone .iti__country-list,
#elementor-popup-modal-1085 .blanos-phone-field .iti__country-list {
    z-index: 99999999 !important;
    max-width: min(370px, calc(100vw - 32px)) !important;
    max-height: 280px !important;
    border: 1px solid #d9c0ef !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 45px rgba(50, 0, 80, 0.22) !important;
}

#elementor-popup-modal-1085 .iti__country-list .iti__country,
#elementor-popup-modal-1085 .iti__country-list .iti__country * {
    filter: none !important;
    -webkit-filter: none !important;
    transform: none !important;
    opacity: 1 !important;
    text-shadow: none !important;
}

#elementor-popup-modal-1085 .iti__country-list .iti__country {
    min-height: 42px !important;
    padding: 8px 12px !important;
    box-sizing: border-box !important;
    color: #3f3446 !important;
    background: #fff !important;
}

#elementor-popup-modal-1085 .iti__country-list .iti__country:hover,
#elementor-popup-modal-1085 .iti__country-list .iti__country.iti__highlight {
    color: #3f3446 !important;
    background-color: #f4eef9 !important;
    background-image: none !important;
}

#elementor-popup-modal-1085 .blanos-phone-helper {
    width: 100% !important;
    margin-top: 6px !important;
    color: #6a4a78 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    opacity: 0.82;
}

#elementor-popup-modal-1085 .elementor-field-group-phone .elementor-message-danger,
#elementor-popup-modal-1085 .elementor-field-group-phone .elementor-error,
#elementor-popup-modal-1085 .elementor-field-group-phone .elementor-field-error,
#elementor-popup-modal-1085 .blanos-phone-field .elementor-message-danger,
#elementor-popup-modal-1085 .blanos-phone-field .elementor-error,
#elementor-popup-modal-1085 .blanos-phone-field .elementor-field-error {
    display: none !important;
}

#elementor-popup-modal-1085 .elementor-field-group-party_date {
    position: relative !important;
}

#elementor-popup-modal-1085 input[name="form_fields[party_date]"] {
    padding-right: 46px !important;
    cursor: pointer;
}

#elementor-popup-modal-1085 .elementor-field-group-party_date::after {
    content: "▦" !important;
    position: absolute !important;
    right: 17px !important;
    top: 45px !important;
    color: #6f13b3 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    pointer-events: none !important;
}

.blanos-date-rule-note {
    width: 100%;
    margin-top: 7px;
    color: #6a4a78;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
}

.blanos-party-picker,
.blanos-corporate-picker {
    --blanos-progress: 0%;
    --thumb-size: 26px;
    width: min(100%, 680px);
    margin: 22px auto 28px;
    padding: 24px 32px;
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid #e4d0f7;
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(87, 0, 173, 0.10), 0 0 18px rgba(133, 39, 210, 0.05);
    text-align: center;
}

.blanos-party-picker__title,
.blanos-corporate-picker__title {
    margin-bottom: 10px;
    color: #3f007f;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.35;
}

.blanos-party-picker__base,
.blanos-corporate-picker__base {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 auto 20px;
    padding: 10px 24px;
    color: #ffffff;
    background: linear-gradient(135deg, #8a20d5, #5900ad);
    border-radius: 999px;
    box-shadow: 0 9px 22px rgba(87, 0, 173, 0.21), 0 0 18px rgba(133, 39, 210, 0.10);
    font-size: 16px;
    line-height: 1.25;
}

.blanos-party-picker__base strong,
.blanos-corporate-picker__base strong {
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
}

.blanos-party-range-shell,
.blanos-corporate-range-shell {
    width: min(100%, 580px);
    margin: 0 auto;
    position: relative;
    box-sizing: border-box;
}

.blanos-party-range-title {
    margin: 0 auto 8px;
    color: #3f007f;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.25;
    text-align: center;
}

.blanos-party-picker__total {
    margin: 12px auto 0;
    color: #352d3b;
    font-size: 14px;
    line-height: 1.35;
    text-align: center;
}

.blanos-party-picker__total strong {
    color: #3f007f;
    font-weight: 900;
}

/* v1.9.01: restored from the old pasted-in static markup (see ensurePartyPickersAreCurrent in
   the JS) — a hint shown before a size is picked, telling the visitor the offers below only
   appear once they've used the slider/typed a number. Hidden automatically once ready. */
.blanos-slider-required-message {
    margin: 10px auto 0;
    color: #5900ad;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}

.blanos-slider-required-message[hidden] {
    display: none;
}

.blanos-corporate-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 240px);
    gap: 18px;
    align-items: end;
    width: min(100%, 640px);
    margin: 0 auto;
}

.blanos-corporate-custom-wrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 7px;
    text-align: left;
}

.blanos-corporate-custom-label {
    color: #4b3659;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.blanos-corporate-custom-count {
    width: 100% !important;
    height: 44px !important;
    padding: 10px 14px !important;
    border: 1px solid #d8baf3 !important;
    border-radius: 12px !important;
    background: #fbf8ff !important;
    color: #3f007f !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-align: center !important;
    outline: none !important;
    box-shadow: 0 7px 18px rgba(89, 0, 173, 0.07) !important;
}

.blanos-corporate-custom-count:focus {
    border-color: #7c34bc !important;
    box-shadow: 0 0 0 3px rgba(124, 52, 188, 0.12), 0 10px 22px rgba(89, 0, 173, 0.12) !important;
}

/* v1.8.51: added a typed custom-count input for the kids/party slider, mirroring the corporate
   one above exactly — it existed for corporate but not for kids, so there was previously no way
   to type an exact number for a party, only drag the slider or click a preset label. */
.blanos-party-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(160px, 200px);
    gap: 18px;
    align-items: end;
    width: min(100%, 640px);
    margin: 0 auto;
}

.blanos-party-custom-wrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 7px;
    text-align: left;
}

.blanos-party-custom-label {
    color: #4b3659;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.blanos-party-custom-count {
    width: 100% !important;
    height: 44px !important;
    padding: 10px 14px !important;
    border: 1px solid #d8baf3 !important;
    border-radius: 12px !important;
    background: #fbf8ff !important;
    color: #3f007f !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-align: center !important;
    outline: none !important;
    box-shadow: 0 7px 18px rgba(89, 0, 173, 0.07) !important;
}

.blanos-party-custom-count:focus {
    border-color: #7c34bc !important;
    box-shadow: 0 0 0 3px rgba(124, 52, 188, 0.12), 0 10px 22px rgba(89, 0, 173, 0.12) !important;
}

/* v1.9.00: max-exceeded notice for the custom party-size field. Same palette as the existing
   form error box (.blanos-form-error-box) elsewhere in this popup, just scaled down to sit
   under a single field instead of a whole form. */
.blanos-party-custom-message {
    margin-top: 7px;
    padding: 8px 10px;
    background: #fff1f5;
    border: 1px solid #f3b6c7;
    border-left: 3px solid #d72664;
    border-radius: 8px;
    color: #7a1331;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
}

.blanos-party-custom-message[hidden] {
    display: none;
}

.blanos-party-range,
.blanos-corporate-range {
    width: 100%;
    height: var(--thumb-size);
    margin: 0;
    padding: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: 0;
    outline: 0;
    cursor: pointer;
}

.blanos-party-range::-webkit-slider-runnable-track,
.blanos-corporate-range::-webkit-slider-runnable-track {
    width: 100%;
    height: 7px;
    background: linear-gradient(to right, #5900ad 0%, #5900ad var(--blanos-progress), #ebe5ef var(--blanos-progress), #ebe5ef 100%);
    border-radius: 999px;
}

.blanos-party-range::-webkit-slider-thumb,
.blanos-corporate-range::-webkit-slider-thumb {
    width: var(--thumb-size);
    height: var(--thumb-size);
    margin-top: -9.5px;
    appearance: none;
    -webkit-appearance: none;
    background: linear-gradient(135deg, #8a20d5, #5900ad);
    border: 4px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(87, 0, 173, 0.35), 0 0 0 1px rgba(87, 0, 173, 0.18);
    cursor: grab;
}

.blanos-party-range::-moz-range-track,
.blanos-corporate-range::-moz-range-track {
    width: 100%;
    height: 7px;
    background: #ebe5ef;
    border-radius: 999px;
}

.blanos-party-range::-moz-range-progress,
.blanos-corporate-range::-moz-range-progress {
    height: 7px;
    background: #5900ad;
    border-radius: 999px;
}

.blanos-party-range::-moz-range-thumb,
.blanos-corporate-range::-moz-range-thumb {
    width: 18px;
    height: 18px;
    background: linear-gradient(135deg, #8a20d5, #5900ad);
    border: 4px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(87, 0, 173, 0.35);
    cursor: grab;
}

.blanos-party-range-labels,
.blanos-corporate-range-labels {
    position: relative;
    height: 42px;
    margin: 8px calc(var(--thumb-size) / 2) 0;
    padding: 0;
}

.blanos-range-label,
.blanos-corporate-label {
    position: absolute;
    top: 0;
    left: var(--label-position);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 32px;
    padding: 0 7px;
    transform: translateX(-50%);
    color: #2f2836;
    background: transparent;
    border: 0;
    border-radius: 999px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.blanos-range-label:hover,
.blanos-corporate-label:hover {
    color: #5900ad;
}

.blanos-range-label.is-active,
.blanos-corporate-label.is-active {
    color: #ffffff;
    background: linear-gradient(135deg, #8a20d5, #5900ad);
    box-shadow: 0 7px 16px rgba(87, 0, 173, 0.30), 0 0 0 3px rgba(87, 0, 173, 0.08);
    transform: translateX(-50%) translateY(-1px);
}

.blanos-extra-persons {
    display: grid;
    gap: 10px;
    width: min(100%, 500px);
    margin: 22px auto 0;
}

.blanos-extra-person-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 13px 18px;
    background: #f8f3fd;
    border: 1px solid #eadcf7;
    border-radius: 14px;
}

.blanos-extra-person-row__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #3f007f;
    text-align: left;
}

.blanos-extra-person-row__text strong {
    color: #3f007f;
    font-size: 14px;
    font-weight: 750;
}

.blanos-extra-person-row__text span {
    margin-top: 2px;
    color: #746d7a;
    font-size: 11px;
}

.blanos-extra-stepper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex: 0 0 auto;
    min-width: 118px;
    height: 40px;
    background: #ffffff;
    border: 1px solid #d8baf3;
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(87, 0, 173, 0.08);
}

.blanos-extra-stepper button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 39px;
    height: 39px;
    padding: 0;
    color: #5900ad;
    background: transparent;
    border: 0;
    font-family: inherit;
    font-size: 22px;
    font-weight: 600;
    cursor: pointer;
}

.blanos-extra-stepper button:hover:not(:disabled) {
    color: #ffffff;
    background: #5900ad;
}

.blanos-extra-stepper button:disabled {
    color: #b9b1be;
    opacity: 0.55;
    cursor: not-allowed;
}

.party-extra-children,
.party-extra-adults {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    color: #3f007f;
    font-size: 16px;
    font-weight: 800;
}

/* v1.8.49: this has always been a real, working <input type="number"> (typing already worked),
   but border:0 + transparent background made it visually identical to plain bold label text —
   nothing hinted it was clickable/typeable, so it read as a static number next to the +/-
   buttons. Added a subtle rest-state border/background plus a clear focus highlight so it
   reads as an actual field instead. */
.party-extra-children-input,
.party-extra-adults-input {
    width: 48px !important;
    min-width: 48px !important;
    height: 32px !important;
    padding: 0 4px !important;
    color: #3f007f !important;
    background: #f6f0fd !important;
    border: 1px solid #d8baf3 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    outline: 0 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    cursor: text !important;
    -moz-appearance: textfield;
}

.party-extra-children-input:hover:not(:disabled),
.party-extra-adults-input:hover:not(:disabled) {
    border-color: #a166e0 !important;
}

.party-extra-children-input:focus,
.party-extra-adults-input:focus {
    background: #ffffff !important;
    border-color: #5900ad !important;
    box-shadow: 0 0 0 3px rgba(89, 0, 173, 0.15) !important;
}

.party-extra-children-input:disabled,
.party-extra-adults-input:disabled {
    background: transparent !important;
    border-color: transparent !important;
    cursor: not-allowed !important;
}

.party-extra-children-input::-webkit-outer-spin-button,
.party-extra-children-input::-webkit-inner-spin-button,
.party-extra-adults-input::-webkit-outer-spin-button,
.party-extra-adults-input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.party-booking-button.is-slider-locked,
.corporate-booking-button.is-slider-locked {
    opacity: 0.42 !important;
    filter: grayscale(0.8);
    cursor: not-allowed !important;
}

.party-booking-button .elementor-button,
.corporate-booking-button .elementor-button,
.blanos-booking-selector button.party-booking-button,
.blanos-booking-selector button.corporate-booking-button {
    position: relative !important;
    overflow: hidden !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease, background 0.22s ease, opacity 0.22s ease !important;
}

.party-booking-button:not(.is-slider-locked) .elementor-button:hover,
.corporate-booking-button:not(.is-slider-locked) .elementor-button:hover,
.blanos-booking-selector button.party-booking-button:not(.is-slider-locked):hover,
.blanos-booking-selector button.corporate-booking-button:not(.is-slider-locked):hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 32px rgba(89, 0, 173, 0.28) !important;
}

.party-booking-button .elementor-button::after,
.corporate-booking-button .elementor-button::after,
.blanos-booking-selector button.party-booking-button::after,
.blanos-booking-selector button.corporate-booking-button::after {
    content: "";
    position: absolute;
    top: 0;
    left: -130%;
    width: 70%;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 0%, rgba(255, 255, 255, 0.36) 50%, transparent 100%);
    transform: skewX(-20deg);
}

.party-booking-button:not(.is-slider-locked) .elementor-button:hover::after,
.corporate-booking-button:not(.is-slider-locked) .elementor-button:hover::after,
.blanos-booking-selector button.party-booking-button:not(.is-slider-locked):hover::after,
.blanos-booking-selector button.corporate-booking-button:not(.is-slider-locked):hover::after {
    animation: blanos-button-shine 0.8s ease;
}

@keyframes blanos-button-shine {
    0% { left: -130%; }
    100% { left: 130%; }
}

.party-price-box,
.corporate-price-box {
    position: relative;
    overflow: hidden;
    transform-origin: center;
}

.party-price-box::after,
.corporate-price-box::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 20%, rgba(255, 255, 255, 0.42) 50%, transparent 80%);
    opacity: 0;
    transform: translateX(-130%);
}

.party-price-box.price-is-changing,
.corporate-price-box.price-is-changing {
    animation: blanos-price-update 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.party-price-box.price-is-changing::after,
.corporate-price-box.price-is-changing::after {
    animation: blanos-price-shine 0.65s ease-out;
}

@keyframes blanos-price-update {
    0% { transform: translateY(0) scale(1); }
    32% { transform: translateY(-4px) scale(1.08); }
    62% { transform: translateY(1px) scale(0.985); }
    100% { transform: translateY(0) scale(1); }
}

@keyframes blanos-price-shine {
    0% { opacity: 0; transform: translateX(-130%); }
    20% { opacity: 1; }
    100% { opacity: 0; transform: translateX(130%); }
}

.corporate-price-box {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.blanos-booking-selector {
    width: 100%;
    margin-top: 22px;
}

.blanos-booking-selector__switch,
.blanos-selector-day-tabs {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 0 0 22px;
}

.blanos-booking-selector__tab,
.blanos-selector-day-tab {
    padding: 12px 22px;
    border: 1px solid #dac1f2;
    border-radius: 999px;
    background: #f3edf8;
    color: #5900ad;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
}

.blanos-booking-selector__tab.is-active,
.blanos-selector-day-tab.is-active {
    color: #ffffff;
    background: linear-gradient(135deg, #8a20d5, #5900ad);
    border-color: transparent;
    box-shadow: 0 10px 24px rgba(89, 0, 173, 0.2);
}

.blanos-selector-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 22px;
}

/* v1.8.30: the "prive party" card is now built through our own JS template (same technique as
   the corporate card) instead of cloned wholesale, specifically so it can share the corporate
   card's exact size/proportions below, rather than reproducing the source widget's own
   (page-scoped, non-transferable) layout. See .blanos-selector-prive below. */

/* v1.8.28: same wholesale-clone convention as the prive party card above, for the kids-party
   and corporate food menu cards (classes .kids-food-menu / .corporate-food-menu).
   v1.8.32: replaced the guessed white/bordered look with the actual measured values from the
   source pages — the real card has no solid background or border, just a soft purple shadow
   (its background lives on the page behind it, not the card itself), 22px radius, and its own
   heading/icon/button colors that (like every other card here) don't survive being cloned. */
.blanos-selector-kids-food-menu,
.blanos-selector-corporate-food-menu {
    width: 100%;
    margin-top: 22px;
    /* The row/stack and button-row/column breakpoints below key off this card's own rendered
       width (not the viewport), since that's what actually determines whether there's room —
       the popup can be embedded at very different widths depending on the page/viewport. */
    container-type: inline-size;
}

.blanos-selector-kids-food-menu .kids-food-menu,
.blanos-selector-corporate-food-menu .corporate-food-menu {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    background:
        radial-gradient(circle at 12% 50%, rgba(108, 47, 242, 0.1) 0%, rgba(108, 47, 242, 0) 28%),
        linear-gradient(#ffffff 0%, #fbf8ff 100%) !important;
    /* The source page's shadow/border are this subtle because the card sits on a page
       background with its own contrast; the popup's backdrop is plain white behind it, so the
       exact same values left the card looking like un-contained floating content instead of a
       card. Added a visible border and a stronger shadow so it reads as a card here specifically. */
    border: 1px solid rgba(108, 47, 242, 0.14) !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 35px rgba(108, 47, 242, 0.22) !important;
    padding: 32px 20px !important;
}

.blanos-selector-kids-food-menu h1,
.blanos-selector-kids-food-menu h2,
.blanos-selector-kids-food-menu h3,
.blanos-selector-kids-food-menu h4,
.blanos-selector-kids-food-menu h5,
.blanos-selector-kids-food-menu h6,
.blanos-selector-corporate-food-menu h1,
.blanos-selector-corporate-food-menu h2,
.blanos-selector-corporate-food-menu h3,
.blanos-selector-corporate-food-menu h4,
.blanos-selector-corporate-food-menu h5,
.blanos-selector-corporate-food-menu h6 {
    color: #620cf2 !important;
    -webkit-text-fill-color: #620cf2 !important;
    font-size: 20px !important;
    font-weight: 800 !important;
}

.blanos-selector-kids-food-menu .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
.blanos-selector-corporate-food-menu .elementor-widget-heading:nth-of-type(2) .elementor-heading-title {
    color: #2a2a2a !important;
    -webkit-text-fill-color: #2a2a2a !important;
    font-size: 26px !important;
    font-weight: 600 !important;
    /* Forces this text's min-content size up to its full single-line width, so the row below
       can't quietly shrink it into wrapping — the row has to run out of room for the *buttons*
       first instead. Released again at the narrowest tier further down, once there's no longer
       enough room for the icon and this text even by themselves. */
    white-space: nowrap !important;
}

/* On the source page's desktop layout the whole card is one row — an icon+text group on the
   left, then the two "view menu" buttons pinned to the right via justify-content: space-between.
   Matches a container whose children include (at any depth) both the icon and the buttons, which
   within a single card only ever identifies this one outer row. */
.blanos-selector-kids-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button),
.blanos-selector-corporate-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
}

/* v1.8.39: the icon and the text actually share ONE wrapper on the source page (confirmed
   against the real Elementor element tree) — they are NOT two separate siblings of the button
   group directly under the row above, which is what every rule below this comment used to
   assume. Because of that, the icon-column and text-column rules that used to live here never
   matched anything at all (verified directly against the real markup), so none of their sizing
   or shrink-protection was ever actually applied, and the icon+text group's own internal layout
   was left to Elementor's blanket --flex-direction default of "column" (see the --display note
   further below) instead of the "row" the source page actually uses — meaning the icon could
   render above the text instead of beside it. Restoring flex-direction here fixes that, and
   flex: 1 1 0% makes this group the one that absorbs the row's leftover width next to the
   button group (whose own rule, unchanged in spirit, now lives one level shallower below). */
.blanos-selector-kids-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button) > .e-con:has(.elementor-widget-icon),
.blanos-selector-corporate-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button) > .e-con:has(.elementor-widget-icon) {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
    flex: 1 1 0% !important;
    width: auto !important;
    min-width: 0 !important;
}

/* Icon wrapper, now correctly targeted one level inside the icon+text group: fixed size, never
   grows or shrinks. */
.blanos-selector-kids-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button) > .e-con:has(.elementor-widget-icon) > .e-con:has(> .e-con > .elementor-widget-icon),
.blanos-selector-corporate-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button) > .e-con:has(.elementor-widget-icon) > .e-con:has(> .e-con > .elementor-widget-icon) {
    flex: 0 0 auto !important;
}

/* Text wrapper, also now one level deeper: absorbs the icon+text group's leftover width.
   flex-basis: 0% (not "auto") deliberately — Elementor's own container CSS resolves an "auto"
   basis from this element's own width custom properties (meant for a completely different
   purpose) rather than its content, which made this column collapse to near-0. No "min-width: 0"
   here — a flex item's default min-width is its min-content size, which for this column is the
   heading's full nowrap width (set above via white-space: nowrap), so the browser won't shrink
   it below one line; that's what makes the *buttons* the thing that gives way first below. */
.blanos-selector-kids-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button) > .e-con:has(.elementor-widget-icon) > .e-con:not(:has(.elementor-widget-icon)),
.blanos-selector-corporate-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button) > .e-con:has(.elementor-widget-icon) > .e-con:not(:has(.elementor-widget-icon)) {
    flex: 1 1 0% !important;
    width: auto !important;
}

/* Button group: sized to its own two buttons' natural width, same reasoning as before, just
   correctly scoped now — never shrinks (shrinking would force a button's own label onto a
   second line). */
.blanos-selector-kids-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button) > .e-con:has(.elementor-widget-button),
.blanos-selector-corporate-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button) > .e-con:has(.elementor-widget-button) {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: max-content !important;
}

/* Squeeze tier 2: once the card is too narrow for the icon+text group and the (still natural-
   width) button pair to comfortably sit side by side, cap the button group's own width instead
   of letting it keep sizing to its full natural content. This doesn't shrink either button —
   they still render at full size — it just gives their own row too little room to hold both, so
   that row's flex-wrap (further below, unchanged) drops the second button onto its own line
   underneath the first, both still to the right of the icon/text. */
@container (max-width: 750px) {
    .blanos-selector-kids-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button) > .e-con:has(.elementor-widget-button),
    .blanos-selector-corporate-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button) > .e-con:has(.elementor-widget-button) {
        flex: 0 0 40% !important;
        width: 40% !important;
        max-width: 40% !important;
    }
}

/* Squeeze tier 3: once even the icon+text group alone needs the full card width, drop the
   button pair underneath it entirely instead of squeezing them into a slim right-hand column —
   and since they're back on their own full-width line, let them sit side by side again instead
   of staying stacked. */
@container (max-width: 420px) {
    .blanos-selector-kids-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button),
    .blanos-selector-corporate-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button) {
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
    }

    .blanos-selector-kids-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button) > .e-con:has(.elementor-widget-icon),
    .blanos-selector-corporate-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button) > .e-con:has(.elementor-widget-icon) {
        width: 100% !important;
        min-width: 100% !important;
    }

    .blanos-selector-kids-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button) > .e-con:has(.elementor-widget-button),
    .blanos-selector-corporate-food-menu .e-con:has(> .e-con .elementor-widget-icon):has(> .e-con .elementor-widget-button) > .e-con:has(.elementor-widget-button) {
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Last-resort safety net: only if the card is so narrow that even the icon and the (still
   nowrap) text can't fit side by side by themselves — at this point the button group already
   has the full card width below it (tier 3 above), so this can only trigger on a genuinely tiny
   card. Releasing nowrap here only permits wrapping if it's still needed; it doesn't force it. */
@container (max-width: 340px) {
    .blanos-selector-kids-food-menu .elementor-widget-heading:nth-of-type(2) .elementor-heading-title,
    .blanos-selector-corporate-food-menu .elementor-widget-heading:nth-of-type(2) .elementor-heading-title {
        white-space: normal !important;
    }
}

/* The circular badge behind the icon isn't the icon widget itself — it's the widget's
   grandparent container (widget -> plain wrapper -> the actual circle), so target it
   structurally the same way as the button row below, rather than by a specific element ID. */
.blanos-selector-kids-food-menu .e-con:has(> .e-con > .elementor-widget-icon),
.blanos-selector-corporate-food-menu .e-con:has(> .e-con > .elementor-widget-icon) {
    background: #f1e8ff !important;
    border-radius: 100px !important;
    width: 96px !important;
    height: 96px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.blanos-selector-kids-food-menu .elementor-button,
.blanos-selector-corporate-food-menu .elementor-button {
    background: #6c2ff2 !important;
    color: #ffffff !important;
    border: 1px solid #ffffff !important;
    border-radius: 999px !important;
    padding: 12px 24px !important;
    white-space: nowrap !important;
}

/* The two "view menu" buttons sit side by side on the source page (a row container whose two
   direct children are each a button widget directly, with no intermediate wrapper — unlike the
   icon, which sits two levels down from its own circular wrapper) — same page-scoped layout loss
   as the included cards' icon-list rows, fixed the same structural way. Only the first button is
   solid purple; any further ones (kids has two, corporate has one) are the white/outline style —
   using sibling position here instead of :first-of-type, since each button is the only <a> among
   its own siblings at the widget level and would trivially match :first-of-type either way. */
.blanos-selector-kids-food-menu .e-con:has(> .elementor-widget-button),
.blanos-selector-corporate-food-menu .e-con:has(> .elementor-widget-button) {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}

/* Buttons must never shrink below their natural content width — shrinking (previously done here
   via flex:1 1 0%/min-width:0 to squeeze both into the 35% column) forces the button's own text
   to wrap onto a second line, which looks broken. Buttons keep their real size at all times; if
   the pair doesn't fit at natural width, "flex-wrap: wrap" above already drops the second one
   onto its own line (stacked) instead of compressing either one. */
.blanos-selector-kids-food-menu .e-con:has(> .elementor-widget-button) > .elementor-widget-button,
.blanos-selector-corporate-food-menu .e-con:has(> .elementor-widget-button) > .elementor-widget-button {
    flex: 0 0 auto !important;
}

.blanos-selector-kids-food-menu .e-con:has(> .elementor-widget-button) > .elementor-widget-button:not(:first-child) .elementor-button,
.blanos-selector-corporate-food-menu .e-con:has(> .elementor-widget-button) > .elementor-widget-button:not(:first-child) .elementor-button {
    background: #ffffff !important;
    color: #620cf2 !important;
    border: 1px solid #620cf2 !important;
}

/* v1.8.29: root cause of the food menu cards rendering broken (huge blank space). Elementor's
   own base CSS is `.e-con, .e-con > .e-con-inner { display: var(--display); }` with no
   fallback — every "e-con e-flex" container inside these wholesale-cloned widgets relies on a
   page-scoped rule (e.g. ".elementor-10 .elementor-element-xxx { --display: flex; ... }") to
   supply that variable, which doesn't carry over once cloned. An unset custom property makes
   `var()` invalid, and for a non-inherited property like `display` that resets to its CSS-spec
   initial value — "inline", not the div's normal "block" — collapsing every nested container at
   once. Restoring just `--display: flex` lets Elementor's existing rules do the rest correctly,
   since `--flex-direction` already defaults to "column" unconditionally (not page-scoped), which
   is what these vertically-stacked cards need. (The prive party card no longer needs this as of
   1.8.30 — it's built from a template now, not cloned wholesale.) */
.blanos-selector-kids-food-menu .e-con.e-flex,
.blanos-selector-corporate-food-menu .e-con.e-flex {
    --display: flex !important;
}

.blanos-booking-selector .blanos-selector-card.party-configurator-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
}

.blanos-booking-selector .blanos-selector-card.party-configurator-card .elementor-widget-wrap,
.blanos-booking-selector .blanos-selector-card.party-configurator-card .elementor-widget-container,
.blanos-booking-selector .blanos-selector-card.party-configurator-card .e-con-inner,
.blanos-booking-selector .blanos-selector-card.party-configurator-card .e-con {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.blanos-booking-selector .blanos-selector-card.party-configurator-card .party-booking-button,
.blanos-booking-selector .blanos-selector-card.party-configurator-card .party-booking-button .elementor-button {
    pointer-events: auto !important;
}


.blanos-selector-card {
    position: relative;
    padding: 24px;
    background: #ffffff;
    border: 1px solid rgba(108, 47, 242, 0.12);
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}

.blanos-selector-card h3 {
    margin: 0 0 8px;
    color: #3f007f;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.2;
}

.blanos-selector-card p {
    margin: 0 0 14px;
    color: #5f5865;
    font-size: 14px;
    line-height: 1.5;
}


.blanos-selector-services {
    margin: 0 0 18px !important;
    color: #352d3b !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    text-align: left !important;
}

.blanos-selector-services p {
    margin: 0 0 10px !important;
    color: #352d3b !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.blanos-selector-services ul,
.blanos-selector-services ol {
    margin: 0 0 12px 20px !important;
    padding: 0 !important;
    color: #352d3b !important;
}

.blanos-selector-services li {
    margin: 0 0 6px !important;
    color: #352d3b !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.blanos-selector-services strong,
.blanos-selector-services b {
    color: #352d3b !important;
    font-weight: 800 !important;
}

.blanos-selector-included {
    margin-bottom: 14px !important;
}

.blanos-selector-price {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
    margin: 10px 0 18px;
    padding: 12px 20px;
    color: #ffffff;
    background: linear-gradient(180deg, #7d28c7, #4c008d);
    border-radius: 18px;
    box-shadow: 0 14px 28px rgba(89, 0, 173, 0.24);
    font-weight: 900;
    text-align: center;
}

.blanos-selector-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px 22px;
    color: #ffffff !important;
    background: #4b008f;
    border: 0;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    text-decoration: none !important;
}

.blanos-selector-button:hover {
    background: #6d00ce;
}

.blanos-tabs-helper {
    width: 100%;
    margin: 0 auto 12px;
    color: #5f5269;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    line-height: 1.45;
}

.blanos-main-event-tabs > .blanos-tabs-helper,
.blanos-day-sub-tabs > .blanos-tabs-helper,
.party-package-tabs .e-n-tabs > .blanos-tabs-helper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 11px !important;
    width: fit-content !important;
    max-width: calc(100% - 24px) !important;
    margin: 0 auto 18px !important;
    padding: 12px 18px !important;
    background: #ffffff !important;
    border: 1px dashed #caaee8 !important;
    border-left: 5px solid #7c34bc !important;
    border-radius: 14px !important;
    color: #4b3659 !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    box-shadow: 0 10px 24px rgba(89, 0, 173, 0.07) !important;
}

.blanos-main-event-tabs > .blanos-tabs-helper::before,
.blanos-day-sub-tabs > .blanos-tabs-helper::before,
.party-package-tabs .e-n-tabs > .blanos-tabs-helper::before {
    content: attr(data-step);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 9px;
    background: #f2e7fb;
    color: #5900ad;
    border: 1px solid #dcc4f1;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.blanos-main-event-tabs > .blanos-tabs-helper::after,
.blanos-day-sub-tabs > .blanos-tabs-helper::after,
.party-package-tabs .e-n-tabs > .blanos-tabs-helper::after {
    content: "↓";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #7900df;
    font-size: 18px;
    font-weight: 900;
}

.blanos-event-tabs .blanos-main-event-tabs > .e-n-tabs-heading,
.blanos-event-tabs .blanos-day-sub-tabs > .e-n-tabs-heading,
.party-package-tabs .e-n-tabs > .e-n-tabs-heading {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 34px !important;
    padding: 18px 14px !important;
    background: #faf8fc !important;
    border: 1px solid #eadcf7 !important;
    border-radius: 22px !important;
    box-sizing: border-box !important;
}

.blanos-event-tabs .blanos-main-event-tabs > .e-n-tabs-heading {
    margin-bottom: 42px !important;
}

.blanos-event-tabs .blanos-main-event-tabs > .e-n-tabs-heading > .e-n-tab-title,
.blanos-event-tabs .blanos-day-sub-tabs > .e-n-tabs-heading > .e-n-tab-title,
.party-package-tabs .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 190px !important;
    min-height: 56px !important;
    padding: 15px 24px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #ffffff 0%, #f6effd 100%) !important;
    color: #4b008f !important;
    border: 4px solid #8f22eb !important;
    box-shadow: 0 0 0 3px rgba(143, 34, 235, 0.16), 0 10px 22px rgba(43, 0, 76, 0.13) !important;
    font-size: 16px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: all 0.22s ease !important;
}

.blanos-event-tabs .blanos-day-sub-tabs > .e-n-tabs-heading > .e-n-tab-title,
.party-package-tabs .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title {
    min-width: 165px !important;
}

.blanos-event-tabs .blanos-main-event-tabs > .e-n-tabs-heading > .e-n-tab-title:hover,
.blanos-event-tabs .blanos-day-sub-tabs > .e-n-tabs-heading > .e-n-tab-title:hover,
.party-package-tabs .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title:hover {
    transform: translateY(-2px) !important;
    background: #f7effd !important;
    border-color: #5900ad !important;
    box-shadow: 0 0 0 4px rgba(143, 34, 235, 0.24), 0 14px 28px rgba(89, 0, 173, 0.2) !important;
}

.blanos-event-tabs .blanos-main-event-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
.blanos-event-tabs .blanos-main-event-tabs > .e-n-tabs-heading > .e-n-tab-title.e-active,
.blanos-event-tabs .blanos-day-sub-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
.blanos-event-tabs .blanos-day-sub-tabs > .e-n-tabs-heading > .e-n-tab-title.e-active,
.party-package-tabs .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
.party-package-tabs .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title.e-active {
    background: linear-gradient(135deg, #7c34bc 0%, #6730ad 100%) !important;
    color: #ffffff !important;
    border-color: transparent !important;
    box-shadow: 0 16px 32px rgba(89, 0, 173, 0.24) !important;
}

.blanos-tabs-unselected > .e-n-tabs-content {
    display: none !important;
}

.blanos-tabs-unselected > .e-n-tabs-heading > .e-n-tab-title,
.blanos-tabs-unselected > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
.blanos-tabs-unselected > .e-n-tabs-heading > .e-n-tab-title.e-active {
    background: linear-gradient(135deg, #ffffff 0%, #f6effd 100%) !important;
    color: #4b008f !important;
    border-color: #8f22eb !important;
    box-shadow: 0 0 0 3px rgba(143, 34, 235, 0.16), 0 10px 22px rgba(43, 0, 76, 0.13) !important;
}

.blanos-tabs-unselected > .e-n-tabs-heading > .e-n-tab-title {
    animation: blanos-tab-nudge 1.8s ease-in-out infinite;
}

.blanos-tabs-unselected > .e-n-tabs-heading > .e-n-tab-title:nth-child(2) { animation-delay: 0.15s; }
.blanos-tabs-unselected > .e-n-tabs-heading > .e-n-tab-title:nth-child(3) { animation-delay: 0.3s; }

@keyframes blanos-tab-nudge {
    0%, 100% { transform: translateY(0); box-shadow: 0 0 0 3px rgba(143, 34, 235, 0.16), 0 10px 22px rgba(43, 0, 76, 0.13); }
    50% { transform: translateY(-4px); box-shadow: 0 0 0 6px rgba(143, 34, 235, 0.28), 0 18px 32px rgba(89, 0, 173, 0.25); }
}

/* Make an unanswered step unmistakable while the visitor is scrolling. */
.blanos-tabs-unselected > .e-n-tabs-heading {
    background: linear-gradient(135deg, #fcf7ff 0%, #f4e8ff 100%) !important;
    border: 3px solid #7c19d1 !important;
    box-shadow: 0 0 0 5px rgba(143, 34, 235, 0.12), 0 16px 34px rgba(89, 0, 173, 0.16) !important;
    animation: blanos-tab-group-pulse 2.4s ease-in-out infinite;
}

.blanos-tabs-unselected > .blanos-tabs-helper {
    background: #4b008f !important;
    border: 3px solid #8f22eb !important;
    border-left-width: 7px !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(143, 34, 235, 0.15), 0 12px 28px rgba(89, 0, 173, 0.22) !important;
}

.blanos-tabs-unselected > .blanos-tabs-helper::before {
    background: #ffffff !important;
    border: 2px solid #e1c4ff !important;
    color: #4b008f !important;
}

.blanos-tabs-unselected > .blanos-tabs-helper::after {
    color: #ffffff !important;
    animation: blanos-tab-arrow-bounce 1.1s ease-in-out infinite;
}

@keyframes blanos-tab-group-pulse {
    0%, 100% { box-shadow: 0 0 0 5px rgba(143, 34, 235, 0.12), 0 16px 34px rgba(89, 0, 173, 0.16); }
    50% { box-shadow: 0 0 0 9px rgba(143, 34, 235, 0.22), 0 20px 38px rgba(89, 0, 173, 0.24); }
}

@keyframes blanos-tab-arrow-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(3px); }
}

@media (prefers-reduced-motion: reduce) {
    .blanos-tabs-unselected > .e-n-tabs-heading,
    .blanos-tabs-unselected > .e-n-tabs-heading > .e-n-tab-title,
    .blanos-tabs-unselected > .blanos-tabs-helper::after {
        animation: none !important;
    }
}

.blanos-main-event-tabs:not(.blanos-tabs-unselected) > .e-n-tabs-heading > .e-n-tab-title,
.blanos-day-sub-tabs:not(.blanos-tabs-unselected) > .e-n-tabs-heading > .e-n-tab-title,
.party-package-tabs .e-n-tabs:not(.blanos-tabs-unselected) > .e-n-tabs-heading > .e-n-tab-title {
    animation: none !important;
}

.blanos-tab-content-animate {
    animation: blanos-tab-content-in 0.48s cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

@keyframes blanos-tab-content-in {
    0% { opacity: 0; transform: translateY(18px) scale(0.985); filter: blur(4px); }
    100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

.flatpickr-calendar.blanos-party-calendar {
    /* The popup locks body at a negative top offset. Flatpickr appends its
       calendar to body, so absolute positioning would move it off-screen. */
    position: fixed !important;
    width: 330px !important;
    padding: 0 !important;
    overflow: hidden;
    background: #ffffff !important;
    border: 1px solid rgba(89, 0, 173, 0.16) !important;
    border-radius: 18px !important;
    box-shadow: 0 22px 55px rgba(49, 0, 83, 0.24), 0 0 30px rgba(124, 35, 194, 0.12) !important;
    font-family: inherit !important;
    z-index: 10000000 !important;
}

/* Apply the positioning repair before the date configurator has had a chance
   to add its styling class (for example, on an immediate first click). */
body.blanos-popup-scroll-locked > .flatpickr-calendar {
    position: fixed !important;
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-months {
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 8px !important;
    background: linear-gradient(135deg, #8a20d5, #5900ad);
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-month {
    height: 58px !important;
    min-height: 58px !important;
    overflow: visible !important;
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-current-month,
.flatpickr-calendar.blanos-party-calendar .flatpickr-month,
.flatpickr-calendar.blanos-party-calendar .flatpickr-monthDropdown-months,
.flatpickr-calendar.blanos-party-calendar input.cur-year {
    color: #ffffff !important;
    fill: #ffffff !important;
    background: transparent !important;
    font-weight: 700;
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-prev-month svg,
.flatpickr-calendar.blanos-party-calendar .flatpickr-next-month svg {
    fill: #ffffff !important;
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-weekdays {
    height: 42px;
    padding: 5px 8px;
    background: #f5ebfc;
}

.flatpickr-calendar.blanos-party-calendar span.flatpickr-weekday {
    color: #5900ad !important;
    background: transparent !important;
    font-size: 12px;
    font-weight: 800;
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-days {
    width: 100% !important;
    padding: 9px 8px 12px;
}

.flatpickr-calendar.blanos-party-calendar .dayContainer {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-day {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: none !important;
    height: 39px;
    line-height: 39px;
    color: #352d3b;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    font-size: 13px;
    font-weight: 600;
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-day.selected {
    color: #ffffff !important;
    background: linear-gradient(135deg, #8a20d5, #5900ad) !important;
    border-color: #5900ad !important;
    box-shadow: 0 6px 15px rgba(89, 0, 173, 0.28);
    font-weight: 800;
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-day.flatpickr-disabled,
.flatpickr-calendar.blanos-party-calendar .flatpickr-day.flatpickr-disabled:hover {
    color: #bcb4c1 !important;
    background: transparent !important;
    border-color: transparent !important;
    opacity: 0.42;
    text-decoration: line-through;
    cursor: not-allowed !important;
}

/* v1.8.4: use a static, fully styled month heading instead of the browser's
   native select popup, which cannot be styled consistently. */
.flatpickr-calendar.blanos-party-calendar .flatpickr-current-month {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    top: 0 !important;
    gap: 8px !important;
    width: 100% !important;
    height: 58px !important;
    left: 0 !important;
    padding: 0 42px !important;
    color: #ffffff !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif !important;
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-current-month .cur-month,
.flatpickr-calendar.blanos-party-calendar .flatpickr-current-month input.cur-year,
.flatpickr-calendar.blanos-party-calendar .flatpickr-monthDropdown-months {
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-current-month .cur-month {
    display: inline-flex !important;
    align-items: center !important;
    height: 58px !important;
    white-space: nowrap !important;
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-current-month .numInputWrapper {
    flex: 0 0 70px !important;
    width: 70px !important;
    height: 58px !important;
    margin: 0 !important;
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-current-month input.cur-year {
    width: 100% !important;
    height: 58px !important;
    text-align: center !important;
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-current-month .numInputWrapper span,
.flatpickr-calendar.blanos-party-calendar .flatpickr-current-month .arrowUp,
.flatpickr-calendar.blanos-party-calendar .flatpickr-current-month .arrowDown {
    display: none !important;
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-monthDropdown-months option {
    color: #3f007f !important;
    -webkit-text-fill-color: #3f007f !important;
    background: #ffffff !important;
}

@media (max-width: 1024px) {
    .party-package-tabs .e-n-tabs {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .party-package-tabs .e-n-tabs > .e-n-tabs-heading { order: 1 !important; }
    .party-package-tabs .e-n-tabs > .e-n-tabs-content { order: 2 !important; width: 100% !important; max-width: 100% !important; }
    .blanos-corporate-controls { grid-template-columns: 1fr; }
    .blanos-party-controls { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
    #elementor-popup-modal-1085 { padding: 2vw !important; }

    #elementor-popup-modal-1085 .dialog-widget-content {
        width: 96vw !important;
        max-width: 96vw !important;
        height: 96dvh !important;
        max-height: 96dvh !important;
        border-radius: 17px !important;
    }

    #elementor-popup-modal-1085 .elementor-field-group-name,
    #elementor-popup-modal-1085 .elementor-field-group-phone,
    #elementor-popup-modal-1085 .blanos-name-field,
    #elementor-popup-modal-1085 .blanos-phone-field {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    .blanos-selector-cards { grid-template-columns: 1fr; }
    .blanos-party-picker, .blanos-corporate-picker { width: 100%; padding: 20px 18px; }
    .blanos-extra-person-row { gap: 12px; padding: 12px 14px; }

    .blanos-main-event-tabs > .blanos-tabs-helper,
    .blanos-day-sub-tabs > .blanos-tabs-helper,
    .party-package-tabs .e-n-tabs > .blanos-tabs-helper {
        width: 100% !important;
        max-width: 100% !important;
        flex-wrap: wrap !important;
        border-radius: 14px !important;
        font-size: 14px !important;
    }

    .blanos-event-tabs .blanos-main-event-tabs > .e-n-tabs-heading,
    .blanos-event-tabs .blanos-day-sub-tabs > .e-n-tabs-heading,
    .party-package-tabs .e-n-tabs > .e-n-tabs-heading {
        gap: 10px !important;
        padding: 14px 12px !important;
    }

    .blanos-event-tabs .blanos-main-event-tabs > .e-n-tabs-heading > .e-n-tab-title,
    .blanos-event-tabs .blanos-day-sub-tabs > .e-n-tabs-heading > .e-n-tab-title,
    .party-package-tabs .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 52px !important;
    }
}

/* v1.7.6: beat Elementor's later 680px popup rule. v1.8.26: same width cap, but dynamic. */
body #elementor-popup-modal-1085.elementor-popup-modal .dialog-widget-content {
    width: fit-content !important;
    min-width: min(480px, 92vw) !important;
    max-width: 60vw !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-price,
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-price .party-price-value,
.party-configurator-card:not(.blanos-selector-card) .party-price-box,
.party-configurator-card:not(.blanos-selector-card) .party-price-box *,
.corporate-event-card:not(.blanos-selector-card) .corporate-price-heading,
.corporate-event-card:not(.blanos-selector-card) .corporate-price-heading * {
    font-family: Montserrat, sans-serif !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    font-style: normal !important;
    font-stretch: 100% !important;
    line-height: 24px !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

@media (max-width: 767px) {
    body #elementor-popup-modal-1085.elementor-popup-modal .dialog-widget-content {
        width: 96vw !important;
        max-width: 96vw !important;
    }
}

@media (max-width: 430px) {
    .blanos-extra-person-row { align-items: flex-start; flex-direction: column; }
    .blanos-extra-stepper { align-self: stretch; width: 100%; }
    .blanos-extra-stepper button { flex: 1; }
}


@media (max-width: 767px) {
    .blanos-range-label,
    .blanos-corporate-label {
        min-width: 26px;
        height: 30px;
        padding: 0 4px;
        font-size: 11px;
    }

    .blanos-party-range-labels,
    .blanos-corporate-range-labels {
        height: 38px;
    }
}

/* Slider label hard override: prevent theme/Elementor button styles from adding red boxes */
.blanos-party-picker .blanos-range-label,
.blanos-corporate-picker .blanos-corporate-label,
.blanos-booking-selector .blanos-range-label,
.blanos-booking-selector .blanos-corporate-label {
    appearance: none !important;
    -webkit-appearance: none !important;
    position: absolute !important;
    top: 0 !important;
    left: var(--label-position) !important;
    transform: translateX(-50%) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 30px !important;
    height: 32px !important;
    margin: 0 !important;
    padding: 0 7px !important;
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: #2f2836 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.blanos-party-picker .blanos-range-label:hover,
.blanos-corporate-picker .blanos-corporate-label:hover,
.blanos-booking-selector .blanos-range-label:hover,
.blanos-booking-selector .blanos-corporate-label:hover,
.blanos-party-picker .blanos-range-label:focus,
.blanos-corporate-picker .blanos-corporate-label:focus,
.blanos-booking-selector .blanos-range-label:focus,
.blanos-booking-selector .blanos-corporate-label:focus {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    color: #5900ad !important;
}

.blanos-party-picker .blanos-range-label.is-active,
.blanos-corporate-picker .blanos-corporate-label.is-active,
.blanos-booking-selector .blanos-range-label.is-active,
.blanos-booking-selector .blanos-corporate-label.is-active,
.blanos-party-picker .blanos-range-label.is-active:hover,
.blanos-corporate-picker .blanos-corporate-label.is-active:hover,
.blanos-booking-selector .blanos-range-label.is-active:hover,
.blanos-booking-selector .blanos-corporate-label.is-active:hover,
.blanos-party-picker .blanos-range-label.is-active:focus,
.blanos-corporate-picker .blanos-corporate-label.is-active:focus,
.blanos-booking-selector .blanos-range-label.is-active:focus,
.blanos-booking-selector .blanos-corporate-label.is-active:focus {
    color: #ffffff !important;
    background: linear-gradient(135deg, #8a20d5, #5900ad) !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: 0 7px 16px rgba(87, 0, 173, 0.30), 0 0 0 3px rgba(87, 0, 173, 0.08) !important;
    transform: translateX(-50%) translateY(-1px) !important;
}

.blanos-party-range-labels,
.blanos-corporate-range-labels {
    overflow: visible !important;
}


/* v1.5.4: keep kids party prices white inside nested Elementor tabs */
.party-configurator-card .party-price-box,
.party-configurator-card .party-price-box *,
.party-configurator-card .party-price-value,
.party-configurator-card .party-price-value *,
.blanos-event-tabs .party-configurator-card .party-price-box,
.blanos-event-tabs .party-configurator-card .party-price-box *,
.blanos-event-tabs .party-configurator-card .party-price-value,
.blanos-event-tabs .party-configurator-card .party-price-value *,
.party-package-tabs .party-configurator-card .party-price-box,
.party-package-tabs .party-configurator-card .party-price-box *,
.party-package-tabs .party-configurator-card .party-price-value,
.party-package-tabs .party-configurator-card .party-price-value * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.party-configurator-card .party-price-box svg,
.party-configurator-card .party-price-value svg {
    fill: #ffffff !important;
    stroke: #ffffff !important;
}

/* v1.5.5: protect generated popup selector buttons/cards from Elementor/theme button styles */
#elementor-popup-modal-1085 .blanos-booking-selector button,
#elementor-popup-modal-1085 .blanos-booking-selector a,
.blanos-booking-selector button,
.blanos-booking-selector a {
    -webkit-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
    text-decoration: none !important;
    outline: 0 !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-booking-selector__tab,
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-day-tab,
.blanos-booking-selector .blanos-booking-selector__tab,
.blanos-booking-selector .blanos-selector-day-tab {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 12px 22px !important;
    margin: 0 !important;
    color: #5900ad !important;
    -webkit-text-fill-color: #5900ad !important;
    background: #f3edf8 !important;
    background-image: none !important;
    border: 3px solid #a05dd2 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: normal !important;
    cursor: pointer !important;
    opacity: 1 !important;
    filter: none !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-booking-selector__tab:hover,
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-day-tab:hover,
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-booking-selector__tab:focus,
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-day-tab:focus,
.blanos-booking-selector .blanos-booking-selector__tab:hover,
.blanos-booking-selector .blanos-selector-day-tab:hover,
.blanos-booking-selector .blanos-booking-selector__tab:focus,
.blanos-booking-selector .blanos-selector-day-tab:focus {
    color: #5900ad !important;
    -webkit-text-fill-color: #5900ad !important;
    background: #f7effd !important;
    background-image: none !important;
    border-color: #7c34bc !important;
    box-shadow: 0 10px 22px rgba(89, 0, 173, 0.12) !important;
    transform: translateY(-1px) !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-booking-selector__tab.is-active,
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-day-tab.is-active,
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-booking-selector__tab.is-active:hover,
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-day-tab.is-active:hover,
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-booking-selector__tab.is-active:focus,
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-day-tab.is-active:focus,
.blanos-booking-selector .blanos-booking-selector__tab.is-active,
.blanos-booking-selector .blanos-selector-day-tab.is-active,
.blanos-booking-selector .blanos-booking-selector__tab.is-active:hover,
.blanos-booking-selector .blanos-selector-day-tab.is-active:hover,
.blanos-booking-selector .blanos-booking-selector__tab.is-active:focus,
.blanos-booking-selector .blanos-selector-day-tab.is-active:focus {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: linear-gradient(135deg, #8a20d5, #5900ad) !important;
    border-color: #4b008f !important;
    box-shadow: 0 10px 24px rgba(89, 0, 173, 0.22) !important;
    transform: translateY(-1px) !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-booking-selector__tab:focus-visible,
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-day-tab:focus-visible,
.blanos-booking-selector .blanos-booking-selector__tab:focus-visible,
.blanos-booking-selector .blanos-selector-day-tab:focus-visible {
    outline: 3px solid #4b008f !important;
    outline-offset: 3px !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-button,
#elementor-popup-modal-1085 .blanos-booking-selector .party-booking-button,
#elementor-popup-modal-1085 .blanos-booking-selector .corporate-booking-button,
.blanos-booking-selector .blanos-selector-button,
.blanos-booking-selector .party-booking-button,
.blanos-booking-selector .corporate-booking-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 150px !important;
    min-height: 48px !important;
    padding: 13px 22px !important;
    margin: 0 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: linear-gradient(135deg, #6d00ce, #3f007f) !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: 0 14px 28px rgba(89, 0, 173, 0.24) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: normal !important;
    cursor: pointer !important;
    opacity: 1 !important;
    filter: none !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-button *,
#elementor-popup-modal-1085 .blanos-booking-selector .party-booking-button *,
#elementor-popup-modal-1085 .blanos-booking-selector .corporate-booking-button *,
.blanos-booking-selector .blanos-selector-button *,
.blanos-booking-selector .party-booking-button *,
.blanos-booking-selector .corporate-booking-button * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-button:hover,
#elementor-popup-modal-1085 .blanos-booking-selector .party-booking-button:hover,
#elementor-popup-modal-1085 .blanos-booking-selector .corporate-booking-button:hover,
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-button:focus,
#elementor-popup-modal-1085 .blanos-booking-selector .party-booking-button:focus,
#elementor-popup-modal-1085 .blanos-booking-selector .corporate-booking-button:focus,
.blanos-booking-selector .blanos-selector-button:hover,
.blanos-booking-selector .party-booking-button:hover,
.blanos-booking-selector .corporate-booking-button:hover,
.blanos-booking-selector .blanos-selector-button:focus,
.blanos-booking-selector .party-booking-button:focus,
.blanos-booking-selector .corporate-booking-button:focus {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background: linear-gradient(135deg, #8a20d5, #5900ad) !important;
    border: 0 !important;
    box-shadow: 0 18px 32px rgba(89, 0, 173, 0.30) !important;
    transform: translateY(-2px) !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-button.is-slider-locked,
#elementor-popup-modal-1085 .blanos-booking-selector .party-booking-button.is-slider-locked,
#elementor-popup-modal-1085 .blanos-booking-selector .corporate-booking-button.is-slider-locked,
.blanos-booking-selector .blanos-selector-button.is-slider-locked,
.blanos-booking-selector .party-booking-button.is-slider-locked,
.blanos-booking-selector .corporate-booking-button.is-slider-locked {
    opacity: 0.45 !important;
    filter: grayscale(0.8) !important;
    cursor: not-allowed !important;
}

/* v1.5.7: header popup selector step helpers */
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-step,
.blanos-booking-selector .blanos-selector-step {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 11px !important;
    width: fit-content !important;
    max-width: calc(100% - 24px) !important;
    margin: 0 auto 14px !important;
    padding: 12px 18px !important;
    background: #ffffff !important;
    border: 1px dashed #caaee8 !important;
    border-left: 5px solid #7c34bc !important;
    border-radius: 14px !important;
    color: #4b3659 !important;
    -webkit-text-fill-color: #4b3659 !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    box-shadow: 0 10px 24px rgba(89, 0, 173, 0.07) !important;
    box-sizing: border-box !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-step::before,
.blanos-booking-selector .blanos-selector-step::before {
    content: attr(data-step);
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 5px 9px !important;
    background: #f2e7fb !important;
    color: #5900ad !important;
    -webkit-text-fill-color: #5900ad !important;
    border: 1px solid #dcc4f1 !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-step::after,
.blanos-booking-selector .blanos-selector-step::after {
    content: "↓";
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #7900df !important;
    -webkit-text-fill-color: #7900df !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-step-target,
.blanos-booking-selector .blanos-selector-step-target {
    margin-bottom: 28px !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-party-picker,
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-corporate-picker,
.blanos-booking-selector .blanos-party-picker,
.blanos-booking-selector .blanos-corporate-picker {
    margin-top: 0 !important;
}

@media (max-width: 767px) {
    #elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-step,
    .blanos-booking-selector .blanos-selector-step {
        width: 100% !important;
        max-width: 100% !important;
        flex-wrap: wrap !important;
    }
}


/* Corporate popup card mirrors the existing Elementor source card. */
.blanos-selector-corporate .blanos-selector-cards {
    grid-template-columns: 1fr !important;
    width: 100% !important;
}

.blanos-selector-corporate .corporate-event-card,
.blanos-booking-selector .blanos-selector-corporate .corporate-event-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 220px !important;
    grid-template-areas:
        "content media"
        "button media" !important;
    align-items: stretch !important;
    gap: 24px 34px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 310px !important;
    padding: clamp(28px, 3.2vw, 44px) !important;
    grid-column: 1 / -1 !important;
    background: #ffffff !important;
    border: 1px solid rgba(108, 47, 242, 0.12) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5) !important;
    overflow: hidden !important;
}

.blanos-selector-corporate-card__content {
    grid-area: content !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    min-width: 0 !important;
    text-align: left !important;
}

.blanos-selector-corporate-card__kicker {
    margin: 0 0 2px !important;
    color: #360a87 !important;
    -webkit-text-fill-color: #360a87 !important;
    font-family: Montserrat, sans-serif !important;
    font-size: clamp(20px, 2vw, 26px) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.blanos-selector-corporate .blanos-selector-corporate-card h3 {
    margin: 0 0 44px !important;
    color: #6c2ff2 !important;
    -webkit-text-fill-color: #6c2ff2 !important;
    font-family: Montserrat, sans-serif !important;
    font-size: clamp(19px, 1.7vw, 22px) !important;
    font-weight: 900 !important;
    line-height: 1.22 !important;
    text-align: left !important;
    text-shadow: 0 5px 14px rgba(108, 47, 242, 0.24) !important;
}

.blanos-selector-corporate-card__media {
    grid-area: media !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    min-width: 0 !important;
}

.blanos-selector-corporate-card > .corporate-booking-button {
    grid-area: button !important;
    align-self: end !important;
    justify-self: start !important;
}

.blanos-selector-corporate__icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 150px !important;
    height: 150px !important;
    margin: 0 auto !important;
}

.blanos-selector-corporate__icon img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    filter: none !important;
    transform: none !important;
}

.blanos-selector-card .blanos-selector-corporate__copy {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 !important;
    color: #2a2a2a !important;
    -webkit-text-fill-color: #2a2a2a !important;
    font-family: Roboto, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    text-align: left !important;
}

.blanos-selector-corporate-card .corporate-price-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 190px !important;
    min-width: 190px !important;
    min-height: 84px !important;
    margin: 0 !important;
    padding: 10px 18px !important;
    background: linear-gradient(180deg, #6848a5 35%, #3d0b8f 100%) !important;
    border-radius: 24px !important;
    box-shadow: 0 14px 30px rgba(104, 72, 165, 0.28) !important;
}

.blanos-selector-corporate-card .corporate-price-heading,
.blanos-selector-corporate-card .corporate-price-vat {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-family: Montserrat, sans-serif !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 24px !important;
    text-align: center !important;
}

@media (max-width: 767px) {
    .blanos-selector-corporate .corporate-event-card,
    .blanos-booking-selector .blanos-selector-corporate .corporate-event-card {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "content"
            "media"
            "button" !important;
        gap: 22px !important;
        min-height: 0 !important;
        padding: 24px 20px !important;
    }

    .blanos-selector-corporate .blanos-selector-corporate-card h3 {
        margin-bottom: 24px !important;
    }

    .blanos-selector-corporate-card__media {
        flex-direction: row !important;
        justify-content: space-between !important;
        width: 100% !important;
    }

    .blanos-selector-corporate-card > .corporate-booking-button {
        justify-self: stretch !important;
        width: 100% !important;
    }

    .blanos-selector-corporate__icon {
        width: 108px !important;
        height: 108px !important;
    }

    .blanos-selector-card .blanos-selector-corporate__copy {
        font-size: 14px !important;
    }
}

/* v1.8.30: prive party card — same size/proportions as the corporate card above (same values,
   just retargeted to the prive party markup/classes), per request that it match it exactly. */
.blanos-selector-prive .blanos-selector-cards {
    grid-template-columns: 1fr !important;
    width: 100% !important;
}

.blanos-selector-prive .blanos-selector-prive-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 220px !important;
    grid-template-areas:
        "content media"
        "button media" !important;
    align-items: stretch !important;
    gap: 24px 34px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 310px !important;
    padding: clamp(28px, 3.2vw, 44px) !important;
    grid-column: 1 / -1 !important;
    background: #ffffff !important;
    border: 1px solid rgba(108, 47, 242, 0.12) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5) !important;
    overflow: hidden !important;
}

.blanos-selector-prive-card__content {
    grid-area: content !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    min-width: 0 !important;
    text-align: left !important;
}

.blanos-selector-prive-card__kicker {
    margin: 0 0 2px !important;
    color: #360a87 !important;
    -webkit-text-fill-color: #360a87 !important;
    font-family: Montserrat, sans-serif !important;
    font-size: clamp(20px, 2vw, 26px) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.blanos-selector-prive .blanos-selector-prive-card h3 {
    margin: 0 0 44px !important;
    color: #6c2ff2 !important;
    -webkit-text-fill-color: #6c2ff2 !important;
    font-family: Montserrat, sans-serif !important;
    font-size: clamp(19px, 1.7vw, 22px) !important;
    font-weight: 900 !important;
    line-height: 1.22 !important;
    text-align: left !important;
    text-shadow: 0 5px 14px rgba(108, 47, 242, 0.24) !important;
}

.blanos-selector-prive-card__media {
    grid-area: media !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    min-width: 0 !important;
}

.blanos-selector-prive-card > .party-booking-button {
    grid-area: button !important;
    align-self: end !important;
    justify-self: start !important;
}

.blanos-selector-prive__icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 150px !important;
    height: 150px !important;
    margin: 0 auto !important;
}

.blanos-selector-prive__icon img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    filter: none !important;
    transform: none !important;
}

.blanos-selector-card .blanos-selector-prive__copy {
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 !important;
    color: #2a2a2a !important;
    -webkit-text-fill-color: #2a2a2a !important;
    font-family: Roboto, Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    text-align: left !important;
}

.blanos-selector-prive-card .prive-price-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 190px !important;
    min-width: 190px !important;
    min-height: 84px !important;
    margin: 0 !important;
    padding: 10px 18px !important;
    background: linear-gradient(180deg, #6848a5 35%, #3d0b8f 100%) !important;
    border-radius: 24px !important;
    box-shadow: 0 14px 30px rgba(104, 72, 165, 0.28) !important;
}

.blanos-selector-prive-card .prive-price-heading {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-family: Montserrat, sans-serif !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 24px !important;
    text-align: center !important;
}

@media (max-width: 767px) {
    .blanos-selector-prive .blanos-selector-prive-card {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "content"
            "media"
            "button" !important;
        gap: 22px !important;
        min-height: 0 !important;
        padding: 24px 20px !important;
    }

    .blanos-selector-prive .blanos-selector-prive-card h3 {
        margin-bottom: 24px !important;
    }

    .blanos-selector-prive-card__media {
        flex-direction: row !important;
        justify-content: space-between !important;
        width: 100% !important;
    }

    .blanos-selector-prive-card > .party-booking-button {
        justify-self: stretch !important;
        width: 100% !important;
    }

    .blanos-selector-prive__icon {
        width: 108px !important;
        height: 108px !important;
    }

    .blanos-selector-card .blanos-selector-prive__copy {
        font-size: 14px !important;
    }
}

/* v1.6.2: keep popup shell fixed and force only the inner content area to scroll */
#elementor-popup-modal-1085 {
    height: 100dvh !important;
    height: 100vh !important;
    overflow: hidden !important;
}

#elementor-popup-modal-1085 .dialog-widget-content {
    height: fit-content !important;
    min-height: min(320px, 70dvh) !important;
    max-height: min(92dvh, calc(100vh - 32px)) !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

/* v1.8.26: flex:1/height:100% forced the message area (and so the whole dialog box, since it
   sizes to content) to always claim the full max-height even for short content — the same
   reason the success-mode override below already used flex:0 1 auto/height:auto instead.
   Matching that here lets the box actually shrink for short content, only capping at (and
   scrolling within) the same max-height once content grows past it. */
#elementor-popup-modal-1085 .dialog-message {
    display: block !important;
    flex: 0 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: min(92dvh, calc(100vh - 32px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-gutter: stable both-edges !important;
}

#elementor-popup-modal-1085 .dialog-message > * {
    max-width: 100% !important;
}

#elementor-popup-modal-1085 .dialog-message .elementor,
#elementor-popup-modal-1085 .dialog-message .elementor-location-popup,
#elementor-popup-modal-1085 .dialog-message .elementor-section-wrap,
#elementor-popup-modal-1085 .dialog-message .e-con,
#elementor-popup-modal-1085 .dialog-message .e-con-inner {
    min-height: 0 !important;
}

/* v1.6.3: header popup cards are rebuilt from existing card data, not full Elementor clones */
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card--normalised,
.blanos-booking-selector .blanos-selector-card--normalised {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 28px 28px 24px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card--normalised *,
.blanos-booking-selector .blanos-selector-card--normalised * {
    box-sizing: border-box !important;
    max-width: 100% !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__headings,
.blanos-booking-selector .blanos-selector-card__headings {
    display: block !important;
    width: 100% !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
    text-align: left !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__main-title,
.blanos-booking-selector .blanos-selector-card__main-title {
    margin: 0 0 4px !important;
    padding: 0 !important;
    color: #3f007f !important;
    -webkit-text-fill-color: #3f007f !important;
    font-family: inherit !important;
    font-size: clamp(24px, 2vw, 34px) !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__subtitle,
.blanos-booking-selector .blanos-selector-card__subtitle {
    margin: 0 !important;
    padding: 0 !important;
    color: #7132ff !important;
    -webkit-text-fill-color: #7132ff !important;
    font-family: inherit !important;
    font-size: clamp(19px, 1.7vw, 28px) !important;
    font-weight: 900 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    text-shadow: 0 0 12px rgba(113, 50, 255, 0.38) !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card--normalised .party-price-box,
.blanos-booking-selector .blanos-selector-card--normalised .party-price-box {
    align-self: center !important;
    margin: 0 auto 22px !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card--normalised .blanos-selector-included,
.blanos-booking-selector .blanos-selector-card--normalised .blanos-selector-included {
    margin: 0 0 16px !important;
    color: #5f5865 !important;
    -webkit-text-fill-color: #5f5865 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    text-align: left !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card--normalised .blanos-selector-services,
.blanos-booking-selector .blanos-selector-card--normalised .blanos-selector-services {
    flex: 1 1 auto !important;
    margin: 0 0 20px !important;
    color: #352d3b !important;
    -webkit-text-fill-color: #352d3b !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    text-align: left !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__footer,
.blanos-booking-selector .blanos-selector-card__footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    width: 100% !important;
    margin-top: auto !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card--normalised .party-booking-button,
.blanos-booking-selector .blanos-selector-card--normalised .party-booking-button {
    width: auto !important;
    min-width: 150px !important;
    max-width: 230px !important;
    flex: 0 1 auto !important;
    padding: 13px 22px !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__image,
.blanos-booking-selector .blanos-selector-card__image {
    display: block !important;
    width: auto !important;
    max-width: 88px !important;
    max-height: 88px !important;
    object-fit: contain !important;
    flex: 0 0 auto !important;
}

@media (max-width: 767px) {
    #elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__footer,
    .blanos-booking-selector .blanos-selector-card__footer {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    #elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card--normalised .party-booking-button,
    .blanos-booking-selector .blanos-selector-card--normalised .party-booking-button {
        width: 100% !important;
        max-width: 100% !important;
    }

    #elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__image,
    .blanos-booking-selector .blanos-selector-card__image {
        align-self: flex-end !important;
    }
}

/* v1.6.4: tighter header-popup cards + stronger phone prefix styling */
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card--normalised,
.blanos-booking-selector .blanos-selector-card--normalised {
    padding: 24px 24px 22px !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__headings,
.blanos-booking-selector .blanos-selector-card__headings {
    margin-bottom: 18px !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__main-title,
.blanos-booking-selector .blanos-selector-card__main-title {
    font-size: clamp(22px, 1.65vw, 29px) !important;
    line-height: 1.08 !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__subtitle,
.blanos-booking-selector .blanos-selector-card__subtitle {
    font-size: clamp(17px, 1.35vw, 23px) !important;
    line-height: 1.12 !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card--normalised .party-price-box,
.blanos-booking-selector .blanos-selector-card--normalised .party-price-box {
    margin-bottom: 18px !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__footer,
.blanos-booking-selector .blanos-selector-card__footer {
    gap: 12px !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__image,
.blanos-booking-selector .blanos-selector-card__image {
    max-width: 68px !important;
    max-height: 68px !important;
}

@media (max-width: 767px) {
    #elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__main-title,
    .blanos-booking-selector .blanos-selector-card__main-title {
        font-size: 25px !important;
    }

    #elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__subtitle,
    .blanos-booking-selector .blanos-selector-card__subtitle {
        font-size: 20px !important;
    }

    #elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__image,
    .blanos-booking-selector .blanos-selector-card__image {
        max-width: 62px !important;
        max-height: 62px !important;
    }
}

/* v1.8.4 final overrides. Keep these after all legacy compatibility rules. */
#elementor-popup-modal-1085 .party-price-box,
#elementor-popup-modal-1085 .party-price-box *,
#elementor-popup-modal-1085 .party-price-value,
#elementor-popup-modal-1085 .party-price-value *,
#elementor-popup-modal-1085 .corporate-price-heading,
#elementor-popup-modal-1085 .corporate-price-heading *,
.party-configurator-card .party-price-box,
.party-configurator-card .party-price-box *,
.party-configurator-card .party-price-value,
.party-configurator-card .party-price-value *,
.corporate-event-card .corporate-price-box,
.corporate-event-card .corporate-price-box *,
.corporate-event-card .corporate-price-heading,
.corporate-event-card .corporate-price-heading * {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    font-style: normal !important;
    font-stretch: 100% !important;
    font-variant: normal !important;
    line-height: 20.4px !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    text-shadow: none !important;
}

#elementor-popup-modal-1085 .party-price-value,
#elementor-popup-modal-1085 .party-price-value *,
#elementor-popup-modal-1085 .corporate-price-heading,
#elementor-popup-modal-1085 .corporate-price-heading *,
.party-configurator-card .party-price-value,
.party-configurator-card .party-price-value *,
.corporate-event-card .corporate-price-heading,
.corporate-event-card .corporate-price-heading * {
    font-weight: 700 !important;
}

.blanos-honeypot-wrap {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.blanos-turnstile-container:empty {
    display: none !important;
}

#elementor-popup-modal-1085.blanos-popup-success-mode .dialog-message {
    padding: clamp(28px, 3.2vw, 48px) clamp(16px, 3vw, 36px) !important;
}

#elementor-popup-modal-1085.blanos-popup-success-mode .dialog-message > .elementor,
#elementor-popup-modal-1085.blanos-popup-success-mode .dialog-message .elementor-location-popup,
#elementor-popup-modal-1085.blanos-popup-success-mode .dialog-message .elementor-section-wrap,
#elementor-popup-modal-1085.blanos-popup-success-mode .dialog-message .e-con,
#elementor-popup-modal-1085.blanos-popup-success-mode .dialog-message .e-con-inner {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

#elementor-popup-modal-1085.blanos-popup-success-mode .blanos-submission-success-phase {
    margin: 0 auto !important;
}

@media (max-width: 767px) {
    #elementor-popup-modal-1085.blanos-popup-success-mode .dialog-message {
        padding: 22px 12px !important;
    }
}

/* v1.8.5: fluid selector cards, reliable hover targets, and intrinsic success sizing. */
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-cards,
.blanos-booking-selector .blanos-selector-cards {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 2% !important;
    row-gap: 1.25rem !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card--normalised,
.blanos-booking-selector .blanos-selector-card--normalised {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 5% !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__footer,
.blanos-booking-selector .blanos-selector-card__footer {
    display: grid !important;
    grid-template-columns: 45% 15% !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 0 !important;
    width: 100% !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card--normalised .party-booking-button,
.blanos-booking-selector .blanos-selector-card--normalised .party-booking-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 3em !important;
    padding: 0.9em 8% !important;
}

#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__image,
.blanos-booking-selector .blanos-selector-card__image {
    align-self: end !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
}

body #elementor-popup-modal-1085.elementor-popup-modal.blanos-popup-success-mode .dialog-widget-content {
    width: fit-content !important;
    max-width: 60vw !important;
    height: auto !important;
    max-height: 92dvh !important;
}

#elementor-popup-modal-1085.blanos-popup-success-mode .dialog-message {
    flex: 0 1 auto !important;
    height: auto !important;
    max-height: 92dvh !important;
    overflow-y: auto !important;
}

#elementor-popup-modal-1085 .dialog-widget-content.blanos-dialog-resizing {
    transition:
        width 0.36s cubic-bezier(0.22, 1, 0.36, 1),
        height 0.36s cubic-bezier(0.22, 1, 0.36, 1) !important;
    will-change: width, height;
}

@media (max-width: 68rem) {
    body #elementor-popup-modal-1085.elementor-popup-modal.blanos-popup-selector-mode .dialog-widget-content {
        width: 96vw !important;
        max-width: 96vw !important;
    }

    #elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-cards,
    .blanos-booking-selector .blanos-selector-cards {
        grid-template-columns: 100% !important;
    }
}

@media (max-width: 64rem) {
    body #elementor-popup-modal-1085.elementor-popup-modal:not(.blanos-popup-selector-mode):not(.blanos-popup-success-mode) .dialog-widget-content {
        width: 80vw !important;
        max-width: 80vw !important;
    }

    body #elementor-popup-modal-1085.elementor-popup-modal.blanos-popup-success-mode .dialog-widget-content {
        max-width: 80vw !important;
    }
}

@media (max-width: 48rem) {
    body #elementor-popup-modal-1085.elementor-popup-modal:not(.blanos-popup-success-mode) .dialog-widget-content {
        width: 96vw !important;
        max-width: 96vw !important;
    }

    body #elementor-popup-modal-1085.elementor-popup-modal.blanos-popup-success-mode .dialog-widget-content {
        max-width: 96vw !important;
        max-height: 96dvh !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    #elementor-popup-modal-1085 .dialog-widget-content.blanos-dialog-resizing {
        transition: none !important;
        will-change: auto;
    }
}

@media (max-width: 30rem) {
    #elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card--normalised,
    .blanos-booking-selector .blanos-selector-card--normalised {
        padding: 7% !important;
    }

    #elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card__footer,
    .blanos-booking-selector .blanos-selector-card__footer {
        grid-template-columns: 68% 20% !important;
    }
}

/* v1.8.7: selector alignment and accessible month/year dropdowns. */
#elementor-popup-modal-1085 .blanos-booking-selector .blanos-selector-card--normalised .party-price-box,
.blanos-booking-selector .blanos-selector-card--normalised .party-price-box {
    align-self: flex-end !important;
    margin: 0 0 18px auto !important;
}

.flatpickr-calendar.blanos-party-calendar {
    width: min(92vw, 20.625rem) !important;
    max-width: 92vw !important;
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-current-month {
    gap: 3% !important;
    padding: 0 13% !important;
}

.flatpickr-calendar.blanos-party-calendar .flatpickr-current-month .cur-month,
.flatpickr-calendar.blanos-party-calendar .flatpickr-current-month .numInputWrapper {
    display: none !important;
}

body .flatpickr-calendar.blanos-party-calendar .flatpickr-current-month select.blanos-flatpickr-month-select,
body .flatpickr-calendar.blanos-party-calendar .flatpickr-current-month select.blanos-flatpickr-year-select {
    display: block !important;
    flex: 0 1 auto !important;
    height: 2.35em !important;
    margin: 0 !important;
    padding: 0.5em 2em 0.5em 0.8em !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.16) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.7em center !important;
    border: 1px solid rgba(255, 255, 255, 0.38) !important;
    border-radius: 999px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14) !important;
    font-family: inherit !important;
    font-size: 0.9rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    color-scheme: light !important;
}

body .flatpickr-calendar.blanos-party-calendar .flatpickr-current-month select.blanos-flatpickr-month-select {
    width: 61% !important;
}

body .flatpickr-calendar.blanos-party-calendar .flatpickr-current-month select.blanos-flatpickr-year-select {
    width: 36% !important;
}

body .flatpickr-calendar.blanos-party-calendar .flatpickr-current-month select.blanos-flatpickr-month-select:hover,
body .flatpickr-calendar.blanos-party-calendar .flatpickr-current-month select.blanos-flatpickr-year-select:hover {
    background-color: rgba(255, 255, 255, 0.24) !important;
    border-color: rgba(255, 255, 255, 0.58) !important;
}

body .flatpickr-calendar.blanos-party-calendar .flatpickr-current-month select.blanos-flatpickr-month-select:focus-visible,
body .flatpickr-calendar.blanos-party-calendar .flatpickr-current-month select.blanos-flatpickr-year-select:focus-visible {
    outline: 2px solid #ffffff !important;
    outline-offset: 2px !important;
}

body .flatpickr-calendar.blanos-party-calendar .flatpickr-current-month select.blanos-flatpickr-month-select option,
body .flatpickr-calendar.blanos-party-calendar .flatpickr-current-month select.blanos-flatpickr-year-select option {
    color: #3f007f !important;
    -webkit-text-fill-color: #3f007f !important;
    background: #ffffff !important;
    font-weight: 700 !important;
}

/* v1.8.11: selected offer inclusions and information inside the popup. */
#elementor-popup-modal-1085 .blanos-popup-offer-details,
.blanos-popup-offer-details {
    display: grid !important;
    grid-template-columns: minmax(0, 65fr) minmax(0, 35fr) !important;
    /* v1.8.46: back to "stretch" (was changed to "start" in 1.8.45) — per request the two cards
       should be the same height. The 1.8.45 blank-space problem is fixed differently now: the
       card's own inner content stretches to fill it and distributes the extra room as bigger
       gaps between its rows (see the flex chain below), instead of one dead gap at the bottom. */
    align-items: stretch !important;
    gap: 1.25rem !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 1.75rem auto 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

#elementor-popup-modal-1085 .blanos-popup-offer-details.is-single,
.blanos-popup-offer-details.is-single {
    grid-template-columns: minmax(0, 1fr) !important;
}

#elementor-popup-modal-1085 .blanos-popup-offer-details[hidden],
.blanos-popup-offer-details[hidden],
#elementor-popup-modal-1085.blanos-popup-selector-mode .blanos-popup-offer-details--form,
#elementor-popup-modal-1085.blanos-popup-success-mode .blanos-popup-offer-details {
    display: none !important;
}

#elementor-popup-modal-1085 .blanos-popup-offer-details > .blanos-popup-offer-detail-card,
.blanos-popup-offer-details > .blanos-popup-offer-detail-card {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    /* v1.8.45: more top padding so the heading sits a bit further down from the card edge,
       per request (was a uniform 22px on every side). */
    padding: 34px 22px 22px !important;
    background: #ffffff !important;
    border: 1px solid rgba(108, 47, 242, 0.12) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5) !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    /* v1.8.46: back to "stretch" (see the grid rule above) — the card itself fills the full
       row height again; display:flex/column below is what lets its content absorb that height
       instead of leaving it as blank space. */
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
}

/* v1.8.19: "info" cards (e.g. corporate-info) look different on the homepage than
   "included" (.offer-card) cards do: soft lavender fill, lighter border, no shadow. */
#elementor-popup-modal-1085 .blanos-popup-offer-details > .blanos-popup-offer-detail-card--info,
.blanos-popup-offer-details > .blanos-popup-offer-detail-card--info {
    padding: 26px 24px !important;
    background: #faf7ff !important;
    border: 1px solid #e3d0f8 !important;
    box-shadow: none !important;
}

#elementor-popup-modal-1085 .blanos-popup-offer-details > .blanos-popup-offer-detail-card > *,
.blanos-popup-offer-details > .blanos-popup-offer-detail-card > * {
    width: 100% !important;
    margin: 0 !important;
    min-height: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    /* v1.8.46: fills the now-stretched card (article is flex/column above) instead of only
       taking its own natural content height, so there's actual extra height to hand down to the
       rows below via the flex chain further down, rather than leaving it unclaimed as blank
       space under the card's own content. */
    flex: 1 1 auto !important;
}

/* v1.8.46: the "info" card's own content (icon+heading row, then paragraph/divider pairs) is
   already one flex column (see the --display restoration above) — once it fills the card's full
   stretched height (the flex:1 rule above), space-between spreads any extra height out as bigger
   gaps between those existing rows, instead of one leftover gap sitting under the last line. */
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card--info > .e-con.e-flex,
.blanos-popup-offer-detail-card--info > .e-con.e-flex {
    justify-content: space-between !important;
}

#elementor-popup-modal-1085 .blanos-popup-offer-details > .blanos-popup-offer-detail-card *,
.blanos-popup-offer-details > .blanos-popup-offer-detail-card * {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* v1.8.18: Elementor's divider widget colors are set via a rule scoped to the page it was
   authored on (e.g. ".elementor-10 .elementor-element-xxx"), which no longer matches once the
   divider is cloned into the popup's own Elementor context, leaving it invisible (0px, no
   border). Re-supply the same style/color/width the site already uses for every divider. */
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card .elementor-widget-divider,
.blanos-popup-offer-detail-card .elementor-widget-divider {
    --divider-border-style: solid !important;
    --divider-color: #c3a3e8 !important;
    --divider-border-width: 2px !important;
}

/* v1.8.22: the same page-scoped rule above also set the separator's width to 100% (a plain
   property, not a custom one, so the border-color/style fix above didn't restore it) — without
   it the line has the right border but zero length, so it still doesn't show. It also set
   16px of vertical spacing around the divider, also lost the same way. */
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card .elementor-divider-separator,
.blanos-popup-offer-detail-card .elementor-divider-separator {
    width: 100% !important;
}

#elementor-popup-modal-1085 .blanos-popup-offer-detail-card .elementor-widget-divider .elementor-divider,
.blanos-popup-offer-detail-card .elementor-widget-divider .elementor-divider {
    padding-block: 16px !important;
}

/* v1.8.44: same root cause as the food menu cards' blank-space bug (v1.8.29) — Elementor's own
   base CSS is `.e-con, .e-con > .e-con-inner { display: var(--display); }` with no fallback, and
   this custom property is only ever supplied by a page-scoped rule that doesn't carry over once
   cloned, so it falls back to the CSS-spec initial value "inline" instead of "flex". Never
   restored for these cards specifically, which broke the "info" card's icon+heading row (an
   `e-con e-flex` container) — the icon itself had every color/size rule it needed, but its row
   never actually became a flex row, so it rendered squashed into the wrong shape/position next
   to the heading instead of a clean icon-then-title row. */
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card .e-con.e-flex,
.blanos-popup-offer-detail-card .e-con.e-flex {
    --display: flex !important;
}

/* v1.8.44: the "included" cards' checklist rows (icon + text) had no spacing or separator
   between them at all once cloned, unlike the real page which puts ~12.5px above and below a
   thin divider line between each row (and none before the first / after the last). Elementor
   renders that divider as an absolutely-positioned ::after with its own border/position custom
   properties (page-scoped, same loss as everywhere else here); simpler and more robust to give
   the row itself a plain top margin + bottom border with the same measured spacing/color,
   instead of trying to reproduce the pseudo-element positioning.
   v1.8.45: bumped from the real page's tighter 12.5px to a more generous 18px per request.
   v1.8.48: switched from asymmetric margin-top+padding-bottom to symmetric padding on both
   sides, and each row now grows itself (flex: 1 1 auto, one row per column growing equally)
   instead of the list distributing space between rows (1.8.46). With symmetric padding and the
   icon+text centered inside via align-items, whatever a row grows by is split evenly above and
   below its own content — so the divider (its own border-bottom, right after that padding) ends
   up equidistant from this row's text and the next row's text, instead of sitting right under
   the text with all the slack pushed onto one side (which also reads as disproportionate when a
   column has very few rows sharing a lot of leftover height, e.g. corporate's "Ποτά" column). */
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card .elementor-icon-list-item,
.blanos-popup-offer-detail-card .elementor-icon-list-item {
    margin: 0 !important;
    padding: 9px 0 !important;
    border-bottom: 1px solid #dddddd !important;
    align-items: center !important;
    flex: 1 1 auto !important;
}

#elementor-popup-modal-1085 .blanos-popup-offer-detail-card .elementor-icon-list-item:last-child,
.blanos-popup-offer-detail-card .elementor-icon-list-item:last-child {
    border-bottom: 0 !important;
}

/* v1.8.45: on a row whose text wraps to a second line (only happens in the popup's narrower
   card, not on the wider real page), the icon looked broken — small and out of place instead of
   centered against the wrapped text. The icon-list-item is a flex row; without an explicit
   flex-shrink the icon's wrapper can get compressed by its now-taller text sibling, and without
   an explicit align-items it's ambiguous whether it recenters against the new (taller) row.
   Pin both explicitly instead of relying on default flex behavior. */
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card .elementor-icon-list-icon,
.blanos-popup-offer-detail-card .elementor-icon-list-icon {
    flex-shrink: 0 !important;
    align-self: center !important;
}

/* v1.8.20: headings, checkmark icons and info-icon colors are also set by the same kind of
   page-scoped rule as the divider above, so they were rendering in default black/no-color
   once cloned. Re-supply the site's actual heading/icon colors so "included" and "info" cards
   match the homepage. */
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) h1,
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) h2,
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) h3,
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) h4,
.blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) h1,
.blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) h2,
.blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) h3,
.blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) h4 {
    color: #360a87 !important;
    -webkit-text-fill-color: #360a87 !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    /* v1.8.45: more breathing room between the title and the checklist below it, per request. */
    margin-bottom: 22px !important;
}

#elementor-popup-modal-1085 .blanos-popup-offer-detail-card--info h1,
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card--info h2,
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card--info h3,
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card--info h4,
.blanos-popup-offer-detail-card--info h1,
.blanos-popup-offer-detail-card--info h2,
.blanos-popup-offer-detail-card--info h3,
.blanos-popup-offer-detail-card--info h4 {
    color: #4c0094 !important;
    -webkit-text-fill-color: #4c0094 !important;
    font-size: 19px !important;
    font-weight: 700 !important;
}

#elementor-popup-modal-1085 .blanos-popup-offer-detail-card .elementor-icon-list-text,
.blanos-popup-offer-detail-card .elementor-icon-list-text {
    color: #2a2a2a !important;
}

#elementor-popup-modal-1085 .blanos-popup-offer-detail-card--info .elementor-widget-text-editor,
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card--info .elementor-widget-text-editor p,
.blanos-popup-offer-detail-card--info .elementor-widget-text-editor,
.blanos-popup-offer-detail-card--info .elementor-widget-text-editor p {
    color: #4c0094 !important;
    -webkit-text-fill-color: #4c0094 !important;
    font-size: 15px !important;
}

#elementor-popup-modal-1085 .blanos-popup-offer-detail-card .elementor-icon-list-icon svg,
.blanos-popup-offer-detail-card .elementor-icon-list-icon svg {
    fill: #620cf2 !important;
    width: 14px !important;
    height: 14px !important;
}

#elementor-popup-modal-1085 .blanos-popup-offer-detail-card--info .elementor-icon,
.blanos-popup-offer-detail-card--info .elementor-icon {
    color: #5a00b5 !important;
}

#elementor-popup-modal-1085 .blanos-popup-offer-detail-card--info .elementor-icon svg,
.blanos-popup-offer-detail-card--info .elementor-icon svg {
    width: 32px !important;
    height: 32px !important;
}

/* v1.8.47: the info card's icon+heading row (a container whose direct children are the icon
   widget and the heading widget) got its --display restored in 1.8.44, but that only fixed it
   collapsing to inline — it still fell back to Elementor's unconditional flex-direction default
   of "column" (same default the divider/included-card fixes elsewhere in this file already had
   to explicitly override), so the icon stacked above the heading instead of sitting beside it. */
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card--info .e-con:has(> .elementor-widget-icon):has(> .elementor-widget-heading),
.blanos-popup-offer-detail-card--info .e-con:has(> .elementor-widget-icon):has(> .elementor-widget-heading) {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
}

#elementor-popup-modal-1085 .blanos-popup-offer-detail-card--info .e-con:has(> .elementor-widget-icon):has(> .elementor-widget-heading) .elementor-widget-icon,
.blanos-popup-offer-detail-card--info .e-con:has(> .elementor-widget-icon):has(> .elementor-widget-heading) .elementor-widget-icon {
    flex-shrink: 0 !important;
}

/* v1.8.46: one more link in the same chain as below — the row container's own parent (the
   card's single "inner wrapper", holding the heading and the row as its two children) also
   needs to grow, otherwise the card's stretched-in height never reaches the row in the first
   place. Matched structurally (three levels above the icon-list widget specifically, which is
   exactly this wrapper and nothing shallower/deeper) rather than by exact depth-counting. */
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) .e-con:has(> .e-con > .e-con > .elementor-widget-icon-list),
.blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) .e-con:has(> .e-con > .e-con > .elementor-widget-icon-list) {
    flex: 1 1 auto !important;
    min-height: 0 !important;
}

/* v1.8.23: the homepage lays included cards' bullet groups out side-by-side (e.g. "Ποτά" next
   to "Φαγητά"), via a row container whose flex layout is set the same page-scoped way as
   everything above, so it was rendering as inline/stacked instead once cloned — leaving a tall,
   sparse single column with a big gap where the two groups met. This targets that row
   structurally (a container whose direct children each directly wrap an icon-list widget), so
   it applies to any included card (smart/Friday/weekend/corporate) without hardcoding IDs. */
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) .e-con:has(> .e-con > .elementor-widget-icon-list),
.blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) .e-con:has(> .e-con > .elementor-widget-icon-list) {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    /* v1.8.46: was "flex-start" — needs to be "stretch" so both bullet-group columns fill the
       row's full height (which itself now grows to fill the card, see the flex chain around this
       rule), otherwise the flex:1 further down this chain has no extra height to distribute. */
    align-items: stretch !important;
    gap: 20px !important;
    /* v1.8.46: this row is the one part of the card with genuinely repeating content, so it's
       the target for the card's leftover height (see the article/content flex chain above) —
       everything else in the card (the heading above it) stays its own natural size. */
    flex: 1 1 auto !important;
    min-height: 0 !important;
}

#elementor-popup-modal-1085 .blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) .e-con:has(> .e-con > .elementor-widget-icon-list) > .e-con,
.blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) .e-con:has(> .e-con > .elementor-widget-icon-list) > .e-con {
    flex: 1 1 200px !important;
    min-width: 0 !important;
    /* v1.8.46: each bullet-group column becomes its own flex column (icon-list widget -> list),
       so the extra height stretched into it above (align-items: stretch) can keep flowing down
       to the actual list of rows, where it ends up as extra breathing room between them. */
    display: flex !important;
    flex-direction: column !important;
}

/* v1.8.46: the icon-list widget's own wrapper isn't an "e-con" (it's a plain Elementor widget
   container), so it's outside the --display restoration above and needs its own explicit flex
   column to keep passing the column's height down to the actual <ul> of rows. */
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) .elementor-widget-icon-list,
.blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) .elementor-widget-icon-list {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* v1.8.46: end of the chain — the actual list of checklist rows. It's a plain block list on the
   real page (rows just stack via normal margins), but turning it into a flex column here is a
   deliberate choice, not a restoration: it's what lets justify-content distribute any leftover
   height (from everything above finally reaching this list) so a shorter bullet list still
   fills the card with no dead space at the bottom, and a full one is unaffected (nothing extra
   to receive). v1.8.48: dropped justify-content: space-between — it put all of that leftover
   height into the gaps *between* rows, which pushed each divider right against the row above it
   instead of centered, and looked especially disproportionate on a short column (e.g. only 2
   rows sharing a lot of leftover height). Each row now grows itself instead (see the
   elementor-icon-list-item rule above), so the growth — and the divider that comes with it —
   stays evenly split around every row's own text. */
#elementor-popup-modal-1085 .blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) .elementor-icon-list-items,
.blanos-popup-offer-detail-card:not(.blanos-popup-offer-detail-card--info) .elementor-icon-list-items {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

@media (max-width: 48rem) {
    #elementor-popup-modal-1085 .blanos-popup-offer-details,
    .blanos-popup-offer-details {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 1rem !important;
        margin-top: 1.25rem !important;
    }
}
