/* Отель «1880» — новый дизайн (этап 1, согласован 28.10.2026).
   Шапка и подвал — на всех страницах; главная и «Документы» — целиком.
   Собирается скриптом _сборка/build_wp.py из согласованного макета, руками не править. */

/* новые страницы: главная и «Документы» */
body.h1880-page{margin:0;background:#F7F5F2;color:#22201E;font-family:Montserrat,'Segoe UI',sans-serif}
.h1880-pg{width:100%;min-width:0;overflow:hidden;background:#F7F5F2;color:#22201E;font-family:Montserrat,'Segoe UI',sans-serif}

/* шапка, подвал и содержимое новых страниц защищены от общих правил старой темы */
.h1880 a{color:#22201E;text-decoration:none;transition:none}
.h1880 a:hover{color:#8A6C42}
.h1880 input,.h1880 select{font:inherit;color:inherit}
.h1880 button{text-transform:none;letter-spacing:normal;line-height:normal;box-shadow:none;min-height:0;margin:0}
.h1880 img{max-width:none}
.h1880 .m-only{display:none}
.hdr.h1880,.h1880-foot-wrap{font-family:Montserrat,'Segoe UI',sans-serif;color:#22201E;line-height:normal}
.hdr.h1880 nav,.hdr.h1880 nav a{font-family:inherit}
.h1880-foot-wrap .foot{line-height:normal}

/* отступ перед подвалом: на главной как в макете, на документах его даёт сама страница */
.h1880-foot-wrap{padding-top:60px}
body.h1880-page .h1880-foot-wrap{padding-top:117px}
body.h1880-docs-page .h1880-foot-wrap{padding-top:0}
@media (max-width:760px){body.h1880-page:not(.h1880-docs-page) .h1880-foot-wrap{padding-top:72px}}

/* старые страницы: место под закреплённую шапку */
/* (старые стили давали .page-content отступ под прежнюю шапку: 110 px до 990 px, 42 px до 640 px — заменяем одним) */
body.h1880-inner .page-content{margin-top:0 !important;padding-top:104px}
body.h1880-page .page-content{margin:0 !important;padding:0 !important}

/* у вошедших в админку сверху панель WordPress — шапка встаёт под неё */
body.admin-bar .hdr.h1880{top:32px !important}
@media (max-width:782px){body.admin-bar .hdr.h1880{top:46px !important}}

/* баннер cookie внизу экрана: первый экран главной становится ниже на его высоту, чтобы баннер не закрывал «Найти номер»
   (высоту в --h1880-cky пишет new/h1880.js; после ответа на баннер экран снова во всю высоту) */
body:has(.cky-consent-container:not(.cky-hide)) .h1880-pg .hero{height:calc(100vh - var(--h1880-cky, 0px)) !important;min-height:calc(680px - var(--h1880-cky, 0px)) !important}
@container pg (max-width: 760px){body:has(.cky-consent-container:not(.cky-hide)) .h1880-pg .hero{height:calc(100svh - var(--h1880-cky, 0px)) !important;min-height:calc(700px - var(--h1880-cky, 0px)) !important}}

/* язык */
.h1880-lang{display:flex;align-items:center;height:36px;padding:3px;box-sizing:border-box;background:#ECE6DD;border-radius:18px}
.h1880-lang a{height:30px;padding:0 12px;display:flex;align-items:center;border-radius:15px;color:#8C857E !important;font-size:11px;font-weight:600;letter-spacing:0.1em}
.h1880-lang a.is-on{background:#FFFFFF;box-shadow:0 1px 3px rgba(34,32,30,0.12);color:#22201E !important}

.h1880-lang.is-small{height:32px;padding:2px}
.h1880-lang.is-small a{height:28px;padding:0 7px;font-size:10.5px;border-radius:14px}
@container hd (max-width: 1100px){.hdr-grid{grid-template-columns:auto minmax(0,1fr) auto !important}}
@container hd (max-width: 400px){.hdr .logo-wrap{transform:translate(-50%,-50%) scale(0.5) !important}}

/* пока гость не ответил на баннер cookie, CookieYes ставит вместо виджета отзывов свою заглушку — оформляем её в стиле сайта */
.rv-widget [data-cky-tag="video-placeholder"]{width:100% !important;height:100% !important;box-sizing:border-box;padding:32px;display:flex !important;align-items:center;justify-content:center;background:#FFFFFF !important;background-image:none !important}
.rv-widget [data-cky-tag="placeholder-title"]{position:static !important;max-width:260px;margin:0 !important;padding:0 !important;border:0 !important;background:transparent !important;color:#5F5852 !important;font:400 14px/1.6 Montserrat,'Segoe UI',sans-serif !important;text-align:center;letter-spacing:normal;text-transform:none}
.rv-widget:has([data-cky-tag="video-placeholder"]){height:auto !important;min-height:170px}

/* меню на телефоне и планшете */
.hdr-menu{position:absolute;left:12px;right:12px;top:84px;z-index:2;pointer-events:auto;box-sizing:border-box;padding:6px 22px 22px;background:#F7F5F2;border-radius:28px;box-shadow:0 18px 40px rgba(24,22,20,0.16);max-height:calc(100vh - 100px);overflow:auto;font-family:Montserrat,'Segoe UI',sans-serif}
.hdr-menu[hidden]{display:none !important}
.hdr-menu nav{display:flex;flex-direction:column}
.hdr-menu nav a{display:block;padding:15px 2px;border-bottom:1px solid rgba(193,152,96,0.35);font-size:12px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:#22201E}
.hdr-menu-foot{margin-top:18px;display:flex;flex-wrap:wrap;gap:10px}
.hdr-menu-foot a{height:44px;padding:0 20px;display:inline-flex;align-items:center;box-sizing:border-box;border:1px solid #C19860;border-radius:22px;font-size:13px;font-weight:600;color:#22201E}
.h1880 .hdr-menu-foot a.hdr-menu-book{background:#C19860;color:#FFFFFF;font-size:11px;letter-spacing:0.14em;text-transform:uppercase}
.hdr-burger .hdr-ico-close{display:none}
.hdr-burger[aria-expanded="true"] .hdr-ico-open{display:none}
.hdr-burger[aria-expanded="true"] .hdr-ico-close{display:block}
@container hd (min-width: 1101px){.hdr-menu{display:none !important}}
@container hd (max-width: 760px){.hdr-menu{left:10px;right:10px;top:82px}}

/* форма бронирования: под видимым текстом — настоящие поля даты и гостей */
.bk-field{position:relative;cursor:pointer}
.bk-val{font-size:16px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk-native{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;z-index:2;-webkit-appearance:none;appearance:none;font-size:16px}
.bk-native::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;opacity:0;cursor:pointer}
.bk-field:focus-within{outline:2px solid rgba(193,152,96,0.55);outline-offset:4px;border-radius:12px}
/* «Забронировать» в шапке подсвечивает форму (new/h1880.js) */
.bk.is-flash{animation:bk-flash 1.6s ease-out}
@keyframes bk-flash{0%,100%{box-shadow:0 16px 36px rgba(34,32,30,0.14)}25%{box-shadow:0 0 0 8px rgba(193,152,96,0.45),0 16px 36px rgba(34,32,30,0.14)}}
@media (prefers-reduced-motion: reduce){.bk.is-flash{animation:none}}

.room:hover .room-alt{opacity:1 !important}
.rv-arrow{width:46px;height:46px;padding:0;border:1px solid #C19860;border-radius:50%;background:transparent;color:#6E5634;font:inherit;font-size:17px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rv-arrow:hover{background:#C19860;color:#FFFFFF}
@container hd (max-width: 1100px){
.hdr .d-only{display:none !important}
.hdr .m-only{display:flex !important}
.medal{display:none !important}
.hdr-bar{margin:12px 12px 0 !important;height:64px !important;padding:0 8px !important;border-radius:32px !important}
.hdr-grid{height:64px !important;grid-template-columns:88px minmax(0,1fr) 88px !important;gap:8px !important}
.logo-wrap{top:44px !important;transform:translate(-50%,-50%) scale(0.556) !important}
}
@container hd (max-width: 760px){
.hdr-bar{margin:10px 10px 0 !important}
.logo-wrap{top:42px !important}
}
@container pg (max-width: 1100px){
.sec,.ben,.foot{height:auto !important}
.sec{padding-bottom:0 !important}
.foot{padding-bottom:40px !important}
.wrap{padding-left:40px !important;padding-right:40px !important}
.hero-text{padding:0 40px !important}
.hero-h1{font-size:48px !important}
.bk-wrap{padding:0 24px !important}
.bk{padding:0 14px 0 28px !important}
.ben{grid-template-columns:repeat(3,minmax(0,1fr)) !important;row-gap:28px;padding:40px 40px 0 !important}
.ben-item{padding:0 20px !important}
.rooms-grid{column-gap:24px !important;row-gap:44px !important}
.two{gap:48px !important}
.park{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.foot-bottom{flex-direction:column !important;gap:8px !important}
.map-card{right:40px !important}
.rv2{grid-template-columns:340px minmax(0,1fr) !important;gap:48px !important}
.rv-text{font-size:26px !important}
.rvb-grid{grid-template-columns:340px minmax(0,1fr) !important}
}
@container pg (max-width: 760px){
.wrap{padding-left:20px !important;padding-right:20px !important}
.sec{padding-top:72px !important}
.hero{height:100svh !important;min-height:700px !important}
.hero-text{top:70px !important;bottom:350px !important;height:auto !important;padding:0 22px !important;justify-content:flex-end !important;gap:12px !important}
.hero-h1{font-size:30px !important;line-height:1.08 !important}
.hero-sub{font-size:14.5px !important}
.plaque{font-size:10px !important;letter-spacing:0.1em !important;padding:7px 12px !important;white-space:normal !important;border-radius:16px !important}
.dots{top:auto !important;bottom:300px !important}
.bk-wrap{padding:0 12px !important;bottom:16px !important}
.bk{flex-direction:column !important;align-items:stretch !important;height:auto !important;padding:6px 16px 16px !important;border-radius:28px !important;outline-offset:-6px !important}
.bk-field{padding:12px 4px !important;border-right:0 !important;border-bottom:1px solid rgba(193,152,96,0.35)}
.bk-field input{font-size:16px !important}
.bk-btn{height:54px !important;margin:14px 0 0 !important;padding:0 !important}
.ben{grid-template-columns:minmax(0,1fr) !important;margin:22px 12px 0 !important;padding:4px 20px !important;background:#ECE6DD;border-radius:24px;row-gap:0 !important}
.ben-item{padding:14px 0 !important;border-left:0 !important;border-top:1px solid rgba(193,152,96,0.45);gap:4px !important}
.ben-item:first-child{border-top:0}
.ben-item strong{font-size:18px !important}
.ben-item span{font-size:13px !important}
.ben-item span br{display:none}
.rv2{grid-template-columns:minmax(0,1fr) !important;gap:0 !important}
.rv-main{display:contents !important}
.rv-main>.h2{order:1}
.rv-rates{order:2;flex-wrap:wrap;gap:12px 22px !important;margin-top:16px !important}
.rv-sep{display:none}
.rv-photo{order:3;height:420px !important;margin-top:24px}
.rv-quote{order:4;flex:none !important;margin-top:24px !important;min-height:310px}
.rv-text{font-size:22px !important}
.rv-nav{order:5;flex-wrap:wrap;row-gap:16px !important;gap:16px !important;padding-top:18px !important}
.rv-thumbs{gap:8px !important}
.rv-thumb{width:46px !important;height:46px !important}
.rvb-head{flex-direction:column !important;align-items:flex-start !important;gap:16px !important}
.rvb-rates{flex-wrap:wrap;gap:12px 22px !important;padding-bottom:0 !important}
.rvb-grid{grid-template-columns:minmax(0,1fr) !important;margin-top:24px !important;gap:12px !important}
.rv-widget{height:520px !important}
.rvb-gallery{height:auto !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:none !important;grid-auto-rows:170px;gap:10px !important}
.rvb-foot{justify-content:flex-start !important}
.sec-head{flex-direction:column !important;align-items:flex-start !important;gap:14px !important}
.h2{font-size:34px !important}
.lead{font-size:15.5px !important}
.rooms-grid{display:flex !important;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 20px;gap:14px !important;margin:0 -20px;padding:0 20px 6px;scrollbar-width:none}
.room{flex:0 0 86%;scroll-snap-align:start}
.room-title{font-size:26px !important}
.room-head{flex-direction:column !important;align-items:flex-start !important;gap:12px !important}
.two{grid-template-columns:minmax(0,1fr) !important;gap:36px !important}
.arch{height:420px !important}
.floor-collage{order:-1}
.big-num{font-size:48px !important}
.park{grid-template-columns:minmax(0,1fr) !important;padding:32px 26px !important;border-radius:32px !important;gap:14px !important}
.park-title{font-size:28px !important}
.quote{font-size:30px !important}
.promo-grid{grid-template-columns:minmax(0,1fr) !important;gap:14px !important}
.promo{min-height:0 !important;padding:28px 26px !important}
.blog-grid{grid-template-columns:minmax(0,1fr) !important}
.post{padding:22px 0 !important;border-left:0 !important;border-top:1px solid rgba(193,152,96,0.45)}
.foot{border-radius:32px 32px 0 0 !important;padding:48px 0 32px !important}
.foot-grid{grid-template-columns:minmax(0,1fr) !important;gap:36px !important}
.floor-card{padding:34px 22px !important}
.floor-card-title{font-size:25px !important}
.loyal{flex-direction:column !important;align-items:flex-start !important;padding:24px !important;gap:16px !important}
.loyal-title{font-size:21px !important}
.map-box{height:auto !important;overflow:visible !important;background:transparent !important}
.map-box img,.map-box iframe{position:relative !important;height:380px !important}
.map-shield{bottom:auto !important;height:380px !important;padding:0 16px !important}
.map-pin{left:58% !important;top:200px !important}
.map-card{position:relative !important;right:auto !important;top:auto !important;transform:none !important;width:auto !important;margin:-48px 16px 0 !important}
}

@container pg (max-width: 1100px){
.doc-grid{grid-template-columns:minmax(0,1fr) !important;gap:36px !important}
}
@container pg (max-width: 760px){
.doc-h1{font-size:28px !important}
.doc-main{padding-top:104px !important}
}
.doc[hidden]{display:none !important}
.print-only{display:none}
@media print{@page{size:A4;margin:12mm 14mm}.print-only{display:block !important;width:100%;height:auto;margin:0 0 5mm}.doc-main>div:first-child{display:none !important}.doc[data-doc=requisites] h1{font-size:17pt !important;margin:0 0 3mm !important}.doc[data-doc=requisites]>div:last-child{margin-top:2mm !important;padding-top:0 !important;gap:0 !important;border-top:0 !important}.doc[data-doc=requisites] section{display:grid !important;grid-template-columns:52mm 1fr;gap:4mm !important;padding:2mm 0;border-bottom:0.3pt solid #cfc8bd}.doc[data-doc=requisites] section h2{font-family:Montserrat,Arial,sans-serif !important;font-size:9pt !important;line-height:1.35 !important;color:#5F5852 !important}.doc[data-doc=requisites] section p{font-size:9.5pt !important;line-height:1.4 !important;color:#22201E !important}}
@media print{.hdr,.h1880-foot-wrap,.cky-consent-container,.cky-btn-revisit-wrapper,jdiv,.doc-actions,.doc-side{display:none !important}.doc-grid{display:block !important}.doc-main{padding:0 !important}body{background:#fff}.h1880-pg{min-height:0 !important;background:#fff !important}.doc-grid{margin-top:16px !important}}

/* реквизиты: у каждой строки кнопка «скопировать» */
.req-val{display:flex;align-items:center;gap:8px}
.req-copy{flex:none;width:34px;height:34px;padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:transparent;color:#8A6C42;cursor:pointer;transition:background .2s ease,color .2s ease}
.req-copy:hover,.req-copy:focus-visible{background:#ECE6DD;color:#6E5634;outline:none}
.req-copy .ic-done{display:none}
.req-copy.is-done{color:#4C7A4C}
.req-copy.is-done .ic-copy{display:none}
.req-copy.is-done .ic-done{display:block}
.req-status{font-size:12.5px;color:#4C7A4C}
/* значок reCAPTCHA (защита форм от спама) не показываем — так было и на старом сайте */
.grecaptcha-badge{visibility:hidden !important}
@media print{
.grecaptcha-badge,.req-copy,.req-status,#jivo-iframe-container,jdiv{display:none !important}
.doc .doc-h1{font-size:17pt !important;margin:0 0 3mm !important}
.doc>div:last-child{margin-top:2mm !important;padding-top:0 !important;gap:3mm !important;border-top:0 !important}
.doc section{break-inside:avoid;gap:1mm !important}
.doc section h2{font-size:11pt !important;line-height:1.3 !important}
.doc section p{font-size:9.5pt !important;line-height:1.45 !important;color:#22201E !important}
.doc[data-doc=requisites] section{gap:4mm !important}
.doc[data-doc=requisites] section h2{font-size:9pt !important}
.doc[data-doc=privacy] section,.doc[data-doc=cookies] section,.doc[data-doc=contract] section{break-inside:auto}
.doc section h2{break-after:avoid}
}
/* «Пример договора»: абзац на каждый пункт, перечни, линии для заполнения, таблицы реквизитов и подписи */
.dg-text{display:flex;flex-direction:column;gap:6px}
.dg-text p{margin:0;font-size:14.5px;line-height:1.7;color:#4A4540}
.dg-li{position:relative;padding-left:22px}
.dg-li::before{content:"–";position:absolute;left:6px}
.dg-line{display:flex;align-items:baseline;gap:6px}
.dg-fill{flex:1 1 auto;min-width:48px;height:1.1em;border-bottom:1px solid rgba(138,108,66,.6)}
.dg-party{margin:6px 0 10px;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#6E5634}
.dg-cust{margin-top:22px}
.dg-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5;color:#4A4540}
.dg-table td{border:1px solid rgba(193,152,96,.45);padding:8px 12px;vertical-align:top}
.dg-table td:first-child{width:38%;color:#5F5852}
.dg-empty td{height:22px}
.dg-sign{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;margin-top:28px}
.dg-sign .dg-party{margin:0}
.dg-sign-line{display:flex;align-items:baseline;gap:6px;margin:30px 0 0;font-size:14px;color:#4A4540;white-space:nowrap}
@container pg (max-width: 700px){.dg-sign{grid-template-columns:1fr}.dg-table{font-size:13px}.dg-table td:first-child{width:44%}.dg-table td{padding:7px 8px}.dg-table td:last-child{overflow-wrap:anywhere}}
@media print{
.doc[data-doc=contract]{font-family:'Times New Roman',Times,serif !important;color:#000 !important}
.doc[data-doc=contract] .doc-h1{display:none !important}
.doc[data-doc=contract]>div:last-child{display:block !important;margin-top:0 !important;padding-top:0 !important;border-top:0 !important}
.doc[data-doc=contract] section{display:block !important;break-inside:auto !important}
.doc[data-doc=contract] section h2{margin:4.5mm 0 1.5mm !important;font-family:'Times New Roman',Times,serif !important;font-weight:700 !important;font-size:11pt !important;text-align:center;color:#000 !important}
.doc[data-doc=contract] section .dg-text{display:block}
.doc[data-doc=contract] section .dg-text p{font-size:10.5pt !important;line-height:1.4 !important;color:#000 !important;text-align:justify;text-indent:10mm;orphans:2;widows:2}
.doc[data-doc=contract] section .dg-text .dg-li{text-indent:0;padding-left:16mm}
.doc[data-doc=contract] .dg-li::before{left:11mm}
.doc[data-doc=contract] section .dg-text .dg-line{text-indent:0;margin-top:2.5mm}
.doc[data-doc=contract] section .dg-text .dg-cont{text-indent:0;margin-top:2.5mm}
.doc[data-doc=contract] .dg-fill{border-bottom:0.6pt solid #000}
.dg-head{margin:0 0 5mm !important}
.dg-title{margin:0;text-align:center;font-weight:700;font-size:13pt;text-transform:uppercase}
.dg-sub{margin:0 0 6mm;text-align:center;font-weight:700;font-size:11pt}
.dg-place{margin:0;display:flex;align-items:baseline;justify-content:space-between;font-size:10.5pt}
.dg-head .dg-fill{display:inline-block;vertical-align:baseline;height:1em;width:30mm}
.dg-head .dg-fill-xs{width:9mm}
.dg-head .dg-fill-m{width:36mm}
.doc[data-doc=contract] .dg-req-sec{break-before:page}
.doc[data-doc=contract] .dg-req-sec h2{margin-top:0 !important;margin-bottom:4mm !important}
.dg-party{margin:0 0 1.5mm;font-size:10.5pt;font-weight:700;letter-spacing:0;text-transform:none;color:#000}
.dg-cust{margin-top:5mm;break-inside:avoid}
.dg-table{font-size:10pt;line-height:1.3;color:#000}
.dg-table td{border:0.6pt solid #000;padding:1mm 2mm !important}
.dg-table td:first-child{width:33% !important;color:#000}
.dg-table tr{break-inside:avoid}
.dg-empty td{height:6.5mm}
.dg-sign{grid-template-columns:1fr 1fr !important;gap:10mm;margin-top:9mm}
.dg-sign-line{margin-top:11mm;font-size:10.5pt;color:#000}
}
/* при печати документов на лист идёт только сам документ на белом: без чата, баннеров, reCAPTCHA и фонов страницы */
@media print{
body.h1880-docs-page > *:not(#page-wrap),
body.h1880-docs-page #page-wrap > *:not(.page-content),
body.h1880-docs-page .page-content > *:not(.h1880-docs){display:none !important}
html,body.h1880-docs-page,body.h1880-docs-page #page-wrap,body.h1880-docs-page .page-content,body.h1880-docs-page .h1880-docs,body.h1880-docs-page .doc-main{background:#fff !important;min-height:0 !important;height:auto !important;box-shadow:none !important}
}
