mark {
  background-color: transparent !important;
  padding: 0;
  color: #f00;
  font-weight: 700;
}

.review-page {
  margin: 80px 0;
}
.review-page h1 {
  font-size: 42px;
  margin-bottom: 90px;
  text-align: center;
  line-height: 1.23;
  font-weight: 600;
}
.review-page__grid {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 30px 40px;
}
.review-page__item {
  flex: 0 0 calc((100% / 2) - 40px);
}

.review-page__block {
  padding: 35px;
  border-radius: 10px;
  background-color: #fff;
  font-size: 16px;
}
.review-page__footer {
  margin-top: 20px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}
.review-page__footer img {
  border-radius: 100px;
  overflow: hidden;
  width: 50px;
  height: 50px;
  flex: 0 0 auto;
  object-fit: cover;
  background-color: #fff;
}
.review-page__footer h2 {
  font-size: 18px;
  font-weight: 600;
  padding-bottom: 8px;
}
.review-page__footer p {
  color: #666;
  font-size: 14px;
  line-height: 1.55;
}

.thank-you {
  margin: 80px 0;
}
.thank-you__wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.thank-you__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 15px;
}
.thank-you__content p {
  max-width: 450px;
}
.row {
  margin-top: 30px;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  gap: 20px;
  max-width: 450px;
}
.row  .btn {
  white-space: nowrap;
}
.m0 {
  margin: 0;
}
@media (max-width: 1024px) {
  .review-page {
    margin: 60px 0;
  }
  .review-page h1 {
    font-size: 38px;
    margin-bottom: 60px;
  }
  .review-page__grid {
    gap: 20px;
  }
  .review-page__item {
    flex: 0 0 calc((100% / 2) - 20px);
  }

  .review-page__block {
    padding: 25px;
    font-size: 14px;
  }
  .review-page__footer {
    margin-top: 10px;
  }
  .review-page__footer img {
    width: 50px;
    height: 50px;
  }
  .review-page__footer h2 {
    font-size: 16px;
  }
  .review-page__footer p {
    font-size: 14px;
  }

  .thank-you__wrapper {
    flex-direction: column-reverse;
    gap: 50px;
  }
}
@media (max-width: 768px) {
  .review-page {
    margin: 40px 0;
  }
  .review-page h1 {
    font-size: 28px;
    margin-bottom: 30px;
  }
  .review-page__grid {
    flex-direction: column;
  }
  .review-page__item {
    flex: 0 0 auto;
  }
  .row {
    flex-direction: column;
    gap: 20px;
  }
}


/* База */
.content {
  font-size: 16px;
  line-height: 1.6;
  color: #222;
}

.content-white { color: #fff; }

.content h1 {
  font-size: clamp(2rem, 5vw, 2.5rem); /* ~32–40px */
  margin: 1.2em 0 0.6em;
  font-weight: 700;
  line-height: 1.2;
}

.content h2 {
  font-size: clamp(3rem, 4vw, 2rem); /* ~28–32px */
  margin: 1.2em 0 0.6em;
  font-weight: 600;
  line-height: 1.25;
}

.content h3 {
  font-size: clamp(2rem, 3.2vw, 1.75rem); /* ~24–28px */
  margin: 1em 0 0.5em;
  font-weight: 600;
  line-height: 1.3;
}

.content h4 {
  font-size: clamp(1.25rem, 2.6vw, 1.5rem); /* ~20–24px */
  margin: 1em 0 0.5em;
  font-weight: 600;
  line-height: 1.35;
}

.content h5 {
  font-size: clamp(1.125rem, 2.2vw, 1.25rem); /* ~18–20px */
  margin: 0.8em 0 0.4em;
  font-weight: 600;
  line-height: 1.4;
}

.content h6 {
  font-size: clamp(1rem, 2vw, 1.125rem); /* ~16–18px */
  margin: 0.8em 0 0.4em;
  font-weight: 600;
  line-height: 1.4;
  text-transform: uppercase; /* опционально */
}

.content p { margin: 1em 0; }

/* Списки */
.content ul,
.content ol
.content-post ul,
.content-post ol {
  margin: 1em 0 1em 2em;
  padding-left: 1.2em;
}
.content ul, .content-post ul { list-style: disc; }
.content ol, .content-post ol { list-style: decimal; }
.content li, .content-post li { margin: 0.4em 0; }

/* Ссылки */
.content a { color: #0066cc; text-decoration: underline; }
.content a:hover { text-decoration: none; }
.content-white a { color: #9cd3ff; }

/* Цитаты */
.content blockquote, .content-post blockquote  {
  border-left: 4px solid #ccc;
  padding: 0.5em 1em;
  margin: 1.5em 0;
  color: inherit;
  background: rgba(255,255,255,0.05);
}

/* Таблицы */
.content table {
  border-collapse: collapse;
  width: 100%;
  margin: 1.5em 0;
  display: block;           /* для горизонтальной прокрутки */
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.content table th,
.content table td {
  border: 1px solid #ddd;
  padding: 10px;
  white-space: normal;
}
.content-white table th,
.content-white table td { border-color: rgba(255,255,255,0.3); }
.content table th {
  background: #f3f3f3;
  font-weight: 600;
  text-align: left;
}
.content-white table th {
  background: rgba(255,255,255,0.1);
  color: #fff;
}

/* Картинки */
.content img {
  max-width: 100%;
  height: auto;
  margin: 1em 0;
  display: block;
}

/* Выравнивание картинок из WP / Gutenberg */
.content .alignleft   { float: left;  margin: 0.3em 1em 0.8em 0; }
.content .alignright  { float: right; margin: 0.3em 0 0.8em 1em; }
.content .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.content .alignnone   { display: block; margin: 1em 0; }

/* Фигуры и подписи */
.content figure { margin: 1.2em 0; }
.content figcaption {
  font-size: 0.875em;
  line-height: 1.4;
  color: inherit;
  opacity: .8;
  text-align: center;
  margin-top: .5em;
}

/* Галереи Gutenberg */
.content .wp-block-gallery { gap: 12px; }
.content .wp-block-image img { display: block; }

/* Видео/встраивания — резиновые */
.content iframe,
.content embed,
.content video {
  max-width: 100%;
  display: block;
}
.content .wp-block-embed__wrapper,
.content .wp-block-video,
.content .wp-block-embed {
  position: relative;
  max-width: 100%;
}
.content .ratio-16x9 {
  position: relative;
  padding-top: 56.25%;
}
.content .ratio-16x9 > iframe,
.content .ratio-16x9 > video {
  position: absolute; inset: 0; width: 100%; height: 100%;
}

/* ========================= */
/*        А Д А П Т И В      */
/* ========================= */

/* Планшеты */
@media (max-width: 1024px) {
  .content { font-size: 15.5px; }
  .content h1 { font-size: clamp(1.8rem, 3vw, 2.2rem); }
  .content h2 { font-size: clamp(1.6rem, 2.6vw, 2rem); }
  .content h3 { font-size: clamp(1.3rem, 2.2vw, 1.6rem); }
}

/* Мобильные */
@media (max-width: 768px) {
  .content { font-size: 15px; }

  /* Отключаем обтекание, центрируем картинки */
  .content .alignleft,
  .content .alignright {
    float: none;
    margin: 0.8em auto;
    display: block;
  }

  /* Отступы у списков компактнее */
  .content ul,
  .content ol {
    margin: 0.8em 0 0.8em 1.2em;
    padding-left: 1em;
  }

  /* Таблицы — тоньше паддинги */
  .content table th,
  .content table td { padding: 8px; }

  /* Цитаты — мягче */
  .content blockquote { padding: 0.6em 0.9em; }
}

/* Узкие телефоны */
@media (max-width: 480px) {
  .content { font-size: 14.5px; }
  .content h1 { font-size: 1.6rem; }
  .content h2 { font-size: 1.4rem; }
  .content h3 { font-size: 1.2rem; }
}

/* Контраст для .content-white на тёмных фонах */
.content-white blockquote { border-left-color: rgba(255,255,255,0.4); }
.content-white table { scrollbar-color: rgba(255,255,255,0.5) transparent; }

.booking__banner {
  margin-top: 30px!important;
}

:root{
  --fab-size:64px;
  --fab-gap:12px;
  --c-blue:#2f80ed;
  --c-bg:#fff;
  --shadow:0 10px 30px rgba(0,0,0,.15);
  --tip-bg:#c9d8ef;
  --tip-color:#1b2a4a;
}
.contact-fab{
  position:fixed;
  right:30px; bottom:30px;
  z-index:999;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;
}
.fab-btn{
  width:var(--fab-size); height:var(--fab-size);
  border-radius:50%;
  border:0; cursor:pointer; outline:0;
  background:var(--c-blue);
  color:#fff; box-shadow:var(--shadow);
  position:relative;
}
.fab-icon{
   position: relative; z-index: 1;
 }
.fab-icon-close { display:none;  position: relative; z-index: 1;}
.fab-btn.active { background:#fff; } /* белый при активном */
.fab-btn.active .fab-icon { display:none; }
.fab-btn.active .fab-icon-close { display:block; }

.fab-btn::before,
.fab-btn::after{
  content:""; position:absolute; inset:0;
  border-radius:50%;
  background:rgba(47,128,237,.35);
  animation:pulse 2.2s ease-out infinite;
}
.fab-btn.active::before,
.fab-btn.active::after {
  content:none; /* полностью убираем круги */
  animation:none;
}
.fab-btn::after{ animation-delay:.8s; }
@keyframes pulse{
  0%{ transform:scale(1); opacity:.6 }
  70%{ transform:scale(1.9); opacity:0 }
  100%{ opacity:0 }
}

.contact-fab::after{
  content:attr(data-label);
  position:absolute; right:calc(100% + 30px); top:50%; transform:translateY(-50%);
  background:var(--tip-bg); color:var(--tip-color);
  padding:10px 30px; border-radius:8px;
  white-space:nowrap; font-size:16px; box-shadow:var(--shadow);
}
contact-fab.open::after{
  display: none;
}
.fab-menu{
  position:absolute; bottom:calc(var(--fab-size) + 14px); right:6px;
  display:flex; flex-direction:column; align-items:flex-end;
  gap:var(--fab-gap);
  pointer-events:none; opacity:0; transform:translateY(10px);
  transition:.25s ease;
}
.contact-fab.open .fab-menu{ opacity:1; transform:none; pointer-events:auto; }

.fab-item{
  position:relative;
  width:54px; height:54px; border-radius:50%;
  display:grid; place-items:center;
  color:#fff;
  background:#fff;
  text-decoration:none;
  transform:translateY(8px); opacity:0; transition:.25s ease;
}
.contact-fab.open .fab-item{ transform:none; opacity:1; }
.contact-fab.open .fab-item:nth-child(1){ transition-delay:.03s }
.contact-fab.open .fab-item:nth-child(2){ transition-delay:.06s }
.contact-fab.open .fab-item:nth-child(3){ transition-delay:.09s }
.contact-fab.open .fab-item:nth-child(4){ transition-delay:.12s }

.fab-item .ico{font-weight:600}
.fab-item.wa{ background:#25D366 }
.fab-item.tel{ background:#111 }
.fab-item.vk{ background:#4185f4 }
.fab-item.close{ background:#fff; color:#111; border:1px solid #e6e6e6 }

.fab-item::after{
  content:attr(data-label);
  position:absolute; right:calc(100% + 10px); top:50%; transform:translateY(-50%);
  background:var(--tip-bg); color:var(--tip-color);
  padding:7px 10px; border-radius:8px;
  white-space:nowrap; font-size:13px; box-shadow:var(--shadow);
  opacity:0; visibility:hidden; transition:.18s ease;
}
.fab-item:hover::after{ opacity:1; visibility:visible; }

@media (prefers-reduced-motion: reduce){
  .fab-btn::before,.fab-btn::after{ display:none }
  .fab-menu,.fab-item{ transition:none }
}


/* ====== TITLES ====== */
.title-hero{
  margin:0 0 28px;
  font-weight:800;
  font-size:clamp(28px,4.2vw,54px);
  text-align:center;
  letter-spacing:.02em;
}
.title-hero span {color:#ff2b2b}

.title-sec{
  margin:28px 0 18px;
  font-weight:800;
  font-size:clamp(22px,3.2vw,42px);
  text-align:center;
  letter-spacing:.02em;
}

/* ====== CHIPS (anchors) ====== */
.chips{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  padding:8px 0 10px;
}
.chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid #dce8f1;
  background:#fff;
  color:#0f1621;
  font-weight:600;
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  box-shadow:0 2px 0 rgba(0,0,0,.02);
}
.chip:hover{transform:translateY(-1px); box-shadow:0 12px 30px rgba(18,35,52,.08)}
.chip:focus-visible{outline:2px solid #ff2b2b; outline-offset:2px}

/* ====== CATEGORY SECTION ====== */
.s-category{padding:8px 0 40px}

/* ====== CARDS GRID ====== */
.cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:20px;
}
@media (max-width:1024px){ .cards{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .cards{grid-template-columns:1fr} }

/* ====== CARD ====== */
.card{
  background:#fff;
  border-radius:24px;
  padding:28px 26px 24px;
  box-shadow:0 12px 30px rgba(18,35,52,.08);
  display:flex;
  flex-direction:column;
  min-height:210px;
}
.card__title{
  margin:0 0 18px;
  font-size:clamp(18px,1.8vw,22px);
  line-height:1.3;
  letter-spacing:.01em;
}
.card__price{
  margin:0 0 22px;
  font-weight:800;
  font-size:20px;
  color:#00b6a8;
  display:flex;
  align-items:center;
  gap:8px;
}

/* ====== BUTTON ====== */
.s-category .btn {
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:170px;
  height:44px;
  padding:0 20px;
  border-radius:999px;
  background:#1fd4bf;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.s-category .btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(31,212,191,.35)}
.s-category .btn:active{transform:translateY(0);filter:saturate(1.1)}
.s-category .btn:focus-visible{outline:2px solid #0bb7a9; outline-offset:2px}


/* === модификаторы цвета === */
.s-category.color-mint .card__price { color:#1fd4bf }
.s-category.color-mint .btn { background:#1fd4bf }
.s-category.color-mint .btn:hover { box-shadow:0 10px 22px rgba(31,212,191,.35) }
.s-category.color-mint .btn:focus-visible { outline:2px solid #0bb7a9 }

.s-category.color-sky .card__price { color:#7097d9 }
.s-category.color-sky .btn { background:#7097d9 }
.s-category.color-sky .btn:hover { box-shadow:0 10px 22px rgba(112,151,217,.35) }
.s-category.color-sky .btn:focus-visible { outline:2px solid #557cc7 }

.s-category.color-ocean .card__price { color:#2574e4 }
.s-category.color-ocean .btn { background:#2574e4 }
.s-category.color-ocean .btn:hover { box-shadow:0 10px 22px rgba(37,116,228,.35) }
.s-category.color-ocean .btn:focus-visible { outline:2px solid #195ec1 }

.s-category.color-rose .card__price { color:#e64777 }
.s-category.color-rose .btn { background:#e64777 }
.s-category.color-rose .btn:hover { box-shadow:0 10px 22px rgba(230,71,119,.35) }
.s-category.color-rose .btn:focus-visible { outline:2px solid #c72c5a }

.s-category.color-teal .card__price { color:#17a4a7 }
.s-category.color-teal .btn { background:#17a4a7 }
.s-category.color-teal .btn:hover { box-shadow:0 10px 22px rgba(23,164,167,.35) }
.s-category.color-teal .btn:focus-visible { outline:2px solid #128184 }

.s-category.color-sunset .card__price { color:#e68063 }
.s-category.color-sunset .btn { background:#e68063 }
.s-category.color-sunset .btn:hover { box-shadow:0 10px 22px rgba(230,128,99,.35) }
.s-category.color-sunset .btn:focus-visible { outline:2px solid #c76546 }