.x-tl-booking-widget-container_pulled-right{display:none !important;}:root{--font-serif:"Cormorant Garamond", "Times New Roman", serif;--font-sans:"Manrope", system-ui, sans-serif;--gold:#c4a36a;--gold-dark:#a8894f;--ink:#1c1917;--muted:#6b6560;--line:#e8e2d8;--bg:#f7f4ef;--white:#fff;--shadow:0 18px 50px rgba(28, 25, 23, 0.08);--radius:24px;--radius-sm:16px;--header:72px;--pad:16px;}
*,
*::before,
*::after{box-sizing:border-box;}
[hidden]{display:none !important;}
.split > *,
.cards-grid > *,
.rooms-grid > *,
.promo-grid > *,
.blog-grid > *,
.contact-grid > *,
.steps-grid > *,
.form__grid > *,
.site-footer__grid > *{min-width:0;}
.swiper{width:100%;max-width:100%;--swiper-pagination-color:var(--gold);--swiper-pagination-bullet-inactive-color:#b6ada0;--swiper-pagination-bullet-inactive-opacity:1;--swiper-pagination-bullet-size:9px;}
.swiper-slide{box-sizing:border-box;}
.swiper:not(.hero-swiper){padding-bottom:34px;--swiper-pagination-bottom:6px;}
.swiper-nav{position:absolute;top:50%;z-index:6;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:rgba(255, 255, 255, 0.94);box-shadow:0 8px 22px rgba(28, 25, 23, 0.16);transform:translateY(-50%);cursor:pointer;transition:background 0.2s ease;}
.swiper:not(.hero-swiper) .swiper-nav{top:calc((100% - 34px) / 2);}
.swiper-nav:hover{background:#fff;}
.swiper-nav--prev{left:12px;}
.swiper-nav--next{right:12px;}
.swiper-nav::before{content:"";position:absolute;inset:0;margin:auto;width:8px;height:8px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg);}
.swiper-nav--next::before{transform:rotate(-135deg);}
.swiper-nav.swiper-button-disabled{opacity:0.35;cursor:default;}
@media(max-width:767px){
.swiper-nav{display:none;}
}
html{scroll-behavior:smooth;scroll-padding-top:var(--header);background:var(--bg);overflow-x:hidden;}
body.site{overflow-x:clip;}
body.site{margin:0;font-family:var(--font-sans);color:var(--ink);background:var(--white);line-height:1.6;padding-bottom:calc(72px + env(safe-area-inset-bottom));}
img {
max-width: 100%;
height: auto;
display: block;
} a{color:inherit;}
button, input, textarea, select{font:inherit;}
.visually-hidden, .skip-link{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.skip-link:focus{width:auto;height:auto;clip:auto;inset:12px;z-index:100;padding:10px 14px;background:var(--white);}
.container{width:min(1180px, calc(100% - 32px));margin:0 auto;}
.section{padding:56px 0;}
.section--tint{background:var(--bg);}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px;}
.section-title{margin:0;font-family:var(--font-serif);font-size:clamp(32px, 7vw, 56px);font-weight:600;line-height:1.1;letter-spacing:-0.02em;text-align:center;}
.section-head .section-title, .section-title--left{text-align:left;}
.section-lead{margin:8px 0 0;color:var(--muted);font-size:15px;}
.section-actions{display:flex;justify-content:center;margin-top:28px;}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:999px;text-decoration:none;font-weight:600;cursor:pointer;}
.btn--sm{min-height:42px;padding:0 18px;font-size:14px;}
.btn--gold{background:var(--gold);color:#fff;}
.btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--line);}
.admin-bar .site-header{top:32px;}
@media(max-width:782px){
.admin-bar .site-header{top:46px;}
}
.site-header{position:sticky;top:0;z-index:40;background:rgba(247, 244, 239, 0.92);backdrop-filter:blur(16px);}
.site-header.is-stuck{box-shadow:0 8px 24px rgba(28, 25, 23, 0.06);}
.site-header__bar{width:min(1180px, calc(100% - 32px));margin:0 auto;min-height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:16px;}
.site-logo{display:block;flex-shrink:0;}
.site-logo img{display:block;width:auto;height:30px;}
.site-nav--desktop{display:none;}
.site-nav__list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;}
.site-nav__link{display:block;padding:12px 0;text-decoration:none;font-weight:500;}
.site-nav__item.is-active .site-nav__link{color:var(--gold-dark);}
.site-header__actions{display:flex;align-items:center;gap:10px;}
.site-header__phone, .site-header__cta{display:none;}
.menu-toggle{width:44px;height:44px;border:0;background:transparent;position:relative;}
.menu-toggle__bar, .menu-toggle__bar::before, .menu-toggle__bar::after{display:block;width:22px;height:2px;background:var(--ink);position:absolute;left:11px;}
.menu-toggle__bar{top:21px;}
.menu-toggle__bar::before, .menu-toggle__bar::after{content:"";left:0;}
.menu-toggle__bar::before{top:-7px;}
.menu-toggle__bar::after{top:7px;}
.site-drawer{display:none;position:fixed;inset:0;z-index:50;background:rgba(28, 25, 23, 0.4);}
.site-drawer.is-open{display:block;}
.site-drawer__panel{position:absolute;inset:0 0 0 auto;width:min(100%, 360px);background:var(--white);padding:18px 24px 24px;display:flex;flex-direction:column;gap:24px;overflow:auto;}
.site-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;}
.site-drawer__close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;}
.site-drawer__close:hover, .site-drawer__close:focus-visible{border-color:var(--gold);color:var(--gold-dark);}
.site-drawer__contacts{display:grid;gap:12px;font-size:15px;}
.site-drawer__phone, .site-drawer__address{display:flex;align-items:flex-start;gap:10px;color:var(--ink);text-decoration:none;}
.site-drawer__phone svg, .site-drawer__address svg{flex-shrink:0;margin-top:2px;color:var(--gold);}
body.is-menu-open{overflow:hidden;}
.hero{position:relative;height:calc(100svh - var(--header));min-height:520px;background:#ece7df;}
.hero--page{height:auto;min-height:0;}
.hero--page .hero__slide{height:auto;min-height:480px;padding:64px 20px 210px;}
.hero--page .hero__title{font-size:clamp(32px, 6vw, 60px);}
.hero--page .hero__slide::before{background:radial-gradient(70% 65% at 50% 40%, rgba(19, 25, 53, 0.72), rgba(19, 25, 53, 0.44) 80%), linear-gradient(180deg, rgba(19, 25, 53, 0.6), rgba(19, 25, 53, 0.5) 45%, rgba(19, 25, 53, 0.72));}
.hero-swiper, .hero-swiper .swiper-wrapper, .hero-swiper .swiper-slide, .hero__slide{height:100%;}
.hero-swiper, .hero-swiper .swiper-slide, .hero__slide{overflow:hidden;}
.hero__slide{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:48px 20px 140px;}
.hero__photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;}
.hero__slide::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(65% 55% at 50% 45%, rgba(19, 25, 53, 0.5), rgba(19, 25, 53, 0.14) 78%), linear-gradient(180deg, rgba(19, 25, 53, 0.42), rgba(19, 25, 53, 0.24) 45%, rgba(19, 25, 53, 0.55));}
.hero__content{position:relative;z-index:2;max-width:820px;color:#fff;text-shadow:0 2px 20px rgba(9, 12, 26, 0.55);}
.hero__kicker, .hero__text{margin:0 0 12px;color:rgba(255, 255, 255, 0.92);font-size:15px;}
.hero--page .hero__text{font-size:16px;}
.hero__title{margin:0 0 12px;font-family:var(--font-serif);font-size:clamp(40px, 10vw, 84px);font-weight:600;line-height:0.95;letter-spacing:-0.03em;}
.booking-bar{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:auto;}
.booking-bar.is-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 20px;}
.booking-bar.is-loading::before{content:"";flex-shrink:0;width:18px;height:18px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;opacity:0.55;animation:booking-spin 0.8s linear infinite;}
.booking-bar.is-loading .tl-container{font-size:14px;}
.booking-bar.is-loading .tl-container a{color:inherit;text-decoration:none;}
.booking-bar--hero.is-loading{color:rgba(255, 255, 255, 0.75);}
.booking-bar--inner.is-loading{color:var(--muted);}
.booking-bar.is-loading, #block-search.booking-bar.is-loading{min-height:162px;}
@media(max-width:767px){
.booking-bar.is-loading, #block-search.booking-bar.is-loading{min-height:340px;}
}
@keyframes booking-spin {
to{transform:rotate(360deg);}
}
@media (prefers-reduced-motion: reduce) {
.booking-bar.is-loading::before{animation:none;}
}
.booking-bar--hero, #block-search.booking-bar--hero{position:absolute !important;left:50%;right:auto;bottom:20px;top:auto;z-index:3;width:calc(100% - 32px);max-width:980px;transform:translateX(-50%);min-height:72px;max-height:44%;overflow:auto;background:#131935 !important;color:#fff;}
.booking-bar--hero #tl-search-form,
.booking-bar--hero .tl-container, .booking-bar--hero .tl-container *{color:#fff;}
.booking-bar--inner{width:min(1180px, calc(100% - 32px));margin:16px auto 0;}
#block-search,
.tl-container{background:transparent;}
.room-card, .feature-card, .review-card, .promo-card, .blog-card, .contact-card, .step-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);}
.room-card{overflow:hidden;height:100%;display:flex;flex-direction:column;}
.room-card__media{position:relative;display:block;width:100%;padding-top:75%;overflow:hidden;background:#ece7df;}
.room-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.room-card__body{padding:16px 16px 20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.room-card__title{margin:0;font-family:var(--font-serif);font-size:22px;font-weight:600;line-height:1.2;}
.room-card__title a, .blog-card h2 a{text-decoration:none;}
.room-card__text{margin:0;color:var(--muted);font-size:13px;}
.room-card__price{margin:0;color:var(--gold-dark);font-weight:700;}
.room-card__price span, .room-card__body .btn{margin-top:auto;}
.rooms-grid, .promo-grid, .blog-grid, .contact-grid, .cards-grid, .steps-grid{display:grid;gap:16px;}
.rooms-grid, .promo-grid, .blog-grid, .cards-grid{grid-template-columns:1fr;}
.cta-band{position:relative;color:#fff;overflow:hidden;}
.cta-band__bg{position:absolute;inset:0;background:#2a2420 center / cover no-repeat;filter:brightness(0.45);}
.cta-band__inner{position:relative;padding:48px 0;}
.feature-card, .step-card, .contact-card, .blog-card, .review-card{padding:22px;}
.feature-card h2, .step-card h2, .contact-card h2, .blog-card h2, .review-card h2, .room-info h2, .split__title{margin:0 0 8px;font-family:var(--font-serif);font-size:28px;font-weight:600;}
.split__copy .section-title{margin-bottom:14px;}
.split__copy .split__title{margin-bottom:12px;}
.split__copy p{margin:0 0 12px;}
.split__copy > :last-child{margin-bottom:0;}
.contact-card p{margin:0;color:var(--muted);font-size:15px;}
.contact-card a{color:var(--ink);text-decoration:none;}
.contact-card a:hover, .contact-card a:focus-visible{color:var(--gold-dark);text-decoration:underline;}
.feature-card__icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:14px;border-radius:50%;background:rgba(196, 163, 106, 0.14);color:var(--gold);}
.feature-card p, .step-card p, .review-card p, .blog-card p, .promo-card__text{margin:0;color:var(--muted);}
.step-card__num{display:inline-block;margin-bottom:10px;color:var(--gold-dark);font-weight:700;}
.split{display:grid;gap:24px;}
.split + .split{margin-top:clamp(40px, 6vw, 64px);}
.split p{color:var(--muted);}
.price{color:var(--gold-dark);}
.gallery-swiper{border-radius:var(--radius-sm);}
.gallery-slide, .banner-card{position:relative;display:block;width:100%;padding-top:75%;border-radius:var(--radius-sm);overflow:hidden;background:#ece7df;}
.gallery-slide img, .banner-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.promo-card img{width:100%;height:auto;object-fit:cover;}
.promo-card{overflow:hidden;}
.promo-card img{aspect-ratio:16 / 10;}
.promo-card div{padding:18px;}
.promo-card__label{margin:0 0 6px;color:var(--gold-dark);font-size:18px;font-weight:700;}
.promo-badge{display:inline-flex;margin-top:10px;padding:4px 10px;border-radius:999px;background:var(--gold);color:#fff;font-size:12px;font-weight:700;}
.cta-band__inner{text-align:center;}
.cta-band h2{margin:0 0 10px;font-family:var(--font-serif);font-size:clamp(28px, 7vw, 48px);}
.review-card__role{margin:0 0 10px !important;font-size:13px;}
.ya-review{height:420px;border-radius:var(--radius);overflow:hidden;background:var(--white);}
.review-block{margin-top:40px;}
.ya-review iframe, .map-card iframe{width:100%;height:100%;border:0;}
.map-card{position:relative;min-height:280px;border-radius:var(--radius);overflow:hidden;background:#ece7df;}
.map-card__label{position:absolute;top:10px;left:10px;z-index:1;padding:6px 10px;border-radius:999px;background:rgba(255, 255, 255, 0.92);font-size:12px;text-decoration:none;}
.form{display:grid;gap:16px;}
.form__grid{display:grid;gap:12px;}
.field{display:grid;gap:6px;}
.field span{font-size:13px;font-weight:600;}
.field input, .field textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:14px 14px;background:var(--white);}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);}
.js-form-status.is-ok{color:#027a48;}
.js-form-status.is-err{color:#b42318;}
.page-head{padding:40px 0 0;}
.page-title{margin:0;font-family:var(--font-serif);font-size:clamp(30px, 6vw, 48px);font-weight:600;line-height:1.1;}
.page-hero{position:relative;min-height:220px;display:flex;align-items:flex-end;padding:40px 0 28px;color:#fff;}
.page-hero__bg{position:absolute;inset:0;background:#2a2420 center / cover no-repeat;}
.page-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(28, 25, 23, 0.15), rgba(28, 25, 23, 0.62));}
.page-hero .container{position:relative;}
.page-hero__title{margin:0;font-family:var(--font-serif);font-size:clamp(34px, 8vw, 60px);line-height:1;}
.price--lg{font-family:var(--font-serif);font-size:32px;font-weight:600;line-height:1.1;color:var(--gold-dark);white-space:nowrap;}
.price--md{font-size:20px;font-weight:700;}
.price__period{font-family:var(--font-sans);font-size:15px;font-weight:600;color:var(--muted);}
.spec-list{margin:20px 0;padding:0;list-style:none;display:grid;gap:14px;}
.spec-list li{display:grid;gap:4px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.spec-list li span:first-child{color:var(--muted);font-size:13px;}
.spec-list li.spec-list__price > span{color:var(--muted);font-size:14px;text-align:right;}
.spec-list li.spec-list__price{grid-template-columns:auto 1fr;align-items:center;gap:8px 16px;margin-top:6px;padding:16px 18px;border:1px solid rgba(196, 163, 106, 0.45);border-radius:var(--radius-sm);background:rgba(196, 163, 106, 0.1);}
.content{font-size:16px;}
.content h2, .content h3{font-family:var(--font-serif);}
.nearby{background:var(--bg);}
.nearby a{color:var(--gold-dark);}
.site-footer{background:#1c1917;color:#f4efe6;padding:48px 0 112px;}
.site-footer a{color:inherit;}
.site-footer__grid{display:grid;gap:32px;}
.site-footer__logo img{height:32px;width:auto;}
.site-footer__about{margin:18px 0 20px;max-width:340px;color:rgba(244, 239, 230, 0.68);font-size:14px;line-height:1.65;}
.site-footer__actions{display:flex;flex-wrap:wrap;gap:10px;}
.site-footer__title{margin:0 0 16px;font-family:var(--font-serif);font-size:22px;font-weight:600;}
.footer-menu, .footer-contacts{margin:0;padding:0;list-style:none;display:grid;gap:10px;font-size:14px;}
.footer-menu a, .footer-contacts a{color:rgba(244, 239, 230, 0.78);text-decoration:none;}
.footer-menu a:hover, .footer-menu a:focus-visible, .footer-contacts a:hover, .footer-contacts a:focus-visible{color:#fff;text-decoration:underline;}
.site-footer__note{margin:18px 0 0;color:rgba(244, 239, 230, 0.5);font-size:13px;line-height:1.6;}
.site-footer__bottom{margin-top:36px;padding-top:18px;border-top:1px solid rgba(255, 255, 255, 0.1);font-size:13px;opacity:0.7;}
.site-footer__bottom-inner{display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;}
.site-footer__bottom-inner p{margin:0;}
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:rgba(247, 244, 239, 0.92);backdrop-filter:blur(16px);padding:12px;}
.mobile-cta__btn{min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:var(--white);box-shadow:var(--shadow);text-decoration:none;font-weight:700;}
.mobile-cta__btn--gold{background:var(--gold);color:#fff;}
.mobile-cta__btn.is-loading{opacity:0.65;pointer-events:none;}
@media(max-width:767px){
x-tl-booking-widget{display:none !important;}
}
.lightbox{display:none;position:fixed;inset:0;z-index:80;background:rgba(16, 14, 12, 0.88);align-items:center;justify-content:center;padding:24px;}
.lightbox.is-open{display:flex;}
.lightbox__image{max-width:100%;max-height:90vh;object-fit:contain;}
.lightbox__close{position:absolute;top:16px;right:16px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;}
.lightbox__close::before, .lightbox__close::after{content:"";position:absolute;left:12px;right:12px;top:21px;height:2px;background:#111;}
.lightbox__close::before{transform:rotate(45deg);}
.lightbox__close::after{transform:rotate(-45deg);}
.cookie-popup{position:fixed;left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:35;max-width:40%;margin:auto;padding:18px;border-radius:var(--radius-sm);background:var(--ink);box-shadow:var(--shadow);color:var(--white);font-size:14px;}
.cookie-popup h3{margin:0 0 8px;font-size:16px;color:var(--white);}
.cookie-popup p{margin:0 0 14px;color:rgba(255, 255, 255, 0.78);}
.cookie-popup a{color:var(--gold);}
@media(max-width:767px){
.cookie-popup{max-width:none;}
}
.swiper-pagination-bullet{background:var(--gold) !important;}
@media(min-width:768px){
body.site{padding-bottom:0;}
.section{padding:88px 0;}
.rooms-grid, .promo-grid, .blog-grid, .cards-grid, .form__grid{grid-template-columns:1fr 1fr;}
.steps-grid{grid-template-columns:1fr 1fr;}
.contact-grid{grid-template-columns:repeat(3, 1fr);}
.split{grid-template-columns:1fr 1fr;align-items:center;gap:40px;}
.field--full{grid-column:1 / -1;}
.mobile-cta{display:none;}
.site-footer{padding-bottom:32px;}
.hero__slide{padding-bottom:160px;}
.hero--page .hero__slide{padding-bottom:210px;}
body.no-booking-widget .hero__slide{padding-bottom:56px;}
body.no-booking-widget .hero--page .hero__slide{padding-bottom:72px;}
.ya-review, .map-card{height:400px;min-height:400px;}
.site-footer__grid{grid-template-columns:1.3fr 1fr;gap:40px;}
}
@media(min-width:1100px){
.site-footer__grid{grid-template-columns:1.5fr 1fr 1.1fr 1.2fr;gap:48px;}
}
@media(min-width:992px){
.site-nav--desktop{display:block;flex:1;}
.site-nav--desktop .site-nav__list{flex-direction:row;justify-content:center;gap:22px;}
.site-nav--desktop .site-nav__link{padding:8px 0;font-size:16px;}
.menu-toggle, .site-drawer{display:none !important;}
.site-header__phone, .site-header__cta{display:inline-flex;text-decoration:none;font-weight:600;white-space:nowrap;}
.site-nav--desktop .site-nav__link{white-space:nowrap;}
}
@media(min-width:992px) and (max-width:1199px){
.site-nav--desktop .site-nav__list{gap:14px;}
.site-header__phone{font-size:14px;}
.rooms-grid, .cards-grid{grid-template-columns:repeat(3, 1fr);}
.steps-grid, .contact-grid{grid-template-columns:repeat(3, 1fr);}
.steps-grid{grid-template-columns:repeat(4, 1fr);}
.promo-grid, .blog-grid{grid-template-columns:repeat(3, 1fr);}
.room-card__title{font-size:26px;}
.room-card__text{font-size:15px;}
}
@media(max-width:767px){
.room-card__title {
font-size: 22px;
}
.room-card__body {
padding: 18px;
}
.section-head {
align-items: center;
}
.hero__title {
font-size: 40px;
}
.hero {
height: auto;
min-height: 0;
}
.hero-swiper, .hero-swiper .swiper-wrapper, .hero-swiper .swiper-slide, .hero__slide {
height: auto;
}
.hero__slide {
min-height: 70svh;
padding: 40px 20px 64px;
}
.hero--page .hero__slide {
min-height: 300px;
padding: 40px 20px 56px;
}
.booking-bar--hero, #block-search.booking-bar--hero {
position: relative !important;
left: auto;
right: auto;
bottom: auto;
transform: none;
margin: -32px auto 0;
max-height: none;
overflow: visible;
}
}