{"id":220,"date":"2026-07-27T18:28:33","date_gmt":"2026-07-27T16:28:33","guid":{"rendered":"https:\/\/staging.baiasangiorgio.it\/?page_id=220"},"modified":"2026-09-26T14:43:57","modified_gmt":"2026-09-26T12:43:57","slug":"prenotazione-hotel","status":"publish","type":"page","link":"https:\/\/baiasangiorgio.it\/en\/hotel\/prenotazione-hotel\/","title":{"rendered":"Hotel Reservations"},"content":{"rendered":"<section class=\"baia-block baia-hero baia-hero--internal alignfull reveal wp-block-baia-hero\" style=\"--baia-bg:url(&#039;https:\/\/baiasangiorgio.it\/wp-content\/uploads\/2026\/09\/trullo_hotel.png&#039;)\">\n            \n            <div class=\"baia-hero-shade\" style=\"--baia-overlay-opacity:1\"><\/div>\n            <div class=\"baia-hero-content\">\n                <p class=\"baia-eyebrow baia-eyebrow--light\">Prenotazione hotel<\/p>\n                <h1>Prenota ora<br><em>il tuo soggiorno<\/em><\/h1>\n                <p class=\"baia-hero-copy\">Compila il modulo qui sotto e verifica subito la disponibilit\u00e0 ed i prezzi per il tuo prossimo soggiorno!<\/p>\n                \n            <\/div>\n        <\/section>\n\n\n<style data-wp-block-html=\"css\">\n\/* ==========================================================\n   CONFIGURAZIONE VISIVA\n   ========================================================== *\/\n\n#bsbe-widget {\n    --bsbe-blue: #073b70;\n    --bsbe-blue-dark: #052d56;\n    --bsbe-blue-soft: #eef5fb;\n    --bsbe-gold: #c9a34f;\n    --bsbe-gold-dark: #a9822f;\n    --bsbe-white: #ffffff;\n    --bsbe-text: #172536;\n    --bsbe-muted: #627184;\n    --bsbe-border: #dce5ee;\n    --bsbe-error: #b42318;\n    --bsbe-error-background: #fff3f2;\n    --bsbe-warning-background: #fff8db;\n    --bsbe-warning-border: #d9ab2b;\n    --bsbe-warning-text: #5d4700;\n    --bsbe-radius: 20px;\n    --bsbe-small-radius: 12px;\n    --bsbe-shadow: 0 24px 70px rgba(0, 24, 56, 0.22);\n\n    \/*\n     * SFONDO FUTURO\n     *\n     * Lasciare \"none\" per usare solamente il colore blu.\n     *\n     * Per usare una foto:\n     * --bsbe-background-image:\n     * url(\"https:\/\/www.example.com\/foto-giardino.jpg\");\n     *\/\n    --bsbe-background-image: none;\n\n    \/*\n     * Intensit\u00e0 dell'overlay sopra la futura fotografia.\n     * Valori consigliati: da 0.45 a 0.75.\n     *\/\n    --bsbe-overlay-opacity: 0.58;\n\n    position: relative;\n    isolation: isolate;\n    overflow: hidden;\n    width: 100%;\n    min-height: 560px;\n    padding: 54px 20px;\n    box-sizing: border-box;\n    background-color: var(--bsbe-blue);\n    background-image: var(--bsbe-background-image);\n    background-position: center;\n    background-repeat: no-repeat;\n    background-size: cover;\n    font-family:\n        Inter,\n        -apple-system,\n        BlinkMacSystemFont,\n        \"Segoe UI\",\n        Roboto,\n        Helvetica,\n        Arial,\n        sans-serif;\n}\n\n#bsbe-widget *,\n#bsbe-widget *::before,\n#bsbe-widget *::after {\n    box-sizing: border-box;\n}\n\n#bsbe-widget .bsbe-background-overlay {\n    position: absolute;\n    z-index: -1;\n    inset: 0;\n    background:\n        linear-gradient(\n            135deg,\n            rgba(3, 35, 69, var(--bsbe-overlay-opacity)),\n            rgba(5, 61, 109, var(--bsbe-overlay-opacity))\n        );\n}\n\n#bsbe-widget .bsbe-container {\n    width: min(1080px, 100%);\n    max-width: 100%;\n    min-width: 0;\n    margin: 0 auto;\n}\n\n#bsbe-widget .bsbe-main-card {\n    width: 100%;\n    max-width: 100%;\n    min-width: 0;\n    padding: clamp(22px, 3vw, 36px);\n    border: 1px solid rgba(255, 255, 255, 0.55);\n    border-top: 5px solid var(--bsbe-gold);\n    border-radius: var(--bsbe-radius);\n    background: rgba(255, 255, 255, 0.98);\n    box-shadow: var(--bsbe-shadow);\n}\n\n\n\n\n\n#bsbe-widget .bsbe-search-grid {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(160px, 0.65fr);\n    gap: 18px;\n    width: 100%;\n    min-width: 0;\n    margin-bottom: 26px;\n}\n\n#bsbe-widget .bsbe-field {\n    min-width: 0;\n}\n\n#bsbe-widget label {\n    display: flex;\n    align-items: center;\n    gap: 7px;\n    margin: 0 0 7px;\n    color: var(--bsbe-blue-dark);\n    font-size: 14px;\n    font-weight: 750;\n}\n\n#bsbe-widget .bsbe-label-icon {\n    flex: 0 0 auto;\n    width: 17px;\n    color: var(--bsbe-gold-dark);\n    font-size: 14px;\n    text-align: center;\n}\n\n#bsbe-widget input,\n#bsbe-widget select {\n    display: block;\n    width: 100%;\n    max-width: 100%;\n    min-width: 0;\n    min-height: 52px;\n    padding: 12px 15px;\n    border: 1px solid var(--bsbe-border);\n    border-radius: var(--bsbe-small-radius);\n    outline: none;\n    color: var(--bsbe-text);\n    background-color: var(--bsbe-white);\n    font: inherit;\n    font-size: 16px;\n    transition:\n        border-color 0.18s ease,\n        box-shadow 0.18s ease,\n        background-color 0.18s ease;\n}\n\n#bsbe-widget input[type=\"date\"] {\n    display: block !important;\n    width: 100% !important;\n    max-width: 100% !important;\n    min-width: 0 !important;\n\n    height: 52px !important;\n    min-height: 52px !important;\n    max-height: 52px !important;\n\n    padding: 12px 15px !important;\n    border-radius: var(--bsbe-small-radius);\n\n    color: var(--bsbe-text);\n    background-color: var(--bsbe-white);\n\n    font-family: inherit !important;\n    font-size: 16px !important;\n    line-height: 20px !important;\n    text-align: left !important;\n\n    -webkit-appearance: none;\n    appearance: none;\n}\n\n\/* Correzione specifica per il controllo nativo di Safari\/iPhone *\/\n#bsbe-widget input[type=\"date\"]::-webkit-date-and-time-value {\n    display: block;\n    width: 100%;\n    min-height: 20px;\n    margin: 0;\n    padding: 0;\n    line-height: 20px;\n    text-align: left;\n}\n\n#bsbe-widget input[type=\"date\"]::-webkit-datetime-edit {\n    display: block;\n    padding: 0;\n    line-height: 20px;\n}\n\n#bsbe-widget input[type=\"date\"]::-webkit-calendar-picker-indicator {\n    margin: 0;\n    padding: 0;\n    cursor: pointer;\n}\n\n#bsbe-widget select {\n    cursor: pointer;\n}\n\n#bsbe-widget input:hover,\n#bsbe-widget select:hover {\n    border-color: var(--bsbe-gold);\n}\n\n#bsbe-widget input:focus,\n#bsbe-widget select:focus {\n    border-color: var(--bsbe-blue);\n    box-shadow:\n        0 0 0 3px rgba(7, 59, 112, 0.12),\n        0 0 0 1px var(--bsbe-gold);\n}\n\n#bsbe-widget input.bsbe-invalid,\n#bsbe-widget select.bsbe-invalid {\n    border-color: var(--bsbe-error);\n    background: var(--bsbe-error-background);\n}\n\n#bsbe-widget .bsbe-error {\n    min-height: 19px;\n    margin-top: 5px;\n    color: var(--bsbe-error);\n    font-size: 12px;\n    line-height: 1.35;\n}\n\n#bsbe-widget .bsbe-rooms-container {\n    display: grid;\n    gap: 16px;\n}\n\n#bsbe-widget .bsbe-room-card {\n    overflow: hidden;\n    border: 1px solid var(--bsbe-border);\n    border-radius: 16px;\n    background: var(--bsbe-white);\n    box-shadow: 0 8px 24px rgba(0, 33, 68, 0.06);\n    animation: bsbe-card-in 0.28s ease both;\n}\n\n@keyframes bsbe-card-in {\n    from {\n        opacity: 0;\n        transform: translateY(8px);\n    }\n\n    to {\n        opacity: 1;\n        transform: translateY(0);\n    }\n}\n\n#bsbe-widget .bsbe-room-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 12px;\n    width: 100%;\n    padding: 16px 18px;\n    border: 0;\n    color: var(--bsbe-blue);\n    background: var(--bsbe-blue-soft);\n    font: inherit;\n    text-align: left;\n    cursor: pointer;\n}\n\n#bsbe-widget .bsbe-room-title {\n    display: flex;\n    align-items: center;\n    gap: 11px;\n    font-size: 16px;\n    font-weight: 800;\n}\n\n#bsbe-widget .bsbe-room-number {\n    display: inline-grid;\n    place-items: center;\n    width: 30px;\n    height: 30px;\n    border-radius: 50%;\n    color: var(--bsbe-blue-dark);\n    background: var(--bsbe-gold);\n    font-size: 14px;\n    font-weight: 900;\n}\n\n#bsbe-widget .bsbe-room-chevron {\n    width: 10px;\n    height: 10px;\n    border-right: 2px solid currentColor;\n    border-bottom: 2px solid currentColor;\n    transform: rotate(45deg);\n    transition: transform 0.2s ease;\n}\n\n#bsbe-widget .bsbe-room-card.bsbe-collapsed .bsbe-room-chevron {\n    transform: rotate(-45deg);\n}\n\n#bsbe-widget .bsbe-room-card.bsbe-collapsed .bsbe-room-content {\n    display: none;\n}\n\n#bsbe-widget .bsbe-room-content {\n    padding: 20px 18px;\n}\n\n#bsbe-widget .bsbe-occupancy-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 16px;\n}\n\n#bsbe-widget .bsbe-field-label-row {\n    display: flex;\n    align-items: center;\n    gap: 6px;\n}\n\n#bsbe-widget .bsbe-field-label-row label {\n    margin-bottom: 7px;\n}\n\n#bsbe-widget .bsbe-info-button {\n    display: inline-grid;\n    place-items: center;\n    width: 20px;\n    height: 20px;\n    padding: 0;\n    border: 1px solid var(--bsbe-gold);\n    border-radius: 50%;\n    color: var(--bsbe-blue);\n    background: #fffaf0;\n    font-size: 12px;\n    font-weight: 900;\n    cursor: help;\n}\n\n#bsbe-widget .bsbe-age-section {\n    display: grid;\n    grid-template-columns: repeat(4, minmax(120px, 1fr));\n    gap: 14px;\n    margin-top: 16px;\n}\n\n#bsbe-widget .bsbe-room-note {\n    margin: 15px 0 0;\n    padding: 11px 13px;\n    border-left: 3px solid var(--bsbe-gold);\n    border-radius: 8px;\n    color: var(--bsbe-muted);\n    background: #fbfcfe;\n    font-size: 13px;\n    line-height: 1.45;\n}\n\n#bsbe-widget .bsbe-room-error {\n    display: none;\n    margin-top: 14px;\n    padding: 11px 13px;\n    border: 1px solid #f2c7c3;\n    border-radius: 10px;\n    color: var(--bsbe-error);\n    background: var(--bsbe-error-background);\n    font-size: 13px;\n    line-height: 1.45;\n}\n\n#bsbe-widget .bsbe-room-error.bsbe-visible {\n    display: block;\n}\n\n#bsbe-widget .bsbe-group-card {\n    display: flex;\n    align-items: flex-start;\n    gap: 18px;\n    margin-top: 20px;\n    padding: 24px;\n    border: 1px solid var(--bsbe-gold);\n    border-radius: 16px;\n    color: var(--bsbe-blue-dark);\n    background: #fffaf0;\n}\n\n#bsbe-widget .bsbe-group-card[hidden] {\n    display: none;\n}\n\n#bsbe-widget .bsbe-group-icon {\n    flex: 0 0 auto;\n    display: grid;\n    place-items: center;\n    width: 46px;\n    height: 46px;\n    border-radius: 50%;\n    background: var(--bsbe-gold);\n}\n\n#bsbe-widget .bsbe-group-icon svg {\n    width: 24px;\n    fill: var(--bsbe-blue-dark);\n}\n\n#bsbe-widget .bsbe-group-card h3 {\n    margin: 0 0 6px;\n    color: var(--bsbe-blue);\n    font-size: 20px;\n}\n\n#bsbe-widget .bsbe-group-card p {\n    margin: 0 0 17px;\n    color: var(--bsbe-muted);\n    line-height: 1.55;\n}\n\n#bsbe-widget .bsbe-group-button {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 46px;\n    padding: 11px 20px;\n    border: 1px solid var(--bsbe-blue);\n    border-radius: 10px;\n    color: var(--bsbe-white);\n    background: var(--bsbe-blue);\n    font-size: 14px;\n    font-weight: 800;\n    text-decoration: none;\n    transition:\n        transform 0.18s ease,\n        background-color 0.18s ease;\n}\n\n#bsbe-widget .bsbe-group-button:hover {\n    color: var(--bsbe-white);\n    background: var(--bsbe-blue-dark);\n    transform: translateY(-1px);\n}\n\n#bsbe-widget .bsbe-summary {\n    margin-top: 24px;\n    padding: 20px;\n    border: 1px solid var(--bsbe-border);\n    border-radius: 15px;\n    background: #f8fbfe;\n}\n\n#bsbe-widget .bsbe-summary-heading {\n    display: flex;\n    align-items: center;\n    gap: 9px;\n    margin-bottom: 14px;\n}\n\n#bsbe-widget .bsbe-summary-heading h3 {\n    margin: 0;\n    color: var(--bsbe-blue);\n    font-size: 17px;\n}\n\n#bsbe-widget .bsbe-summary-icon {\n    display: grid;\n    place-items: center;\n    width: 29px;\n    height: 29px;\n    border-radius: 50%;\n    background: var(--bsbe-gold);\n}\n\n#bsbe-widget .bsbe-summary-icon svg {\n    width: 16px;\n    fill: var(--bsbe-blue-dark);\n}\n\n#bsbe-widget .bsbe-summary-grid {\n    display: grid;\n    grid-template-columns: 1.6fr repeat(3, 0.7fr);\n    gap: 15px;\n}\n\n#bsbe-widget .bsbe-summary-grid > div {\n    min-width: 0;\n}\n\n#bsbe-widget .bsbe-summary-label {\n    display: block;\n    margin-bottom: 3px;\n    color: var(--bsbe-muted);\n    font-size: 12px;\n    font-weight: 700;\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n}\n\n#bsbe-widget .bsbe-summary-grid strong {\n    display: block;\n    overflow-wrap: anywhere;\n    color: var(--bsbe-text);\n    font-size: 15px;\n}\n\n#bsbe-widget .bsbe-season-warning {\n    display: flex;\n    align-items: flex-start;\n    gap: 13px;\n    margin-top: 20px;\n    padding: 17px 18px;\n    border: 1px solid var(--bsbe-warning-border);\n    border-left-width: 5px;\n    border-radius: 13px;\n    color: var(--bsbe-warning-text);\n    background: var(--bsbe-warning-background);\n}\n\n#bsbe-widget .bsbe-season-warning[hidden] {\n    display: none;\n}\n\n#bsbe-widget .bsbe-warning-icon {\n    flex: 0 0 auto;\n    display: grid;\n    place-items: center;\n    width: 27px;\n    height: 27px;\n    border: 2px solid var(--bsbe-warning-border);\n    border-radius: 50%;\n    font-weight: 900;\n}\n\n#bsbe-widget .bsbe-season-warning strong {\n    display: block;\n    margin-bottom: 4px;\n    font-size: 14px;\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n}\n\n#bsbe-widget .bsbe-season-warning p {\n    margin: 0;\n    font-size: 14px;\n    line-height: 1.55;\n}\n\n#bsbe-widget .bsbe-global-error {\n    margin-top: 18px;\n    padding: 13px 15px;\n    border: 1px solid #f2c7c3;\n    border-radius: 11px;\n    color: var(--bsbe-error);\n    background: var(--bsbe-error-background);\n    font-size: 14px;\n    font-weight: 650;\n}\n\n#bsbe-widget .bsbe-global-error[hidden] {\n    display: none;\n}\n\n#bsbe-widget .bsbe-submit {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 11px;\n    width: 100%;\n    min-height: 58px;\n    margin-top: 20px;\n    padding: 14px 24px;\n    border: 1px solid var(--bsbe-gold);\n    border-radius: 13px;\n    color: var(--bsbe-white);\n    background: var(--bsbe-blue);\n    box-shadow: 0 10px 24px rgba(7, 59, 112, 0.18);\n    font: inherit;\n    font-size: 16px;\n    font-weight: 850;\n    letter-spacing: 0.015em;\n    cursor: pointer;\n    transition:\n        background-color 0.18s ease,\n        transform 0.18s ease,\n        box-shadow 0.18s ease;\n}\n\n#bsbe-widget .bsbe-submit:hover:not(:disabled) {\n    background: var(--bsbe-blue-dark);\n    box-shadow: 0 13px 28px rgba(7, 59, 112, 0.25);\n    transform: translateY(-1px);\n}\n\n#bsbe-widget .bsbe-submit:disabled {\n    cursor: not-allowed;\n    opacity: 0.6;\n}\n\n#bsbe-widget .bsbe-submit-loader {\n    display: none;\n    width: 20px;\n    height: 20px;\n    border: 2px solid rgba(255, 255, 255, 0.38);\n    border-top-color: var(--bsbe-white);\n    border-radius: 50%;\n    animation: bsbe-spin 0.7s linear infinite;\n}\n\n#bsbe-widget .bsbe-submit.bsbe-loading .bsbe-submit-loader {\n    display: block;\n}\n\n@keyframes bsbe-spin {\n    to {\n        transform: rotate(360deg);\n    }\n}\n\n#bsbe-widget .bsbe-direct-note {\n    margin: 11px 0 0;\n    color: var(--bsbe-muted);\n    font-size: 12px;\n    text-align: center;\n}\n\n@media (max-width: 800px) {\n    #bsbe-widget {\n        padding: 30px 14px;\n    }\n\n    #bsbe-widget .bsbe-main-card {\n        padding: 25px 18px;\n        border-radius: 16px;\n    }\n\n    #bsbe-widget .bsbe-search-grid {\n        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n    }\n\n    #bsbe-widget .bsbe-search-grid .bsbe-field:last-child {\n        grid-column: 1 \/ -1;\n    }\n\n    #bsbe-widget .bsbe-occupancy-grid {\n        grid-template-columns: minmax(0, 1fr);\n    }\n\n    #bsbe-widget .bsbe-age-section {\n        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n    }\n\n    #bsbe-widget .bsbe-summary-grid {\n        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n    }\n}\n\n@media (max-width: 520px) {\n    #bsbe-widget {\n        padding: 22px 10px;\n    }\n\n    #bsbe-widget .bsbe-main-card {\n        width: 100%;\n        max-width: 100%;\n        padding: 20px 14px;\n        overflow: hidden;\n    }\n\n    #bsbe-widget .bsbe-search-grid,\n    #bsbe-widget .bsbe-age-section,\n    #bsbe-widget .bsbe-summary-grid {\n        display: grid;\n        grid-template-columns: minmax(0, 1fr);\n        width: 100%;\n        min-width: 0;\n    }\n\n    #bsbe-widget .bsbe-search-grid .bsbe-field,\n    #bsbe-widget .bsbe-search-grid .bsbe-field:last-child {\n        grid-column: auto;\n        width: 100%;\n        min-width: 0;\n    }\n\n    #bsbe-widget input,\n    #bsbe-widget select {\n        width: 100%;\n        max-width: 100%;\n        min-width: 0;\n    }\n\n    #bsbe-widget input[type=\"date\"] {\n        width: 100% !important;\n        max-width: 100% !important;\n        min-width: 0 !important;\n        height: 52px !important;\n        min-height: 52px !important;\n        max-height: 52px !important;\n        padding: 12px 14px !important;\n        line-height: 20px !important;\n    }\n\n    #bsbe-widget .bsbe-group-card {\n        flex-direction: column;\n    }\n}\n\n@media (prefers-reduced-motion: reduce) {\n    #bsbe-widget *,\n    #bsbe-widget *::before,\n    #bsbe-widget *::after {\n        scroll-behavior: auto !important;\n        animation-duration: 0.01ms !important;\n        transition-duration: 0.01ms !important;\n    }\n<\/style>\n\n<script data-wp-block-html=\"js\">\nfunction initBaiaBookingWidget() {\n    \"use strict\";\n\n    \/* =========================================================\n       CONFIGURAZIONE GENERALE\n       ========================================================= *\/\n\n    const CONFIG = {\n        bookingUrl:\n            \"https:\/\/hospitality-guest.teamsystem.cloud\/booking-engine\/baia-sangiorgio-hotel-%26-beach-club?resourceTypeIds=6911c03e39053c200ef719d2,6911c03e39053c200ef719d0,6911c03e39053c200ef719d1,6911c03e39053c200ef719d3\",\n\n        groupQuotationUrl:\n            \"https:\/\/hospitality-guest.teamsystem.cloud\/quotation-request\/baia-sangiorgio-hotel-%26-beach-club\",\n\n        maxRooms: 4,\n        maxRegularGuestsPerRoom: 4,\n        maxInfantsPerRoom: 2,\n\n        summerMinimumLeadDays: 1,\n        offSeasonMinimumLeadDays: 2,\n\n        loadingDelayMilliseconds: 450,\n\n        \/*\n         * Per usare una foto in futuro, inserire qui l'URL completo.\n         * Esempio:\n         * backgroundImage:\n         * \"https:\/\/www.baiasangiorgio.it\/wp-content\/uploads\/giardino.jpg\"\n         *\/\n        backgroundImage: \"\",\n\n        overlayOpacity: 0.58\n    };\n\n    \/* =========================================================\n       TRADUZIONI\n       ========================================================= *\/\n\n    const TRANSLATIONS = {\n        it: {\n            officialWebsite: \"Sito ufficiale\",\n            title: \"Prenota il tuo soggiorno\",\n            subtitle: \"Verifica disponibilit\u00e0 e tariffe in tempo reale.\",\n            checkin: \"Check-in\",\n            checkout: \"Check-out\",\n            rooms: \"Camere\",\n            room: \"Camera\",\n            fiveOrMore: \"5 o pi\u00f9\",\n            adults: \"Adulti dagli 8 anni\",\n            children: \"Bambini da 3 a 7 anni\",\n            infants: \"Neonati da 0 a 2 anni\",\n            childAge: \"Et\u00e0 bambino\",\n            infantAge: \"Et\u00e0 neonato\",\n            selectAge: \"Seleziona l'et\u00e0\",\n            underOne: \"Meno di 1 anno\",\n            oneYear: \"1 anno\",\n            years: \"anni\",\n            roomNote:\n                \"Massimo 4 ospiti tra adulti e bambini. Sono ammessi fino a 2 neonati; se sono gi\u00e0 presenti 4 adulti o bambini, \u00e8 consentito un solo neonato aggiuntivo.\",\n            infantTooltip:\n                \"I neonati fino a 2 anni sono conteggiati tra gli ospiti ma non sono soggetti a tariffa.\",\n            summaryTitle: \"Il tuo soggiorno\",\n            summaryDates: \"Date\",\n            summaryNights: \"Notti\",\n            summaryRooms: \"Camere\",\n            summaryGuests: \"Ospiti\",\n            night: \"notte\",\n            nights: \"notti\",\n            guest: \"ospite\",\n            guests: \"ospiti\",\n            seasonWarningTitle: \"Attenzione\",\n            seasonWarningText:\n                \"Il soggiorno selezionato ricade, anche parzialmente, al di fuori del periodo di apertura dei servizi stagionali. Nelle date interessate non saranno disponibili la spiaggia, la piscina e i ristoranti. Sar\u00e0 disponibile esclusivamente il servizio di colazione.\",\n            groupTitle: \"Richiesta per gruppi\",\n            groupText:\n                \"Per prenotazioni di 5 o pi\u00f9 camere sono previste condizioni e politiche dedicate. Invia una richiesta di preventivo personalizzata.\",\n            groupButton: \"Richiedi un preventivo\",\n            submit: \"Verifica disponibilit\u00e0\",\n            loading: \"Apertura disponibilit\u00e0\u2026\",\n            directNote: \"Prenotazione diretta tramite il sito ufficiale.\",\n            checkinRequired: \"Seleziona la data di arrivo.\",\n            checkoutRequired: \"Seleziona la data di partenza.\",\n            checkoutAfterCheckin:\n                \"La data di partenza deve essere successiva alla data di arrivo.\",\n            checkinTooEarlySummer:\n                \"Nel periodo estivo \u00e8 possibile prenotare a partire dal giorno successivo.\",\n            checkinTooEarlyOffSeason:\n                \"Fuori dal periodo estivo \u00e8 necessario prenotare con almeno due giorni di anticipo.\",\n            regularGuestsLimit:\n                \"Questa camera pu\u00f2 includere al massimo 4 ospiti tra adulti e bambini.\",\n            infantLimit:\n                \"Il numero di neonati selezionato non \u00e8 compatibile con gli altri ospiti della camera.\",\n            childAgeRequired: \"Seleziona l'et\u00e0 del bambino.\",\n            infantAgeRequired: \"Seleziona l'et\u00e0 del neonato.\",\n            genericError:\n                \"Controlla i campi evidenziati prima di procedere.\"\n        },\n\n        en: {\n            officialWebsite: \"Official website\",\n            title: \"Book your stay\",\n            subtitle: \"Check availability and rates in real time.\",\n            checkin: \"Check-in\",\n            checkout: \"Check-out\",\n            rooms: \"Rooms\",\n            room: \"Room\",\n            fiveOrMore: \"5 or more\",\n            adults: \"Adults aged 8 and over\",\n            children: \"Children aged 3 to 7\",\n            infants: \"Infants aged 0 to 2\",\n            childAge: \"Child age\",\n            infantAge: \"Infant age\",\n            selectAge: \"Select age\",\n            underOne: \"Under 1 year\",\n            oneYear: \"1 year\",\n            years: \"years\",\n            roomNote:\n                \"Maximum 4 guests among adults and children. Up to 2 infants are allowed; when 4 adults or children are already present, only 1 additional infant is permitted.\",\n            infantTooltip:\n                \"Infants up to 2 years old count as guests but are not charged.\",\n            summaryTitle: \"Your stay\",\n            summaryDates: \"Dates\",\n            summaryNights: \"Nights\",\n            summaryRooms: \"Rooms\",\n            summaryGuests: \"Guests\",\n            night: \"night\",\n            nights: \"nights\",\n            guest: \"guest\",\n            guests: \"guests\",\n            seasonWarningTitle: \"Please note\",\n            seasonWarningText:\n                \"The selected stay falls, wholly or partly, outside the opening period of the seasonal services. During the affected dates, the beach, swimming pool and restaurants will not be available. Breakfast service only will be available.\",\n            groupTitle: \"Group enquiry\",\n            groupText:\n                \"Bookings of 5 or more rooms are subject to dedicated conditions and policies. Please send a personalised quotation request.\",\n            groupButton: \"Request a quotation\",\n            submit: \"Check availability\",\n            loading: \"Opening availability\u2026\",\n            directNote: \"Direct booking through the official website.\",\n            checkinRequired: \"Select your arrival date.\",\n            checkoutRequired: \"Select your departure date.\",\n            checkoutAfterCheckin:\n                \"The departure date must be later than the arrival date.\",\n            checkinTooEarlySummer:\n                \"During the summer season, bookings are available from the following day.\",\n            checkinTooEarlyOffSeason:\n                \"Outside the summer season, bookings must be made at least two days in advance.\",\n            regularGuestsLimit:\n                \"This room may include a maximum of 4 adults and children.\",\n            infantLimit:\n                \"The selected number of infants is not compatible with the other guests in this room.\",\n            childAgeRequired: \"Select the child's age.\",\n            infantAgeRequired: \"Select the infant's age.\",\n            genericError:\n                \"Check the highlighted fields before continuing.\"\n        },\n\n        de: {\n            officialWebsite: \"Offizielle Website\",\n            title: \"Buchen Sie Ihren Aufenthalt\",\n            subtitle: \"Pr\u00fcfen Sie Verf\u00fcgbarkeit und Preise in Echtzeit.\",\n            checkin: \"Check-in\",\n            checkout: \"Check-out\",\n            rooms: \"Zimmer\",\n            room: \"Zimmer\",\n            fiveOrMore: \"5 oder mehr\",\n            adults: \"Erwachsene ab 8 Jahren\",\n            children: \"Kinder von 3 bis 7 Jahren\",\n            infants: \"Kleinkinder von 0 bis 2 Jahren\",\n            childAge: \"Alter des Kindes\",\n            infantAge: \"Alter des Kleinkindes\",\n            selectAge: \"Alter ausw\u00e4hlen\",\n            underOne: \"Unter 1 Jahr\",\n            oneYear: \"1 Jahr\",\n            years: \"Jahre\",\n            roomNote:\n                \"Maximal 4 Erwachsene und Kinder. Bis zu 2 Kleinkinder sind m\u00f6glich; wenn bereits 4 Erwachsene oder Kinder anwesend sind, ist nur 1 zus\u00e4tzliches Kleinkind erlaubt.\",\n            infantTooltip:\n                \"Kleinkinder bis 2 Jahre werden als G\u00e4ste gez\u00e4hlt, sind jedoch kostenfrei.\",\n            summaryTitle: \"Ihr Aufenthalt\",\n            summaryDates: \"Daten\",\n            summaryNights: \"N\u00e4chte\",\n            summaryRooms: \"Zimmer\",\n            summaryGuests: \"G\u00e4ste\",\n            night: \"Nacht\",\n            nights: \"N\u00e4chte\",\n            guest: \"Gast\",\n            guests: \"G\u00e4ste\",\n            seasonWarningTitle: \"Achtung\",\n            seasonWarningText:\n                \"Der ausgew\u00e4hlte Aufenthalt liegt ganz oder teilweise au\u00dferhalb des \u00d6ffnungszeitraums der saisonalen Angebote. An den betreffenden Tagen stehen Strand, Pool und Restaurants nicht zur Verf\u00fcgung. Es wird ausschlie\u00dflich Fr\u00fchst\u00fcck angeboten.\",\n            groupTitle: \"Gruppenanfrage\",\n            groupText:\n                \"F\u00fcr Buchungen ab 5 Zimmern gelten besondere Bedingungen und Richtlinien. Bitte senden Sie eine individuelle Angebotsanfrage.\",\n            groupButton: \"Angebot anfordern\",\n            submit: \"Verf\u00fcgbarkeit pr\u00fcfen\",\n            loading: \"Verf\u00fcgbarkeit wird ge\u00f6ffnet\u2026\",\n            directNote: \"Direktbuchung \u00fcber die offizielle Website.\",\n            checkinRequired: \"W\u00e4hlen Sie das Anreisedatum.\",\n            checkoutRequired: \"W\u00e4hlen Sie das Abreisedatum.\",\n            checkoutAfterCheckin:\n                \"Das Abreisedatum muss nach dem Anreisedatum liegen.\",\n            checkinTooEarlySummer:\n                \"W\u00e4hrend der Sommersaison sind Buchungen ab dem folgenden Tag m\u00f6glich.\",\n            checkinTooEarlyOffSeason:\n                \"Au\u00dferhalb der Sommersaison muss mindestens zwei Tage im Voraus gebucht werden.\",\n            regularGuestsLimit:\n                \"Dieses Zimmer darf maximal 4 Erwachsene und Kinder umfassen.\",\n            infantLimit:\n                \"Die gew\u00e4hlte Anzahl an Kleinkindern ist mit den \u00fcbrigen G\u00e4sten dieses Zimmers nicht vereinbar.\",\n            childAgeRequired: \"W\u00e4hlen Sie das Alter des Kindes.\",\n            infantAgeRequired: \"W\u00e4hlen Sie das Alter des Kleinkindes.\",\n            genericError:\n                \"Pr\u00fcfen Sie die markierten Felder, bevor Sie fortfahren.\"\n        },\n\n        es: {\n            officialWebsite: \"Sitio oficial\",\n            title: \"Reserva tu estancia\",\n            subtitle: \"Consulta disponibilidad y tarifas en tiempo real.\",\n            checkin: \"Check-in\",\n            checkout: \"Check-out\",\n            rooms: \"Habitaciones\",\n            room: \"Habitaci\u00f3n\",\n            fiveOrMore: \"5 o m\u00e1s\",\n            adults: \"Adultos desde 8 a\u00f1os\",\n            children: \"Ni\u00f1os de 3 a 7 a\u00f1os\",\n            infants: \"Beb\u00e9s de 0 a 2 a\u00f1os\",\n            childAge: \"Edad del ni\u00f1o\",\n            infantAge: \"Edad del beb\u00e9\",\n            selectAge: \"Selecciona la edad\",\n            underOne: \"Menos de 1 a\u00f1o\",\n            oneYear: \"1 a\u00f1o\",\n            years: \"a\u00f1os\",\n            roomNote:\n                \"M\u00e1ximo 4 hu\u00e9spedes entre adultos y ni\u00f1os. Se permiten hasta 2 beb\u00e9s; si ya hay 4 adultos o ni\u00f1os, solo se admite 1 beb\u00e9 adicional.\",\n            infantTooltip:\n                \"Los beb\u00e9s de hasta 2 a\u00f1os cuentan como hu\u00e9spedes, pero no est\u00e1n sujetos a tarifa.\",\n            summaryTitle: \"Tu estancia\",\n            summaryDates: \"Fechas\",\n            summaryNights: \"Noches\",\n            summaryRooms: \"Habitaciones\",\n            summaryGuests: \"Hu\u00e9spedes\",\n            night: \"noche\",\n            nights: \"noches\",\n            guest: \"hu\u00e9sped\",\n            guests: \"hu\u00e9spedes\",\n            seasonWarningTitle: \"Atenci\u00f3n\",\n            seasonWarningText:\n                \"La estancia seleccionada se encuentra, total o parcialmente, fuera del per\u00edodo de apertura de los servicios de temporada. En las fechas afectadas no estar\u00e1n disponibles la playa, la piscina ni los restaurantes. Solo estar\u00e1 disponible el servicio de desayuno.\",\n            groupTitle: \"Solicitud para grupos\",\n            groupText:\n                \"Las reservas de 5 o m\u00e1s habitaciones est\u00e1n sujetas a condiciones y pol\u00edticas espec\u00edficas. Env\u00eda una solicitud de presupuesto personalizada.\",\n            groupButton: \"Solicitar presupuesto\",\n            submit: \"Comprobar disponibilidad\",\n            loading: \"Abriendo disponibilidad\u2026\",\n            directNote: \"Reserva directa a trav\u00e9s del sitio oficial.\",\n            checkinRequired: \"Selecciona la fecha de llegada.\",\n            checkoutRequired: \"Selecciona la fecha de salida.\",\n            checkoutAfterCheckin:\n                \"La fecha de salida debe ser posterior a la fecha de llegada.\",\n            checkinTooEarlySummer:\n                \"Durante la temporada de verano se puede reservar a partir del d\u00eda siguiente.\",\n            checkinTooEarlyOffSeason:\n                \"Fuera de la temporada de verano es necesario reservar con al menos dos d\u00edas de antelaci\u00f3n.\",\n            regularGuestsLimit:\n                \"Esta habitaci\u00f3n puede incluir un m\u00e1ximo de 4 adultos y ni\u00f1os.\",\n            infantLimit:\n                \"El n\u00famero de beb\u00e9s seleccionado no es compatible con los dem\u00e1s hu\u00e9spedes de esta habitaci\u00f3n.\",\n            childAgeRequired: \"Selecciona la edad del ni\u00f1o.\",\n            infantAgeRequired: \"Selecciona la edad del beb\u00e9.\",\n            genericError:\n                \"Comprueba los campos indicados antes de continuar.\"\n        },\n\n        fr: {\n            officialWebsite: \"Site officiel\",\n            title: \"R\u00e9servez votre s\u00e9jour\",\n            subtitle: \"Consultez les disponibilit\u00e9s et les tarifs en temps r\u00e9el.\",\n            checkin: \"Check-in\",\n            checkout: \"Check-out\",\n            rooms: \"Chambres\",\n            room: \"Chambre\",\n            fiveOrMore: \"5 ou plus\",\n            adults: \"Adultes \u00e0 partir de 8 ans\",\n            children: \"Enfants de 3 \u00e0 7 ans\",\n            infants: \"B\u00e9b\u00e9s de 0 \u00e0 2 ans\",\n            childAge: \"\u00c2ge de l'enfant\",\n            infantAge: \"\u00c2ge du b\u00e9b\u00e9\",\n            selectAge: \"S\u00e9lectionnez l'\u00e2ge\",\n            underOne: \"Moins de 1 an\",\n            oneYear: \"1 an\",\n            years: \"ans\",\n            roomNote:\n                \"Maximum 4 personnes parmi les adultes et les enfants. Jusqu\u2019\u00e0 2 b\u00e9b\u00e9s sont admis ; si 4 adultes ou enfants sont d\u00e9j\u00e0 pr\u00e9sents, un seul b\u00e9b\u00e9 suppl\u00e9mentaire est autoris\u00e9.\",\n            infantTooltip:\n                \"Les b\u00e9b\u00e9s jusqu'\u00e0 2 ans sont compt\u00e9s parmi les occupants mais ne sont pas factur\u00e9s.\",\n            summaryTitle: \"Votre s\u00e9jour\",\n            summaryDates: \"Dates\",\n            summaryNights: \"Nuits\",\n            summaryRooms: \"Chambres\",\n            summaryGuests: \"Personnes\",\n            night: \"nuit\",\n            nights: \"nuits\",\n            guest: \"personne\",\n            guests: \"personnes\",\n            seasonWarningTitle: \"Attention\",\n            seasonWarningText:\n                \"Le s\u00e9jour s\u00e9lectionn\u00e9 se situe, enti\u00e8rement ou partiellement, en dehors de la p\u00e9riode d\u2019ouverture des services saisonniers. Aux dates concern\u00e9es, la plage, la piscine et les restaurants ne seront pas disponibles. Seul le service du petit-d\u00e9jeuner sera assur\u00e9.\",\n            groupTitle: \"Demande pour groupes\",\n            groupText:\n                \"Les r\u00e9servations de 5 chambres ou plus font l\u2019objet de conditions sp\u00e9cifiques. Envoyez une demande de devis personnalis\u00e9e.\",\n            groupButton: \"Demander un devis\",\n            submit: \"V\u00e9rifier les disponibilit\u00e9s\",\n            loading: \"Ouverture des disponibilit\u00e9s\u2026\",\n            directNote: \"R\u00e9servation directe depuis le site officiel.\",\n            checkinRequired: \"S\u00e9lectionnez la date d\u2019arriv\u00e9e.\",\n            checkoutRequired: \"S\u00e9lectionnez la date de d\u00e9part.\",\n            checkoutAfterCheckin:\n                \"La date de d\u00e9part doit \u00eatre post\u00e9rieure \u00e0 la date d\u2019arriv\u00e9e.\",\n            checkinTooEarlySummer:\n                \"Pendant la saison estivale, les r\u00e9servations sont possibles \u00e0 partir du lendemain.\",\n            checkinTooEarlyOffSeason:\n                \"En dehors de la saison estivale, la r\u00e9servation doit \u00eatre effectu\u00e9e au moins deux jours \u00e0 l\u2019avance.\",\n            regularGuestsLimit:\n                \"Cette chambre peut comprendre au maximum 4 adultes et enfants.\",\n            infantLimit:\n                \"Le nombre de b\u00e9b\u00e9s s\u00e9lectionn\u00e9 n\u2019est pas compatible avec les autres occupants de cette chambre.\",\n            childAgeRequired: \"S\u00e9lectionnez l\u2019\u00e2ge de l\u2019enfant.\",\n            infantAgeRequired: \"S\u00e9lectionnez l\u2019\u00e2ge du b\u00e9b\u00e9.\",\n            genericError:\n                \"V\u00e9rifiez les champs signal\u00e9s avant de continuer.\"\n        },\n\n        pl: {\n            officialWebsite: \"Oficjalna strona\",\n            title: \"Zarezerwuj pobyt\",\n            subtitle: \"Sprawd\u017a dost\u0119pno\u015b\u0107 i ceny w czasie rzeczywistym.\",\n            checkin: \"Zameldowanie\",\n            checkout: \"Wymeldowanie\",\n            rooms: \"Pokoje\",\n            room: \"Pok\u00f3j\",\n            fiveOrMore: \"5 lub wi\u0119cej\",\n            adults: \"Doro\u015bli od 8 lat\",\n            children: \"Dzieci od 3 do 7 lat\",\n            infants: \"Niemowl\u0119ta od 0 do 2 lat\",\n            childAge: \"Wiek dziecka\",\n            infantAge: \"Wiek niemowl\u0119cia\",\n            selectAge: \"Wybierz wiek\",\n            underOne: \"Poni\u017cej 1 roku\",\n            oneYear: \"1 rok\",\n            years: \"lata\",\n            roomNote:\n                \"Maksymalnie 4 osoby doros\u0142e i dzieci. Dozwolone s\u0105 maksymalnie 2 niemowl\u0119ta; je\u015bli w pokoju przebywa ju\u017c \u0142\u0105cznie 4 doros\u0142ych lub dzieci, mo\u017cna doda\u0107 tylko 1 niemowl\u0119.\",\n            infantTooltip:\n                \"Niemowl\u0119ta do 2 lat s\u0105 uwzgl\u0119dniane w liczbie go\u015bci, ale pobyt jest dla nich bezp\u0142atny.\",\n            summaryTitle: \"Tw\u00f3j pobyt\",\n            summaryDates: \"Daty\",\n            summaryNights: \"Noce\",\n            summaryRooms: \"Pokoje\",\n            summaryGuests: \"Go\u015bcie\",\n            night: \"noc\",\n            nights: \"nocy\",\n            guest: \"go\u015b\u0107\",\n            guests: \"go\u015bci\",\n            seasonWarningTitle: \"Uwaga\",\n            seasonWarningText:\n                \"Wybrany pobyt przypada w ca\u0142o\u015bci lub cz\u0119\u015bciowo poza okresem dzia\u0142ania us\u0142ug sezonowych. W podanych terminach pla\u017ca, basen i restauracje b\u0119d\u0105 niedost\u0119pne. Dost\u0119pne b\u0119dzie wy\u0142\u0105cznie \u015bniadanie.\",\n            groupTitle: \"Zapytanie grupowe\",\n            groupText:\n                \"W przypadku rezerwacji 5 lub wi\u0119kszej liczby pokoi obowi\u0105zuj\u0105 specjalne warunki. Prosimy o przes\u0142anie indywidualnego zapytania ofertowego.\",\n            groupButton: \"Popro\u015b o wycen\u0119\",\n            submit: \"Sprawd\u017a dost\u0119pno\u015b\u0107\",\n            loading: \"Otwieranie dost\u0119pno\u015bci\u2026\",\n            directNote: \"Bezpo\u015brednia rezerwacja przez oficjaln\u0105 stron\u0119.\",\n            checkinRequired: \"Wybierz dat\u0119 przyjazdu.\",\n            checkoutRequired: \"Wybierz dat\u0119 wyjazdu.\",\n            checkoutAfterCheckin:\n                \"Data wyjazdu musi by\u0107 p\u00f3\u017aniejsza ni\u017c data przyjazdu.\",\n            checkinTooEarlySummer:\n                \"W sezonie letnim rezerwacji mo\u017cna dokona\u0107 najwcze\u015bniej na nast\u0119pny dzie\u0144.\",\n            checkinTooEarlyOffSeason:\n                \"Poza sezonem letnim rezerwacji nale\u017cy dokona\u0107 z co najmniej dwudniowym wyprzedzeniem.\",\n            regularGuestsLimit:\n                \"W tym pokoju mog\u0105 przebywa\u0107 maksymalnie 4 osoby doros\u0142e i dzieci.\",\n            infantLimit:\n                \"Wybrana liczba niemowl\u0105t nie jest zgodna z liczb\u0105 pozosta\u0142ych go\u015bci w tym pokoju.\",\n            childAgeRequired: \"Wybierz wiek dziecka.\",\n            infantAgeRequired: \"Wybierz wiek niemowl\u0119cia.\",\n            genericError:\n                \"Przed kontynuowaniem sprawd\u017a zaznaczone pola.\"\n        },\n\n        ru: {\n            officialWebsite: \"\u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0430\u0439\u0442\",\n            title: \"\u0417\u0430\u0431\u0440\u043e\u043d\u0438\u0440\u0443\u0439\u0442\u0435 \u043f\u0440\u043e\u0436\u0438\u0432\u0430\u043d\u0438\u0435\",\n            subtitle: \"\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043c\u0435\u0441\u0442 \u0438 \u0446\u0435\u043d\u044b \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438.\",\n            checkin: \"\u0417\u0430\u0435\u0437\u0434\",\n            checkout: \"\u0412\u044b\u0435\u0437\u0434\",\n            rooms: \"\u041d\u043e\u043c\u0435\u0440\u0430\",\n            room: \"\u041d\u043e\u043c\u0435\u0440\",\n            fiveOrMore: \"5 \u0438 \u0431\u043e\u043b\u0435\u0435\",\n            adults: \"\u0412\u0437\u0440\u043e\u0441\u043b\u044b\u0435 \u043e\u0442 8 \u043b\u0435\u0442\",\n            children: \"\u0414\u0435\u0442\u0438 \u043e\u0442 3 \u0434\u043e 7 \u043b\u0435\u0442\",\n            infants: \"\u041c\u043b\u0430\u0434\u0435\u043d\u0446\u044b \u043e\u0442 0 \u0434\u043e 2 \u043b\u0435\u0442\",\n            childAge: \"\u0412\u043e\u0437\u0440\u0430\u0441\u0442 \u0440\u0435\u0431\u0451\u043d\u043a\u0430\",\n            infantAge: \"\u0412\u043e\u0437\u0440\u0430\u0441\u0442 \u043c\u043b\u0430\u0434\u0435\u043d\u0446\u0430\",\n            selectAge: \"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\",\n            underOne: \"\u041c\u043b\u0430\u0434\u0448\u0435 1 \u0433\u043e\u0434\u0430\",\n            oneYear: \"1 \u0433\u043e\u0434\",\n            years: \"\u0433\u043e\u0434\u0430\",\n            roomNote:\n                \"\u041c\u0430\u043a\u0441\u0438\u043c\u0443\u043c 4 \u0433\u043e\u0441\u0442\u044f \u0438\u0437 \u0447\u0438\u0441\u043b\u0430 \u0432\u0437\u0440\u043e\u0441\u043b\u044b\u0445 \u0438 \u0434\u0435\u0442\u0435\u0439. \u0414\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0434\u043e 2 \u043c\u043b\u0430\u0434\u0435\u043d\u0446\u0435\u0432; \u0435\u0441\u043b\u0438 \u0432 \u043d\u043e\u043c\u0435\u0440\u0435 \u0443\u0436\u0435 \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f 4 \u0432\u0437\u0440\u043e\u0441\u043b\u044b\u0445 \u0438\u043b\u0438 \u0440\u0435\u0431\u0451\u043d\u043a\u0430, \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e 1 \u043c\u043b\u0430\u0434\u0435\u043d\u0446\u0430.\",\n            infantTooltip:\n                \"\u041c\u043b\u0430\u0434\u0435\u043d\u0446\u044b \u0434\u043e 2 \u043b\u0435\u0442 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0447\u0438\u0441\u043b\u0435 \u0433\u043e\u0441\u0442\u0435\u0439, \u043d\u043e \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e.\",\n            summaryTitle: \"\u0412\u0430\u0448\u0435 \u043f\u0440\u043e\u0436\u0438\u0432\u0430\u043d\u0438\u0435\",\n            summaryDates: \"\u0414\u0430\u0442\u044b\",\n            summaryNights: \"\u041d\u043e\u0447\u0438\",\n            summaryRooms: \"\u041d\u043e\u043c\u0435\u0440\u0430\",\n            summaryGuests: \"\u0413\u043e\u0441\u0442\u0438\",\n            night: \"\u043d\u043e\u0447\u044c\",\n            nights: \"\u043d\u043e\u0447\u0435\u0439\",\n            guest: \"\u0433\u043e\u0441\u0442\u044c\",\n            guests: \"\u0433\u043e\u0441\u0442\u0435\u0439\",\n            seasonWarningTitle: \"\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435\",\n            seasonWarningText:\n                \"\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u043f\u0435\u0440\u0438\u043e\u0434 \u043f\u0440\u043e\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u043b\u0438 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0432\u0440\u0435\u043c\u044f, \u043a\u043e\u0433\u0434\u0430 \u0441\u0435\u0437\u043e\u043d\u043d\u044b\u0435 \u0443\u0441\u043b\u0443\u0433\u0438 \u043d\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f. \u0412 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u0442\u044b \u043f\u043b\u044f\u0436, \u0431\u0430\u0441\u0441\u0435\u0439\u043d \u0438 \u0440\u0435\u0441\u0442\u043e\u0440\u0430\u043d\u044b \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u043a\u0440\u044b\u0442\u044b. \u0411\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0432\u0442\u0440\u0430\u043a.\",\n            groupTitle: \"\u0413\u0440\u0443\u043f\u043f\u043e\u0432\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441\",\n            groupText:\n                \"\u0414\u043b\u044f \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f 5 \u0438 \u0431\u043e\u043b\u0435\u0435 \u043d\u043e\u043c\u0435\u0440\u043e\u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f. \u041e\u0442\u043f\u0440\u0430\u0432\u044c\u0442\u0435 \u0438\u043d\u0434\u0438\u0432\u0438\u0434\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0440\u0430\u0441\u0447\u0451\u0442 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u0438.\",\n            groupButton: \"\u0417\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0440\u0430\u0441\u0447\u0451\u0442\",\n            submit: \"\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043c\u0435\u0441\u0442\",\n            loading: \"\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b\u2026\",\n            directNote: \"\u041f\u0440\u044f\u043c\u043e\u0435 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0430\u0439\u0442.\",\n            checkinRequired: \"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0430\u0442\u0443 \u0437\u0430\u0435\u0437\u0434\u0430.\",\n            checkoutRequired: \"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0430\u0442\u0443 \u0432\u044b\u0435\u0437\u0434\u0430.\",\n            checkoutAfterCheckin:\n                \"\u0414\u0430\u0442\u0430 \u0432\u044b\u0435\u0437\u0434\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043f\u043e\u0437\u0436\u0435 \u0434\u0430\u0442\u044b \u0437\u0430\u0435\u0437\u0434\u0430.\",\n            checkinTooEarlySummer:\n                \"\u0412 \u043b\u0435\u0442\u043d\u0438\u0439 \u0441\u0435\u0437\u043e\u043d \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0440\u0430\u043d\u0435\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0434\u043d\u044f.\",\n            checkinTooEarlyOffSeason:\n                \"\u0412\u043d\u0435 \u043b\u0435\u0442\u043d\u0435\u0433\u043e \u0441\u0435\u0437\u043e\u043d\u0430 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0444\u043e\u0440\u043c\u0438\u0442\u044c \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0437\u0430 \u0434\u0432\u0430 \u0434\u043d\u044f.\",\n            regularGuestsLimit:\n                \"\u0412 \u044d\u0442\u043e\u043c \u043d\u043e\u043c\u0435\u0440\u0435 \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0442\u044c\u0441\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c 4 \u0432\u0437\u0440\u043e\u0441\u043b\u044b\u0445 \u0438 \u0440\u0435\u0431\u0451\u043d\u043a\u0430.\",\n            infantLimit:\n                \"\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043c\u043b\u0430\u0434\u0435\u043d\u0446\u0435\u0432 \u043d\u0435\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e \u0441 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0433\u043e\u0441\u0442\u0435\u0439 \u0432 \u044d\u0442\u043e\u043c \u043d\u043e\u043c\u0435\u0440\u0435.\",\n            childAgeRequired: \"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u043e\u0437\u0440\u0430\u0441\u0442 \u0440\u0435\u0431\u0451\u043d\u043a\u0430.\",\n            infantAgeRequired: \"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u043e\u0437\u0440\u0430\u0441\u0442 \u043c\u043b\u0430\u0434\u0435\u043d\u0446\u0430.\",\n            genericError:\n                \"\u041f\u0435\u0440\u0435\u0434 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044f.\"\n        }\n    };\n\n    \/* =========================================================\n       ELEMENTI DOM\n       ========================================================= *\/\n\n    const widget = document.getElementById(\"bsbe-widget\");\n\n    if (!widget || widget.dataset.bsbeReady === \"true\") {\n        return;\n    }\n\n    widget.dataset.bsbeReady = \"true\";\n\n    const form = document.getElementById(\"bsbe-form\");\n    const checkinInput = document.getElementById(\"bsbe-checkin\");\n    const checkoutInput = document.getElementById(\"bsbe-checkout\");\n    const roomCountSelect = document.getElementById(\"bsbe-room-count\");\n    const roomsContainer = document.getElementById(\"bsbe-rooms-container\");\n    const groupCard = document.getElementById(\"bsbe-group-card\");\n    const groupButton = document.getElementById(\"bsbe-group-button\");\n    const summary = document.getElementById(\"bsbe-summary\");\n    const warning = document.getElementById(\"bsbe-season-warning\");\n    const submitButton = document.getElementById(\"bsbe-submit\");\n    const submitLabel = submitButton.querySelector(\".bsbe-submit-label\");\n    const globalError = document.getElementById(\"bsbe-global-error\");\n\n    let language = detectLanguage();\n    let t = TRANSLATIONS[language];\n    let roomState = [];\n\n    \/* =========================================================\n       AVVIO\n       ========================================================= *\/\n\n    initialise();\n\n    function initialise() {\n        applyVisualConfiguration();\n        applyTranslations();\n\n        groupButton.href = CONFIG.groupQuotationUrl;\n\n        const defaultCheckin = findEarliestBookableDate();\n        const defaultCheckout = addDays(defaultCheckin, 1);\n\n        checkinInput.min = formatISODate(defaultCheckin);\n        checkinInput.value = formatISODate(defaultCheckin);\n\n        checkoutInput.min = formatISODate(defaultCheckout);\n        checkoutInput.value = formatISODate(defaultCheckout);\n\n        roomState = [createDefaultRoomState()];\n        renderRooms();\n        updateAll();\n\n        checkinInput.addEventListener(\"change\", handleCheckinChange);\n        checkoutInput.addEventListener(\"change\", updateAll);\n        roomCountSelect.addEventListener(\"change\", handleRoomCountChange);\n        form.addEventListener(\"submit\", handleSubmit);\n    }\n\n    function detectLanguage() {\n    const supportedLanguages = [\"it\", \"en\", \"de\", \"es\", \"fr\", \"pl\", \"ru\"];\n\n    \/*\n     * 1. Legge la lingua corrente impostata da Polylang\n     * nell'attributo <html lang=\"...\">.\n     *\n     * Esempi:\n     * it-IT \u2192 it\n     * en-GB \u2192 en\n     * de-DE \u2192 de\n     *\/\n    const pageLanguage = String(\n        document.documentElement.lang || \"\"\n    )\n        .trim()\n        .slice(0, 2)\n        .toLowerCase();\n\n    if (supportedLanguages.includes(pageLanguage)) {\n        return pageLanguage;\n    }\n\n    \/*\n     * 2. Fallback per configurazioni Polylang con lingua\n     * inserita nell'URL: \/en\/, \/de\/, \/es\/, \/fr\/.\n     *\/\n    const pathParts = window.location.pathname\n        .split(\"\/\")\n        .filter(Boolean)\n        .map(function (part) {\n            return part.toLowerCase();\n        });\n\n    const urlLanguage = pathParts.find(function (part) {\n        return supportedLanguages.includes(part);\n    });\n\n    if (urlLanguage) {\n        return urlLanguage;\n    }\n\n    \/*\n     * 3. Ultimo fallback: lingua del browser.\n     *\/\n    const browserLanguage = String(\n        navigator.languages\n            ? navigator.languages.length\n            : false\n            ? navigator.languages[0]\n            : navigator.language || \"en\"\n    )\n        .slice(0, 2)\n        .toLowerCase();\n\n    return supportedLanguages.includes(browserLanguage)\n        ? browserLanguage\n        : \"en\";\n}\n\n    function applyVisualConfiguration() {\n        widget.style.setProperty(\n            \"--bsbe-overlay-opacity\",\n            String(CONFIG.overlayOpacity)\n        );\n\n        if (CONFIG.backgroundImage.trim()) {\n            const safeUrl = CONFIG.backgroundImage.replace(\/\"\/g, \"%22\");\n\n            widget.style.setProperty(\n                \"--bsbe-background-image\",\n                `url(\"${safeUrl}\")`\n            );\n        }\n    }\n\n    function applyTranslations() {\n        widget.querySelectorAll(\"[data-i18n]\").forEach(function (element) {\n            const key = element.dataset.i18n;\n\n            if (Object.prototype.hasOwnProperty.call(t, key)) {\n                element.textContent = t[key];\n            }\n        });\n    }\n\n    \/* =========================================================\n       DATE\n       ========================================================= *\/\n\n    function startOfToday() {\n        const now = new Date();\n\n        return new Date(\n            now.getFullYear(),\n            now.getMonth(),\n            now.getDate()\n        );\n    }\n\n    function addDays(date, days) {\n        const copy = new Date(date);\n        copy.setDate(copy.getDate() + days);\n        return copy;\n    }\n\n    function differenceInDays(laterDate, earlierDate) {\n        const millisecondsPerDay = 86400000;\n\n        const laterUTC = Date.UTC(\n            laterDate.getFullYear(),\n            laterDate.getMonth(),\n            laterDate.getDate()\n        );\n\n        const earlierUTC = Date.UTC(\n            earlierDate.getFullYear(),\n            earlierDate.getMonth(),\n            earlierDate.getDate()\n        );\n\n        return Math.round(\n            (laterUTC - earlierUTC) \/ millisecondsPerDay\n        );\n    }\n\n    function formatISODate(date) {\n        const year = date.getFullYear();\n        const month = String(date.getMonth() + 1).padStart(2, \"0\");\n        const day = String(date.getDate()).padStart(2, \"0\");\n\n        return `${year}-${month}-${day}`;\n    }\n\n    function parseISODate(value) {\n        if (!value) {\n            return null;\n        }\n\n        const parts = value.split(\"-\").map(Number);\n\n        if (parts.length !== 3 || parts.some(Number.isNaN)) {\n            return null;\n        }\n\n        return new Date(parts[0], parts[1] - 1, parts[2]);\n    }\n\n    function getSummerRange(year) {\n        const juneFirst = new Date(year, 5, 1);\n        const juneWeekday = juneFirst.getDay();\n\n        const daysUntilFirstMonday = (8 - juneWeekday) % 7;\n        const firstMonday = addDays(juneFirst, daysUntilFirstMonday);\n        const secondMonday = addDays(firstMonday, 7);\n\n        const septemberFirst = new Date(year, 8, 1);\n        const septemberWeekday = septemberFirst.getDay();\n        const daysUntilSunday = (7 - septemberWeekday) % 7;\n        const firstSunday = addDays(\n            septemberFirst,\n            daysUntilSunday\n        );\n\n        return {\n            start: secondMonday,\n            end: firstSunday\n        };\n    }\n\n    function isDateInSummer(date) {\n        const range = getSummerRange(date.getFullYear());\n\n        return date >= range.start ? date <= range.end : false;\n    }\n\n    function minimumLeadDaysForArrival(arrivalDate) {\n        return isDateInSummer(arrivalDate)\n            ? CONFIG.summerMinimumLeadDays\n            : CONFIG.offSeasonMinimumLeadDays;\n    }\n\n    function isArrivalDateBookable(arrivalDate) {\n        const today = startOfToday();\n        const leadDays = differenceInDays(arrivalDate, today);\n        const requiredLeadDays =\n            minimumLeadDaysForArrival(arrivalDate);\n\n        return leadDays >= requiredLeadDays;\n    }\n\n    function findEarliestBookableDate() {\n        const today = startOfToday();\n        let candidate = addDays(today, 1);\n\n        for (let attempts = 0; attempts < 10; attempts += 1) {\n            if (isArrivalDateBookable(candidate)) {\n                return candidate;\n            }\n\n            candidate = addDays(candidate, 1);\n        }\n\n        return addDays(today, 2);\n    }\n\n    function isStayFullyInsideSummer(checkin, checkout) {\n        if (!checkin || !checkout || checkout <= checkin) {\n            return true;\n        }\n\n        \/*\n         * Il checkout non \u00e8 una notte di soggiorno.\n         * Vengono quindi controllate le date da check-in incluso\n         * fino al giorno precedente al check-out.\n         *\/\n        for (\n            let night = new Date(checkin);\n            night < checkout;\n            night = addDays(night, 1)\n        ) {\n            if (!isDateInSummer(night)) {\n                return false;\n            }\n        }\n\n        return true;\n    }\n\n    function handleCheckinChange() {\n        const checkin = parseISODate(checkinInput.value);\n\n        if (checkin) {\n            const minimumCheckout = addDays(checkin, 1);\n            const checkout = parseISODate(checkoutInput.value);\n\n            checkoutInput.min = formatISODate(minimumCheckout);\n\n            if (!checkout || checkout <= checkin) {\n                checkoutInput.value =\n                    formatISODate(minimumCheckout);\n            }\n        }\n\n        updateAll();\n    }\n\n    \/* =========================================================\n       CAMERE\n       ========================================================= *\/\n\n    function createDefaultRoomState() {\n        return {\n            adults: 2,\n            children: 0,\n            infants: 0,\n            childAges: [],\n            infantAges: [],\n            collapsed: false\n        };\n    }\n\n    function getMaximumInfantsForRoom(room) {\n        const regularGuests = room.adults + room.children;\n\n        \/*\n         * Fino a 2 neonati quando la camera ha meno di 4\n         * ospiti tra adulti e bambini. Se adulti + bambini\n         * sono gi\u00e0 4, resta consentito un solo neonato.\n         *\/\n        if (regularGuests >= CONFIG.maxRegularGuestsPerRoom) {\n            return 1;\n        }\n\n        return Math.min(\n            CONFIG.maxInfantsPerRoom,\n            CONFIG.maxRegularGuestsPerRoom - regularGuests\n        );\n    }\n\n    function handleRoomCountChange() {\n        const value = roomCountSelect.value;\n\n        clearGlobalError();\n\n        if (value === \"group\") {\n            roomsContainer.hidden = true;\n            summary.hidden = true;\n            warning.hidden = true;\n            submitButton.hidden = true;\n            groupCard.hidden = false;\n            return;\n        }\n\n        const requestedCount = Math.min(\n            Number(value),\n            CONFIG.maxRooms\n        );\n\n        groupCard.hidden = true;\n        roomsContainer.hidden = false;\n        summary.hidden = false;\n        submitButton.hidden = false;\n\n        while (roomState.length < requestedCount) {\n            roomState.push(createDefaultRoomState());\n        }\n\n        if (roomState.length > requestedCount) {\n            roomState = roomState.slice(0, requestedCount);\n        }\n\n        renderRooms();\n        updateAll();\n\n        const newestCard = roomsContainer.lastElementChild;\n\n        if (requestedCount > 1 ? Boolean(newestCard) : false) {\n            window.setTimeout(function () {\n                newestCard.scrollIntoView({\n                    behavior: \"smooth\",\n                    block: \"nearest\"\n                });\n            }, 80);\n        }\n    }\n\n    function renderRooms() {\n        roomsContainer.innerHTML = \"\";\n\n        roomState.forEach(function (room, roomIndex) {\n            const roomCard = document.createElement(\"article\");\n            roomCard.className = \"bsbe-room-card\";\n\n            if (room.collapsed) {\n                roomCard.classList.add(\"bsbe-collapsed\");\n            }\n\n            roomCard.dataset.roomIndex = String(roomIndex);\n\n            const maxInfants = getMaximumInfantsForRoom(room);\n\n            roomCard.innerHTML = `\n                <button\n                    type=\"button\"\n                    class=\"bsbe-room-header\"\n                    aria-expanded=\"${String(!room.collapsed)}\"\n                >\n                    <span class=\"bsbe-room-title\">\n                        <span class=\"bsbe-room-number\">\n                            ${roomIndex + 1}\n                        <\/span>\n\n                        <span>\n                            ${escapeHTML(t.room)} ${roomIndex + 1}\n                        <\/span>\n                    <\/span>\n\n                    <span\n                        class=\"bsbe-room-chevron\"\n                        aria-hidden=\"true\"\n                    ><\/span>\n                <\/button>\n\n                <div class=\"bsbe-room-content\">\n                    <div class=\"bsbe-occupancy-grid\">\n\n                        <div class=\"bsbe-field\">\n                            <label\n                                for=\"bsbe-adults-${roomIndex}\"\n                            >\n                                <i class=\"fa-solid fa-user-group bsbe-label-icon\" aria-hidden=\"true\"><\/i>\n                                <span>${escapeHTML(t.adults)}<\/span>\n                            <\/label>\n\n                            <select\n                                id=\"bsbe-adults-${roomIndex}\"\n                                class=\"bsbe-adults\"\n                                data-room-index=\"${roomIndex}\"\n                            >\n                                ${numberOptions(\n                                    1,\n                                    CONFIG.maxRegularGuestsPerRoom,\n                                    room.adults\n                                )}\n                            <\/select>\n                        <\/div>\n\n                        <div class=\"bsbe-field\">\n                            <label\n                                for=\"bsbe-children-${roomIndex}\"\n                            >\n                                <i class=\"fa-solid fa-child-reaching bsbe-label-icon\" aria-hidden=\"true\"><\/i>\n                                <span>${escapeHTML(t.children)}<\/span>\n                            <\/label>\n\n                            <select\n                                id=\"bsbe-children-${roomIndex}\"\n                                class=\"bsbe-children\"\n                                data-room-index=\"${roomIndex}\"\n                            >\n                                ${numberOptions(\n                                    0,\n                                    CONFIG.maxRegularGuestsPerRoom,\n                                    room.children\n                                )}\n                            <\/select>\n                        <\/div>\n\n                        <div class=\"bsbe-field\">\n                            <div class=\"bsbe-field-label-row\">\n                                <label\n                                    for=\"bsbe-infants-${roomIndex}\"\n                                >\n                                    <i class=\"fa-solid fa-baby bsbe-label-icon\" aria-hidden=\"true\"><\/i>\n                                    <span>${escapeHTML(t.infants)}<\/span>\n                                <\/label>\n\n                                <button\n                                    type=\"button\"\n                                    class=\"bsbe-info-button\"\n                                    title=\"${escapeHTML(\n                                        t.infantTooltip\n                                    )}\"\n                                    aria-label=\"${escapeHTML(\n                                        t.infantTooltip\n                                    )}\"\n                                >\n                                    i\n                                <\/button>\n                            <\/div>\n\n                            <select\n                                id=\"bsbe-infants-${roomIndex}\"\n                                class=\"bsbe-infants\"\n                                data-room-index=\"${roomIndex}\"\n                            >\n                                ${numberOptions(\n                                    0,\n                                    maxInfants,\n                                    room.infants\n                                )}\n                            <\/select>\n                        <\/div>\n\n                    <\/div>\n\n                    <div\n                        class=\"bsbe-age-section\"\n                        id=\"bsbe-age-section-${roomIndex}\"\n                    >\n                        ${renderAgeFields(room, roomIndex)}\n                    <\/div>\n\n                    <p class=\"bsbe-room-note\">\n                        ${escapeHTML(t.roomNote)}\n                    <\/p>\n\n                    <div\n                        class=\"bsbe-room-error\"\n                        id=\"bsbe-room-error-${roomIndex}\"\n                        role=\"alert\"\n                    ><\/div>\n                <\/div>\n            `;\n\n            roomsContainer.appendChild(roomCard);\n        });\n\n        bindRoomEvents();\n    }\n\n    function renderAgeFields(room, roomIndex) {\n        const fields = [];\n\n        for (\n            let childIndex = 0;\n            childIndex < room.children;\n            childIndex += 1\n        ) {\n            fields.push(`\n                <div class=\"bsbe-field\">\n                    <label\n                        for=\"bsbe-child-age-${roomIndex}-${childIndex}\"\n                    >\n                        <i class=\"fa-solid fa-cake-candles bsbe-label-icon\" aria-hidden=\"true\"><\/i>\n                        <span>\n                            ${escapeHTML(t.childAge)}\n                            ${childIndex + 1}\n                        <\/span>\n                    <\/label>\n\n                    <select\n                        id=\"bsbe-child-age-${roomIndex}-${childIndex}\"\n                        class=\"bsbe-child-age\"\n                        data-room-index=\"${roomIndex}\"\n                        data-person-index=\"${childIndex}\"\n                    >\n                        ${childAgeOptions(\n                            room.childAges[childIndex]\n                        )}\n                    <\/select>\n\n                    <div\n                        class=\"bsbe-error\"\n                        id=\"bsbe-child-age-error-${roomIndex}-${childIndex}\"\n                    ><\/div>\n                <\/div>\n            `);\n        }\n\n        for (\n            let infantIndex = 0;\n            infantIndex < room.infants;\n            infantIndex += 1\n        ) {\n            fields.push(`\n                <div class=\"bsbe-field\">\n                    <label\n                        for=\"bsbe-infant-age-${roomIndex}-${infantIndex}\"\n                    >\n                        <i class=\"fa-solid fa-cake-candles bsbe-label-icon\" aria-hidden=\"true\"><\/i>\n                        <span>\n                            ${escapeHTML(t.infantAge)}\n                            ${infantIndex + 1}\n                        <\/span>\n                    <\/label>\n\n                    <select\n                        id=\"bsbe-infant-age-${roomIndex}-${infantIndex}\"\n                        class=\"bsbe-infant-age\"\n                        data-room-index=\"${roomIndex}\"\n                        data-person-index=\"${infantIndex}\"\n                    >\n                        ${infantAgeOptions(\n                            room.infantAges[infantIndex]\n                        )}\n                    <\/select>\n\n                    <div\n                        class=\"bsbe-error\"\n                        id=\"bsbe-infant-age-error-${roomIndex}-${infantIndex}\"\n                    ><\/div>\n                <\/div>\n            `);\n        }\n\n        return fields.join(\"\");\n    }\n\n    function numberOptions(min, max, selectedValue) {\n        let result = \"\";\n\n        for (let number = min; number <= max; number += 1) {\n            result += `\n                <option\n                    value=\"${number}\"\n                    ${number === selectedValue ? \"selected\" : \"\"}\n                >\n                    ${number}\n                <\/option>\n            `;\n        }\n\n        return result;\n    }\n\n    function childAgeOptions(selectedValue) {\n        let result = `\n            <option value=\"\">\n                ${escapeHTML(t.selectAge)}\n            <\/option>\n        `;\n\n        for (let age = 3; age <= 7; age += 1) {\n            result += `\n                <option\n                    value=\"${age}\"\n                    ${Number(selectedValue) === age ? \"selected\" : \"\"}\n                >\n                    ${age} ${escapeHTML(t.years)}\n                <\/option>\n            `;\n        }\n\n        return result;\n    }\n\n    function infantAgeOptions(selectedValue) {\n        const selected = String(selectedValue ?? \"\");\n\n        return `\n            <option value=\"\">\n                ${escapeHTML(t.selectAge)}\n            <\/option>\n\n            <option value=\"0\" ${selected === \"0\" ? \"selected\" : \"\"}>\n                ${escapeHTML(t.underOne)}\n            <\/option>\n\n            <option value=\"1\" ${selected === \"1\" ? \"selected\" : \"\"}>\n                ${escapeHTML(t.oneYear)}\n            <\/option>\n\n            <option value=\"2\" ${selected === \"2\" ? \"selected\" : \"\"}>\n                2 ${escapeHTML(t.years)}\n            <\/option>\n        `;\n    }\n\n    function bindRoomEvents() {\n        roomsContainer\n            .querySelectorAll(\".bsbe-room-header\")\n            .forEach(function (button) {\n                button.addEventListener(\"click\", function () {\n                    const card = button.closest(\".bsbe-room-card\");\n                    const roomIndex = Number(card.dataset.roomIndex);\n\n                    roomState[roomIndex].collapsed =\n                        !roomState[roomIndex].collapsed;\n\n                    card.classList.toggle(\n                        \"bsbe-collapsed\",\n                        roomState[roomIndex].collapsed\n                    );\n\n                    button.setAttribute(\n                        \"aria-expanded\",\n                        String(!roomState[roomIndex].collapsed)\n                    );\n                });\n            });\n\n        roomsContainer\n            .querySelectorAll(\".bsbe-adults\")\n            .forEach(function (select) {\n                select.addEventListener(\"change\", function () {\n                    const roomIndex = Number(select.dataset.roomIndex);\n                    const room = roomState[roomIndex];\n\n                    room.adults = Number(select.value);\n\n                    const maximumInfants =\n                        getMaximumInfantsForRoom(room);\n\n                    if (room.infants > maximumInfants) {\n                        room.infants = maximumInfants;\n                        room.infantAges = room.infantAges.slice(\n                            0,\n                            maximumInfants\n                        );\n                    }\n\n                    renderRooms();\n                    updateAll();\n                });\n            });\n\n        roomsContainer\n            .querySelectorAll(\".bsbe-children\")\n            .forEach(function (select) {\n                select.addEventListener(\"change\", function () {\n                    const roomIndex = Number(select.dataset.roomIndex);\n                    const count = Number(select.value);\n                    const room = roomState[roomIndex];\n\n                    room.children = count;\n                    room.childAges =\n                        room.childAges.slice(0, count);\n\n                    while (room.childAges.length < count) {\n                        room.childAges.push(\"\");\n                    }\n\n                    const maximumInfants =\n                        getMaximumInfantsForRoom(room);\n\n                    if (room.infants > maximumInfants) {\n                        room.infants = maximumInfants;\n                        room.infantAges = room.infantAges.slice(\n                            0,\n                            maximumInfants\n                        );\n                    }\n\n                    renderRooms();\n                    updateAll();\n                });\n            });\n\n        roomsContainer\n            .querySelectorAll(\".bsbe-infants\")\n            .forEach(function (select) {\n                select.addEventListener(\"change\", function () {\n                    const roomIndex = Number(select.dataset.roomIndex);\n                    const count = Number(select.value);\n                    const room = roomState[roomIndex];\n\n                    room.infants = count;\n                    room.infantAges =\n                        room.infantAges.slice(0, count);\n\n                    while (room.infantAges.length < count) {\n                        room.infantAges.push(\"\");\n                    }\n\n                    renderRooms();\n                    updateAll();\n                });\n            });\n\n        roomsContainer\n            .querySelectorAll(\".bsbe-child-age\")\n            .forEach(function (select) {\n                select.addEventListener(\"change\", function () {\n                    const roomIndex = Number(select.dataset.roomIndex);\n                    const personIndex =\n                        Number(select.dataset.personIndex);\n\n                    roomState[roomIndex].childAges[personIndex] =\n                        select.value;\n\n                    updateAll();\n                });\n            });\n\n        roomsContainer\n            .querySelectorAll(\".bsbe-infant-age\")\n            .forEach(function (select) {\n                select.addEventListener(\"change\", function () {\n                    const roomIndex = Number(select.dataset.roomIndex);\n                    const personIndex =\n                        Number(select.dataset.personIndex);\n\n                    roomState[roomIndex].infantAges[personIndex] =\n                        select.value;\n\n                    updateAll();\n                });\n            });\n    }\n\n    \/* =========================================================\n       RIEPILOGO E AVVISO STAGIONALE\n       ========================================================= *\/\n\n    function updateAll() {\n        clearGlobalError();\n        updateSummary();\n        updateSeasonWarning();\n        validateRooms(false);\n    }\n\n    function updateSummary() {\n        const checkin = parseISODate(checkinInput.value);\n        const checkout = parseISODate(checkoutInput.value);\n        const locale = localeForLanguage(language);\n\n        let datesText = \"\u2014\";\n        let nightsText = \"\u2014\";\n\n        if (checkin ? (checkout ? checkout > checkin : false) : false) {\n            datesText =\n                `${new Intl.DateTimeFormat(locale, {\n                    day: \"numeric\",\n                    month: \"short\",\n                    year: \"numeric\"\n                }).format(checkin)} \u2192 ` +\n                `${new Intl.DateTimeFormat(locale, {\n                    day: \"numeric\",\n                    month: \"short\",\n                    year: \"numeric\"\n                }).format(checkout)}`;\n\n            const nights = differenceInDays(checkout, checkin);\n\n            nightsText =\n                `${nights} ` +\n                (nights === 1 ? t.night : t.nights);\n        }\n\n        const roomCount = roomState.length;\n\n        const guests = roomState.reduce(function (total, room) {\n            return (\n                total +\n                room.adults +\n                room.children +\n                room.infants\n            );\n        }, 0);\n\n        document.getElementById(\"bsbe-summary-dates\").textContent =\n            datesText;\n\n        document.getElementById(\"bsbe-summary-nights\").textContent =\n            nightsText;\n\n        document.getElementById(\"bsbe-summary-rooms\").textContent =\n            String(roomCount);\n\n        document.getElementById(\"bsbe-summary-guests\").textContent =\n            `${guests} ${guests === 1 ? t.guest : t.guests}`;\n    }\n\n    function updateSeasonWarning() {\n        const checkin = parseISODate(checkinInput.value);\n        const checkout = parseISODate(checkoutInput.value);\n\n        const shouldShow = checkin\n            ? (checkout\n                ? (checkout > checkin\n                    ? !isStayFullyInsideSummer(checkin, checkout)\n                    : false)\n                : false)\n            : false;\n\n        warning.hidden = !shouldShow;\n    }\n\n    function localeForLanguage(code) {\n        const locales = {\n            it: \"it-IT\",\n            en: \"en-GB\",\n            de: \"de-DE\",\n            es: \"es-ES\",\n            fr: \"fr-FR\",\n            pl: \"pl-PL\",\n            ru: \"ru-RU\"\n        };\n\n        return locales[code] || \"en-GB\";\n    }\n\n    \/* =========================================================\n       VALIDAZIONE\n       ========================================================= *\/\n\n    function validateDates(showErrors) {\n        let valid = true;\n\n        clearFieldError(checkinInput, \"bsbe-checkin-error\");\n        clearFieldError(checkoutInput, \"bsbe-checkout-error\");\n\n        const checkin = parseISODate(checkinInput.value);\n        const checkout = parseISODate(checkoutInput.value);\n\n        if (!checkin) {\n            valid = false;\n\n            if (showErrors) {\n                setFieldError(\n                    checkinInput,\n                    \"bsbe-checkin-error\",\n                    t.checkinRequired\n                );\n            }\n        } else if (!isArrivalDateBookable(checkin)) {\n            valid = false;\n\n            if (showErrors) {\n                setFieldError(\n                    checkinInput,\n                    \"bsbe-checkin-error\",\n                    isDateInSummer(checkin)\n                        ? t.checkinTooEarlySummer\n                        : t.checkinTooEarlyOffSeason\n                );\n            }\n        }\n\n        if (!checkout) {\n            valid = false;\n\n            if (showErrors) {\n                setFieldError(\n                    checkoutInput,\n                    \"bsbe-checkout-error\",\n                    t.checkoutRequired\n                );\n            }\n        } else if (checkin ? checkout <= checkin : false) {\n            valid = false;\n\n            if (showErrors) {\n                setFieldError(\n                    checkoutInput,\n                    \"bsbe-checkout-error\",\n                    t.checkoutAfterCheckin\n                );\n            }\n        }\n\n        return valid;\n    }\n\n    function validateRooms(showErrors) {\n        let allValid = true;\n\n        roomState.forEach(function (room, roomIndex) {\n            const regularGuests =\n                room.adults + room.children;\n\n            const errors = [];\n\n            if (\n                regularGuests >\n                CONFIG.maxRegularGuestsPerRoom\n            ) {\n                errors.push(t.regularGuestsLimit);\n            }\n\n            const maximumInfants =\n                getMaximumInfantsForRoom(room);\n\n            if (room.infants > maximumInfants) {\n                errors.push(t.infantLimit);\n            }\n\n            const roomError = document.getElementById(\n                `bsbe-room-error-${roomIndex}`\n            );\n\n            if (roomError) {\n                roomError.textContent =\n                    showErrors ? errors.join(\" \") : \"\";\n\n                roomError.classList.toggle(\n                    \"bsbe-visible\",\n                    showErrors ? errors.length > 0 : false\n                );\n            }\n\n            if (errors.length > 0) {\n                allValid = false;\n            }\n\n            room.childAges.forEach(function (age, childIndex) {\n                const select = document.getElementById(\n                    `bsbe-child-age-${roomIndex}-${childIndex}`\n                );\n\n                const errorId =\n                    `bsbe-child-age-error-${roomIndex}-${childIndex}`;\n\n                clearFieldError(select, errorId);\n\n                if (\n                    age === \"\" ||\n                    Number(age) < 3 ||\n                    Number(age) > 7\n                ) {\n                    allValid = false;\n\n                    if (showErrors) {\n                        setFieldError(\n                            select,\n                            errorId,\n                            t.childAgeRequired\n                        );\n                    }\n                }\n            });\n\n            room.infantAges.forEach(function (age, infantIndex) {\n                const select = document.getElementById(\n                    `bsbe-infant-age-${roomIndex}-${infantIndex}`\n                );\n\n                const errorId =\n                    `bsbe-infant-age-error-${roomIndex}-${infantIndex}`;\n\n                clearFieldError(select, errorId);\n\n                if (\n                    age === \"\" ||\n                    Number(age) < 0 ||\n                    Number(age) > 2\n                ) {\n                    allValid = false;\n\n                    if (showErrors) {\n                        setFieldError(\n                            select,\n                            errorId,\n                            t.infantAgeRequired\n                        );\n                    }\n                }\n            });\n        });\n\n        return allValid;\n    }\n\n    function setFieldError(input, errorId, message) {\n        if (input) {\n            input.classList.add(\"bsbe-invalid\");\n            input.setAttribute(\"aria-invalid\", \"true\");\n        }\n\n        const errorElement = document.getElementById(errorId);\n\n        if (errorElement) {\n            errorElement.textContent = message;\n        }\n    }\n\n    function clearFieldError(input, errorId) {\n        if (input) {\n            input.classList.remove(\"bsbe-invalid\");\n            input.removeAttribute(\"aria-invalid\");\n        }\n\n        const errorElement = document.getElementById(errorId);\n\n        if (errorElement) {\n            errorElement.textContent = \"\";\n        }\n    }\n\n    function showGlobalError(message) {\n        globalError.textContent = message;\n        globalError.hidden = false;\n    }\n\n    function clearGlobalError() {\n        globalError.textContent = \"\";\n        globalError.hidden = true;\n    }\n\n    \/* =========================================================\n       INVIO A TEAMSYSTEM\n       ========================================================= *\/\n\n    function handleSubmit(event) {\n        event.preventDefault();\n\n        if (roomCountSelect.value === \"group\") {\n            window.location.href = CONFIG.groupQuotationUrl;\n            return;\n        }\n\n        clearGlobalError();\n\n        const datesValid = validateDates(true);\n        const roomsValid = validateRooms(true);\n\n        if (!datesValid || !roomsValid) {\n            showGlobalError(t.genericError);\n\n            const firstInvalid = widget.querySelector(\n                \".bsbe-invalid, .bsbe-room-error.bsbe-visible\"\n            );\n\n            if (firstInvalid) {\n                firstInvalid.scrollIntoView({\n                    behavior: \"smooth\",\n                    block: \"center\"\n                });\n\n                if (\n                    typeof firstInvalid.focus === \"function\"\n                        ? firstInvalid.matches(\"input, select, button\")\n                        : false\n                ) {\n                    firstInvalid.focus({\n                        preventScroll: true\n                    });\n                }\n            }\n\n            return;\n        }\n\n        const bookingUrl = buildBookingUrl();\n\n        submitButton.disabled = true;\n        submitButton.classList.add(\"bsbe-loading\");\n        submitLabel.textContent = t.loading;\n\n        window.setTimeout(function () {\n            window.location.href = bookingUrl;\n        }, CONFIG.loadingDelayMilliseconds);\n    }\n\n    function buildBookingUrl() {\n        const url = new URL(CONFIG.bookingUrl);\n\n        url.searchParams.set(\n            \"start\",\n            checkinInput.value\n        );\n\n        url.searchParams.set(\n            \"end\",\n            checkoutInput.value\n        );\n\n        url.searchParams.set(\"lng\", language);\n\n        url.searchParams.set(\n            \"quantity\",\n            String(roomState.length)\n        );\n\n        \/*\n         * Rimuove eventuali parametri ospiti gi\u00e0 presenti\n         * nel link configurato, lasciando intatti resourceTypeIds\n         * e ogni altro filtro.\n         *\/\n        Array.from(url.searchParams.keys()).forEach(function (key) {\n            if (\n                \/^adults_\\d+$\/.test(key) ||\n                \/^child_\\d+_\\d+$\/.test(key) ||\n                \/^childage_\\d+_\\d+$\/.test(key)\n            ) {\n                url.searchParams.delete(key);\n            }\n        });\n\n        roomState.forEach(function (room, roomIndex) {\n            const roomNumber = roomIndex + 1;\n\n            url.searchParams.set(\n                `adults_${roomNumber}`,\n                String(room.adults)\n            );\n\n            \/*\n             * TeamSystem riceve bambini e neonati con la stessa\n             * nomenclatura \"child\". Le categorie restano separate\n             * solamente nell'interfaccia del sito.\n             *\/\n            const allMinorAges = [\n                ...room.childAges.map(Number),\n                ...room.infantAges.map(Number)\n            ];\n\n            allMinorAges.forEach(function (age, childIndex) {\n                const childNumber = childIndex + 1;\n\n                url.searchParams.set(\n                    `child_${childNumber}_${roomNumber}`,\n                    \"1\"\n                );\n\n                url.searchParams.set(\n                    `childage_${childNumber}_${roomNumber}`,\n                    String(age)\n                );\n            });\n        });\n\n        return url.toString();\n    }\n\n    \/* =========================================================\n       UTILIT\u00c0\n       ========================================================= *\/\n\n    function escapeHTML(value) {\n        return String(value)\n            .replaceAll(String.fromCharCode(38), String.fromCharCode(38) + \"amp;\")\n            .replaceAll(\"<\", String.fromCharCode(38) + \"lt;\")\n            .replaceAll(\">\", String.fromCharCode(38) + \"gt;\")\n            .replaceAll('\"', String.fromCharCode(38) + \"quot;\")\n            .replaceAll(\"'\", String.fromCharCode(38) + \"#039;\");\n    }\n}\n\nif (document.readyState === \"loading\") {\n    document.addEventListener(\n        \"DOMContentLoaded\",\n        initBaiaBookingWidget,\n        { once: true }\n    );\n} else {\n    initBaiaBookingWidget();\n}\n\n\/* BSBE-WORDPRESS-END: riga di protezione contro il troncamento del campo. *\/\n\n<\/script>\n\n<!--\n==============================================================\nBAIA SANGIORGIO \u2013 OFFICIAL BOOKING WIDGET\nVersione prototipo 1.2\n==============================================================\n-->\n\n<div id=\"bsbe-widget\" class=\"bsbe-widget\" data-no-translation=\"\">\n    <div class=\"bsbe-background-overlay\"><\/div>\n\n    <div class=\"bsbe-container\">\n        <section class=\"bsbe-main-card\">\n\n            <form id=\"bsbe-form\" novalidate=\"\">\n\n                <!-- DATE E NUMERO CAMERE -->\n                <div class=\"bsbe-search-grid\">\n\n                    <div class=\"bsbe-field\">\n                        <label for=\"bsbe-checkin\">\n                            <i class=\"fa-solid fa-plane-arrival bsbe-label-icon\" aria-hidden=\"true\"><\/i>\n                            <span data-i18n=\"checkin\">Check-in<\/span>\n                        <\/label>\n\n                        <input type=\"date\" id=\"bsbe-checkin\" autocomplete=\"off\">\n\n                        <div id=\"bsbe-checkin-error\" class=\"bsbe-error\" aria-live=\"polite\"><\/div>\n                    <\/div>\n\n                    <div class=\"bsbe-field\">\n                        <label for=\"bsbe-checkout\">\n                            <i class=\"fa-solid fa-plane-departure bsbe-label-icon\" aria-hidden=\"true\"><\/i>\n                            <span data-i18n=\"checkout\">Check-out<\/span>\n                        <\/label>\n\n                        <input type=\"date\" id=\"bsbe-checkout\" autocomplete=\"off\">\n\n                        <div id=\"bsbe-checkout-error\" class=\"bsbe-error\" aria-live=\"polite\"><\/div>\n                    <\/div>\n\n                    <div class=\"bsbe-field\">\n                        <label for=\"bsbe-room-count\">\n                            <i class=\"fa-solid fa-bed bsbe-label-icon\" aria-hidden=\"true\"><\/i>\n                            <span data-i18n=\"rooms\">Camere<\/span>\n                        <\/label>\n\n                        <select id=\"bsbe-room-count\">\n                            <option value=\"1\">1<\/option>\n                            <option value=\"2\">2<\/option>\n                            <option value=\"3\">3<\/option>\n                            <option value=\"4\">4<\/option>\n                            <option value=\"group\" data-i18n=\"fiveOrMore\">\n                                5 o pi\u00f9\n                            <\/option>\n                        <\/select>\n\n                        <div id=\"bsbe-room-count-error\" class=\"bsbe-error\" aria-live=\"polite\"><\/div>\n                    <\/div>\n\n                <\/div>\n\n                <!-- CAMERE DINAMICHE -->\n                <div id=\"bsbe-rooms-container\" class=\"bsbe-rooms-container\"><\/div>\n\n                <!-- RICHIESTE GRUPPI -->\n                <div id=\"bsbe-group-card\" class=\"bsbe-group-card\" hidden=\"\">\n                    <div class=\"bsbe-group-icon\" aria-hidden=\"true\">\n                        <svg viewBox=\"0 0 24 24\">\n                            <path d=\"M16 11c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3Zm-8 0c1.66 0 3-1.34 3-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3Zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5C15 14.17 10.33 13 8 13Zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5Z\"><\/path>\n                        <\/svg>\n                    <\/div>\n\n                    <div>\n                        <h3 data-i18n=\"groupTitle\">Richiesta per gruppi<\/h3>\n\n                        <p data-i18n=\"groupText\">\n                            Per prenotazioni di 5 o pi\u00f9 camere sono previste\n                            condizioni e politiche dedicate. Invia una richiesta\n                            di preventivo personalizzata.\n                        <\/p>\n\n                        <a id=\"bsbe-group-button\" class=\"bsbe-group-button\" href=\"#\" target=\"_self\" data-i18n=\"groupButton\">\n                            Richiedi un preventivo\n                        <\/a>\n                    <\/div>\n                <\/div>\n\n                <!-- RIEPILOGO -->\n                <section id=\"bsbe-summary\" class=\"bsbe-summary\" aria-labelledby=\"bsbe-summary-title\">\n                    <div class=\"bsbe-summary-heading\">\n                        <span class=\"bsbe-summary-icon\" aria-hidden=\"true\">\n                            <svg viewBox=\"0 0 24 24\">\n                                <path d=\"M19 4h-1V2h-2v2H8V2H6v2H5C3.89 4 3 4.9 3 6v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2Zm0 16H5V9h14v11ZM5 7V6h14v1H5Z\"><\/path>\n                            <\/svg>\n                        <\/span>\n\n                        <h3 id=\"bsbe-summary-title\" data-i18n=\"summaryTitle\">\n                            Il tuo soggiorno\n                        <\/h3>\n                    <\/div>\n\n                    <div class=\"bsbe-summary-grid\">\n                        <div>\n                            <span class=\"bsbe-summary-label\" data-i18n=\"summaryDates\">\n                                Date\n                            <\/span>\n                            <strong id=\"bsbe-summary-dates\">\u2014<\/strong>\n                        <\/div>\n\n                        <div>\n                            <span class=\"bsbe-summary-label\" data-i18n=\"summaryNights\">\n                                Notti\n                            <\/span>\n                            <strong id=\"bsbe-summary-nights\">\u2014<\/strong>\n                        <\/div>\n\n                        <div>\n                            <span class=\"bsbe-summary-label\" data-i18n=\"summaryRooms\">\n                                Camere\n                            <\/span>\n                            <strong id=\"bsbe-summary-rooms\">1<\/strong>\n                        <\/div>\n\n                        <div>\n                            <span class=\"bsbe-summary-label\" data-i18n=\"summaryGuests\">\n                                Ospiti\n                            <\/span>\n                            <strong id=\"bsbe-summary-guests\">2<\/strong>\n                        <\/div>\n                    <\/div>\n                <\/section>\n\n                <!-- AVVISO FUORI STAGIONE -->\n                <div id=\"bsbe-season-warning\" class=\"bsbe-season-warning\" role=\"status\" aria-live=\"polite\" hidden=\"\">\n                    <div class=\"bsbe-warning-icon\" aria-hidden=\"true\">!<\/div>\n\n                    <div>\n                        <strong data-i18n=\"seasonWarningTitle\">\n                            Attenzione\n                        <\/strong>\n\n                        <p data-i18n=\"seasonWarningText\">\n                            Il soggiorno selezionato ricade, anche parzialmente,\n                            al di fuori del periodo di apertura dei servizi\n                            stagionali. Nelle date interessate non saranno\n                            disponibili la spiaggia, la piscina e i ristoranti.\n                            Sar\u00e0 disponibile esclusivamente il servizio di\n                            colazione.\n                        <\/p>\n                    <\/div>\n                <\/div>\n\n                <!-- ERRORE GENERALE -->\n                <div id=\"bsbe-global-error\" class=\"bsbe-global-error\" role=\"alert\" aria-live=\"assertive\" hidden=\"\"><\/div>\n\n                <!-- PULSANTE -->\n                <button id=\"bsbe-submit\" class=\"bsbe-submit\" type=\"submit\">\n                    <span class=\"bsbe-submit-label\" data-i18n=\"submit\">\n                        Verifica disponibilit\u00e0\n                    <\/span>\n\n                    <span class=\"bsbe-submit-loader\" aria-hidden=\"true\"><\/span>\n                <\/button>\n\n                <p class=\"bsbe-direct-note\">\n                    <span data-i18n=\"directNote\">Prenotazione diretta tramite il sito ufficiale.<\/span><br>\n                    <span>Baia Sangiorgio \u2013 Official Booking System \u00b7 2026 \u2013 All Rights Reserved<\/span><br>\n                    <span>Developed by Luca d&#8217;Addabbo<\/span>\n                <\/p>\n\n            <\/form>\n        <\/section>\n    <\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Check-in Check-out Camere 1234 5 o pi\u00f9 Richiesta per gruppi Per prenotazioni di 5 o pi\u00f9 camere sono previste condizioni e politiche dedicate. Invia una richiesta di preventivo personalizzata. Richiedi un preventivo Il tuo soggiorno Date \u2014 Notti \u2014 Camere 1 Ospiti 2 ! Attenzione Il soggiorno selezionato ricade, anche parzialmente, al di fuori del [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":164,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/page-content.php","meta":{"footnotes":""},"class_list":["post-220","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/baiasangiorgio.it\/en\/wp-json\/wp\/v2\/pages\/220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/baiasangiorgio.it\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/baiasangiorgio.it\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/baiasangiorgio.it\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/baiasangiorgio.it\/en\/wp-json\/wp\/v2\/comments?post=220"}],"version-history":[{"count":14,"href":"https:\/\/baiasangiorgio.it\/en\/wp-json\/wp\/v2\/pages\/220\/revisions"}],"predecessor-version":[{"id":7457,"href":"https:\/\/baiasangiorgio.it\/en\/wp-json\/wp\/v2\/pages\/220\/revisions\/7457"}],"up":[{"embeddable":true,"href":"https:\/\/baiasangiorgio.it\/en\/wp-json\/wp\/v2\/pages\/164"}],"wp:attachment":[{"href":"https:\/\/baiasangiorgio.it\/en\/wp-json\/wp\/v2\/media?parent=220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}