/* =========================================================
   Беседки на крыше · Tilda Zero Block · GLOBAL CSS
   Breakpoints: 880 / 720 / 560 (синхрон с Zero Block)
   Архитектура: semantic rk-* + .tn-molecule bridge
   ========================================================= */

:root {
  --ink: #0c0b0a;
  --coal: #16130f;
  --coal2: #1d1a14;
  --ember: #e3a857;
  --ember-deep: #b07d3a;
  --bone: #f2ece3;
  --ash: #8d8678;
  --check: #6ecf8f;
  --line: rgba(242, 236, 227, .08);
  --line-strong: rgba(242, 236, 227, .18);
  --wrap: 1160px;
  --side: 24px;
}

/* ── Base ── */

html {
  scroll-behavior: auto !important;
  scroll-padding-top: 0;
  overflow-x: clip;
}

body,
#allrecords {
  background: var(--ink);
  color: var(--bone);
  font-family: 'Manrope', system-ui, -apple-system, sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
  overflow-y: visible;
  max-width: 100% !important;
}

#allrecords {
  overflow-x: clip !important;
  overflow-y: visible !important;
  height: auto !important;
  max-width: 100% !important;
}

.t-records,
.t-records > .t-rec {
  max-width: 100% !important;
  overflow-x: clip !important;
}

[class*="uc-rk-"] {
  max-width: 100% !important;
  overflow-x: clip !important;
}

[class*="uc-rk-"] .t396,
[class*="uc-rk-"] .t396__artboard {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (min-width: 881px) {
  [class*="uc-rk-"]:not(.uc-rk-nav) .t396,
  [class*="uc-rk-"]:not(.uc-rk-nav) .t396__artboard {
    width: 100% !important;
    min-width: 0 !important;
  }
}

html.restoplace-modal-open,
body.restoplace-modal-open {
  position: static !important;
  overflow: auto !important;
  height: auto !important;
  max-height: none !important;
}

.t396 [class*="rk-"],
.gallery-card {
  box-sizing: border-box;
}

/* Сброс Tilda absolute — только semantic-обёртки, не .tn-atom
   margin НЕ обнуляем: иначе перебивается margin:auto у .rk-wrap / .rk-nav-in */
.t396 [class*="rk-"]:not(.gallery-card) {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
}

/* ── Единая сетка 1160 + 24 (как .wrap в прототипе) ── */

.t396 .rk-wrap,
.t396 .rk-foot-in,
[class*="uc-rk-"]:not(.uc-rk-nav) .t396__artboard > .tn-group,
[class*="uc-rk-"]:not(.uc-rk-nav) .t396__artboard > .t396__group {
  margin-left: auto !important;
  margin-right: auto !important;
}

[class*="uc-rk-"]:not(.uc-rk-nav) .t396__artboard > .tn-group,
[class*="uc-rk-"]:not(.uc-rk-nav) .t396__artboard > .t396__group {
  width: 100% !important;
  max-width: var(--wrap) !important;
}

/* Вложенные оболочки — без повторного centering */
.t396 .rk-hero-in,
.t396 .rk-nav-in {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Tilda inline left/top на elem внутри flex-групп */
.t396 .rk-logo .t396__elem,
.t396 .rk-logo .tn-elem,
.t396 .rk-nav-link .t396__elem,
.t396 .rk-nav-phone .t396__elem,
.t396 .rk-nav-book .t396__elem,
.t396 .rk-section-head .t396__elem,
.t396 .rk-section-head .tn-elem {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
}

.t396 .rk-hero-in .t396__elem,
.t396 .rk-hero-in .tn-elem,
.t396 .rk-hero-facts .t396__elem,
.t396 .rk-hero-facts .tn-elem {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
}

/* Внешняя Hero-обёртка без rk-класса */
.uc-rk-hero .tn-group:has(.rk-hero-in) {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
}

/* Zero Block: inline left/top на elem без rk-класса — выталкивает страницу за экран */
[class*="uc-rk-"]:not(.uc-rk-hero):not(.uc-rk-nav) .rk-wrap .tn-elem,
[class*="uc-rk-"]:not(.uc-rk-hero):not(.uc-rk-nav) .rk-wrap .t396__elem {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  max-width: 100% !important;
}

/* Tilda fixed 221×145 на photo ломает ширину и пропорции */
.t396 .rk-price-card-photo,
.t396 .rk-price-card-photo.tn-elem,
.t396 .rk-price-card-photo.t396__elem {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

/* Tilda data-group-heightmode=fixed (381px) — после роста фото текст вылезает */
.t396 .rk-price-card,
.t396 .rk-price-card.t396__group,
.t396 .rk-price-card.tn-group {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

/* ── Shared wrap + section head ── */

.rk-wrap {
  position: relative !important;
  width: 100% !important;
  max-width: var(--wrap) !important;
  height: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--side) !important;
  padding-right: var(--side) !important;
}

/* Tilda flex-группы внутри wrap: по умолчанию center → ломает section-head */
.rk-wrap > .tn-molecule {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
}

.rk-wrap > .tn-molecule > .rk-section-head {
  align-self: flex-start !important;
  width: 100% !important;
  max-width: 640px !important;
  left: 0 !important;
  margin-left: 0 !important;
  transform: none !important;
}

.rk-wrap > .tn-molecule > .rk-schema-frame {
  align-self: center !important;
  width: 100% !important;
}

.rk-wrap > .tn-molecule > .rk-schema-caption {
  align-self: center !important;
}

.rk-eyebrow,
.rk-eyebrow .tn-atom,
.rk-hero-eyebrow,
.rk-hero-eyebrow .tn-atom {
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  text-transform: uppercase !important;
  letter-spacing: .28em !important;
  color: var(--ember) !important;
}

.rk-section-title,
.rk-section-title .tn-atom {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: clamp(28px, 4.2vw, 44px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -.01em !important;
  color: var(--bone) !important;
}

.rk-section-title em,
.rk-section-title .tn-atom em {
  font-style: italic !important;
  font-weight: 300 !important;
  color: var(--ember) !important;
}

.rk-section-description,
.rk-section-description .tn-atom {
  font-family: 'Manrope', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  color: var(--ash) !important;
}

.rk-section-head {
  display: block !important;
  width: 100% !important;
  max-width: 640px !important;
  height: auto !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.rk-section-head > .tn-molecule {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.rk-section-head > .tn-molecule > * {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
}

.rk-section-head .rk-eyebrow {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

.uc-rk-schema .rk-section-head,
.uc-rk-schema .rk-section-head > .tn-molecule {
  align-items: center !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  left: auto !important;
  transform: none !important;
}

.uc-rk-schema .rk-eyebrow,
.uc-rk-schema .rk-section-title,
.uc-rk-schema .rk-section-description,
.uc-rk-schema .rk-eyebrow .tn-atom,
.uc-rk-schema .rk-section-title .tn-atom,
.uc-rk-schema .rk-section-description .tn-atom {
  text-align: center !important;
}

.uc-rk-schema .rk-section-head > .tn-molecule > * {
  width: 100% !important;
  text-align: center !important;
}

.uc-rk-schema .rk-wrap > .tn-molecule {
  align-items: center !important;
}

.uc-rk-schema .rk-wrap > .tn-molecule > .rk-section-head {
  align-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  left: auto !important;
}

.uc-rk-nav {
  position: fixed !important;
  z-index: 60 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 70px !important;
  background: rgba(12, 11, 10, .92) !important;
  border-bottom: 1px solid var(--line) !important;
}

.uc-rk-nav .t396,
.uc-rk-nav .t396__artboard {
  height: 70px !important;
  min-height: 70px !important;
  max-height: 70px !important;
  background: transparent !important;
  overflow: visible !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  transform: none !important;
  will-change: auto !important;
}

/* Декоративные слои Tilda — занимают 71px и выталкивают меню за clip */
.uc-rk-nav .rk-nav-bg,
.uc-rk-nav .rk-nav-line,
.rk-nav-bg,
.rk-nav-line {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.uc-rk-nav .t396__artboard > .rk-nav,
.uc-rk-nav .t396__artboard > .tn-group.rk-nav {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: var(--wrap) !important;
  height: 70px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
}

.uc-rk-nav .rk-nav > .tn-molecule {
  width: 100% !important;
  max-width: 100% !important;
  height: 70px !important;
  padding: 0 !important;
}

.rk-nav-in {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 70px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 var(--side) !important;
}

.rk-nav-in > .tn-molecule {
  height: 70px !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 !important;
}

.rk-nav-in > .tn-molecule > * {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  align-self: center !important;
}

.rk-logo {
  display: block !important;
  flex: 0 0 auto !important;
  align-self: center !important;
}

.rk-logo > .tn-molecule {
  display: block !important;
  width: auto !important;
  height: auto !important;
}

.rk-logo,
.rk-logo .tn-atom {
  width: auto !important;
  height: auto !important;
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 21px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: .2px !important;
  color: var(--bone) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.rk-logo em,
.rk-logo .tn-atom em {
  font-style: italic !important;
  font-weight: 300 !important;
  color: var(--ember) !important;
}

.rk-nav-links {
  display: block !important;
  width: auto !important;
}

.rk-nav-links > .tn-molecule {
  width: auto !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 30px !important;
}

.rk-nav-links > .tn-molecule > * {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
}

.rk-nav-link > .tn-molecule,
.rk-nav-phone > .tn-molecule,
.rk-nav-book > .tn-molecule {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

.rk-nav-link .tn-atom,
.rk-nav-phone .tn-atom,
.rk-nav-book .tn-atom {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  height: auto !important;
}

.rk-nav-link,
.rk-nav-link .tn-atom {
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  color: var(--bone) !important;
  text-decoration: none !important;
  opacity: .82;
}

.rk-nav-link:hover,
.rk-nav-link:hover .tn-atom {
  color: var(--ember) !important;
  opacity: 1;
}

.rk-nav-phone,
.rk-nav-phone .tn-atom {
  font-family: 'Manrope', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: var(--bone) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  opacity: 1 !important;
}

/* Одна рамка у «Забронировать» */
.rk-nav-book,
.rk-nav-book * {
  box-shadow: none !important;
  outline: none !important;
}

.rk-nav-book:focus,
.rk-nav-book:focus-visible,
.rk-nav-book .tn-atom:focus {
  outline: none !important;
}

.rk-nav-book * {
  border: 0 !important;
  background: transparent !important;
}

.rk-nav-book {
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  border: 1px solid var(--ember) !important;
  border-radius: 2px !important;
  background: transparent !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

.rk-nav-book > .tn-molecule {
  padding: 8px 18px !important;
  min-height: 42px !important;
  box-sizing: border-box !important;
}

.rk-nav-book,
.rk-nav-book .tn-atom {
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: .02em !important;
  color: var(--ember) !important;
  text-decoration: none !important;
}

.rk-nav-book:hover > .tn-molecule {
  background: var(--ember) !important;
}

.rk-nav-book:hover,
.rk-nav-book:hover * {
  color: #1a1206 !important;
}

.uc-rk-mobile-nav {
  display: none !important;
}

/* ── HERO ── */

.uc-rk-hero {
  background: var(--ink);
  overflow-x: clip;
}

.uc-rk-hero .t396,
.uc-rk-hero .t396__artboard {
  position: relative !important;
  height: auto !important;
  min-height: max(100vh, 734px) !important;
  display: flex !important;
  align-items: center !important;
  overflow: visible !important;
}

.uc-rk-hero .t396__carrier,
.uc-rk-hero .t396__filter {
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
  min-height: 100% !important;
}

.uc-rk-hero .t396__carrier {
  background-size: cover !important;
  background-position: center !important;
  filter: saturate(.95);
}

.uc-rk-hero .t396__filter {
  background:
    radial-gradient(80% 60% at 75% 0%, rgba(227, 168, 87, .16), transparent 55%),
    linear-gradient(180deg, rgba(12, 11, 10, .55) 0%, rgba(12, 11, 10, .78) 50%, rgba(12, 11, 10, .96) 100%) !important;
}

.uc-rk-hero .tn-group {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
}

.rk-hero-in {
  display: block !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 70px var(--side) 56px !important;
  box-sizing: border-box !important;
}

.rk-hero-in > .tn-molecule {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
}

.rk-hero-in > .tn-molecule > * {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  flex-shrink: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
}

.rk-hero-eyebrow,
.rk-hero-eyebrow .tn-atom,
.rk-hero-title,
.rk-hero-title .tn-atom,
.rk-hero-lead,
.rk-hero-lead .tn-atom {
  text-align: center !important;
}

.rk-hero-title {
  width: 100% !important;
  max-width: 16ch !important;
  height: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.rk-hero-title,
.rk-hero-title .tn-atom {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: clamp(40px, 7vw, 80px) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;
  letter-spacing: -.01em !important;
  color: var(--bone) !important;
  white-space: normal !important;
}

.rk-hero-title em,
.rk-hero-title .tn-atom em {
  font-style: italic !important;
  font-weight: 400 !important;
  color: var(--ember) !important;
}

.rk-hero-eyebrow {
  margin-bottom: 24px !important;
}

.rk-hero-lead {
  width: 100% !important;
  max-width: 54ch !important;
  height: auto !important;
  margin-top: 28px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.rk-hero-lead,
.rk-hero-lead .tn-atom {
  font-family: 'Manrope', sans-serif !important;
  font-size: clamp(16px, 1.9vw, 19px) !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: #dcd5c8 !important;
  white-space: normal !important;
}

.rk-cta-row {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin-top: 38px !important;
}

.rk-cta-row > .tn-molecule {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
}

.rk-cta-row > .tn-molecule > * {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
  flex-shrink: 0 !important;
}

/* CTA: Tilda рисует фон на .tn-molecule группы, не на .tn-atom */
.rk-cta-row > .tn-molecule > .tn-group > .tn-molecule {
  padding: 16px 32px !important;
  border-radius: 2px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: auto !important;
  height: auto !important;
  min-height: 60px !important;
}

.rk-cta-row > .tn-molecule > .tn-group:first-child > .tn-molecule {
  background: var(--ember) !important;
  border: 1px solid var(--ember) !important;
}

.rk-cta-row > .tn-molecule > .tn-group:last-child > .tn-molecule {
  background: transparent !important;
  border: 1px solid var(--line-strong) !important;
}

.rk-cta-row > .tn-molecule > .tn-group .tn-atom {
  display: block !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.7 !important;
  letter-spacing: .01em !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  text-align: center !important;
}

.rk-cta-row > .tn-molecule > .tn-group:first-child .tn-atom {
  color: #1a1206 !important;
}

.rk-cta-row > .tn-molecule > .tn-group:last-child .tn-atom {
  color: var(--bone) !important;
}

.rk-hero-facts {
  display: block !important;
  width: 100% !important;
  max-width: 680px !important;
  height: auto !important;
  margin-top: 56px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: 30px !important;
  border-top: 1px solid var(--line) !important;
}

.rk-hero-facts > .tn-molecule {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 40px !important;
  width: 100% !important;
  height: auto !important;
  border: 0 !important;
}

.rk-hero-facts > .tn-molecule > * {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
}

.rk-hero-fact {
  display: block !important;
}

.rk-hero-fact > .tn-molecule {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.rk-hero-fact > .tn-molecule > * {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
}

.rk-hero-fact > .tn-molecule > *:first-child,
.rk-hero-fact > .tn-molecule > *:first-child .tn-atom {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: var(--bone) !important;
  white-space: normal !important;
}

.rk-hero-fact > .tn-molecule > *:last-child,
.rk-hero-fact > .tn-molecule > *:last-child .tn-atom {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: var(--ash) !important;
  white-space: normal !important;
}

/* ── Flow sections (schema / gallery / contacts / footer) ── */

.uc-rk-schema .t396,
.uc-rk-gallery .t396,
.uc-rk-pricing .t396,
.uc-rk-contacts .t396,
.uc-rk-footer .t396,
.uc-rk-schema .t396__artboard,
.uc-rk-gallery .t396__artboard,
.uc-rk-pricing .t396__artboard,
.uc-rk-contacts .t396__artboard,
.uc-rk-footer .t396__artboard {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.uc-rk-schema .t396__carrier,
.uc-rk-schema .t396__filter,
.uc-rk-gallery .t396__carrier,
.uc-rk-gallery .t396__filter,
.uc-rk-pricing .t396__carrier,
.uc-rk-pricing .t396__filter,
.uc-rk-contacts .t396__carrier,
.uc-rk-contacts .t396__filter,
.uc-rk-footer .t396__carrier,
.uc-rk-footer .t396__filter {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
}

.uc-rk-schema .rk-wrap,
.uc-rk-gallery .rk-wrap,
.uc-rk-pricing .rk-wrap,
.uc-rk-contacts .rk-wrap {
  position: relative !important;
  z-index: 2 !important;
}

.uc-rk-schema .t396__artboard,
.uc-rk-gallery .t396__artboard,
.uc-rk-pricing .t396__artboard,
.uc-rk-contacts .t396__artboard,
.uc-rk-footer .t396__artboard {
  position: relative !important;
}

/* ── SCHEMA ── */

.uc-rk-schema {
  background: var(--coal) !important;
  border-top: 1px solid var(--line) !important;
}

.uc-rk-schema .rk-wrap {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}

.uc-rk-schema .rk-section-head {
  margin-bottom: 28px !important;
}

.rk-schema-frame {
  width: 100% !important;
  max-width: 880px !important;
  height: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border: 1px solid var(--line) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: var(--coal2) !important;
}

.rk-schema-frame iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
}

.rk-schema-caption,
.rk-schema-caption .tn-atom {
  width: 100% !important;
  max-width: 560px !important;
  height: auto !important;
  margin-top: 14px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  font-size: 14px !important;
  color: var(--ash) !important;
}

/* ── GALLERY ── */

.uc-rk-gallery {
  background: var(--ink) !important;
  border-top: 1px solid var(--line) !important;
}

.uc-rk-gallery .rk-wrap {
  padding-top: 104px !important;
  padding-bottom: 104px !important;
}

.uc-rk-gallery .rk-section-head {
  margin-bottom: 54px !important;
}

.rk-gallery {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.rk-gallery > .tn-molecule {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
  height: auto !important;
}

.rk-gallery > .tn-molecule > .gallery-card {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  aspect-ratio: 4 / 3 !important;
  transform: none !important;
  overflow: hidden !important;
  border-radius: 5px !important;
  background: var(--coal2) !important;
  cursor: pointer;
  isolation: isolate !important;
}

.rk-gallery > .tn-molecule > .gallery-card > .tn-atom {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  background-size: cover !important;
  background-position: center !important;
  border-radius: inherit !important;
  transition: transform .5s ease !important;
  transform: none !important;
}

.rk-gallery > .tn-molecule > .gallery-card:hover > .tn-atom {
  transform: scale(1.06);
}

.rk-gallery > .tn-molecule > .gallery-card:hover {
  box-shadow:
    inset 0 0 0 1px var(--ember),
    0 0 28px rgba(227, 168, 87, .28);
}

/* ── PRICING ── */

.uc-rk-pricing {
  background: var(--coal) !important;
  border-top: 1px solid var(--line) !important;
}

.uc-rk-pricing .rk-wrap {
  padding-top: 104px !important;
  padding-bottom: 104px !important;
}

.uc-rk-pricing .rk-wrap > .tn-molecule {
  gap: 24px !important;
}

.uc-rk-pricing .rk-section-head {
  margin-bottom: 0 !important;
  max-width: 900px !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}

.uc-rk-pricing .rk-wrap > .tn-molecule > .rk-section-head {
  align-self: flex-start !important;
  max-width: 900px !important;
}

.uc-rk-pricing .rk-section-head > .tn-molecule {
  align-items: flex-start !important;
  text-align: left !important;
  width: 100% !important;
}

.uc-rk-pricing .rk-section-head .tn-atom,
.uc-rk-pricing .rk-section-head .t396__elem,
.uc-rk-pricing .rk-section-head .tn-elem,
.uc-rk-pricing .rk-pricing-details .tn-atom,
.uc-rk-pricing .rk-pricing-details .t396__elem,
.uc-rk-pricing .rk-pricing-details .tn-elem,
.uc-rk-pricing .rk-pricing-col .tn-atom,
.uc-rk-pricing .rk-pricing-col .t396__elem,
.uc-rk-pricing .rk-pricing-col .tn-elem {
  text-align: left !important;
}

.uc-rk-pricing .rk-section-head > .tn-molecule > *,
.uc-rk-pricing .rk-pricing-details,
.uc-rk-pricing .rk-pricing-col,
.uc-rk-pricing .rk-pricing-note-head,
.uc-rk-pricing .rk-pricing-note-list,
.uc-rk-pricing .rk-pricing-note-list--check,
.uc-rk-pricing .rk-pricing-note-list--dot,
.uc-rk-pricing .rk-pricing-note-list-item {
  align-self: flex-start !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  left: 0 !important;
  transform: none !important;
}

.uc-rk-pricing .rk-pricing-col:has(.rk-pricing-tariff) .rk-pricing-tariff {
  align-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
}

.uc-rk-pricing .rk-section-description,
.uc-rk-pricing .rk-section-description .tn-atom {
  max-width: 720px !important;
  white-space: normal !important;
  margin-bottom: 0 !important;
}

/* Две колонки · вариант 3 */
.rk-pricing-details {
  display: block !important;
  width: 100% !important;
  max-width: 900px !important;
  height: auto !important;
  margin-top: 18px !important;
  margin-bottom: 28px !important;
}

.rk-pricing-details > .tn-molecule {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px 40px !important;
  width: 100% !important;
  height: auto !important;
  align-items: start !important;
  justify-items: start !important;
}

.rk-pricing-details > .tn-molecule > * {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  transform: none !important;
}

.rk-pricing-col {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.rk-pricing-col > .tn-molecule {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  height: auto !important;
}

.rk-pricing-col:has(.rk-pricing-tariff) > .tn-molecule {
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
}

.uc-rk-pricing .rk-pricing-col:has(.rk-pricing-tariff) > .tn-molecule > .rk-pricing-note-head,
.uc-rk-pricing .rk-pricing-col:has(.rk-pricing-tariff) > .tn-molecule > .rk-pricing-note-head .tn-atom {
  margin-bottom: 4px !important;
}

.rk-pricing-tariffs {
  display: block !important;
  width: 100% !important;
}

.rk-pricing-tariffs > .tn-molecule {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
}

.rk-pricing-tariff {
  display: block !important;
  width: 100% !important;
  align-self: stretch !important;
  margin-bottom: 0 !important;
  padding: 16px 18px !important;
  height: auto !important;
  min-height: 0 !important;
  background: var(--coal2) !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 5px !important;
  box-sizing: border-box !important;
}

/* Два текстовых элемента в molecule — padding на обёртке, не на плашке */
.rk-pricing-tariff:has(> .tn-molecule) {
  padding: 0 !important;
}

.rk-pricing-tariff:last-of-type {
  margin-bottom: 0 !important;
}

.rk-pricing-tariff > .tn-molecule {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  padding: 16px 18px !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Два текстовых элемента в molecule */
.rk-pricing-tariff > .tn-molecule > *:first-child:not(:only-child),
.rk-pricing-tariff > .tn-molecule > *:first-child:not(:only-child) .tn-atom,
.uc-rk-pricing .rk-pricing-tariff > .tn-molecule > .t396__elem:first-child:not(:only-child) .tn-atom,
.uc-rk-pricing .rk-pricing-tariff > .tn-molecule > .tn-elem:first-child:not(:only-child) .tn-atom {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  color: var(--bone) !important;
  text-align: left !important;
}

.rk-pricing-tariff > .tn-molecule > *:last-child:not(:only-child),
.rk-pricing-tariff > .tn-molecule > *:last-child:not(:only-child) .tn-atom,
.uc-rk-pricing .rk-pricing-tariff > .tn-molecule > .t396__elem:last-child:not(:only-child) .tn-atom,
.uc-rk-pricing .rk-pricing-tariff > .tn-molecule > .tn-elem:last-child:not(:only-child) .tn-atom {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: var(--ash) !important;
  text-align: left !important;
}

/* Tilda: одна текстовка — строка 1</span>строка 2 */
.rk-pricing-tariff .tn-atom {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  --lh-px: unset !important;
  color: var(--ash) !important;
  text-align: left !important;
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
}

.rk-pricing-tariff .tn-atom > span:first-of-type {
  display: block !important;
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  color: var(--bone) !important;
  margin-bottom: 4px !important;
}

/* block-span уже переносит строку —  даёт пустую строку и лишний зазор */
.rk-pricing-tariff .tn-atom > span:first-of-type + br {
  display: none !important;
}

/* Полоска фактов (вариант 4 — оставляем для совместимости) */
.rk-pricing-facts {
  display: block !important;
  width: 100% !important;
  max-width: 720px !important;
  height: auto !important;
  margin-top: 28px !important;
  margin-bottom: 28px !important;
  padding-top: 24px !important;
  border-top: 1px solid var(--line) !important;
}

.rk-pricing-facts > .tn-molecule {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 28px 40px !important;
  width: 100% !important;
  height: auto !important;
}

.rk-pricing-facts > .tn-molecule > * {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
}

.rk-pricing-fact {
  display: block !important;
  flex: 1 1 160px !important;
  min-width: 140px !important;
}

.rk-pricing-fact > .tn-molecule {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.rk-pricing-fact > .tn-molecule > *:first-child,
.rk-pricing-fact > .tn-molecule > *:first-child .tn-atom {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 19px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  color: var(--bone) !important;
}

.rk-pricing-fact > .tn-molecule > *:last-child,
.rk-pricing-fact > .tn-molecule > *:last-child .tn-atom {
  font-family: 'Manrope', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: var(--ash) !important;
}

/* Заголовок и список · левая колонка */
.rk-pricing-note-head,
.rk-pricing-note-head .tn-atom {
  width: 100% !important;
  max-width: 720px !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  color: var(--bone) !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
  text-align: left !important;
}

.rk-pricing-note-list,
.rk-pricing-note-list--check,
.rk-pricing-note-list--dot {
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
}

.rk-pricing-note-list > .tn-molecule,
.rk-pricing-note-list--check > .tn-molecule,
.rk-pricing-note-list--dot > .tn-molecule {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rk-pricing-note-list-item,
.rk-pricing-note-list-item .tn-atom {
  position: relative !important;
  width: 100% !important;
  max-width: 720px !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: var(--ash) !important;
  margin: 0 !important;
  text-align: left !important;
}

.rk-pricing-note-list-item:has(.tn-atom) {
  padding: 0 !important;
}

.rk-pricing-note-list-item:not(:has(.tn-atom)) {
  padding: 0 0 0 1.35em !important;
}

.rk-pricing-note-list-item .tn-atom {
  display: block !important;
  padding: 0 0 0 1.35em !important;
}

/* Tilda: маркер только на .tn-atom; обёртка без ::before */
.rk-pricing-note-list-item:has(.tn-atom)::before {
  content: none !important;
  display: none !important;
}

.rk-pricing-note-list-item .tn-atom::before {
  position: absolute !important;
  left: 0 !important;
  font-weight: 600 !important;
}

/* ✔ через SVG — iOS/Safari игнорирует color у символа ✔ в ::before */
.uc-rk-pricing .rk-pricing-note-list--check .rk-pricing-note-list-item .tn-atom::before,
.rk-pricing-note-list--check .rk-pricing-note-list-item .tn-atom::before {
  content: "" !important;
  display: block !important;
  width: 0.72em !important;
  height: 0.72em !important;
  top: calc((1.65em - 0.72em) / 2) !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%236ecf8f' d='M10.2 2.8 4.6 8.4 1.8 5.6 0.7 6.7 4.6 10.6 11.3 3.9z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.rk-pricing-note-list--dot .rk-pricing-note-list-item .tn-atom::before {
  content: "•" !important;
  color: var(--ash) !important;
  font-weight: 400 !important;
  top: 0 !important;
}

/* Прототип / элемент без .tn-atom */
.uc-rk-pricing .rk-pricing-note-list--check .rk-pricing-note-list-item:not(:has(.tn-atom))::before,
.rk-pricing-note-list--check .rk-pricing-note-list-item:not(:has(.tn-atom))::before {
  content: "" !important;
  display: block !important;
  width: 0.72em !important;
  height: 0.72em !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%236ecf8f' d='M10.2 2.8 4.6 8.4 1.8 5.6 0.7 6.7 4.6 10.6 11.3 3.9z'/%3E%3C/svg%3E") center / contain no-repeat !important;
  position: absolute !important;
  left: 0 !important;
  top: calc((1.65em - 0.72em) / 2) !important;
}

.rk-pricing-note-list--dot .rk-pricing-note-list-item:not(:has(.tn-atom))::before {
  content: "•" !important;
  color: var(--ash) !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  font-weight: 400 !important;
}

.rk-pricing-col > .tn-molecule > .rk-pricing-note-list:last-child,
.rk-pricing-col > .tn-molecule > .rk-pricing-note-list--check:last-child,
.rk-pricing-col > .tn-molecule > .rk-pricing-note-list--dot:last-child {
  margin-bottom: 0 !important;
}

/* Tilda иногда ставит только --check без базового rk-pricing-note-list */
.rk-pricing-col > .tn-molecule > .rk-pricing-note-list--check:not(:last-child) {
  margin-bottom: 22px !important;
}

/* legacy · вариант 4 (полоска фактов) */
.rk-pricing-note,
.rk-pricing-note .tn-atom {
  width: 100% !important;
  max-width: 720px !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
  color: var(--ash) !important;
  white-space: pre-line !important;
}

.rk-pricing-note {
  margin-bottom: 20px !important;
}

.rk-pricing-note:last-child {
  margin-bottom: 0 !important;
}

.rk-pricing-note strong,
.rk-pricing-note .tn-atom strong {
  display: block !important;
  color: var(--bone) !important;
  font-weight: 600 !important;
  margin: 0 0 4px !important;
}

/* rk-pricing-grid — сетка карточек пакетов (rk-gallery — legacy alias) */
.uc-rk-pricing .rk-pricing-grid,
.uc-rk-pricing .rk-gallery {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.uc-rk-pricing .rk-pricing-grid > .tn-molecule,
.uc-rk-pricing .rk-gallery > .tn-molecule {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: auto auto 1fr auto !important;
  gap: 16px !important;
  width: 100% !important;
  height: auto !important;
  align-items: stretch !important;
}

.uc-rk-pricing .rk-pricing-grid > .tn-molecule > .rk-price-card,
.uc-rk-pricing .rk-gallery > .tn-molecule > .rk-price-card {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  grid-row: 1 / -1 !important;
  align-self: stretch !important;
  aspect-ratio: auto !important;
  transform: none !important;
  overflow: visible !important;
  cursor: default !important;
  display: grid !important;
  grid-template-rows: subgrid !important;
  background: transparent !important;
  border: none !important;
  padding: 2px 0 0 !important;
  box-shadow: none !important;
}

/* hover отключён — без анимации и смены обводки */
.rk-price-card:hover > .tn-molecule {
  border-color: var(--line-strong) !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Плашка + subgrid: photo inset, price-bar внизу */
.rk-price-card > .tn-molecule {
  grid-row: 1 / -1 !important;
  display: grid !important;
  grid-template-rows: subgrid !important;
  align-items: start !important;
  align-content: start !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  gap: 0 !important;
  background: var(--coal2) !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 8px !important;
  padding: 14px !important;
  box-sizing: border-box !important;
  transition: none !important;
}

.rk-price-card-photo {
  position: relative !important;
  grid-row: 1 !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 0 14px !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  border-radius: 6px !important;
  background: var(--ink) !important;
  flex: 0 0 auto !important;
}

.rk-price-card-photo .tn-atom {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rk-price-card-photo .tn-atom__img,
.rk-price-card-photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

.uc-rk-pricing .rk-price-card-title .tn-atom,
.t396 .uc-rk-pricing .rk-price-card-title .tn-atom {
  grid-row: 2 !important;
  align-self: start !important;
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 21px !important;
  font-weight: 400 !important;
  line-height: 1.22 !important;
  color: var(--bone) !important;
  text-transform: none !important;
  text-align: left !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
}

.uc-rk-pricing .rk-price-card-list .tn-atom,
.t396 .uc-rk-pricing .rk-price-card-list .tn-atom {
  grid-row: 3 !important;
  align-self: start !important;
  width: 100% !important;
  min-height: 0 !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.62 !important;
  color: var(--ash) !important;
  white-space: pre-line !important;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
}

.uc-rk-pricing .rk-price-card-price .tn-atom,
.t396 .uc-rk-pricing .rk-price-card-price .tn-atom {
  grid-row: 4 !important;
  align-self: end !important;
  width: 100% !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--ember) !important;
  text-align: left !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

.rk-price-card-title,
.rk-price-card-title .tn-atom {
  grid-row: 2 !important;
  align-self: start !important;
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 21px !important;
  font-weight: 400 !important;
  line-height: 1.22 !important;
  color: var(--bone) !important;
  text-transform: none !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
}

.rk-price-card-list,
.rk-price-card-list .tn-atom {
  grid-row: 3 !important;
  align-self: start !important;
  width: 100% !important;
  min-height: 0 !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.62 !important;
  color: var(--ash) !important;
  white-space: pre-line !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rk-price-card-price,
.rk-price-card-price .tn-atom {
  grid-row: 4 !important;
  align-self: end !important;
  width: 100% !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  color: var(--ember) !important;
  margin: 16px 0 0 !important;
  padding: 0 !important;
  text-align: left !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

/* Fallback без subgrid: фикс. высота зоны title (2 строки) */
@supports not (grid-template-rows: subgrid) {
  .rk-price-card-title,
  .rk-price-card-title .tn-atom {
    min-height: 3.6em !important;
  }

  .rk-price-card > .tn-molecule {
    display: flex !important;
    flex-direction: column !important;
    grid-template-rows: none !important;
  }

  .rk-price-card-list,
  .rk-price-card-list .tn-atom {
    flex: 1 1 auto !important;
  }

  .rk-price-card-price,
  .rk-price-card-price .tn-atom {
    margin-top: auto !important;
  }
}

/* ── CONTACTS ── */

.uc-rk-contacts {
  background: var(--coal) !important;
  border-top: 1px solid var(--line) !important;
}

.uc-rk-contacts .rk-wrap {
  padding-top: 104px !important;
  padding-bottom: 104px !important;
}

.uc-rk-contacts .rk-section-head {
  margin-bottom: 36px !important;
}

.uc-rk-contacts .rk-wrap > .tn-molecule {
  align-items: stretch !important;
  width: 100% !important;
  gap: 0 !important;
}

.uc-rk-contacts .rk-section-head,
.uc-rk-contacts .rk-contacts-grid {
  width: 100% !important;
  max-width: 100% !important;
  top: 0 !important;
  left: 0 !important;
  align-self: stretch !important;
}

.uc-rk-contacts .rk-wrap > .tn-molecule > .rk-section-head {
  align-self: stretch !important;
  max-width: 640px !important;
}

.rk-contacts-info,
.rk-contacts-right {
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
}

.rk-contacts-right {
  width: 100% !important;
  max-width: 475px !important;
}

.rk-contacts-grid {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin-top: 0 !important;
}

.rk-contacts-grid > .tn-molecule {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 475px) !important;
  column-gap: 56px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
}

.rk-contacts-grid > .tn-molecule > * {
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.rk-contacts-info {
  display: block !important;
  width: 100% !important;
}

.rk-contacts-info > .tn-molecule {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 24px !important;
}

.rk-contacts-info .t396__elem,
.rk-contacts-info .tn-elem,
.rk-contacts-info .tn-group,
.rk-contact-item,
.rk-contact-list > .tn-molecule > *,
.rk-contact-book {
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
}

.rk-contact-list {
  display: block !important;
  width: 100% !important;
}

.rk-contact-list > .tn-molecule {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

.rk-contact-item {
  display: block !important;
}

.rk-contact-item > .tn-molecule {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.rk-contact-label,
.rk-contact-label .tn-atom {
  font-family: 'Manrope', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .18em !important;
  color: var(--ash) !important;
}

.rk-contact-value,
.rk-contact-value .tn-atom {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--bone) !important;
  text-decoration: none !important;
}

.rk-contact-value a,
.rk-contact-value .tn-atom a {
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--line-strong);
}

.rk-contact-value a:hover,
.rk-contact-value .tn-atom a:hover {
  color: var(--ember) !important;
  border-color: var(--ember) !important;
}

.rk-contact-book {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.rk-contact-book > .tn-molecule {
  padding: 16px 32px !important;
  min-height: 60px !important;
  box-sizing: border-box !important;
  background: var(--ember) !important;
  border: 1px solid var(--ember) !important;
  border-radius: 2px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.rk-contact-book .tn-atom,
.rk-contact-book .t396__elem {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-family: 'Manrope', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  color: #1a1206 !important;
  text-decoration: none !important;
}

.rk-contacts-right {
  display: block !important;
}

.rk-contacts-right > .tn-molecule {
  width: 100% !important;
  max-width: 475px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

.rk-contacts-right .t396__elem,
.rk-contacts-right .tn-elem,
.rk-contacts-photo,
.rk-map-frame {
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
}

.rk-contacts-photo,
.rk-map-frame {
  display: block !important;
  position: relative !important;
  flex: 0 0 auto !important;
  width: 475px !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 265px !important;
  aspect-ratio: 475 / 265 !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}

.rk-contacts-photo > .tn-molecule,
.rk-map-frame > .tn-molecule {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.rk-contacts-photo .t396__elem,
.rk-contacts-photo .tn-elem,
.rk-map-frame .t396__elem,
.rk-map-frame .tn-elem {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.rk-contacts-photo .tn-atom {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.rk-map-frame .tn-atom,
.rk-map-frame .tn-atom__html {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.uc-rk-contacts .rk-map-frame .tn-elem,
.uc-rk-contacts .rk-map-frame .t396__elem,
.uc-rk-contacts .rk-map-frame .tn-atom,
.uc-rk-contacts .rk-map-frame .tn-atom__html {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  transform: none !important;
}

.rk-map-frame .tn-atom > *,
.rk-map-frame iframe {
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  border: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
  filter: grayscale(.5) contrast(.95);
}

.rk-contacts-photo {
  border: 1px solid var(--line) !important;
}

/* ── FOOTER ── */

.uc-rk-footer {
  background: var(--ink) !important;
  border-top: 1px solid var(--line) !important;
}

.rk-foot-in {
  display: block !important;
  width: 100% !important;
  max-width: var(--wrap) !important;
  height: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 40px var(--side) !important;
}

.rk-foot-in > .tn-molecule {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
}

.rk-foot-in > .tn-molecule > *,
.rk-foot-location,
.rk-foot-location .tn-atom {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
  color: var(--ash) !important;
  font-size: 13px !important;
}

/* ── Restoplace ── */

#restoplace-wrapper-btn {
  display: none !important;
}

/* =========================================================
   RESPONSIVE · 880 / 720 / 560
   ========================================================= */

@media (max-width: 880px) {
  .rk-gallery > .tn-molecule {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .uc-rk-pricing .rk-pricing-grid > .tn-molecule,
  .uc-rk-pricing .rk-gallery > .tn-molecule {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto 1fr auto auto auto 1fr auto !important;
  }

  .rk-pricing-details > .tn-molecule {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
  }

  .rk-pricing-facts > .tn-molecule {
    gap: 20px 24px !important;
  }

  .rk-contacts-grid > .tn-molecule {
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 36px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .rk-contacts-grid > .tn-molecule > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .rk-contacts-right > .tn-molecule {
    width: 100% !important;
    max-width: 100% !important;
  }

  .rk-contacts-photo,
  .rk-map-frame {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 475 / 265 !important;
  }
}

@media (max-width: 980px) and (orientation: landscape) {
  .uc-rk-contacts .rk-wrap {
    padding-top: 48px !important;
  }

  .uc-rk-contacts .rk-section-head {
    margin-bottom: 16px !important;
  }

  .uc-rk-contacts .rk-contacts-grid,
  .uc-rk-contacts .rk-contacts-grid > .tn-molecule > * {
    top: auto !important;
    left: auto !important;
    margin-top: 0 !important;
  }

  .rk-hero-in > .tn-molecule,
  .uc-rk-schema .rk-section-head > .tn-molecule {
    align-items: center !important;
    text-align: center !important;
  }
}

@media (max-width: 980px) {
  /* Шапка: лого слева (desktop nav) + burger справа (ME403N) */
  .uc-rk-nav {
    display: block !important;
    pointer-events: none !important;
  }

  .uc-rk-nav .rk-logo,
  .uc-rk-nav .rk-logo .tn-atom,
  .uc-rk-nav .rk-logo a {
    pointer-events: auto !important;
  }

  .uc-rk-nav .rk-nav-link,
  .uc-rk-nav .rk-nav-phone,
  .uc-rk-nav .rk-nav-book {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .uc-rk-nav .rk-nav-in > .tn-molecule {
    justify-content: flex-start !important;
  }

  .uc-rk-mobile-nav {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    z-index: 70 !important;
    background: transparent !important;
    pointer-events: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .uc-rk-mobile-nav .t3112__menu__content {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 100% !important;
    height: 70px !important;
    max-width: var(--wrap) !important;
    margin: 0 auto !important;
    padding: 0 var(--side) !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
    transform: none !important;
    z-index: 71 !important;
  }

  .uc-rk-mobile-nav .t3112__burger_container {
    pointer-events: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    flex-shrink: 0 !important;
  }

  .uc-rk-mobile-nav .t-menuburger {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    margin: 0 !important;
    transform: none !important;
  }

  .uc-rk-mobile-nav .t3112__burger_bg {
    display: none !important;
  }

  /* Burger panel: клики проходят (родитель с pointer-events: none) */
  .uc-rk-mobile-nav .t3112.t-menu-popover__burgermenu,
  .uc-rk-mobile-nav .t3112__overlay,
  .uc-rk-mobile-nav .t3112__close-button {
    pointer-events: auto !important;
  }

  /* Пункты крупнее; кнопка сразу под списком, не внизу экрана */
  .uc-rk-mobile-nav .t-menu__link-item {
    font-size: 20px !important;
    line-height: 1.35 !important;
    padding: 12px 0 !important;
  }

  .uc-rk-mobile-nav .t-menu-popover__container {
    justify-content: flex-start !important;
    min-height: auto !important;
    height: auto !important;
    padding: 64px 24px 32px !important;
    box-sizing: border-box !important;
  }

  .uc-rk-mobile-nav .t-menu-popover__burgermenu__list-wrapper {
    flex: 0 0 auto !important;
    height: auto !important;
  }

  .uc-rk-mobile-nav .t-menu-base__list {
    flex: 0 0 auto !important;
  }

  .uc-rk-mobile-nav .t3112__additional {
    flex: 0 0 auto !important;
    margin-top: 28px !important;
    width: 100% !important;
  }

  .uc-rk-mobile-nav .t-menu-base__buttons {
    margin: 0 !important;
    width: 100% !important;
  }

  .uc-rk-mobile-nav .t-menu-base__button,
  .uc-rk-mobile-nav .t-menu-base__button .t-btnflex {
    width: 100% !important;
  }
}

@media (max-width: 720px) {
  body,
  #allrecords {
    font-size: 16px;
  }

  .uc-rk-hero .t396__artboard {
    min-height: 92vh !important;
  }

  /* Hero · мобильное центрирование (desktop не трогаем) */
  .rk-hero-in {
    padding-top: 88px !important;
    padding-bottom: 48px !important;
  }

  .rk-hero-in > .tn-molecule {
    align-items: center !important;
    text-align: center !important;
  }

  .rk-hero-in > .tn-molecule > *,
  .rk-hero-in .t396__elem,
  .rk-hero-in .tn-elem,
  .rk-hero-eyebrow,
  .rk-hero-title,
  .rk-hero-lead,
  .rk-cta-row,
  .rk-hero-facts,
  .rk-hero-fact {
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .rk-hero-facts {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .rk-hero-facts > .tn-molecule {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 24px !important;
    width: 100% !important;
  }

  .rk-hero-facts > .tn-molecule > *,
  .rk-hero-fact,
  .rk-hero-fact .t396__elem,
  .rk-hero-fact .tn-elem,
  .rk-hero-fact > .tn-molecule,
  .rk-hero-fact > .tn-molecule > * {
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    transform: none !important;
  }

  .rk-hero-fact > .tn-molecule {
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
  }

  .rk-hero-fact > .tn-molecule > *:first-child,
  .rk-hero-fact > .tn-molecule > *:first-child .tn-atom,
  .rk-hero-fact > .tn-molecule > *:last-child,
  .rk-hero-fact > .tn-molecule > *:last-child .tn-atom {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  .rk-hero-eyebrow,
  .rk-hero-title,
  .rk-hero-lead,
  .rk-hero-eyebrow .tn-atom,
  .rk-hero-title .tn-atom,
  .rk-hero-lead .tn-atom {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  .rk-hero-title {
    max-width: 100% !important;
  }

  .rk-hero-lead {
    max-width: 34ch !important;
  }

  .rk-cta-row > .tn-molecule {
    justify-content: center !important;
    align-items: center !important;
  }

  .uc-rk-gallery .rk-wrap,
  .uc-rk-pricing .rk-wrap,
  .uc-rk-contacts .rk-wrap {
    padding-top: 48px !important;
    padding-bottom: 72px !important;
  }

  .uc-rk-pricing .rk-section-description,
  .uc-rk-pricing .rk-section-description .tn-atom {
    font-size: 15px !important;
  }

  .rk-price-card > .tn-molecule {
    padding: 12px !important;
  }

  .rk-price-card-photo {
    margin-bottom: 12px !important;
    border-radius: 5px !important;
  }

  .rk-price-card-price,
  .rk-price-card-price .tn-atom {
    font-size: 15px !important;
    margin-top: 10px !important;
  }

  .rk-price-card-title,
  .rk-price-card-title .tn-atom {
    font-size: 19px !important;
  }

  .uc-rk-contacts .rk-section-head {
    margin-bottom: 16px !important;
  }

  .uc-rk-contacts .rk-contacts-grid,
  .uc-rk-contacts .rk-contacts-grid > .tn-molecule,
  .uc-rk-contacts .rk-contacts-grid > .tn-molecule > *,
  .uc-rk-contacts .rk-contacts-info {
    top: auto !important;
    left: auto !important;
    margin-top: 0 !important;
    transform: none !important;
  }

  .uc-rk-contacts .rk-contacts-info {
    margin-top: 0 !important;
  }

  .rk-contacts-info > .tn-molecule {
    gap: 22px !important;
  }

  /* Контакты · мобильная типографика и ширина текста */
  .uc-rk-contacts .rk-wrap {
    padding-left: 20px !important;
    padding-right: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
  }

  .uc-rk-contacts .rk-contacts-grid,
  .uc-rk-contacts .rk-contacts-grid > .tn-molecule {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .uc-rk-contacts .rk-contacts-grid > .tn-molecule > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .uc-rk-contacts .rk-section-title,
  .uc-rk-contacts .rk-section-title .tn-atom {
    font-size: clamp(24px, 6.8vw, 30px) !important;
    line-height: 1.12 !important;
    max-width: 100% !important;
  }

  .uc-rk-contacts .rk-contacts-info,
  .uc-rk-contacts .rk-contacts-info > .tn-molecule,
  .uc-rk-contacts .rk-contact-list,
  .uc-rk-contacts .rk-contact-list > .tn-molecule,
  .uc-rk-contacts .rk-contact-item,
  .uc-rk-contacts .rk-contact-value,
  .uc-rk-contacts .rk-contact-value .tn-atom {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .uc-rk-contacts .rk-contact-value .tn-atom {
    display: block !important;
  }

  .uc-rk-contacts .rk-contact-value,
  .uc-rk-contacts .rk-contact-value .tn-atom {
    font-size: clamp(16px, 4.2vw, 19px) !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    hyphens: auto !important;
  }

  .uc-rk-contacts .rk-contact-label,
  .uc-rk-contacts .rk-contact-label .tn-atom {
    font-size: 11px !important;
    letter-spacing: 0.14em !important;
  }

  /* Фото и карта — ровно по ширине текстового столбца */
  .uc-rk-contacts .rk-contacts-right,
  .uc-rk-contacts .rk-contacts-right > .tn-molecule {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .uc-rk-contacts .rk-contacts-photo,
  .uc-rk-contacts .rk-map-frame,
  .uc-rk-contacts .rk-contacts-photo.t396__elem,
  .uc-rk-contacts .rk-map-frame.t396__elem {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    height: auto !important;
    aspect-ratio: 475 / 265 !important;
    box-sizing: border-box !important;
  }

  .rk-schema-frame {
    height: 620px !important;
  }

  .rk-gallery > .tn-molecule > .gallery-card:hover > .tn-atom {
    transform: none !important;
  }
}

@media (min-width: 981px) {
  .uc-rk-nav {
    display: block !important;
  }

  .uc-rk-mobile-nav {
    display: none !important;
  }
}

@media (max-width: 560px) {
  .rk-gallery > .tn-molecule {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .uc-rk-pricing .rk-pricing-grid > .tn-molecule,
  .uc-rk-pricing .rk-gallery > .tn-molecule {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
  }

  .uc-rk-pricing .rk-pricing-grid > .tn-molecule > .rk-price-card,
  .uc-rk-pricing .rk-gallery > .tn-molecule > .rk-price-card {
    grid-row: auto !important;
    display: block !important;
    grid-template-rows: none !important;
  }

  .rk-price-card > .tn-molecule {
    display: flex !important;
    flex-direction: column !important;
    grid-row: auto !important;
    grid-template-rows: none !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .rk-price-card-price,
  .rk-price-card-price .tn-atom {
    margin-top: 10px !important;
  }

  .rk-pricing-facts > .tn-molecule {
    flex-direction: column !important;
    gap: 20px !important;
  }

  .rk-pricing-fact {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .uc-rk-contacts .rk-wrap {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .uc-rk-contacts .rk-contact-value,
  .uc-rk-contacts .rk-contact-value .tn-atom {
    font-size: 16px !important;
    line-height: 1.48 !important;
  }

  .uc-rk-contacts .rk-section-title,
  .uc-rk-contacts .rk-section-title .tn-atom {
    font-size: 24px !important;
  }

  .uc-rk-contacts .rk-contacts-right > .tn-molecule {
    gap: 16px !important;
  }

  .rk-schema-frame {
    height: 560px !important;
  }

  .rk-contacts-right > .tn-molecule {
    width: 100% !important;
  }

  .rk-cta-row > .tn-molecule {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .rk-cta-row > .tn-molecule > .tn-group,
  .rk-cta-row > .tn-molecule > .tn-group > .tn-molecule {
    width: 100% !important;
  }

  .rk-hero-title {
    max-width: 100% !important;
  }

  .rk-hero-lead {
    max-width: 100% !important;
  }

  .rk-hero-facts > .tn-molecule {
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
  }

  .rk-hero-fact > .tn-molecule {
    align-items: center !important;
    text-align: center !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .rk-gallery > .tn-molecule > .gallery-card > .tn-atom {
    transition: none !important;
  }
}
