/* Auto-generated from preview-conversion.html — do not edit by hand.
 * Rebuild: node scripts/build-tilda-pack.mjs
 * Cache-bust hint: 1793229385077
 */
/* T2 Halvar Breit — self-host на ca-va (без стороннего DNS/TLS к dev.rtk.promo) */
@font-face {
  font-family: "T2 Halvar Breit";
  src: url("https://ca-va.promo/site-assets/fonts/HalvarBreit-Bd.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Бегущая строка (не <p> — в cava.css у p max-width:64ch ломал ленту) */
:root {
  --ticker-h: 2.5rem;
}
.cava-ticker {
  position: fixed;
  left: 0;
  width: 100%;
  max-width: 100%;
  right: auto;
  box-sizing: border-box;
  z-index: 20020;
  height: var(--ticker-h, 2.5rem);
  background: #050505;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: #c8c8cc;
  overflow: hidden;
  pointer-events: none;
  /* iOS: широкая лента внутри fixed иначе раздувает scrollWidth страницы */
  contain: paint;
}
.cava-ticker__viewport {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  overflow: hidden;
  contain: paint;
  mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
}
.cava-ticker__track {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: flex;
  flex-wrap: nowrap;
  flex-shrink: 0;
  align-items: center;
  width: max-content;
  max-width: none;
  box-sizing: border-box;
  /* Движение — rAF в cava.js (CSS animation на Android с «анимация выкл» не крутится) */
  will-change: transform;
  transform: translate3d(0, 0, 0);
}
.cava-ticker__seq {
  display: inline-block;
  flex: 0 0 auto;
  margin: 0;
  padding: 0 0.35em;
  max-width: none;
  width: max-content;
  white-space: nowrap;
  overflow: visible;
  font-family: "T2 Halvar Breit", system-ui, sans-serif;
  font-size: clamp(0.86rem, 1.5vw, 1.08rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
  color: inherit;
  text-transform: uppercase;
}

/* Пока грузится hero-video — тёмный фон (без poster-портрета) */
.hero .hero-bg {
  background: #0a0a0a;
}

/* Hero-panel: бренд+адрес слева | маршрут + 2 CTA справа; trust-grid снизу */
.hero .hero-content.hero-panel {
  position: relative;
  inset: auto;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  text-align: left;
  width: min(100% - 1.5rem, 920px);
  max-width: min(100% - 1.5rem, 920px);
  height: auto;
  margin-inline: auto;
  margin-block: 0;
  padding: 1.4rem 1.4rem 1.5rem;
  background: rgba(0,0,0,0.45);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  backdrop-filter: blur(6px);
  z-index: 2;
  overflow: hidden;
}
/* Диагональная плашка акции — L′ compensated reverse (все экраны) */
.hero-offer-ribbon {
  --pole-red: #c8102e;
  --pole-navy: #1a2a4a;
  --pole-base: #e8f0f4;
  --period: 2.4rem;
  --stripe: 0.48rem;
  --gap: 0.72rem;
  position: absolute;
  top: 0;
  right: 0;
  width: 8rem;
  height: 8rem;
  overflow: hidden;
  border-top-right-radius: 10px;
  pointer-events: none;
  z-index: 4;
}
/* Canvas вне rotate — анимированные полосы; band с CSS-fallback, чтобы лента не пропадала */
.hero-offer-ribbon__spin {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
}
.hero-offer-ribbon__band {
  position: absolute;
  top: 0.95rem;
  right: -6.1rem;
  width: 18.5rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.08rem;
  /* Одинаковый padding сверху/снизу = равные отступы у «Кэшбэк» и «На первую стрижку» */
  padding: 0.4rem 0.5rem;
  overflow: hidden;
  isolation: isolate;
  background-color: var(--pole-base);
  background-image: repeating-linear-gradient(
    -45deg,
    var(--pole-red) 0 var(--stripe),
    var(--pole-base) var(--stripe) calc(var(--stripe) + var(--gap)),
    var(--pole-navy) calc(var(--stripe) + var(--gap)) calc(2 * var(--stripe) + var(--gap)),
    var(--pole-base) calc(2 * var(--stripe) + var(--gap)) var(--period)
  );
  color: #121212;
  text-align: center;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.22;
  text-transform: uppercase;
  -webkit-transform: rotate(45deg) translate(0.35rem, 0.2rem);
  transform: rotate(45deg) translate(0.35rem, 0.2rem);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.35) inset, 0 4px 14px rgba(0, 0, 0, 0.28);
  z-index: 1;
  pointer-events: none;
}
/* Когда canvas жив — прячем статичный CSS-фон ленты, остаются полосы с canvas */
.hero-offer-ribbon.is-spinning .hero-offer-ribbon__band {
  background-color: transparent;
  background-image: none;
}
.hero-offer-ribbon__line {
  position: relative;
  z-index: 1;
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: 0.12rem 0.35rem;
  white-space: nowrap;
  color: #121212;
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
  line-height: 1.15;
}
@media (max-width: 767px) {
  .hero .hero-content.hero-panel .hero-title-block {
    padding-right: 5.25rem;
  }
  .hero-kicker-beauty {
    display: none;
  }
}
.hero-route-mobile {
  display: none;
}
/* Моб: карточка по центру; запись скрыта; маршрут под trust-grid */
@media (max-width: 767px) {
  :root .hero {
    min-height: calc(100svh - var(--header-h, 72px) - var(--ticker-h, 2.35rem));
    padding-top: 0.5rem;
    padding-bottom: calc(4.85rem + env(safe-area-inset-bottom, 0px));
    display: grid;
    align-items: center;
    justify-items: center;
    box-sizing: border-box;
  }
  :root .hero .hero-content.hero-panel {
    width: auto;
    max-width: none;
    margin-inline: 0.75rem;
    margin-block: 0;
    justify-self: stretch;
  }
  :root .hero .hero-cta-col {
    display: none;
  }
  :root .hero .hero-route-mobile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 0.85rem;
    min-height: 2.75rem;
    box-sizing: border-box;
  }
}
.hero-main-row {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  flex-wrap: wrap;
}
.hero-title-block {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.1rem;
  min-width: 0;
}
/* ПК: meta и кнопки в одной нижней строке */
@media (min-width: 801px) {
  .hero .hero-content.hero-panel .hero-main-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-items: end;
    column-gap: 1.5rem;
    row-gap: 1.1rem;
    flex-wrap: nowrap;
  }
  .hero .hero-content.hero-panel .hero-title-block {
    display: contents;
  }
  .hero .hero-content.hero-panel .hero-title-top {
    grid-column: 1;
    grid-row: 1;
  }
  .hero .hero-content.hero-panel .hero-title-block .hero-meta {
    grid-column: 1;
    grid-row: 2;
    margin-top: 0;
    align-self: center;
  }
  .hero .hero-content.hero-panel .hero-cta-col {
    grid-column: 2;
    grid-row: 2;
    margin-left: 0;
    justify-content: center;
    align-self: center;
    width: max-content;
  }
}
.hero-title-top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
/* Как на боевой странице (cava.css): kicker над h1, meta — pill под заголовком */
.hero-title-block .hero-kicker {
  margin: 0 0 0.85rem;
  color: var(--text-muted, #8e8e93);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.72rem;
  font-weight: 500;
}
.hero-title-block h1 {
  position: relative;
  margin: 0 0 0.45rem;
  line-height: 0.95;
}
.hero-title-block .hero-title-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.hero-title-block .hero-title-img {
  display: block;
  position: relative;
  z-index: 2;
  width: min(100%, 240px);
  max-width: 100%;
  height: auto;
  margin: 0;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.45));
}
@media (min-width: 960px) {
  .hero-title-block .hero-title-img { width: min(100%, 270px); }
}
@media (max-width: 767px) {
  .hero-title-block .hero-title-img { width: min(100%, 210px); }
}
.hero-title-block .hero-meta {
  display: inline-block;
  margin: 0;
  margin-top: auto;
  padding: 0.4rem 0.8rem;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-main, #f5f5f7);
  border: 1px solid var(--line, #2a2a2a);
  background: rgba(0, 0, 0, 0.5);
  border-radius: var(--radius-sm, 6px);
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
  white-space: nowrap;
}
.hero-cta-col {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
  gap: 0.65rem;
  width: max-content;
  max-width: 100%;
  margin-left: auto;
}
.hero-cta-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 10px;
  margin: 0;
  width: 100%;
}
.hero-cta-row .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  min-width: 0;
  min-height: 2.75rem;
  height: 2.75rem;
  padding: 0 1.1rem;
  margin: 0;
  box-sizing: border-box;
  white-space: nowrap;
  line-height: 1;
  font-size: 0.9rem;
  vertical-align: middle;
}
/* ПК: маршрут — чёрная, запись — белая */
.hero-cta-row .btn-route {
  background: #111 !important;
  border-color: #111 !important;
  color: #fff !important;
  text-shadow: none !important;
}
.hero-cta-row .btn-route:hover {
  background: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
}
.hero-cta-row .btn.js-booking-open {
  background: #fff !important;
  border-color: #fff !important;
  color: #111 !important;
  text-shadow: none !important;
}
.hero-cta-row .btn.js-booking-open:hover {
  background: #f2f2f2 !important;
  border-color: #f2f2f2 !important;
  color: #111 !important;
}
.hero .btn-route.hero-route-mobile {
  background: #fff !important;
  border-color: #fff !important;
  color: #111 !important;
  text-shadow: none !important;
}
.hero .btn-route.hero-route-mobile:hover {
  background: #f2f2f2 !important;
  border-color: #f2f2f2 !important;
  color: #111 !important;
}
.hero .trust-grid {
  list-style: none; margin: 1.15rem 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
}
.hero .trust-grid li {
  background: rgba(255,255,255,0.04); border: 1px solid #2a2a2a;
  border-radius: 8px; padding: 12px 14px;
  display: flex; flex-direction: column; gap: 4px;
}
.hero .trust-grid strong { color: #fff; font-size: 0.88rem; }
.hero .trust-grid > li > span { color: #636366; font-size: 0.75rem; }
.hero .trust-hours-label,
.hero .trust-hours-gap {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.hero .trust-hours-br { display: none; }
.hero .trust-hours-gap { display: inline; }
.hero .trust-hours-label { display: inline; }
@media (max-width: 800px) {
  .hero .trust-hours-br,
  .hero .trust-hours-gap,
  .hero .trust-hours-label { display: none; }
}

.contacts-cta-row, .faq-cta, .sticky-cta-row {
  display: flex; flex-wrap: wrap; gap: 10px; margin-top: 0.75rem;
  justify-content: center;
}
.contacts-info .contacts-cta-row { justify-content: flex-start; }
/* Моб: пары CTA (запись + ask) в одну строку */
@media (max-width: 767px) {
  .contacts-cta-row,
  .faq-cta,
  .prop-gram__actions {
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 8px;
    width: 100%;
  }
  .contacts-cta-row .btn,
  .faq-cta .btn,
  .prop-gram__actions .btn {
    flex: 1 1 0;
    min-width: 0;
    padding-inline: 0.65rem;
    font-size: 0.88rem;
    white-space: nowrap;
    text-align: center;
  }
}
.btn-wa {
  background: #25D366 !important;
  border-color: #25D366 !important;
  color: #fff !important;
  text-shadow: none !important;
}
.price-note { color: #a0a0a5; font-size: 0.9rem; margin: -0.5rem 0 1.25rem; }
.price-lead {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2em;
  line-height: 1.55;
}
.price-lead__line { display: block; }
@media (min-width: 960px) {
  .price-lead__line { white-space: nowrap; }
  .price-note { white-space: nowrap; }
}
/* «Комплексы» — как «Мужские стрижки», с большим отступом сверху */
.services .service-group h3.service-subgroup {
  margin-top: 2.85rem;
  margin-bottom: 0.85rem;
}
/* Прайс «Стрижки»: две колонки; строки равномерно заполняют высоту карточки */
.price-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 1.25rem;
  align-items: stretch;
}
.price-cols__col {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.price-cols .table-wrap {
  flex: 1 1 auto;
  height: 100%;
  border-radius: var(--radius, 8px);
  background: var(--bg-elev, #0a0a0a);
  overflow: hidden;
}
/* price-col-table — и в двух колонках стрижек, и в «Комплексах» / прочих прайсах */
.price-col-table,
.services .table-wrap > table {
  width: 100%;
  min-width: 0 !important;
  table-layout: fixed;
  border-collapse: collapse;
}
.price-cols .price-col-table {
  height: 100%;
}
/* Отступ от рамки table-wrap: у одиночных прайсов (Комплексы и т.п.)
   padding ячейки при text-align:right визуально «съедается» — паддим контейнер */
.services .service-group > .table-wrap {
  padding-right: 1rem;
  box-sizing: border-box;
}
.price-col-table th,
.price-col-table td,
.services .table-wrap > table th,
.services .table-wrap > table td {
  padding: 0.75rem 0.85rem;
  vertical-align: middle;
}
.price-col-table th:nth-child(1),
.price-col-table td:nth-child(1),
.services .table-wrap > table th:nth-child(1),
.services .table-wrap > table td:nth-child(1) {
  width: 52%;
  text-align: left;
}
.price-col-table th:nth-child(2),
.price-col-table td:nth-child(2),
.services .table-wrap > table th:nth-child(2),
.services .table-wrap > table td:nth-child(2) {
  width: 22%;
  text-align: center;
  color: var(--text-muted, #a0a0a5);
  font-weight: 400;
  white-space: nowrap;
}
.price-col-table th:nth-child(3),
.price-col-table td:nth-child(3),
.services .table-wrap > table th:nth-child(3),
.services .table-wrap > table td:nth-child(3) {
  width: 26%;
  text-align: right;
  white-space: nowrap;
  padding-right: 1.25rem !important;
}
/* ПК: Услуга | Время | Цена | Запись */
.price-col-table--book th:nth-child(1),
.price-col-table--book td:nth-child(1) {
  width: 38%;
}
.price-col-table--book th:nth-child(2),
.price-col-table--book td:nth-child(2) {
  width: 14%;
}
.price-col-table--book th:nth-child(3),
.price-col-table--book td:nth-child(3) {
  width: 22%;
  padding-right: 0.75rem !important;
}
.price-col-table--book th:nth-child(4),
.price-col-table--book td:nth-child(4) {
  width: 26%;
  text-align: right;
  vertical-align: middle;
  white-space: nowrap;
  padding-right: 0.35rem !important;
  padding-left: 0.5rem !important;
}
.price-col-table--book .price-book-head {
  color: var(--text-muted, #8e8e93);
  font-weight: 500;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.price-col-table--book .price-book-head .visually-hidden {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: nowrap;
}
.price-book-btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  border: 1px solid #fff;
  background: #000;
  color: #fff;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1;
  padding: 0.55rem 0.9rem;
  border-radius: 6px;
  cursor: pointer;
  white-space: nowrap;
}
.price-book-btn:hover {
  background: #111;
}
/* Прайс: рамка «Запись» из ассета */
#prices .price-book-btn {
  border: 0;
  border-radius: 0;
  background-color: transparent;
  background-image: url("https://ca-va.promo/site-assets/assets/prices-book-frame.webp?v=20261028q");
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  min-width: 5.6rem;
  min-height: 2.35rem;
  padding: 0.62rem 1.15rem;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
  transition: filter 0.2s ease, transform 0.2s ease;
}
#prices .price-book-btn:hover {
  background-color: transparent;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45)) brightness(1.06);
  transform: translateY(-1px);
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
/* 1% → браузер делит оставшуюся высоту таблицы поровну между строками */
.price-cols .price-col-table tbody tr {
  height: 1%;
}
.price-col-table tbody tr:last-child td,
.services .table-wrap > table tbody tr:last-child td {
  border-bottom: none;
}
@media (max-width: 820px) {
  .price-cols {
    grid-template-columns: 1fr;
  }
  .price-cols .price-col-table,
  .price-cols .table-wrap,
  .services .table-wrap {
    height: auto;
    min-width: 0;
    overflow-x: hidden;
  }
  .price-cols .table-wrap,
  .services .service-group > .table-wrap {
    padding-right: 0.65rem;
    box-sizing: border-box;
  }
  .price-cols .table-wrap:has(.price-col-table--book),
  .services .service-group > .table-wrap:has(.price-col-table--book) {
    padding-right: 0.32rem;
  }
  .price-col-table th:nth-child(1),
  .price-col-table td:nth-child(1),
  .services .table-wrap > table th:nth-child(1),
  .services .table-wrap > table td:nth-child(1) {
    width: 42%;
  }
  .price-col-table th:nth-child(2),
  .price-col-table td:nth-child(2),
  .services .table-wrap > table th:nth-child(2),
  .services .table-wrap > table td:nth-child(2) {
    width: 20%;
    text-align: center !important;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
  }
  .price-col-table th:nth-child(3),
  .price-col-table td:nth-child(3),
  .services .table-wrap > table th:nth-child(3),
  .services .table-wrap > table td:nth-child(3) {
    width: 38%;
    padding-left: 0.35rem !important;
    padding-right: 0.65rem !important;
    font-size: 0.95em;
  }
  .price-cols .price-col-table tbody tr {
    height: auto;
  }
  /* Моб: Услуга | Время/Цена столбиком | Запись */
  .price-col-table--book,
  .price-col-table--book thead,
  .price-col-table--book tbody {
    display: block;
    width: 100%;
  }
  .price-col-table--book thead tr,
  .price-col-table--book tbody tr {
    display: grid;
    /* 3-я колонка фиксирована = ширина кнопки «Запись», иначе thead/tbody
       расходятся: узкий «ЗАПИСЬ» сдвигает «ВРЕМЯ/ЦЕНА» вправо относительно цен */
    grid-template-columns: minmax(0, 1fr) 5.5rem 4.25rem;
    align-items: center;
    justify-items: stretch;
    column-gap: 0.35rem;
    padding: 0.85rem 0.18rem 0.85rem 0.85rem;
    border-bottom: 1px solid var(--line, #222);
  }
  .price-col-table--book thead tr {
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
  }
  .price-col-table--book tbody tr:last-child {
    border-bottom: none;
  }
  .price-col-table--book th,
  .price-col-table--book td {
    border: none !important;
    padding: 0 !important;
    width: auto !important;
    min-width: 0;
  }
  .price-col-table--book thead th {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.68rem;
    font-weight: 500;
    color: var(--text-muted, #8e8e93);
  }
  .price-col-table--book th:nth-child(1),
  .price-col-table--book td:nth-child(1) {
    grid-column: 1;
    grid-row: 1 / span 2;
    text-align: left !important;
    align-self: center;
    font-size: 0.98rem;
    line-height: 1.25;
    white-space: normal;
  }
  .price-col-table--book thead th:nth-child(2),
  .price-col-table--book thead th:nth-child(3),
  .price-col-table--book tbody td:nth-child(2),
  .price-col-table--book tbody td:nth-child(3) {
    grid-column: 2 !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
    text-align: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .price-col-table--book thead th:nth-child(2) {
    grid-row: 1;
    align-self: end;
    letter-spacing: 0.02em;
    margin-right: -0.02em; /* компенсация letter-spacing при центрировании */
    padding-bottom: 0.05rem !important;
  }
  .price-col-table--book thead th:nth-child(3) {
    grid-row: 2;
    align-self: start;
    letter-spacing: 0.02em;
    margin-right: -0.02em;
    padding-top: 0.05rem !important;
  }
  .price-col-table--book thead th:nth-child(4),
  .price-col-table--book td:nth-child(4) {
    display: flex !important;
    grid-column: 3 !important;
    grid-row: 1 / span 2;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .price-col-table--book tbody td:nth-child(2) {
    grid-row: 1;
    align-self: end;
    color: var(--text-muted, #a0a0a5);
    font-weight: 400;
    font-size: 0.85rem;
    white-space: nowrap;
  }
  .price-col-table--book tbody td:nth-child(3) {
    grid-row: 2;
    align-self: start;
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 0.98rem;
    white-space: nowrap;
  }
  .price-book-btn {
    border-width: 1.5px;
    border-radius: 8px;
    padding: 0.5rem 0.35rem;
    font-size: 0.82rem;
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
  #prices .price-book-btn {
    border: 0;
    border-radius: 0;
    min-height: 2.55rem;
    padding: 0.5rem 0.7rem;
    font-size: 0.78rem;
    letter-spacing: 0;
  }
  .price-book-cell {
    justify-self: stretch;
    width: 100%;
  }
  .price-col-table--book thead th.price-book-head {
    justify-content: center;
    text-align: center !important;
    font-size: 0.62rem;
    letter-spacing: 0.02em;
    margin-right: -0.02em;
  }
}
.faq-list { display: grid; gap: 8px; margin: 1rem 0 1.5rem; }
.faq-item {
  border: 1px solid #222; border-radius: 8px; background: rgba(255,255,255,0.02);
  padding: 0 14px;
}
.faq-item summary {
  cursor: pointer; color: #fff; font-weight: 600; padding: 14px 0;
  list-style: none;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; float: right; color: #636366; }
.faq-item[open] summary::after { content: "–"; }
.faq-item p { margin: 0 0 14px; color: #a0a0a5; line-height: 1.55; }
@media (max-width: 800px) {
  /* Правая колонка шире — «Мытьё головы и укладка» в одну строку */
  .hero .trust-grid {
    grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.24fr);
    gap: 8px;
  }
  .hero .trust-grid li {
    padding: 10px 11px;
    min-width: 0;
  }
  .hero .trust-grid strong {
    font-size: 0.82rem;
    white-space: nowrap;
  }
  .hero-main-row { flex-direction: column; align-items: stretch; }
  .hero-cta-col { width: 100%; margin-left: 0; }
  .hero-title-block .hero-meta {
    white-space: nowrap;
    font-size: 0.64rem;
    letter-spacing: 0.05em;
    padding: 0.35rem 0.65rem;
  }
  .hero-title-block .hero-kicker { letter-spacing: 0.1em; }
}
@media (max-width: 480px) {
  .hero .trust-grid {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.28fr);
    gap: 7px;
  }
  .hero .trust-grid li { padding: 9px 9px; }
  .hero .trust-grid strong { font-size: 0.78rem; }
  .hero-cta-row { width: 100%; }
  .hero-cta-row .btn { flex: 1; }
  .sticky-cta-row .btn { flex: 1; text-align: center; font-size: 14px; padding-inline: 10px; }
}

/* Lenis smooth scroll (как barberkuzma.ru) */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }

/* Скрыть вертикальный скроллбар страницы (скролл колёсиком/тачем остаётся) */
html {
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/legacy Edge */
}
html::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none; /* Chrome/Safari/Edge */
}
body {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
body::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

/*
 * Header: в cava.css для Tilda стоит position:sticky внутри короткого .cava-site,
 * поэтому шапка уезжает со страницы. В превью — fixed + hide/show по направлению скролла.
 */
/* Parent .cava-site имеет isolation:isolate — поднимаем весь слой шапки */
:root .cava-site:has(> .site-header) {
  isolation: auto !important;
  position: relative;
  z-index: 20000;
  min-height: calc(var(--header-h, 72px) + var(--ticker-h, 2.35rem));
}
:root .cava-site .site-header,
:root .site-header {
  position: fixed !important;
  top: var(--preview-banner-h, 0px) !important;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 20010 !important;
  transform: translate3d(0, 0, 0);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  will-change: transform;
}
:root .cava-site .site-header.is-hidden,
:root .site-header.is-hidden {
  transform: translate3d(0, calc(-100% - 4px), 0);
  pointer-events: none;
}
:root .site-header.is-scrolled {
  box-shadow: 0 8px 24px rgba(0,0,0,0.35);
}
/* Шапка сверху, тикер всегда под ней (ПК и моб); при скрытии шапки — тикер к верху */
:root .cava-ticker {
  top: calc(var(--preview-banner-h, 0px) + var(--header-h, 72px));
  transition: top 0.35s ease;
}
:root.header-is-hidden .cava-ticker {
  top: var(--preview-banner-h, 0px);
}
@media (max-width: 767px) {
  :root {
    --ticker-h: 2.35rem;
  }
}
:root .site-nav a {
  font-size: 16px;
  color: var(--text-muted, #8e8e93);
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.85);
}
:root .site-nav a:hover,
:root .site-nav a:focus {
  color: var(--text-heading, #fff);
  opacity: 1;
}
/* Intro photo: обрезаем сверху/снизу, меньше высоты при скролле */
:root .intro-photo-frame {
  overflow: hidden;
  max-height: min(320px, 42vw);
}
:root .intro-photo-frame .intro-photo,
:root .intro-photo {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 220px;
  max-height: min(320px, 42vw);
  object-fit: cover;
  object-position: center center;
}
@media (max-width: 768px) {
  :root .intro-photo-frame {
    max-height: 220px;
  }
  :root .intro-photo-frame .intro-photo,
  :root .intro-photo {
    min-height: 180px;
    max-height: 220px;
  }
}
/* Team grid: drag-scroll ЛКМ */
:root .team-grid {
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}
:root .team-grid.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}
:root .team-grid.is-dragging .team-card {
  pointer-events: none;
}
:root .cava-site .mobile-sticky-cta,
:root .mobile-sticky-cta {
  z-index: 15000 !important;
}
/* Sticky CTA: видео-фон (разметка в кнопке + play в cava.js) */
:root .mobile-sticky-cta .btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
:root .mobile-sticky-cta .btn.has-video-bg {
  background: #0a0a0a !important;
  background-image: none !important;
  border-color: rgba(255, 255, 255, 0.45);
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.85);
}
:root .mobile-sticky-cta__video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center;
  z-index: 0;
  pointer-events: none;
}
:root .mobile-sticky-cta__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.52);
  border-radius: inherit;
}
:root .mobile-sticky-cta__label {
  position: relative;
  z-index: 2;
}
:root :root {
  scroll-padding-top: calc(var(--preview-banner-h, 0px) + var(--header-h, 72px) + var(--ticker-h, 2.35rem) + 8px);
}
:root body {
  padding-top: 0;
}
:root .btn-ask {
  background: transparent !important;
  border: 1px solid #fff !important;
  color: #fff !important;
  text-shadow: none !important;
}
:root .btn-light {
  background: #fff !important;
  border: 1px solid #fff !important;
  color: #111 !important;
  text-shadow: none !important;
}
:root .btn-light:hover {
  background: #f2f2f2 !important;
  border-color: #f2f2f2 !important;
  color: #111 !important;
}

/* Боковая панель онлайн-записи (боковая панель онлайн-записи) */
.cava-booking-root {
  position: fixed;
  inset: 0;
  z-index: 30000;
  pointer-events: none;
  visibility: hidden;
  overflow: hidden;
}
.cava-booking-root.is-open {
  pointer-events: auto;
  visibility: visible;
}
.cava-booking-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.cava-booking-root.is-open .cava-booking-backdrop { opacity: 1; }
.cava-booking-panel {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: min(480px, 100%);
  max-width: 100%;
  background: #0a0a0a;
  border-left: 1px solid #222;
  box-shadow: -16px 0 48px rgba(0,0,0,0.45);
  transform: translateX(105%);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  display: flex;
  flex-direction: column;
}
.cava-booking-root.is-open .cava-booking-panel { transform: translateX(0); }
.cava-booking-head {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid #222;
  background: #000;
}
.cava-booking-title {
  margin: 0;
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.cava-booking-close {
  appearance: none;
  border: 1px solid #333;
  background: transparent;
  color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 1.35rem;
  line-height: 1;
}
.cava-booking-close:hover { border-color: #666; }
.cava-booking-frame-wrap {
  flex: 1 1 auto;
  min-height: 0;
  position: relative;
  background: #f5f5f5;
}
.cava-booking-frame-wrap::before {
  content: 'Загрузка…';
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #888;
  font-size: 14px;
  pointer-events: none;
  z-index: 0;
  transition: opacity 0.2s ease;
}
.cava-booking-frame-wrap.is-loaded::before {
  opacity: 0;
  visibility: hidden;
}
.cava-booking-frame {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: transparent;
}
body.cava-booking-open { overflow: hidden; }
@media (max-width: 640px) {
  .cava-booking-panel { width: 100%; max-width: 100%; }
}

/* ПК: фиксированная кнопка онлайн-записи, правый нижний угол */
.cava-book-fab {
  display: none;
}
@media (min-width: 641px) {
  .cava-book-fab {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 20000;
    display: grid;
    place-items: center;
    width: 112px;
    height: 112px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
    transform-origin: center center;
    animation: cava-book-fab-pulse 2.2s ease-in-out infinite;
    transition: opacity 0.2s ease, filter 0.2s ease;
  }
  .cava-book-fab:hover {
    animation-play-state: paused;
    transform: scale(1.08);
    filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.45));
  }
  .cava-book-fab:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 4px;
  }
  .cava-book-fab img {
    display: block;
    width: 112px;
    height: 112px;
    object-fit: contain;
    pointer-events: none;
    filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.35));
  }
  body.cava-booking-open .cava-book-fab {
    opacity: 0;
    pointer-events: none;
    animation: none;
    transform: scale(0.9);
  }
}
@keyframes cava-book-fab-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.12); }
}
@media (prefers-reduced-motion: reduce) {
  .cava-book-fab { animation: none !important; }
}

/* [ÇaVa]gram / Club / Popular — из предложения club-превью */
.prop-section { padding: 3.5rem 0; }

/* Underground debris scraps around key sections */
.prop-gram,
.prop-club,
.services.section,
.intro.section,
.team.section,
.gallery.section,
.reviews.section,
.faq-section,
.contacts.section {
  position: relative;
  overflow: visible;
  isolation: isolate;
}
.prop-gram > .container,
.prop-club > .container,
.services.section > .container,
.intro.section > .container,
.team.section > .container,
.gallery.section > .container,
.reviews.section > .container,
.faq-section > .container,
.contacts.section > .container {
  position: relative;
  z-index: 2;
}
.ug-debris {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: visible;
}
.ug-debris__item {
  position: absolute;
  display: block;
  width: clamp(72px, 12vw, 168px);
  height: auto;
  opacity: 0.88;
  filter: contrast(1.08) brightness(0.92);
  user-select: none;
  -webkit-user-drag: none;
}
.ug-debris__item--sm { width: clamp(56px, 9vw, 120px); }
.ug-debris__item--lg { width: clamp(96px, 15vw, 210px); }
.ug-debris__item--xl { width: clamp(110px, 17vw, 240px); }
@media (max-width: 767px) {
  .ug-debris__item { opacity: 0.7; }
  .ug-debris__item--hide-sm { display: none; }
}
.prop-kicker {
  margin: 0 0 0.65rem;
  font-size: 0.72rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #636366;
  font-weight: 500;
}
.prop-lead {
  margin: -0.2rem 0 1rem;
  max-width: 48ch;
  color: #a0a0a5;
}
.prop-gram .prop-lead {
  max-width: none;
}
.prop-gram__lead-line {
  display: block;
  white-space: nowrap;
}
.prop-club__note {
  margin: 0 0 1.5rem;
  max-width: 46ch;
  color: #636366;
  font-size: 0.92rem;
  line-height: 1.55;
}
/* [ÇaVa]gram panel — фон из nano_banana (скрин пользователя) */
.prop-gram > .container.content-panel.content-panel--wide {
  padding: 1.75rem 1.5rem 1.6rem;
  border: 0 !important;
  border-radius: 10px;
  background-color: #0a0a0a !important;
  background-image: url("https://ca-va.promo/site-assets/assets/club-panel-bg.webp") !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  box-shadow: none !important;
  overflow: hidden;
}
.prop-gram__brand {
  margin: 0 0 0.85rem;
  padding: 0;
  border: 0;
  line-height: 0;
}
.prop-gram__brand-img {
  display: block;
  width: min(100%, 380px);
  max-width: 100%;
  height: auto;
  margin: 0;
}
.prop-gram__brand-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (min-width: 960px) {
  .prop-gram__brand-img { width: min(100%, 440px); }
}
.prop-gram__rail {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.55rem;
  margin: 1.35rem 0 1.4rem;
}
.prop-gram__shot {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid #2a2a2a;
  border-radius: 4px;
  background: #0a0a0a;
  isolation: isolate;
}
/*
  База: жёсткий B&W + плёнка/старина (как underground-скрин).
  Hover: оригинальный цвет, без зерна и царапин.
*/
.prop-gram__shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.45) brightness(0.88);
  transition: transform 0.4s ease, filter 0.4s ease;
}
/* Зерно */
.prop-gram__shot::before {
  content: "";
  position: absolute;
  inset: -2px;
  z-index: 1;
  pointer-events: none;
  opacity: 0.55;
  mix-blend-mode: overlay;
  transition: opacity 0.4s ease;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 110px 110px;
}
/* Вертикальные царапины + пыль + виньетка (плёнка) */
.prop-gram__shot::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.4s ease;
  box-shadow: inset 0 0 48px rgba(0, 0, 0, 0.55);
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent 19px,
      rgba(255, 255, 255, 0.14) 19px,
      rgba(255, 255, 255, 0.14) 20px,
      transparent 20px,
      transparent 47px,
      rgba(255, 255, 255, 0.08) 47px,
      rgba(255, 255, 255, 0.08) 48px,
      transparent 48px,
      transparent 88px,
      rgba(255, 255, 255, 0.16) 88px,
      rgba(255, 255, 255, 0.16) 89px,
      transparent 89px,
      transparent 140px
    ),
    radial-gradient(circle at 18% 22%, rgba(255, 255, 255, 0.35) 0 0.7px, transparent 1.4px),
    radial-gradient(circle at 72% 61%, rgba(255, 255, 255, 0.28) 0 0.7px, transparent 1.4px),
    radial-gradient(circle at 54% 14%, rgba(255, 255, 255, 0.22) 0 0.6px, transparent 1.2px),
    radial-gradient(circle at 33% 78%, rgba(255, 255, 255, 0.2) 0 0.6px, transparent 1.2px);
  mix-blend-mode: soft-light;
}
.prop-gram__shot:hover img {
  transform: scale(1.04);
  filter: none;
}
.prop-gram__shot:hover::before,
.prop-gram__shot:hover::after {
  opacity: 0;
}
.prop-gram__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  align-items: stretch;
}
/* «О клубе» — бумажный grunge-фон как на underground-скрине */
.prop-gram__actions .btn-ug-paper {
  border: 0 !important;
  border-radius: 4px;
  color: #111 !important;
  background-color: #d8d8d8 !important;
  background-image: url("https://ca-va.promo/site-assets/assets/btn-club-paper.webp") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  box-shadow: none !important;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-shadow: none !important;
}
.prop-gram__actions .btn-ug-paper:hover {
  color: #000 !important;
  filter: brightness(1.06) contrast(1.05);
  border-color: transparent !important;
  background-color: #d8d8d8 !important;
}
/* «Стать клиентом» — только chalk-рамка из ассета, без дефолтной border btn-ask */
:root .prop-gram__actions .btn.btn-ug-chalk.btn-ask {
  position: relative;
  z-index: 0;
  overflow: visible;
  border: 0 !important;
  outline: none !important;
  border-radius: 0;
  color: #fff !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  font-weight: 650;
  letter-spacing: 0.01em;
  text-shadow: none !important;
  padding: 0.85rem 1.35rem;
  flex: 0 1 auto;
  max-width: 11.5rem;
}
:root .prop-gram__actions .btn.btn-ug-chalk.btn-ask::before {
  content: "";
  position: absolute;
  inset: -8px -10px;
  z-index: -1;
  pointer-events: none;
  background: url("https://ca-va.promo/site-assets/assets/cavagram-btn-client.webp?v=20261028a") center / 100% 100% no-repeat;
  opacity: 1;
}
@media (max-width: 767px) {
  :root .prop-gram__actions {
    gap: 0.85rem;
  }
  :root .prop-gram__actions .btn.btn-ug-paper {
    flex: 1 1 0;
    z-index: 1;
  }
  :root .prop-gram__actions .btn.btn-ug-chalk.btn-ask {
    flex: 0 1 auto;
    max-width: 48%;
    padding: 0.75rem 0.85rem;
    font-size: 0.84rem;
  }
  :root .prop-gram__actions .btn.btn-ug-chalk.btn-ask::before {
    inset: -5px -6px;
  }
}
:root .prop-gram__actions .btn.btn-ug-chalk.btn-ask:hover,
:root .prop-gram__actions .btn.btn-ug-chalk.btn-ask:focus {
  color: #fff !important;
  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: brightness(1.08);
}
.prop-club__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr);
  gap: 1.75rem 2.25rem;
  align-items: start;
}
.prop-club__intro h2 { margin-bottom: 0.75rem; }
.prop-club__perk-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #222;
}
.prop-club__perk {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  gap: 0.85rem 1rem;
  padding: 0.95rem 0;
  border-bottom: 1px solid #222;
}
.prop-club__perk-tag {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #636366;
  font-weight: 600;
  padding-top: 0.15rem;
}
.prop-club__perk-body {
  margin: 0;
  color: #c8c8cc;
  max-width: none;
  font-size: 0.98rem;
  line-height: 1.45;
}
.prop-club__perk.is-hot .prop-club__perk-tag { color: #fff; }
.prop-club__perk.is-hot .prop-club__perk-body { color: #fff; }

/* ——— Club underground collage ——— */
.prop-club--ug {
  position: relative;
  overflow: visible;
  isolation: isolate;
}
.prop-club__stage {
  position: relative;
  z-index: 2;
  width: min(100% - 2rem, var(--container, 1160px));
  margin-left: auto;
  margin-right: auto;
  overflow: visible;
}
.prop-club--ug .prop-club__stage > .container.content-panel.content-panel--wide {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 1.75rem 1.5rem 1.85rem;
  border: 0 !important;
  border-radius: 2px;
  background-color: #0a0a0a !important;
  background-image: url("https://ca-va.promo/site-assets/assets/club-ug/club-panel-bg.webp?v=20261028h") !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  box-shadow: none !important;
  overflow: visible;
}
.prop-club--ug .prop-club__grid {
  position: relative;
  z-index: 2;
  align-items: center;
}
/* кусочки бумаги — ПОД панелью, края торчат наружу */
.prop-club__paper {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  user-select: none;
  line-height: 0;
}
.prop-club__paper img {
  display: block;
  width: 100%;
  height: auto;
  filter: contrast(1.06) drop-shadow(0 2px 4px rgba(0,0,0,0.35));
}
.prop-club__paper--a {
  width: clamp(110px, 16vw, 200px);
  top: -6%;
  left: 2%;
  transform: rotate(-10deg);
}
.prop-club__paper--b {
  width: clamp(88px, 13vw, 160px);
  top: 18%;
  left: -4.5%;
  transform: rotate(14deg);
}
.prop-club__paper--c {
  width: clamp(96px, 14vw, 170px);
  bottom: 8%;
  left: -3.5%;
  transform: rotate(-16deg);
}
.prop-club__paper--d {
  width: clamp(100px, 15vw, 180px);
  top: -4%;
  right: 6%;
  transform: rotate(8deg);
}
.prop-club__paper--e {
  width: clamp(84px, 12vw, 150px);
  bottom: -3%;
  right: -2%;
  transform: rotate(-12deg);
}
@media (max-width: 767px) {
  .prop-club__paper--d,
  .prop-club__paper--c { display: none; }
  .prop-club__paper--a { width: clamp(86px, 28vw, 130px); top: -4%; left: 4%; }
  .prop-club__paper--b { width: clamp(72px, 24vw, 110px); left: -3%; }
  .prop-club__paper--e { width: clamp(70px, 22vw, 105px); }
}
.prop-club__tape {
  position: absolute;
  z-index: 5;
  pointer-events: none;
  user-select: none;
  line-height: 0;
}
.prop-club__tape img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 1px 3px rgba(0,0,0,0.45));
}
/* полоски скотча «прижимают» углы панели, как на референсе */
.prop-club__tape--tl {
  width: clamp(96px, 13vw, 168px);
  top: -18px;
  left: -28px;
  transform: rotate(-42deg);
  transform-origin: center center;
}
.prop-club__tape--tr {
  width: clamp(88px, 12vw, 150px);
  top: -16px;
  right: -22px;
  transform: rotate(28deg);
  transform-origin: center center;
}
.prop-club__tape--bl {
  width: clamp(90px, 12vw, 155px);
  bottom: -18px;
  left: -24px;
  transform: rotate(32deg);
  transform-origin: center center;
}
.prop-club__tape--br {
  width: clamp(92px, 12.5vw, 160px);
  bottom: -16px;
  right: -26px;
  transform: rotate(-36deg);
  transform-origin: center center;
}
@media (max-width: 767px) {
  .prop-club__tape--tl,
  .prop-club__tape--tr,
  .prop-club__tape--bl,
  .prop-club__tape--br {
    width: clamp(72px, 22vw, 110px);
  }
  /* Чуть ближе к панели, чтобы скотч не упирался в край вьюпорта */
  .prop-club__tape--tl { top: -12px; left: -10px; }
  .prop-club__tape--tr { top: -10px; right: -10px; }
  .prop-club__tape--bl { bottom: -12px; left: -10px; }
  .prop-club__tape--br { bottom: -10px; right: -10px; }
}
.prop-club__brand {
  margin: 0 0 0.85rem;
  padding: 0;
  border: 0;
  line-height: 0;
}
.prop-club__brand-img {
  display: block;
  width: min(100%, 340px);
  max-width: 100%;
  height: auto;
}
.prop-club__brand-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (min-width: 960px) {
  .prop-club__brand-img { width: min(100%, 400px); }
}
.prop-club--ug .prop-club__cta {
  display: inline-block;
  margin-top: 0.35rem;
  line-height: 0;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: 0 !important;
}
.prop-club--ug .prop-club__cta:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
}
.prop-club__cta-img {
  display: block;
  width: min(100%, 260px);
  height: auto;
}
.prop-club--ug .prop-club__perk-list {
  border-top: 0;
  align-self: center;
}
.prop-club--ug .prop-club__perk {
  grid-template-columns: minmax(6.5rem, 8.2rem) minmax(0, 1fr);
  align-items: center;
  border-bottom: 0;
  padding: 0.7rem 0 0.85rem;
  position: relative;
}
.prop-club--ug .prop-club__perk::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 10px;
  background: url("https://ca-va.promo/site-assets/assets/club-ug/club-line-01.webp?v=20261028b") center / 100% 100% no-repeat;
  opacity: 0.95;
  pointer-events: none;
}
.prop-club--ug .prop-club__perk:nth-child(2)::after { background-image: url("https://ca-va.promo/site-assets/assets/club-ug/club-line-02.webp?v=20261028b"); }
.prop-club--ug .prop-club__perk:nth-child(3)::after { background-image: url("https://ca-va.promo/site-assets/assets/club-ug/club-line-03.webp?v=20261028b"); }
.prop-club--ug .prop-club__perk:nth-child(4)::after { background-image: url("https://ca-va.promo/site-assets/assets/club-ug/club-line-04.webp?v=20261028b"); }
.prop-club--ug .prop-club__perk:nth-child(5)::after { background-image: url("https://ca-va.promo/site-assets/assets/club-ug/club-line-05.webp?v=20261028b"); }
.prop-club--ug .prop-club__perk:nth-child(6)::after { background-image: url("https://ca-va.promo/site-assets/assets/club-ug/club-line-06.webp?v=20261028b"); }
.prop-club--ug .prop-club__perk:nth-child(7)::after { background-image: url("https://ca-va.promo/site-assets/assets/club-ug/club-line-07.webp?v=20261028b"); }
.prop-club__perk-tag-img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 2.1rem;
  object-fit: contain;
  object-position: left center;
}
.prop-club__perk-tag-img--stamp { max-height: 2.55rem; }
.prop-club__perk-tag-img--paper { max-height: 2.8rem; }
.prop-club--ug .prop-club__perk-body { color: #e8e8e8; }
@media (max-width: 767px) {
  .prop-club__paper--b,
  .prop-club__paper--c { display: none; }
  .prop-club__cta-img { width: min(100%, 220px); }
  .prop-club--ug .prop-club__perk {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
  .prop-club__perk-tag-img { max-height: 1.9rem; }
}
/* Прайс — stage + клочки ПОД панелью, края торчат наружу */
#prices.services.section {
  position: relative;
  overflow: visible;
}
#prices .prices-stage {
  position: relative;
  z-index: 2;
  width: min(100% - 2rem, var(--container, 1160px));
  margin-left: auto;
  margin-right: auto;
  overflow: visible;
}
#prices .prices-scraps {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: visible;
}
#prices .prices-scraps__item {
  position: absolute;
  display: block;
  width: clamp(100px, 15vw, 200px);
  height: auto;
  opacity: 0.95;
  filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.5));
  user-select: none;
}
#prices .prices-scraps__item--sm { width: clamp(78px, 12vw, 140px); }
#prices .prices-scraps__item--lg { width: clamp(120px, 17vw, 230px); }
#prices .prices-scraps__item--xl { width: clamp(130px, 19vw, 260px); }
@media (max-width: 767px) {
  #prices .prices-stage {
    width: auto;
    margin-left: 0.75rem;
    margin-right: 0.75rem;
  }
  #prices .prices-scraps__item { opacity: 0.9; }
  #prices .prices-scraps__item--hide-sm { display: none; }
}
/* Прайс — фон панели + шапка: картинка слева / текст справа (моб: столбик) */
#prices .prices-stage > .container.content-panel.content-panel--wide,
#prices.services.section .container.content-panel.content-panel--wide {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: none;
  margin: 0;
  border: 0 !important;
  border-radius: 0;
  background-color: #0a0a0a !important;
  background-image: url("https://ca-va.promo/site-assets/assets/prices-panel-bg.webp?v=20261028o") !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  box-shadow: none !important;
  overflow: visible;
  padding-top: 1.35rem !important;
}
#prices .prices-head {
  display: grid;
  grid-template-columns: minmax(180px, 320px) minmax(0, 1fr);
  gap: 0.85rem 1.75rem;
  align-items: start;
  margin: 0 0 0.35rem;
}
#prices .prices-brand {
  position: relative;
  z-index: 6;
  width: 100%;
  max-width: 320px;
  margin: -1.75rem 0 0;
  padding: 0;
  border: 0;
  line-height: 0;
  pointer-events: none;
  filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.45));
}
#prices .prices-brand-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
#prices .prices-brand-img {
  display: block;
  width: 100%;
  height: auto;
}
#prices .prices-head__copy {
  min-width: 0;
  padding-top: 0.15rem;
}
#prices .prices-head__copy .price-lead {
  margin: 0;
}
#prices .prices-head__copy .price-note {
  margin: 0.45rem 0 0;
  white-space: normal;
}
@media (min-width: 960px) {
  #prices .prices-head {
    grid-template-columns: minmax(220px, 360px) minmax(0, 1fr);
    gap: 1rem 2rem;
    align-items: end;
  }
  #prices .prices-brand {
    margin-top: -2rem;
    max-width: 360px;
  }
  #prices .prices-head__copy {
    padding-top: 2.75rem;
    align-self: end;
  }
  #prices .prices-head__copy .price-lead__line { white-space: nowrap; }
}
@media (max-width: 767px) {
  #prices .prices-head {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }
  #prices .prices-brand {
    margin-top: -1.25rem;
    max-width: min(240px, 78vw);
  }
  #prices .prices-head__copy {
    padding-top: 0.1rem;
  }
  #prices .prices-head__copy .price-lead__line { white-space: normal; }
}

/* Прайс — таблицы без чёрного фона, линии из ассета */
#prices .table-wrap {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible;
  padding-right: 0 !important;
}
#prices .price-col-table,
#prices .table-wrap > table {
  background: transparent;
}
#prices .price-col-table th,
#prices .price-col-table td,
#prices .table-wrap > table th,
#prices .table-wrap > table td {
  border: 0 !important;
  border-bottom: 0 !important;
  background-color: transparent !important;
  background-repeat: no-repeat;
}
#prices .price-col-table tbody tr:hover,
#prices .table-wrap > table tbody tr:hover {
  background: transparent !important;
}
#prices .price-col-table thead th,
#prices .table-wrap > table thead th {
  background-image:
    url("https://ca-va.promo/site-assets/assets/prices-line-h-05.webp?v=20261028p"),
    url("https://ca-va.promo/site-assets/assets/prices-line-v-01.webp?v=20261028p");
  background-position: center bottom, right center;
  background-size: 100% 7px, 4px 72%;
}
#prices .price-col-table thead th:last-child,
#prices .table-wrap > table thead th:last-child {
  background-image: url("https://ca-va.promo/site-assets/assets/prices-line-h-05.webp?v=20261028p");
  background-position: center bottom;
  background-size: 100% 7px;
}
#prices .price-col-table tbody td,
#prices .table-wrap > table tbody td {
  background-image:
    url("https://ca-va.promo/site-assets/assets/prices-line-h-01.webp?v=20261028p"),
    url("https://ca-va.promo/site-assets/assets/prices-line-v-02.webp?v=20261028p");
  background-position: center bottom, right center;
  background-size: 100% 6px, 4px 68%;
}
#prices .price-col-table tbody tr:nth-child(2n) td {
  background-image:
    url("https://ca-va.promo/site-assets/assets/prices-line-h-02.webp?v=20261028p"),
    url("https://ca-va.promo/site-assets/assets/prices-line-v-03.webp?v=20261028p");
}
#prices .price-col-table tbody tr:nth-child(3n) td {
  background-image:
    url("https://ca-va.promo/site-assets/assets/prices-line-h-03.webp?v=20261028p"),
    url("https://ca-va.promo/site-assets/assets/prices-line-v-04.webp?v=20261028p");
}
#prices .price-col-table tbody tr:nth-child(4n) td {
  background-image:
    url("https://ca-va.promo/site-assets/assets/prices-line-h-04.webp?v=20261028p"),
    url("https://ca-va.promo/site-assets/assets/prices-line-v-01.webp?v=20261028p");
}
#prices .price-col-table tbody td:last-child,
#prices .table-wrap > table tbody td:last-child {
  background-image: url("https://ca-va.promo/site-assets/assets/prices-line-h-01.webp?v=20261028p");
  background-position: center bottom;
  background-size: 100% 6px;
}
#prices .price-col-table tbody tr:nth-child(2n) td:last-child {
  background-image: url("https://ca-va.promo/site-assets/assets/prices-line-h-02.webp?v=20261028p");
}
#prices .price-col-table tbody tr:nth-child(3n) td:last-child {
  background-image: url("https://ca-va.promo/site-assets/assets/prices-line-h-03.webp?v=20261028p");
}
#prices .price-col-table tbody tr:nth-child(4n) td:last-child {
  background-image: url("https://ca-va.promo/site-assets/assets/prices-line-h-04.webp?v=20261028p");
}
#prices .price-col-table tbody tr:last-child td,
#prices .table-wrap > table tbody tr:last-child td {
  background-image: url("https://ca-va.promo/site-assets/assets/prices-line-v-02.webp?v=20261028p");
  background-position: right center;
  background-size: 4px 68%;
}
#prices .price-col-table tbody tr:last-child td:last-child,
#prices .table-wrap > table tbody tr:last-child td:last-child {
  background-image: none;
}
@media (max-width: 820px) {
  #prices .price-col-table--book thead tr,
  #prices .price-col-table--book tbody tr {
    border-bottom: 0 !important;
    background-image: url("https://ca-va.promo/site-assets/assets/prices-line-h-01.webp?v=20261028p");
    background-position: center bottom;
    background-size: 100% 6px;
    background-repeat: no-repeat;
  }
  #prices .price-col-table--book tbody tr:last-child {
    background-image: none;
  }
  #prices .price-col-table--book th,
  #prices .price-col-table--book td {
    background-image: none !important;
  }

  /* Моб: панель прайса visible (скотч/title), клип только у table-wrap */
  #prices.services.section {
    overflow: visible;
  }
  #prices .prices-stage > .container.content-panel.content-panel--wide,
  #prices.services.section .container.content-panel.content-panel--wide {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
    overflow: visible !important;
  }
  #prices .price-cols .table-wrap:has(.price-col-table--book),
  #prices .service-group > .table-wrap:has(.price-col-table--book),
  #prices .table-wrap:has(.price-col-table--book) {
    overflow-x: hidden !important;
    padding-right: 0 !important;
    margin-right: 0 !important;
  }
  #prices .price-col-table--book thead tr,
  #prices .price-col-table--book tbody tr {
    width: 100% !important;
    margin-right: 0 !important;
    /* услуга | время/цена (слева в своей колонке) | запись */
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) 5.25rem !important;
    column-gap: 0.45rem !important;
    padding: 0.85rem 0.15rem 0.85rem 0.45rem !important;
  }
  #prices .price-col-table--book thead th:nth-child(2),
  #prices .price-col-table--book thead th:nth-child(3),
  #prices .price-col-table--book tbody td:nth-child(2),
  #prices .price-col-table--book tbody td:nth-child(3) {
    justify-self: start !important;
    text-align: left !important;
    width: auto !important;
    max-width: 100% !important;
    padding-right: 0.25rem !important;
  }
  #prices .price-col-table--book thead th:nth-child(4),
  #prices .price-col-table--book td:nth-child(4),
  #prices .price-book-cell {
    justify-content: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
  }
  #prices .price-book-btn {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 2.55rem !important;
    padding: 0.5rem 0.45rem !important;
    font-size: 0.74rem !important;
    letter-spacing: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    filter: none;
  }
}

/* Моб: ширина = вьюпорт. overflow-x НЕ на обёртках fixed (шапка/sticky) —
   иначе fixed превращается в «привязанный к контейнеру» и блоки съезжают. */
@media (max-width: 991px) {
  :root {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-x: none !important;
  }
  :root body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    position: relative;
    overscroll-behavior-x: none !important;
  }
  /* cava-site / секции — overflow:visible, иначе:
     1) скотч/бумаги/debris обрезаются
     2) overflow-x:hidden + overflow-y:visible ⇒ Y становится auto → внутренний скролл панели
     Горизонталь страницы держит только html/body выше. */
  :root body > .cava-site {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }
  :root .prop-gram,
  :root .prop-club,
  :root .prop-club--ug,
  :root .prop-club__stage,
  :root .prop-club__stage > .container,
  :root .services.section,
  :root .intro.section,
  :root .team.section,
  :root .gallery.section,
  :root .reviews.section,
  :root .faq-section,
  :root .contacts.section,
  :root .home,
  :root .ug-debris,
  :root .content-panel,
  :root .container.content-panel {
    overflow: visible !important;
    max-width: 100% !important;
  }
  /* Hero-video по-прежнему клипаем */
  :root .hero {
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    max-width: 100% !important;
  }
  :root .team-grid {
    max-width: 100%;
    overscroll-behavior-x: contain;
  }
  :root .hero .hero-content.hero-panel {
    width: auto !important;
    max-width: none !important;
    margin-left: 0.75rem !important;
    margin-right: 0.75rem !important;
    justify-self: stretch !important;
    box-sizing: border-box !important;
  }
  /* Равные боковые поля; у Club stage чуть больше — под скотч */
  :root .container {
    width: auto !important;
    max-width: none !important;
    margin-left: 0.75rem !important;
    margin-right: 0.75rem !important;
    box-sizing: border-box !important;
  }
  :root #prices .prices-stage {
    width: auto !important;
    margin-left: 0.75rem !important;
    margin-right: 0.75rem !important;
    overflow: visible !important;
  }
  :root #prices .prices-stage > .container {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  :root .prop-club__stage {
    width: auto !important;
    max-width: none !important;
    margin-left: 1rem !important;
    margin-right: 1rem !important;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
    box-sizing: border-box !important;
    overflow: visible !important;
  }
  :root .prop-club__stage > .container {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: visible !important;
  }
  :root .content-panel {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  :root .cava-ticker,
  :root .cava-ticker__viewport {
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    right: auto !important;
    overflow: hidden !important;
    contain: paint !important;
    box-sizing: border-box !important;
  }
  :root .site-header {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  /* Sticky CTA — всегда у низа экрана (только safe-area) */
  :root .cava-site .mobile-sticky-cta,
  :root .mobile-sticky-cta {
    position: fixed !important;
    left: 0.75rem !important;
    right: 0.75rem !important;
    width: auto !important;
    max-width: none !important;
    box-sizing: border-box !important;
    bottom: calc(3px + env(safe-area-inset-bottom, 0px) + var(--vv-offset-bottom, 0px)) !important;
    z-index: 15000 !important;
    transform: translate3d(0, 0, 0);
    margin: 0 !important;
  }
  :root .mobile-sticky-cta .btn {
    min-height: 3.55rem;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
  }
  :root .site-footer {
    padding-bottom: calc(6.5rem + env(safe-area-inset-bottom, 0px));
  }
  :root .cava-booking-root {
    overflow: hidden !important;
  }
  :root .cava-booking-panel {
    width: min(480px, 100%) !important;
  }
}
.prices-popular {
  margin: 0 0 1.45rem;
  padding: 1rem 0 0;
  border-top: 1px solid #222;
}
.prices-popular__label {
  margin: 0 0 0.7rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #636366;
  font-weight: 600;
}
.prices-popular__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}
.prices-popular__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem;
  width: 100%;
  min-height: 3.35rem;
  padding: 0.7rem 0.85rem 0.7rem 1.65rem;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  background-image: url("https://ca-va.promo/site-assets/assets/prices-ticket-bg.webp?v=20261028q");
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  color: #111;
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: none;
  transition: filter 0.2s ease, transform 0.2s ease;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.28));
}
.prices-popular__item:hover {
  transform: translateY(-1px);
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.38)) brightness(1.04);
}
.prices-popular__name {
  flex: 1 1 auto;
  min-width: 0;
  padding-right: 0.35rem;
  font-family: Inter, system-ui, sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.25;
  color: #111;
  letter-spacing: -0.01em;
}
.prices-popular__go {
  flex: 0 0 auto;
  width: 5.1rem;
  text-align: center;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  /* Текст «Запись» уже в фоне билета — слот оставляем под талон */
  color: transparent;
  user-select: none;
  pointer-events: none;
}
@media (max-width: 820px) {
  .prices-popular__list { grid-template-columns: 1fr; }
  .prices-popular__item {
    gap: 0.4rem;
    min-height: 3.05rem;
    padding: 0.65rem 0.8rem 0.65rem 1.55rem;
  }
  .prices-popular__name {
    font-size: 0.88rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
  }
  .prices-popular__go {
    width: 4.2rem;
    font-size: 0.65rem;
    letter-spacing: 0.04em;
  }
  .prop-gram__rail { grid-template-columns: repeat(2, 1fr); }
  .prop-gram__lead-line { white-space: normal; }
  .prop-club__grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .prop-club__perk { grid-template-columns: 1fr; gap: 0.25rem; }
  /* Моб: перки без внутреннего скролла — панель растёт по контенту */
  .prop-club__perk-list {
    max-height: none;
    overflow: visible;
    padding-right: 0;
  }
  /* Моб: CTA клуба на всю ширину сетки + белая рамка (btn-ask) */
  .prop-club__intro .prop-club__cta,
  .prop-club__intro .btn.js-booking-open {
    display: flex;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    justify-content: center;
  }
}

/* Cookie consent — компактная плашка (Тильда T123 часто тянет height:100% у детей) */
.cava-cookie,
body > #cava-cookie {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  top: auto !important;
  bottom: 20px !important;
  z-index: 20500 !important;
  display: none;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  align-content: center !important;
  justify-content: flex-start !important;
  gap: 16px 20px !important;
  box-sizing: border-box !important;
  /* По контенту — без «пустого» хвоста справа от «Принять» */
  width: fit-content !important;
  max-width: min(680px, calc(100% - 160px)) !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 14px 16px 14px 18px !important;
  background: #fff !important;
  color: #333 !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2) !important;
  font-family: Inter, system-ui, sans-serif !important;
  transform: translateX(-50%) !important;
  overflow: visible !important;
}
.cava-cookie[hidden] {
  display: none !important;
}
.cava-cookie.is-visible,
body > #cava-cookie.is-visible {
  display: flex !important;
}
.cava-cookie__text {
  flex: 0 1 auto !important;
  align-self: center !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: 28rem !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  color: #333 !important;
}
.cava-cookie__text a {
  color: #7b2cff !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.cava-cookie__text a:hover {
  color: #6419e6 !important;
}
.cava-cookie__btn {
  flex: 0 0 auto;
  appearance: none;
  border: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 10px 18px !important;
  border-radius: 8px !important;
  background: #111 !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer;
  white-space: nowrap;
  text-shadow: none !important;
  box-shadow: none !important;
  transition: background 0.15s ease;
}
.cava-cookie__btn:hover {
  background: #000 !important;
  color: #fff !important;
}
@media (max-width: 640px) {
  .cava-cookie,
  body > #cava-cookie {
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: none !important;
    transform: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    bottom: calc(4.85rem + env(safe-area-inset-bottom, 0px)) !important;
    gap: 12px !important;
    padding: 12px 14px !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .cava-cookie__text { font-size: 12px !important; }
  .cava-cookie__btn {
    width: 100%;
    text-align: center;
    padding: 12px 16px !important;
  }
}
