/* DG: Палитра сайта, границы и тень. var(--...) в остальных правилах ссылается на эти значения. */
:root{
  --cream:#f4efe8;
  --paper:#fffdf9;
  --ink:#2f241f;
  --muted:#766c65;
  --clay:#b94d31;
  --clay-dark:#973922;
  --sage:#7b8069;
  --line:rgba(47,36,31,.13);
  --shadow:0 22px 60px rgba(58,37,27,.12);
}
/* DG: Базовое оформление собственных блоков; область ограничена, чтобы не затронуть внешний виджет. */
:where(.notice,.header,.hero,.hero-main,.booking-panel,.booking-title,.widget-box,.booking-help,.benefits,.rooms,.contacts,.site-footer,#roomDialog,#photoLightbox,#infoPopup){box-sizing:border-box}
:where(.notice,.header,.hero-main,.booking-title,.booking-help,.benefits,.rooms,.contacts,.site-footer,#roomDialog,#photoLightbox,#infoPopup) *{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:98px}
body{margin:0;min-width:320px;background:var(--cream)}
:where(.notice,.header,.hero-main,.booking-title,.booking-help,.benefits,.rooms,.contacts,.site-footer,#roomDialog,#photoLightbox,#infoPopup){color:var(--ink);font-family:Inter,Manrope,"Segoe UI",Arial,sans-serif}
:where(.header,.hero-main,.booking-title,.booking-help,.benefits,.rooms,.contacts,.site-footer,#roomDialog,#photoLightbox,#infoPopup) :where(button,a){-webkit-tap-highlight-color:transparent}
:where(.header,.hero-main,.booking-title,.booking-help,.benefits,.rooms,.contacts,.site-footer,#roomDialog,#photoLightbox,#infoPopup) a{color:inherit;text-decoration:none}
:where(.header,.hero-main,.booking-title,.booking-help,.benefits,.rooms,.contacts,.site-footer,#roomDialog,#photoLightbox,#infoPopup) img{display:block;max-width:100%}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.header-icon svg,.benefit-icon svg,.contact-icon svg,.booking-help-icon svg,.room-card-meta svg,.room-meta svg,.photo-zoom svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
/* DG: Верхняя полоса уведомления. */
.notice{min-height:40px;padding:8px 24px;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--clay-dark);color:#fff;font-size:13px;line-height:1.35}
.notice span{padding:4px 8px;border-radius:999px;background:#fff2;color:#ffd8ca;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.notice p{margin:0}
/* DG: Шапка, логотип, навигация и мобильное меню. */
.header{height:88px;padding:0 max(24px,calc((100% - 1320px)/2));display:grid;grid-template-columns:280px 1fr;align-items:center;gap:28px;border-bottom:1px solid var(--line);background:rgba(244,239,232,.92);backdrop-filter:blur(16px);position:relative;z-index:20}
.logo{width:max-content}
.logo img{width:270px;max-height:70px;object-fit:contain}
.header nav{display:flex;align-items:center;justify-content:flex-end;gap:46px}
.header nav a{position:relative;padding:12px 0;font-size:14px;font-weight:650}
.header nav a:after{content:"";position:absolute;right:0;bottom:5px;left:0;height:2px;border-radius:2px;background:var(--clay);transform:scaleX(0);transition:.2s}
.header nav a:hover:after,.header nav a:focus-visible:after{transform:scaleX(1)}
.header-icon{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px;background:var(--clay);color:#fff}
.menu{display:none;justify-self:end;border:0;background:none;color:var(--clay);font-size:28px}

/* DG: Первый экран: фото здания и текст поверх него. */
.hero{max-width:1370px;margin:0 auto;padding:16px 24px 12px;display:grid;grid-template-columns:minmax(0,1fr) 370px;align-items:stretch;gap:18px}
.hero-main{position:relative;min-height:490px;overflow:hidden;border-radius:30px;background:#d8c7bb;box-shadow:var(--shadow)}
.hero-main>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(1.05)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,20,16,.2) 0%,rgba(31,20,16,.07) 52%,transparent 82%),linear-gradient(0deg,rgba(31,20,16,.16),transparent 40%)}
.hero-copy{position:absolute;z-index:2;right:28%;bottom:38px;left:42px;color:#fff}
.hero-copy h1{max-width:560px;margin:0;font-size:22px;font-weight:700;line-height:1.25;text-shadow:0 2px 16px rgba(20,12,9,.65)}
.hero-facts{margin-top:16px;display:flex;flex-wrap:wrap;gap:7px}
.hero-facts span{padding:8px 12px;border:1px solid #fff5;border-radius:999px;background:#fff2;font-size:12px;font-weight:700;backdrop-filter:blur(8px)}

/* DG: Боковая панель бронирования и пояснения под виджетом. */
.booking-panel{min-width:0;max-width:100%;padding:22px;border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:var(--shadow)}
.booking-title span{color:var(--clay);font-size:14px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.contacts-heading>span{color:var(--clay);font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.booking-title h2{margin:8px 0 8px;font-family:Georgia,serif;font-size:34px;font-weight:400;letter-spacing:-.03em}
.booking-title p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.widget-box{margin:18px auto 0;min-height:300px}
.booking-help{margin-top:14px;padding:13px 14px;display:grid;grid-template-columns:36px 1fr;gap:10px;border:1px solid rgba(185,77,49,.2);border-radius:16px;background:#f8eee8}
.booking-help-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:var(--clay);color:#fff}
.booking-help-icon svg{width:18px;height:18px}
.booking-help strong{display:block;font-size:13px;line-height:1.4}
.booking-help p{margin:6px 0 8px;color:var(--muted);font-size:12px;line-height:1.5}
.booking-help a{color:var(--clay);font-size:12px;font-weight:800}

/* DG: Сетка преимуществ. */
.benefits{max-width:1320px;margin:0 auto;padding:8px 24px 26px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.benefits>div{min-height:104px;padding:18px;display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:14px;border:1px solid var(--line);border-radius:20px;background:rgba(255,253,249,.68)}
.benefit-icon{grid-row:1/3;width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#f0d9cf;color:var(--clay)}
.benefits strong{align-self:end;font-size:15px}
.benefits small{align-self:start;margin-top:4px;color:var(--muted);font-size:12px}

/* DG: Заголовок каталога, карточки и их характеристики. */
.rooms{padding:50px max(24px,calc((100% - 1320px)/2)) 58px;background:var(--paper)}
.section-heading{margin-bottom:24px}
.section-heading span{display:block;color:var(--ink);font-family:Georgia,serif;font-size:40px;font-weight:400;letter-spacing:-.05em;line-height:.95}
.section-heading h2{max-width:820px;margin:12px 0 0;color:var(--clay);font-size:16px;font-weight:650;letter-spacing:-.01em;line-height:1.5}
.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.room-card{position:relative;padding:0;display:flex;flex-direction:column;overflow:hidden;border:0;border-radius:24px;background:#6a4a3d;color:#fff;text-align:left;cursor:pointer;box-shadow:0 14px 36px rgba(58,37,27,.09);transition:transform .2s,box-shadow .2s}
.room-card:hover,.room-card:focus-visible{transform:translateY(-4px);box-shadow:0 20px 44px rgba(58,37,27,.16);outline:none}
.room-card>img{display:block;width:100%;height:auto;aspect-ratio:1400/933;object-fit:cover;transition:transform .45s}
.room-card:hover>img{transform:scale(1.035)}
.room-card-copy{position:static;min-height:108px;padding:10px 13px 9px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,rgba(35,24,20,.90),rgba(35,24,20,.76));text-align:center}
.room-card-copy b{min-height:2.36em;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:850;line-height:1.18;letter-spacing:.035em;text-transform:uppercase}
.room-card-meta{margin-top:7px;padding-top:7px;display:flex;align-items:center;justify-content:center;gap:0;border-top:1px solid #fff4;color:#f8e9e2}
.room-card-meta>span{min-width:0;display:flex;align-items:center;justify-content:center;gap:5px;font-size:10.5px;font-weight:750;line-height:1.25;text-align:center;white-space:nowrap}
.room-card-meta>span+span:before{content:"|";margin:0 8px 0 3px;color:#d8a28f;font-weight:500}
.room-card-meta svg{width:16px;height:16px;flex:0 0 auto;color:#e8a38a}

/* DG: Блок контактов и маршрута. */
.contacts{padding:42px max(24px,calc((100% - 1320px)/2)) 48px;background:var(--cream)}
.contacts-heading{margin-bottom:18px;display:block;text-align:left}
.contacts-heading h2{margin:0;font-family:Georgia,serif;font-weight:400}
.contacts-heading h2{font-size:40px}
.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.contact-grid>a{min-height:96px;padding:16px;display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:20px;background:var(--paper);transition:.2s}
.contact-grid>a:hover,.contact-grid>a:focus-visible{border-color:rgba(185,77,49,.5);box-shadow:0 12px 30px rgba(58,37,27,.09);transform:translateY(-2px);outline:none}
.contact-icon{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px;background:var(--clay);color:#fff}
.contact-grid>a>span{min-width:0;display:flex;flex-direction:column;gap:5px}
.contact-grid small{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}
.contact-grid strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* DG: Исходное оформление подвала и информера; дополнения вынесены в site-info.css. */
.site-footer{min-height:70px;padding:14px max(24px,calc((100% - 1320px)/2));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;border-top:1px solid var(--line);background:var(--paper);color:var(--muted);font-size:12px}
.counter-slot{grid-column:2;min-width:100px;display:flex;align-items:center;justify-content:center}
.counter-slot img{border-radius:4px}

/* DG: Окно номера: сетка, вкладки, фотографии, панорама, миниатюры и описание. */
#roomDialog,#photoLightbox{width:min(1050px,calc(100% - 32px));max-height:92vh;padding:0;overflow:auto;border:0;border-radius:28px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}
#roomDialog[open]{width:min(1440px,calc(100% - 24px));height:min(800px,calc(100dvh - 24px));max-height:none;overflow:hidden;display:grid;grid-template-columns:minmax(0,2fr) minmax(430px,1fr);grid-template-rows:60px minmax(0,1fr) 96px}
#roomDialog[open][data-media-view="panorama"]{grid-template-rows:60px minmax(0,1fr) 0}
#roomDialog[open] .media-tabs{grid-column:1;grid-row:1}
#roomDialog[open] .room-media{grid-column:1;grid-row:2}
#roomDialog[open] .gallery{grid-column:1;grid-row:3}
#roomDialog[open] .dialog-body{grid-column:2;grid-row:1/4}
#roomDialog::backdrop,#photoLightbox::backdrop{background:rgba(30,20,16,.78);backdrop-filter:blur(5px)}
.close{position:absolute;z-index:5;top:11px;right:16px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:var(--clay);font-size:27px;cursor:pointer;box-shadow:0 8px 24px #0002}
.media-tabs{min-height:60px;padding:9px 18px;display:flex;align-items:center;gap:8px;background:#241d19}
.media-tabs button{min-height:42px;padding:0 17px;border:1px solid #fff2;border-radius:12px;background:#fff1;color:#eadfd8;font-size:12px;font-weight:750;cursor:pointer;transition:.2s}
.media-tabs button:hover,.media-tabs button:focus-visible{border-color:#fff6;outline:none}
.media-tabs button.active{border-color:var(--clay);background:var(--clay);color:#fff}
.room-media{min-height:0;background:#1d1815}
.photo-viewer{position:relative;height:430px;display:grid;place-items:center;overflow:hidden;background:#1d1815}
#roomDialog[open] .photo-viewer,#roomDialog[open] .panorama-viewer{height:100%}
.photo-viewer[hidden],.panorama-viewer[hidden]{display:none!important}
.photo-viewer>img{width:100%;height:100%;object-fit:contain;cursor:zoom-in}
.media-arrow{position:absolute;z-index:2;top:50%;width:46px;height:58px;border:1px solid #fff4;border-radius:14px;background:#171210aa;color:#fff;font:32px/1 Georgia,serif;cursor:pointer;transform:translateY(-50%);backdrop-filter:blur(8px)}
.media-arrow:hover,.media-arrow:focus-visible{background:var(--clay);outline:none}
.media-arrow.previous{left:16px}
.media-arrow.next{right:16px}
.photo-zoom{position:absolute;z-index:2;right:16px;bottom:16px;min-height:40px;padding:0 13px;display:flex;align-items:center;gap:7px;border:1px solid #fff4;border-radius:11px;background:#171210c7;color:#fff;font-size:12px;font-weight:750;cursor:pointer;backdrop-filter:blur(8px)}
.photo-zoom:hover,.photo-zoom:focus-visible{background:var(--clay);outline:none}
.photo-zoom svg{width:16px;height:16px}
.panorama-viewer{position:relative;height:430px;overflow:hidden;background:#1d1815}
.panorama-stage{width:100%;height:100%;background:#1d1815}
.panorama-hint{position:absolute;z-index:3;top:16px;left:50%;padding:8px 12px;border-radius:999px;background:#18110dbb;color:#fff;font-size:12px;pointer-events:none;transform:translateX(-50%);backdrop-filter:blur(8px);white-space:nowrap}
.panorama-scenes{position:absolute;z-index:4;right:0;bottom:14px;left:0;display:flex;justify-content:center;gap:7px;pointer-events:none}
.panorama-scenes[hidden]{display:none!important}
.panorama-scenes button{min-height:38px;padding:0 13px;border:1px solid #fff5;border-radius:11px;background:#171210c7;color:#fff;font-size:12px;font-weight:750;cursor:pointer;pointer-events:auto;backdrop-filter:blur(8px)}
.panorama-scenes button.active,.panorama-scenes button:hover,.panorama-scenes button:focus-visible{border-color:var(--clay);background:var(--clay);outline:none}
.panorama-stage .pnlm-controls{border:0;border-radius:9px;overflow:hidden;box-shadow:0 5px 18px #0005}
.panorama-error{height:100%;margin:0;padding:30px;display:grid;place-items:center;color:#fff;text-align:center}
.dialog-body{min-width:0;min-height:0;padding:22px 26px 20px;display:flex;flex-direction:column;gap:12px}
.dialog-main{min-width:0;padding-right:20px}
.dialog-main>p:first-child{margin:0;color:var(--clay);font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.dialog-main h2{margin:6px 0 9px;font:400 26px/1.12 Georgia,serif;letter-spacing:-.035em}
.room-meta{margin:10px 0;display:flex;align-items:flex-start;justify-content:flex-start;flex-wrap:wrap;gap:10px;color:var(--clay);font-size:13px;font-weight:750}
.room-meta>span{display:flex;align-items:center;gap:6px}
.room-meta svg{width:18px;height:18px}
.description{margin:0;color:var(--muted);font-size:14px;line-height:1.45}
.gallery{min-height:0;padding:10px 14px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:#1d1815}
.gallery[hidden]{display:none!important}
.gallery button{padding:0;overflow:hidden;border:2px solid transparent;border-radius:11px;background:#2b2420;cursor:pointer;opacity:.62;transition:.2s}
.gallery button:hover,.gallery button:focus-visible{opacity:1;outline:none}
.gallery button.active{border-color:#fff;opacity:1}
.gallery img{width:100%;height:80px;object-fit:cover}
.dialog-body aside{margin-top:auto;padding-top:13px;border-top:1px solid var(--line)}
.dialog-body aside h3{margin:0 0 10px;font:25px Georgia,serif}
.amenity-groups{margin-bottom:10px;display:grid;grid-template-columns:1fr 1fr;gap:9px 14px}
.amenity-group h4{margin:0 0 5px;color:var(--ink);font-size:12px;line-height:1.3}
.amenity-group ul{margin:0;padding:0;list-style:none}
.amenity-group li{margin-bottom:3px;color:var(--muted);font-size:12px;line-height:1.3}
.amenity-group li:before{content:"✓";margin-right:6px;color:var(--clay);font-weight:800}
#dialogBooking{min-height:44px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;border-radius:13px;background:var(--clay);color:#fff;font-size:12px;font-weight:800;text-transform:uppercase}

/* DG: Полноэкранный просмотр фотографий. */
.photo-lightbox{position:fixed;z-index:100;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;border:0;border-radius:0;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;background:rgba(18,12,10,.96);backdrop-filter:blur(12px)}
.photo-lightbox[open]{display:grid}
.photo-lightbox::backdrop{background:rgba(18,12,10,.5)}
.photo-lightbox figure{height:100%;margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center}
.photo-lightbox img{max-width:100%;max-height:calc(100vh - 92px);object-fit:contain}
.photo-lightbox figcaption{padding-top:12px;color:#ddd0c8;font-size:12px;text-align:center}
.lightbox-close{position:absolute;top:18px;right:18px;width:46px;height:46px;border:1px solid #fff4;border-radius:50%;background:#fff1;color:#fff;font-size:29px;cursor:pointer}
.lightbox-arrow{width:52px;height:68px;border:1px solid #fff4;border-radius:15px;background:#fff1;color:#fff;font:36px Georgia,serif;cursor:pointer}
.lightbox-close:hover,.lightbox-close:focus-visible,.lightbox-arrow:hover,.lightbox-arrow:focus-visible{background:var(--clay);outline:none}
.lightbox-arrow.next{justify-self:end}
.lightbox-open{overflow:hidden}

/* DG: Всплывающее информационное сообщение. */
.info-popup{position:fixed;z-index:90;inset:0;padding:20px;display:grid;place-items:center;background:rgba(37,25,20,.55);backdrop-filter:blur(7px)}
.info-popup[hidden]{display:none!important}
.info-popup-card{position:relative;width:min(565px,100%);max-height:calc(100dvh - 24px);padding:36px 38px 32px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 30px 80px rgba(31,20,16,.3)}
.popup-close{position:absolute;top:12px;right:12px;width:38px;height:38px;border:0;background:transparent;color:#999;font-size:27px;font-weight:700;cursor:pointer}
.popup-close:hover,.popup-close:focus-visible{color:var(--clay);outline:none}
.info-popup-card h2{margin:0 50px 4px 0;font:400 28px/1.2 Inter,Manrope,"Segoe UI",Arial,sans-serif;letter-spacing:-.02em}
.popup-content p{margin:0 0 22px;color:#595959;font-size:15.5px;line-height:1.58}
.popup-content h3{margin:22px 0 20px;font:800 16px/1.35 Inter,Manrope,"Segoe UI",Arial,sans-serif}
.popup-content strong{font-weight:850}
.popup-content .popup-warning{color:#ef4b46}
.popup-content em{font-style:italic}
.popup-content p:last-child{margin-bottom:0}

/* DG: Доступность: сокращение движения по настройке пользователя. */
@media(prefers-reduced-motion:reduce){
  :where(.notice,.header,.hero-main,.booking-title,.booking-help,.benefits,.rooms,.contacts,.site-footer,#roomDialog,#photoLightbox,#infoPopup),
  :where(.notice,.header,.hero-main,.booking-title,.booking-help,.benefits,.rooms,.contacts,.site-footer,#roomDialog,#photoLightbox,#infoPopup) *{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
/* DG: Адаптация к небольшим настольным экранам. */
@media(max-width:1080px){
  .header{grid-template-columns:230px 1fr}.logo img{width:225px}.header nav{gap:24px}
  .hero{grid-template-columns:minmax(0,1fr) 340px}.hero-main{min-height:490px}.hero-copy{right:20%;left:34px}
  .benefits{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr 1fr}
}
/* DG: Планшеты: перестройка первого экрана и окна номера. */
@media(max-width:820px){
  .header{height:74px;padding:0 18px;grid-template-columns:210px 1fr}.logo img{width:205px}.header nav{display:none}.menu{display:block}
  .header nav.open{position:absolute;top:74px;right:14px;left:14px;padding:18px;display:flex;justify-content:center;border:1px solid var(--line);border-radius:0 0 18px 18px;background:var(--paper);box-shadow:var(--shadow)}
  .hero{padding:12px 18px;grid-template-columns:1fr}.hero-main{min-height:430px}.hero-copy{right:24px;bottom:30px;left:30px}
  .booking-panel{position:relative;top:auto}.room-grid{grid-template-columns:1fr 1fr}
  .room-card-meta{gap:0}.room-card-meta>span{font-size:12px}
  #roomDialog[open],#roomDialog[open][data-media-view="panorama"]{width:min(740px,calc(100% - 24px));height:auto;max-height:94dvh;overflow:auto;display:block}
  #roomDialog .media-tabs{padding-right:72px}
  #roomDialog[open] .photo-viewer,#roomDialog[open] .panorama-viewer{height:380px}
  #roomDialog .dialog-body{padding:28px 24px;display:grid;grid-template-columns:1fr;gap:24px}
  #roomDialog .dialog-main{padding-right:0}
  #roomDialog .dialog-body aside{margin-top:0;padding:22px 0 0;border-top:1px solid var(--line)}
}
/* DG: Телефоны: меню, сетки, размеры фото, подвал и окно номера. */
@media(max-width:560px){
  html{scroll-padding-top:76px}.notice{padding:9px 12px;align-items:flex-start;font-size:12px;line-height:1.4}.notice span{margin-top:1px;font-size:12px}
  .header{padding:0 13px;grid-template-columns:185px 1fr}.logo img{width:180px}.header nav.open{top:74px;flex-direction:column;gap:4px;align-items:center}
  .hero{padding:8px 12px 10px;gap:9px}.hero-main{min-height:330px;border-radius:22px}.hero-main>img{object-position:58% center}.hero-shade{background:linear-gradient(0deg,rgba(31,20,16,.34),rgba(31,20,16,0) 72%)}
  .hero-copy{right:18px;bottom:18px;left:18px}.hero-copy h1{font-size:16px}.hero-facts{margin-top:11px}.hero-facts span{padding:6px 8px;font-size:12px}
  .booking-panel{padding:19px;border-radius:20px}.booking-title span{font-size:13px}.booking-title h2{font-size:30px}.booking-title p{font-size:13px}.widget-box{min-height:270px}.booking-help{grid-template-columns:34px 1fr;padding:12px}.booking-help strong{font-size:12.5px}.booking-help p{font-size:12px}.booking-help a{font-size:12px}
  .benefits{padding:0 12px 14px;grid-template-columns:1fr;gap:6px}.benefits>div{min-height:66px;padding:8px 11px;grid-template-columns:34px 1fr;column-gap:10px;border-radius:16px}.benefit-icon{width:34px;height:34px;border-radius:10px}.benefit-icon svg{width:18px;height:18px}.benefits strong{font-size:13.5px}.benefits small{margin-top:2px;font-size:12px}
  .rooms{padding:38px 12px 48px}.section-heading span{font-size:39px}.section-heading h2{font-size:14.5px}.room-grid{grid-template-columns:1fr;gap:12px}.room-card{border-radius:20px}.room-card-copy{min-height:116px;padding:10px 10px 9px}.room-card-copy b{font-size:14.5px}.room-card-meta{margin-top:7px;padding-top:7px;display:grid;grid-template-columns:max-content max-content;justify-content:center;gap:5px 0}.room-card-meta>span{flex:none;flex-direction:row;font-size:12px}.room-card-meta>span:first-child{grid-column:1/-1}.room-card-meta>span:nth-child(2):before{display:none}.room-card-meta>span:nth-child(3):before{margin:0 8px;color:#d8a28f}.room-card-meta svg{width:15px;height:15px}
  .contacts{padding:34px 12px 40px}.contacts-heading h2{font-size:39px}.contact-grid{grid-template-columns:1fr;gap:8px}.contact-grid>a{min-height:76px}.contact-grid strong{font-size:12px;white-space:normal}
  .site-footer{padding:18px 12px 86px;grid-template-columns:1fr;justify-items:center;gap:10px;text-align:center}.counter-slot{grid-column:1;width:auto;justify-content:center}
  #roomDialog,#photoLightbox{width:100%;max-height:94vh;border-radius:20px 20px 0 0}.media-tabs{min-height:64px;padding:11px 66px 11px 12px}.media-tabs button{min-height:40px;padding:0 12px;font-size:12px}#roomDialog[open] .photo-viewer,#roomDialog[open] .panorama-viewer{height:300px}.media-arrow{width:40px;height:52px}.media-arrow.previous{left:9px}.media-arrow.next{right:9px}.photo-zoom{right:9px;bottom:9px}.photo-zoom span{display:none}.panorama-hint{top:10px;font-size:12px}.panorama-scenes{bottom:9px}.panorama-scenes button{min-height:36px}.gallery{padding:9px 10px 12px;grid-template-columns:repeat(5,minmax(68px,1fr));overflow-x:auto}.gallery img{height:62px}.dialog-body{padding:24px 16px;grid-template-columns:1fr}.dialog-main h2{font-size:26px}.room-meta{justify-content:center}.room-meta>span{flex-direction:column;text-align:center}.dialog-body aside{padding:22px 0 0;border-top:1px solid var(--line);border-left:0}
  .amenity-groups{grid-template-columns:1fr}.photo-lightbox{padding:12px;grid-template-columns:42px minmax(0,1fr) 42px}.lightbox-arrow{width:38px;height:54px}.lightbox-close{top:12px;right:12px}.photo-lightbox img{max-height:calc(100vh - 80px)}.info-popup{padding:10px}.info-popup-card{padding:28px 22px 24px;border-radius:10px}.info-popup-card h2{font-size:26px}.popup-content p{margin-bottom:17px;font-size:14px;line-height:1.5}.popup-content h3{margin:18px 0 15px;font-size:15px}
}
/* DG: Низкие настольные экраны: размеры окна номера. */
@media(min-width:821px) and (max-height:700px){
  #roomDialog[open]{height:calc(100dvh - 16px);grid-template-rows:56px minmax(0,1fr) 84px}
  #roomDialog[open][data-media-view="panorama"]{grid-template-rows:56px minmax(0,1fr) 0}
  #roomDialog .media-tabs{min-height:56px;padding-top:7px;padding-bottom:7px}
  #roomDialog .dialog-body{padding:20px 24px;gap:12px}
  #roomDialog .room-meta{margin:10px 0}
  #roomDialog .dialog-body aside{padding-top:12px}
  #roomDialog .dialog-body aside h3{margin-bottom:8px}
  #roomDialog .amenity-groups{gap:9px 12px}
  #roomDialog .amenity-group li{margin-bottom:3px;font-size:12px}
  #roomDialog .gallery{padding:7px 10px}
  #roomDialog .gallery img{height:66px}
}
