#s2 .svc-img{padding:26px!important;display:flex!important;align-items:center;justify-content:center}
#s2 .svc-img>img{width:100%!important;max-width:500px!important;height:420px!important;object-fit:cover!important;object-position:50% 60%;border-radius:24px!important}
#s2 .gallery-open{margin-top:12px;background:transparent!important;color:#46dfb8!important;border:1px solid rgba(70,223,184,.4)!important;align-self:flex-start}
#s10 .gallery-open{margin-top:12px;background:transparent!important;color:#46dfb8!important;border:1px solid rgba(70,223,184,.4)!important;align-self:flex-start}
.apartment-photo-dialog{width:min(900px,94vw);max-height:92dvh;padding:0;margin:auto;border:1px solid #7893a644;border-radius:22px;background:#10232e;color:#f4f8fb;overflow:auto}
.apartment-photo-dialog::backdrop,dialog::backdrop{background:rgba(3,10,15,.8);backdrop-filter:blur(6px)}
.popup-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;background:#10232e;border-bottom:1px solid #ffffff16}
.popup-header h3{font-family:'DM Sans',Arial,sans-serif;font-size:1.1rem!important;margin:0!important;color:#f4f8fb;padding:0!important}
.popup-header button,.popup-close{position:static!important;flex:0 0 44px;width:44px!important;height:44px!important;display:grid;place-items:center;border:1px solid #ffffff30;border-radius:50%;background:#ffffff0c;color:#fff;font-size:26px;cursor:pointer}
.apartment-photo-stage{padding:16px;background:#08151e}
.apartment-photo-stage img{display:block;width:100%;height:min(65dvh,650px);object-fit:contain;border-radius:12px}
.apartment-photo-nav{display:flex;align-items:center;justify-content:center;gap:24px;padding:14px}
.apartment-photo-nav button{width:46px;height:44px;background:#ffffff0c;color:#fff;border:1px solid #ffffff30;border-radius:12px;font-size:20px;cursor:pointer}
.promo-modal{padding:16px!important;overflow:auto}
.promo-card,.apartment-booking{position:relative;box-sizing:border-box;max-height:90dvh!important;overflow:auto!important;width:min(620px,calc(100vw - 32px))!important;border:1px solid #7893a644}
.apartment-booking{padding:0 24px 24px!important;border-radius:22px;}
.apartment-booking .popup-header{margin:0 -24px 20px}
.apartment-booking input{color-scheme:dark}
.promo-card img{max-height:65dvh!important;background:#10232e!important}
.promo-label{font-size:.9rem;line-height:1.5;font-weight:400!important}
.modal{max-height:90dvh!important;overflow:auto!important}
.modal-close,.bo-close,.spa-close{min-width:44px;min-height:44px;border-radius:50%!important}
#spa-booking-dialog .spa-close,#beverage-order-dialog .bo-close{position:sticky!important;float:right;top:0!important;right:auto!important;z-index:6;background:#16313e!important;color:#fff!important;border:1px solid #7893a650!important}
@media(max-width:900px){#s2 .svc-img>img{height:300px!important}.popup-header{padding:12px 16px}}
@media(prefers-reduced-motion:reduce){.promo-modal,.apartment-photo-dialog{scroll-behavior:auto}}
