@media (max-width:768px){.nav_panel .gallery-menu{max-height:200px!important;overflow-y:auto!important;scrollbar-width:thin!important;scrollbar-color:#ccc #f1f1f1!important}.nav_panel .gallery-menu::-webkit-scrollbar{width:6px!important}.nav_panel .gallery-menu::-webkit-scrollbar-track{background:#f1f1f1!important;border-radius:3px!important}.nav_panel .gallery-menu::-webkit-scrollbar-thumb{background:#ccc!important;border-radius:3px!important}.nav_panel .gallery-menu::-webkit-scrollbar-thumb:hover{background:#999!important}}@media (min-width:769px){.nav_panel .gallery-menu{max-height:none!important;overflow:visible!important}}.news-cards-row{display:flex;flex-wrap:wrap}.news-cards-row>.item{display:flex}.news-cards-row>.item>a.box_contents{display:flex;flex-direction:column;flex:1 1 auto;width:100%;min-height:100%}a.box_contents .wrapper{display:flex!important;flex-direction:column;flex:1 1 auto;min-height:0}a.box_contents figure{flex-shrink:0}a.box_contents .wrapper>h2{margin-bottom:10px!important;flex-shrink:0}.box_contents .news-card-summary{font-size:13px;line-height:1.6;color:#888;margin:0 0 12px 0;font-style:italic;flex:0 0 auto;min-height:calc(1.6em * 2);max-height:calc(1.6em * 2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;overflow-wrap:anywhere}a.box_contents .wrapper>em:last-child{margin-top:auto!important}.box_item_info .box_item_room_name{font-size:1.875rem;font-weight:600;margin-bottom:20px;line-height:1.3;color:inherit}.box_item_info .box_item_lead{margin-bottom:0;line-height:1.55}.restaurant-meal-note-alert.alert-secondary{color:#41464b;background-color:#e2e3e538;border-color:#ebd7b23b}.restaurant-meal-times{width:100%}.restaurant-meal-times__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(9.5rem,max-content);gap:.5rem 1.25rem;align-items:start;margin-bottom:.5rem}.restaurant-meal-times__name{font-weight:700}.restaurant-meal-times__hours{text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.gallery-indicator{position:absolute;top:10px;right:10px;background:rgb(0 0 0 / .7);color:#fff;padding:5px 8px;border-radius:20px;font-size:12px;display:flex;align-items:center;gap:4px;z-index:10;transition:all 0.3s ease}.gallery-indicator:hover{background:rgb(0 0 0 / .9);transform:scale(1.05)}.gallery-indicator i{font-size:14px}.menu_item figure{position:relative;overflow:hidden;border-radius:8px}.menu_item figure:hover .gallery-indicator{transform:scale(1.1)}.menu_item figure img{transition:transform 0.3s ease}.menu_item figure:hover img{transform:scale(1.05)}.home-local-amenities-section{position:relative;overflow:hidden}.home-local-amenities-section__bg{position:absolute;inset:0;background:linear-gradient(180deg,#ffffff 0%,#faf8f3 55%,#ffffff 100%);pointer-events:none}.home-local-amenities-section .container{z-index:1}.home-local-amenities-header__eyebrow{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#978667;margin-bottom:.65rem}.home-local-amenities-header__title{font-weight:600;letter-spacing:-.02em;margin-bottom:1rem;line-height:1.25}.home-local-amenities-header__intro{max-width:46rem;font-size:1rem;line-height:1.65;color:#5c5c5c}.local-amenity-card{transition:transform 0.35s cubic-bezier(.25,.46,.45,.94),box-shadow 0.35s ease;border-radius:14px;background:#fff;border:1px solid rgb(0 0 0 / .06);box-shadow:0 .35rem 1.1rem rgb(0 0 0 / .05);overflow:hidden}.local-amenity-card:hover{transform:translateY(-6px);box-shadow:0 1.25rem 2.5rem rgb(0 0 0 / .1)}.local-amenity-card__img-wrap{position:relative}.local-amenity-card__img{aspect-ratio:4 / 3;overflow:hidden;background:linear-gradient(145deg,#e8e4dc 0%,#f2f0ec 100%)}.local-amenity-card__img-el{width:100%;height:100%;object-fit:cover;transition:transform 0.55s cubic-bezier(.25,.46,.45,.94)}.local-amenity-card:hover .local-amenity-card__img-el{transform:scale(1.06)}.local-amenity-card__img-shade{position:absolute;inset:0;background:linear-gradient(to top,rgb(30 28 24 / .22) 0%,#fff0 45%);pointer-events:none}.local-amenity-card__index{position:absolute;inset:auto .85rem .85rem auto;min-width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;letter-spacing:.06em;color:#fff;background:rgb(151 134 103 / .92);border-radius:8px;box-shadow:0 .25rem .75rem rgb(0 0 0 / .08)}.local-amenity-card__body{padding:1.35rem 1.35rem 1.5rem;border-top:3px solid #978667}@media (min-width:992px){.local-amenity-card__body{padding:1.5rem 1.5rem 1.65rem}}.local-amenity-card__heading{font-size:1.1rem;font-weight:600;line-height:1.35;margin-bottom:.65rem;color:#222}.local-amenity-card__text{font-size:.875rem;line-height:1.55;color:#6b6b6b;margin-bottom:0}.language-switcher .dropdown-toggle{border:1px solid #dee2e6;background:#fff;color:#495057;padding:8px 16px;border-radius:6px;font-size:14px;transition:all 0.2s ease}.language-switcher .dropdown-toggle:hover{background:#f8f9fa;border-color:#adb5bd}.language-switcher .dropdown-menu{min-width:120px;border:1px solid #dee2e6;border-radius:6px;box-shadow:0 4px 6px rgb(0 0 0 / .1)}.language-switcher .dropdown-item{padding:8px 16px;font-size:14px;color:#495057;transition:all 0.2s ease}.language-switcher .dropdown-item:hover{background:#f8f9fa;color:#212529}.language-switcher .dropdown-item.active{background:#007bff;color:#fff}.language-switcher .dropdown-item.active:hover{background:#0056b3;color:#fff}body.is-room-detail-page *{--bs-modal-backdrop-bg:transparent !important;--bs-modal-backdrop-opacity:0 !important}body.is-room-detail-page .modal-backdrop,body.is-room-detail-page .modal-backdrop.fade,body.is-room-detail-page .modal-backdrop.show,body.is-room-detail-page .modal-backdrop.fade.show{display:none!important;opacity:0!important;background:transparent!important;background-color:transparent!important;z-index:-9999!important;visibility:hidden!important}body.is-room-detail-page.modal-open,body.is-room-detail-page:has(.modal.show),body.is-room-detail-page:has(.modal.fade.show){overflow:auto!important;padding-right:0!important;background:inherit!important;filter:none!important;backdrop-filter:none!important}body.is-room-detail-page .modal-open .modal-backdrop,body.is-room-detail-page.modal-open .modal-backdrop,body.is-room-detail-page:has(.modal.show) .modal-backdrop{display:none!important;opacity:0!important;background:transparent!important;visibility:hidden!important}body.is-room-detail-page .modal{z-index:1050!important;background:transparent!important}body.is-room-detail-page .modal.show{background:transparent!important;backdrop-filter:none!important;filter:none!important}body.is-room-detail-page .modal-dialog{z-index:1055!important;position:relative}body.is-room-detail-page .modal-content{z-index:1060!important;position:relative;background:#fff;border-radius:.5rem;box-shadow:0 .5rem 1rem rgb(0 0 0 / .15)}body.is-room-detail-page .modal .form-control,body.is-room-detail-page .modal .form-select,body.is-room-detail-page .modal .btn,body.is-room-detail-page .modal input,body.is-room-detail-page .modal textarea,body.is-room-detail-page .modal select{position:relative!important;z-index:1070!important;pointer-events:auto!important;background:white!important}body.is-room-detail-page{filter:none!important;backdrop-filter:none!important}body.is-room-detail-page .modal.fade .modal-dialog{transition:none!important}body.is-room-detail-page .modal.fade{transition:none!important}.room-detail-review-modal#reviewModal.modal{position:fixed!important;inset:0!important;z-index:200000!important;overflow-x:hidden!important;overflow-y:auto!important;padding:1.25rem!important;background:transparent!important}.room-detail-review-modal .review-modal-backdrop{position:fixed;inset:0;z-index:0;background:rgb(15 23 42 / .55);cursor:pointer;pointer-events:auto}.room-detail-review-modal .modal-dialog{position:relative;z-index:1;margin:2rem auto;max-width:800px}.room-detail-review-modal .modal-content{border:2px solid #978667;border-radius:.5rem;box-shadow:0 0 0 1px rgb(151 134 103 / .35),0 10px 36px rgb(151 134 103 / .42),0 28px 72px rgb(151 134 103 / .38);overflow:hidden}.room-detail-review-modal .modal-header{background:linear-gradient(180deg,#faf8f5 0%,#f3efe8 100%);border-bottom:2px solid #e5dccf;padding:1.1rem 1.25rem}.room-detail-review-modal .modal-title{font-weight:700;letter-spacing:.02em}.room-detail-review-modal .modal-footer{border-top:1px solid #eee;background:#fafafa}.carousel_testimonials .box_overlay .comment p{margin:0;font-size:inherit;line-height:inherit;color:inherit;font-style:inherit}.carousel_testimonials .box_overlay .comment p+p{margin-top:.5em}#preloader.loaded{pointer-events:none}.lumos-hero-video-root{min-height:100vh;min-height:100svh;position:relative}.lumos-hero-video-root .lumos-hero-video-poster{object-fit:cover}.hero.full-height.jarallax:not(.lumos-hero-video-root){min-height:70vh;min-height:70svh}.hero.medium-height.jarallax{min-height:320px;min-height:40svh}@media (min-width:992px){.hero.medium-height.jarallax{min-height:380px;min-height:35svh}}.custom_select{min-height:52px;display:block}.custom_select select.wide{min-height:48px}.owl-carousel.carousel_item_1 .owl-stage-outer{min-height:220px}@media (min-width:768px){.owl-carousel.carousel_item_1 .owl-stage-outer{min-height:280px}}@media (min-width:1200px){.owl-carousel.carousel_item_1 .owl-stage-outer{min-height:340px}}.row_list_version_2 .carousel_item_1 .owl-stage-outer{min-height:200px}@media (min-width:992px){.row_list_version_2 .carousel_item_1 .owl-stage-outer{min-height:260px}}img.img-circle[alt]{aspect-ratio:1/1;object-fit:cover}
#reviews #load-more-reviews.btn_1.outline,#reviews button.btn_1.outline{background-color:transparent!important;color:#978667!important;border:2px solid #978667!important;box-shadow:none!important}#reviews #load-more-reviews.btn_1.outline:hover,#reviews button.btn_1.outline:hover{background-color:#978667!important;color:#fff!important;border-color:#978667!important}#reviews #show-review-form.btn_1,#reviews button#show-review-form.btn_1{background-color:#978667!important;color:#fff!important;border:2px solid #978667!important;box-shadow:none!important}#reviews #show-review-form.btn_1:hover,#reviews button#show-review-form.btn_1:hover{background-color:#4b514d!important;border-color:#4b514d!important;color:#fff!important}body.is-room-detail-page .room-detail-review-modal .modal-footer .btn.btn-secondary{background:#fff!important;color:#5c5346!important;border:2px solid #978667!important}body.is-room-detail-page .room-detail-review-modal .modal-footer .btn.btn-secondary:hover{background:#f5f2ed!important;color:#333!important;border-color:#7a6d54!important}body.is-room-detail-page .room-detail-review-modal .modal-footer .btn.btn-primary{background:#978667!important;color:#fff!important;border:2px solid #978667!important}body.is-room-detail-page .room-detail-review-modal .modal-footer .btn.btn-primary:hover{background:#4b514d!important;border-color:#4b514d!important;color:#fff!important}body.is-room-detail-page .swal2-container{z-index:250000!important}

/* News headings: always allow multi-line wrap for long titles. */
.news-cards-row a.box_contents .wrapper h2,
.hero .container h1.slide-animated.two {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    hyphens: auto !important;
    max-width: 100% !important;
}

.header-whatsapp-btn {
    display: inline-flex !important;
    align-items: center;
    gap: 2px;
    background: #25d366 !important;
    border-color: #25d366 !important;
    color: #fff !important;
    white-space: nowrap;
}

.header-whatsapp-btn:hover {
    background: #1ebe5d !important;
    border-color: #1ebe5d !important;
    color: #fff !important;
}

.header-whatsapp-btn i {
    font-size: 1rem;
    line-height: 1;
}

.lumos-mobile-bottom-actions {
    display: none;
}

@media (max-width: 767.98px) {
    :root {
        --lumos-mobile-bottom-actions-height: 82px;
    }

    body {
        padding-bottom: calc(var(--lumos-mobile-bottom-actions-height) + env(safe-area-inset-bottom));
    }

    .lumos-mobile-bottom-actions {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1050;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 0 0 env(safe-area-inset-bottom);
        gap: 0;
        background: rgba(255, 255, 255, .96);
        border-top: 1px solid rgba(151, 134, 103, .22);
        box-shadow: 0 -10px 30px rgba(0, 0, 0, .12);
        backdrop-filter: blur(12px);
    }

    .lumos-mobile-bottom-actions__item {
        min-width: 0;
        min-height: 62px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 9px;
        padding: 9px 10px;
        border-radius: 0;
        color: #fff !important;
        text-decoration: none !important;
        line-height: 1.15;
        box-shadow: none;
    }

    .lumos-mobile-bottom-actions__item + .lumos-mobile-bottom-actions__item {
        border-left: 1px solid rgba(255, 255, 255, .28);
    }

    .lumos-mobile-bottom-actions__item--whatsapp {
        background: #25d366;
    }

    .lumos-mobile-bottom-actions__item--reservation {
        background: #978667;
    }

    .lumos-mobile-bottom-actions__item i {
        flex: 0 0 auto;
        font-size: 1.35rem;
        line-height: 1;
    }

    .lumos-mobile-bottom-actions__item span {
        min-width: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .lumos-mobile-bottom-actions__item strong,
    .lumos-mobile-bottom-actions__item small {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .lumos-mobile-bottom-actions__item strong {
        font-size: .86rem;
        font-weight: 700;
    }

    .lumos-mobile-bottom-actions__item small {
        font-size: .76rem;
        font-weight: 600;
        opacity: .95;
    }
}

.news-cards-row a.box_contents .wrapper h2 {
    display: block !important;
    line-height: 1.35 !important;
}

/* Home Local Amenities: equal-height cards (reference layout) — stretch columns, body fills below image */
.home-local-amenities-section .home-local-amenities-section__grid > [class*="col-"] {
    display: flex;
}
.home-local-amenities-section .local-amenity-card {
    display: flex;
    flex-direction: column;
}
.home-local-amenities-section .local-amenity-card__img-wrap {
    flex-shrink: 0;
}
.home-local-amenities-section .local-amenity-card__body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.home-local-amenities-section .local-amenity-card__text p {
    margin-bottom: 0.5em;
}
.home-local-amenities-section .local-amenity-card__text p:last-child {
    margin-bottom: 0;
}

/* News / Events listing: keep cards aligned even when source images have different dimensions. */
.news-cards-row {
    align-items: stretch;
}

.news-cards-row > .item {
    margin-bottom: 30px;
}

.news-cards-row > .item > a.box_contents {
    height: 100%;
    overflow: hidden;
    border-radius: 8px;
}

.news-cards-row > .item > a.box_contents figure {
    width: 100%;
    height: 238px;
    margin: 0;
    overflow: hidden;
}

.news-cards-row > .item > a.box_contents figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-cards-row > .item > a.box_contents .wrapper {
    min-height: 300px;
}

.news-cards-row > .item > a.box_contents .wrapper small {
    flex: 0 0 auto;
}

.news-cards-row > .item > a.box_contents .wrapper h2 {
    min-height: 3.65em;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (max-width: 1199.98px) {
    .news-cards-row > .item > a.box_contents figure {
        height: 230px;
    }
}

@media (max-width: 767.98px) {
    .news-cards-row > .item > a.box_contents figure {
        height: 220px;
    }

    .news-cards-row > .item > a.box_contents .wrapper {
        min-height: 260px;
    }

.news-cards-row > .item > a.box_contents .wrapper h2 {
        min-height: 0;
    }
}

/* Gallery listing: flat, even grid instead of masonry mosaic. */
.gallery-flat-grid {
    width: 100%;
}

.gallery-flat-grid__intro {
    max-width: 760px;
    margin: 0 auto 2rem;
}

.gallery-flat-grid__intro h2 {
    margin-bottom: .65rem;
}

.gallery-flat-grid__intro p {
    margin: 0;
    color: #6f6f6f;
    line-height: 1.7;
}

.gallery-section-description {
    max-width: 560px;
    margin: 0 auto;
    color: #6f6f6f;
    line-height: 1.65;
    text-align: center;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gallery-section-description .lumos-model-editable {
    display: inline;
}

.gallery-flat-grid__item {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 8px;
    background: #eee;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .06);
}

.gallery-flat-grid__item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .35s ease;
}

.gallery-flat-grid__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .42);
    opacity: 0;
    transition: opacity .25s ease;
}

.gallery-flat-grid__overlay a {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    background: rgba(151, 134, 103, .92);
    font-size: 1.15rem;
}

.gallery-flat-grid__item:hover img {
    transform: scale(1.05);
}

.gallery-flat-grid__item:hover .gallery-flat-grid__overlay {
    opacity: 1;
}

@media (max-width: 575.98px) {
    .gallery-flat-grid__item {
        aspect-ratio: 1 / 1;
    }
}

/* .btn_4.learn-more: absolute .button-text genişliği ana kutuya yansımaz; min-width metne göre olmalı (RU «Забронировать» hover’da taşıyordu). */
.btn_4.learn-more {
    /* İkon + ~en uzun tek satır çeviri (RU vb.) + yan boşluk */
    min-width: max(11.25rem, calc(2.6rem + 16ch + 1.5rem));
    width: auto;
    max-width: 100%;
    box-sizing: border-box;
    flex-shrink: 0;
}

/* EN/DE: kısa etiketler — sağdaki boş alanı azalt (RU/TR korunur). */
html:lang(en) .btn_4.learn-more,
html:lang(de) .btn_4.learn-more {
    min-width: max(10rem, calc(2.6rem + 12ch + 1rem));
}

.btn_4.learn-more .button-text {
    /* Sola hizalı: kısa metinler (EN/DE) geniş kutuda ortalanmayıp ikona yakın durur; RU tek satırda soldan akar. */
    margin-left: calc(2.6rem + 0.28rem) !important;
    text-align: left;
    padding-left: 0;
    padding-right: 0.75rem;
    box-sizing: border-box;
    white-space: nowrap;
}

html:lang(en) .btn_4.learn-more .button-text,
html:lang(de) .btn_4.learn-more .button-text {
    padding-right: 0.5rem;
}

/*
 * Hero rezervasyon: etiket beyaz kutunun içinde, rakamın solunda; +/- tema (right:15 / right:55).
 */
#hero-booking-form .qty-buttons--hero {
    display: block;
    width: 100%;
    box-sizing: border-box;
}

#hero-booking-form .qty-buttons--hero .qty-buttons__field {
    position: relative;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    min-height: 50px;
}

#hero-booking-form .qty-buttons--hero .qty-buttons__field > label {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    padding: 0;
    z-index: 3;
    color: #6c757d;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.25;
    text-align: left;
    pointer-events: none;
}

#hero-booking-form .qty-buttons--hero .qty-buttons__field input.qty.form-control {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    text-align: left;
    /* Etiket alanı + rakam için boşluk; +/- şeridi sağda */
    padding-left: 7.35rem;
    padding-right: calc(15px + 36px + 8px + 36px + 14px);
    z-index: 0;
}

/* Uzun etiketler (DE/RU vb.) */
html:lang(de) #hero-booking-form .qty-buttons--hero .qty-buttons__field input.qty.form-control,
html:lang(ru) #hero-booking-form .qty-buttons--hero .qty-buttons__field input.qty.form-control {
    padding-left: 9.25rem;
}

#hero-booking-form .qty-buttons--hero .qty-buttons__field input.qtyminus,
#hero-booking-form .qty-buttons--hero .qty-buttons__field input.qtyplus {
    top: 8px;
    z-index: 2;
}

.electra-child-age-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(0, 0, 0, 0.06);
    border-radius: 6px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
    text-align: left;
}

.electra-child-age-fields[hidden] {
    display: none !important;
}

.electra-child-age-field {
    flex: 1 1 150px;
    min-width: 140px;
}

.electra-child-age-field label {
    display: block;
    margin: 0 0 4px;
    color: #555;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

.electra-child-age-field .form-control {
    height: 42px;
    padding: 0 12px;
    border-color: #dedede;
    background-color: #fff;
    color: #333;
}

@media (max-width: 575.98px) {
    /* Tarih ile yetişkin arası; ana sayfa (form=row) ve bakım (fieldset içi .row) */
    #hero-booking-form.booking_form > [class*="col-"]:nth-child(2),
    #hero-booking-form.booking_form .row > [class*="col-"]:nth-child(2) {
        margin-top: 6px;
    }

    #hero-booking-form.booking_form > [class*="col-"]:nth-child(3),
    #hero-booking-form.booking_form .row > [class*="col-"]:nth-child(3) {
        margin-top: 10px;
    }
}

/* About signature: keep the original handwritten font style. */
.intro .lumos-signature,
.intro p > .lumos-signature,
.intro > .lumos-signature {
    font-family: "Caveat", cursive !important;
    font-size: clamp(2rem, 1.4rem + 1.35vw, 2.75rem) !important;
    font-weight: 500 !important;
    font-style: normal !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    color: #555 !important;
    display: inline-block;
}

#message-newsletter.newsletter-message {
    display: none;
    margin-bottom: 10px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.35;
    font-weight: 600;
}

#message-newsletter.newsletter-message.is-success {
    display: block;
    color: #1f7a3a;
    background: #edf8f0;
    border: 1px solid #cbeed4;
}

#message-newsletter.newsletter-message.is-error {
    display: block;
    color: #b42318;
    background: #fff1f0;
    border: 1px solid #ffd0cc;
}

body.is-room-detail-page .room-detail-review-modal#reviewModal.modal {
    padding: clamp(1rem, 2vw, 2rem) !important;
}

body.is-room-detail-page .room-detail-review-modal .review-modal-backdrop {
    background:
        radial-gradient(circle at 20% 10%, rgb(235 215 178 / .22), transparent 34%),
        radial-gradient(circle at 80% 90%, rgb(151 134 103 / .20), transparent 30%),
        rgb(15 18 22 / .72) !important;
    backdrop-filter: blur(8px);
}

body.is-room-detail-page .room-detail-review-modal .modal-dialog {
    max-width: 920px !important;
}

body.is-room-detail-page .room-detail-review-modal .modal-content {
    border: 1px solid rgb(235 215 178 / .38) !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    background: #fff !important;
    box-shadow: 0 30px 90px rgb(0 0 0 / .36), 0 0 0 1px rgb(255 255 255 / .22) inset !important;
}

body.is-room-detail-page .room-detail-review-modal .review-modal-hero {
    position: relative;
    align-items: flex-start;
    padding: 28px 32px 24px !important;
    border: 0 !important;
    background:
        linear-gradient(135deg, rgb(36 38 45 / .96), rgb(75 81 77 / .96)),
        #24262d !important;
    color: #fff !important;
}

body.is-room-detail-page .room-detail-review-modal .review-modal-hero:after {
    content: "";
    position: absolute;
    inset: auto -8% -45% auto;
    width: 320px;
    aspect-ratio: 1;
    border-radius: 999px;
    background: rgb(235 215 178 / .16);
    pointer-events: none;
}

body.is-room-detail-page .room-detail-review-modal .review-modal-kicker {
    display: inline-flex;
    margin-bottom: 10px;
    color: #ebd7b2;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.is-room-detail-page .room-detail-review-modal .modal-title {
    color: #fff !important;
    font-size: clamp(1.45rem, 2.5vw, 2rem);
    line-height: 1.12;
    margin: 0 0 8px;
    letter-spacing: 0;
}

body.is-room-detail-page .room-detail-review-modal .review-modal-hero p {
    max-width: 620px;
    margin: 0;
    color: rgb(255 255 255 / .72);
    line-height: 1.65;
}

body.is-room-detail-page .room-detail-review-modal .review-modal-close {
    position: relative;
    z-index: 2;
    filter: invert(1);
    opacity: .82;
}

body.is-room-detail-page .room-detail-review-modal .modal-body {
    padding: 28px 32px 8px !important;
    background: linear-gradient(180deg, #fff 0%, #fbfaf7 100%) !important;
}

body.is-room-detail-page .room-detail-review-modal .review-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 18px;
}

body.is-room-detail-page .room-detail-review-modal .review-form-grid > * {
    width: 100% !important;
    max-width: none !important;
}

body.is-room-detail-page .room-detail-review-modal .review-field {
    margin-bottom: 18px;
}

body.is-room-detail-page .room-detail-review-modal .form-label {
    margin-bottom: 8px;
    color: #38342c;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body.is-room-detail-page .room-detail-review-modal .review-control {
    min-height: 48px;
    border: 1px solid #e5dccf !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #24262d !important;
    box-shadow: 0 10px 24px rgb(75 81 77 / .06) !important;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.is-room-detail-page .room-detail-review-modal textarea.review-control {
    min-height: 118px;
    resize: vertical;
}

body.is-room-detail-page .room-detail-review-modal .review-control:focus {
    border-color: #978667 !important;
    box-shadow: 0 0 0 4px rgb(151 134 103 / .16), 0 12px 28px rgb(75 81 77 / .08) !important;
    transform: translateY(-1px);
}

body.is-room-detail-page .room-detail-review-modal .review-rating-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 8px;
}

body.is-room-detail-page .room-detail-review-modal .review-rating-card {
    position: relative;
    padding: 16px;
    border: 1px solid #eadfce;
    border-radius: 16px;
    background: linear-gradient(180deg, #fff 0%, #f8f4ed 100%);
    box-shadow: 0 14px 30px rgb(75 81 77 / .07);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.is-room-detail-page .room-detail-review-modal .review-rating-card:hover,
body.is-room-detail-page .room-detail-review-modal .review-rating-card.is-complete {
    border-color: rgb(151 134 103 / .72);
    box-shadow: 0 18px 38px rgb(151 134 103 / .16);
    transform: translateY(-2px);
}

body.is-room-detail-page .room-detail-review-modal .review-rating-card.is-pulse {
    animation: reviewRatingPulse .36s ease;
}

body.is-room-detail-page .room-detail-review-modal .review-rating-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

body.is-room-detail-page .room-detail-review-modal .review-rating-card__head span {
    color: #24262d;
    font-weight: 700;
}

body.is-room-detail-page .room-detail-review-modal .review-rating-card__head strong {
    color: #978667;
    font-size: .86rem;
    font-weight: 800;
}

body.is-room-detail-page .room-detail-review-modal .review-star-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

body.is-room-detail-page .room-detail-review-modal .review-star {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 12px;
    background: #fff;
    color: #d6cdbd;
    font-size: 1.18rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 1px 0 rgb(255 255 255 / .9) inset, 0 8px 18px rgb(75 81 77 / .08);
    transition: color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.is-room-detail-page .room-detail-review-modal .review-star:hover,
body.is-room-detail-page .room-detail-review-modal .review-star:focus-visible,
body.is-room-detail-page .room-detail-review-modal .review-star.is-preview,
body.is-room-detail-page .room-detail-review-modal .review-star.is-active {
    color: #fff;
    background: linear-gradient(135deg, #c5a566, #978667);
    box-shadow: 0 10px 24px rgb(151 134 103 / .28);
    transform: translateY(-2px) scale(1.04);
    outline: 0;
}

body.is-room-detail-page .room-detail-review-modal .modal-footer {
    padding: 18px 32px 28px !important;
    border: 0 !important;
    background: #fbfaf7 !important;
}

body.is-room-detail-page .room-detail-review-modal .modal-footer .btn {
    min-height: 46px;
    border-radius: 12px !important;
    padding: .7rem 1.15rem;
    font-weight: 700;
}

@keyframes reviewRatingPulse {
    0% {
        transform: translateY(-2px) scale(1);
    }
    50% {
        transform: translateY(-2px) scale(1.025);
    }
    100% {
        transform: translateY(-2px) scale(1);
    }
}

@media (max-width: 767px) {
    body.is-room-detail-page .room-detail-review-modal#reviewModal.modal {
        padding: 10px !important;
        display: none;
        align-items: flex-end;
    }

    body.is-room-detail-page .room-detail-review-modal#reviewModal.modal.show {
        display: flex !important;
    }

    body.is-room-detail-page .room-detail-review-modal .review-modal-backdrop {
        background: linear-gradient(180deg, rgb(12 14 18 / .54), rgb(12 14 18 / .82)) !important;
        backdrop-filter: blur(7px);
    }

    body.is-room-detail-page .room-detail-review-modal .modal-dialog {
        width: 100% !important;
        max-width: none !important;
        margin: 0 auto !important;
        min-height: 0;
    }

    body.is-room-detail-page .room-detail-review-modal .modal-content {
        max-height: calc(100svh - 20px);
        border-radius: 24px 24px 18px 18px !important;
        box-shadow: 0 -18px 70px rgb(0 0 0 / .34), 0 0 0 1px rgb(255 255 255 / .18) inset !important;
    }

    body.is-room-detail-page .room-detail-review-modal .review-modal-hero {
        min-height: 0;
        padding-top: 20px !important;
        padding-bottom: 18px !important;
        border-radius: 22px 22px 0 0;
    }

    body.is-room-detail-page .room-detail-review-modal .review-modal-hero:before {
        content: "";
        position: absolute;
        top: 8px;
        left: 50%;
        width: 42px;
        height: 4px;
        border-radius: 999px;
        background: rgb(255 255 255 / .36);
        transform: translateX(-50%);
    }

    body.is-room-detail-page .room-detail-review-modal .review-modal-hero:after {
        width: 210px;
        inset: auto -22% -34% auto;
    }

    body.is-room-detail-page .room-detail-review-modal .review-modal-kicker {
        margin-bottom: 8px;
        padding-right: 42px;
        font-size: .68rem;
        line-height: 1.35;
    }

    body.is-room-detail-page .room-detail-review-modal .modal-title {
        padding-right: 42px;
        font-size: 1.45rem;
    }

    body.is-room-detail-page .room-detail-review-modal .review-modal-hero p {
        padding-right: 12px;
        font-size: .88rem;
        line-height: 1.55;
    }

    body.is-room-detail-page .room-detail-review-modal .review-modal-close {
        position: absolute;
        top: 19px;
        right: 18px;
        width: 36px;
        height: 36px;
        border-radius: 999px;
        background-color: rgb(255 255 255 / .12);
        background-size: 12px;
    }

    body.is-room-detail-page .room-detail-review-modal .modal-body,
    body.is-room-detail-page .room-detail-review-modal .modal-footer,
    body.is-room-detail-page .room-detail-review-modal .review-modal-hero {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.is-room-detail-page .room-detail-review-modal .modal-body {
        overflow-y: auto;
        padding-top: 18px !important;
        padding-bottom: 14px !important;
    }

    body.is-room-detail-page .room-detail-review-modal .review-form-grid {
        gap: 12px;
        margin-bottom: 12px;
    }

    body.is-room-detail-page .room-detail-review-modal .review-field {
        margin-bottom: 12px;
    }

    body.is-room-detail-page .room-detail-review-modal .form-label {
        margin-bottom: 6px;
        font-size: .72rem;
        line-height: 1.3;
    }

    body.is-room-detail-page .room-detail-review-modal .review-control {
        min-height: 44px;
        border-radius: 11px !important;
        font-size: 15px;
    }

    body.is-room-detail-page .room-detail-review-modal textarea.review-control {
        min-height: 96px;
    }

    body.is-room-detail-page .room-detail-review-modal .review-form-grid,
    body.is-room-detail-page .room-detail-review-modal .review-rating-grid {
        grid-template-columns: 1fr;
    }

    body.is-room-detail-page .room-detail-review-modal .review-rating-grid {
        gap: 10px;
        margin-top: 4px;
    }

    body.is-room-detail-page .room-detail-review-modal .review-rating-card {
        padding: 12px;
        border-radius: 14px;
        box-shadow: 0 10px 24px rgb(75 81 77 / .07);
    }

    body.is-room-detail-page .room-detail-review-modal .review-rating-card__head {
        margin-bottom: 8px;
    }

    body.is-room-detail-page .room-detail-review-modal .review-rating-card__head span {
        font-size: .92rem;
    }

    body.is-room-detail-page .room-detail-review-modal .review-star-row {
        justify-content: space-between;
        gap: 5px;
    }

    body.is-room-detail-page .room-detail-review-modal .review-star {
        width: clamp(36px, 10.4vw, 42px);
        height: clamp(36px, 10.4vw, 42px);
        border-radius: 11px;
        font-size: 1.08rem;
        flex: 0 0 auto;
    }

    body.is-room-detail-page .room-detail-review-modal .modal-footer {
        position: sticky;
        bottom: 0;
        display: grid;
        grid-template-columns: .9fr 1.15fr;
        gap: 10px;
        padding-top: 12px !important;
        padding-bottom: max(14px, env(safe-area-inset-bottom)) !important;
        box-shadow: 0 -12px 24px rgb(75 81 77 / .08);
    }

    body.is-room-detail-page .room-detail-review-modal .modal-footer .btn {
        width: 100%;
        min-height: 44px;
        padding: .65rem .8rem;
        font-size: .92rem;
    }
}

@media (max-width: 380px) {
    body.is-room-detail-page .room-detail-review-modal#reviewModal.modal {
        padding: 6px !important;
    }

    body.is-room-detail-page .room-detail-review-modal .modal-body,
    body.is-room-detail-page .room-detail-review-modal .modal-footer,
    body.is-room-detail-page .room-detail-review-modal .review-modal-hero {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body.is-room-detail-page .room-detail-review-modal .review-star {
        width: clamp(32px, 10vw, 36px);
        height: clamp(32px, 10vw, 36px);
        font-size: 1rem;
    }

    body.is-room-detail-page .room-detail-review-modal .modal-footer {
        grid-template-columns: 1fr;
    }
}
