:root{
  --wv-font-title:'Montserrat',Arial,Helvetica,sans-serif;
  --wv-font-text:'Montserrat',Arial,Helvetica,sans-serif;
}
/* wellvet.pro — базовый слой раскладки.
   Секция = «холст» фиксированной высоты, элементы внутри позиционируются
   от центра сетки (1200/960/640/480/320). Всё остальное — в стилях страницы. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:'Montserrat',Arial,Helvetica,sans-serif;color:#2c2c2c;background:#fff}
img{border:0}
a{color:inherit}

.wv-sec{position:relative}
.wv-board{position:relative;width:100%;margin:0 auto;overflow:hidden}
.wv-board.wv-fixed{position:fixed;left:0;top:0;width:100%;z-index:990}

.wv-el{position:absolute;box-sizing:border-box;display:table;pointer-events:auto}
.wv-el > .wv-a{display:table-cell;vertical-align:middle;width:100%;text-decoration:none;color:inherit}
.wv-el img{display:block;width:100%;height:auto}
.wv-el p{margin:0}

/* показ/скрытие секций по ширине экрана (в Тильде это делал JS) */
.wv-upto-480{display:none}
.wv-upto-640{display:none}
@media screen and (max-width:479px){.wv-upto-480{display:block}.wv-from-480{display:none}}
@media screen and (max-width:639px){.wv-upto-640{display:block}.wv-from-640{display:none}}

/* ── всплывающее окно с формой ── */
.wv-popup{position:fixed;inset:0;z-index:1000;display:none;background:rgba(0,0,0,.6);
  overflow-y:auto;padding:20px}
.wv-popup.is-open{display:flex;align-items:center;justify-content:center}
.wv-popup__box{position:relative;width:100%;max-width:560px;padding:40px 45px;
  background:#fff;border-radius:10px}
.wv-popup__close{position:fixed;top:14px;right:18px;width:36px;height:36px;border:0;
  background:none;font-size:34px;line-height:1;color:#fff;cursor:pointer;opacity:.85}
.wv-popup__close:hover{opacity:1}
.wv-popup__title{margin:0 0 26px;font-size:36px;font-weight:600;line-height:1.2;
  color:#9c2e40;text-align:center}
.wv-formrow{margin-bottom:22px}
.wv-label{display:block;margin-bottom:10px;font-size:20px;font-weight:400;line-height:1.55;color:#9c2e40}
.wv-phone{position:relative}
.wv-phone .wv-field{padding-left:94px}
.wv-phone__flag{position:absolute;top:50%;left:22px;width:18px;height:13px;margin-top:-7px;
  border-radius:2px;overflow:hidden;
  background:linear-gradient(#fff 0 33.3%,#0039a6 33.3% 66.6%,#d52b1e 66.6% 100%);
  box-shadow:0 0 0 1px rgba(0,0,0,.12) inset}
.wv-phone__arrow{position:absolute;top:50%;left:46px;width:0;height:0;margin-top:-2px;
  border-left:4px solid transparent;border-right:4px solid transparent;
  border-top:5px solid #9c2e40;opacity:.75}
.wv-phone__code{position:absolute;top:50%;left:62px;transform:translateY(-50%);
  font-size:16px;color:#9c2e40;pointer-events:none}
.wv-field{width:100%;height:58px;padding:0 24px;font:inherit;font-size:16px;color:#9c2e40;
  background:#fff;border:1px solid #9c2e40;border-radius:50px;outline:none}
.wv-field::placeholder{color:#9c2e40;opacity:.45}
.wv-submit{width:100%;height:60px;font:inherit;font-size:16px;font-weight:600;color:#fff;
  background:#9c2e40;border:0;border-radius:50px;cursor:pointer;transition:opacity .2s}
.wv-submit:hover{opacity:.88}
.wv-note{margin:14px 0 0;font-size:12px;line-height:1.4;color:#9a9a9a;text-align:center}
.wv-note a{color:inherit;text-decoration:underline}
.wv-done{margin:20px 0;font-size:17px;line-height:1.5;color:#2c2c2c;text-align:center}

/* плитки «как с вами связаться» */
.wv-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.wv-tile{position:relative;cursor:pointer}
.wv-tile input{position:absolute;width:1px;height:1px;opacity:0}
.wv-tile__img{display:block;aspect-ratio:1/1;border:1px solid rgba(156,46,64,.10);
  border-radius:10px;background-size:cover;background-position:center}
.wv-tile__text{display:block;margin-top:12px;font-size:15px;font-weight:300;line-height:1.15;
  color:#9c2e40;text-align:center}
.wv-tile input:checked + .wv-tile__img::after{content:'';position:absolute;top:-9px;left:-9px;
  width:26px;height:26px;border-radius:50%;background:#00df0d no-repeat center/13px 10px;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 10'%3E%3Cpath d='M1 5l4 4 7-8' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E")}
@media screen and (max-width:560px){
  .wv-popup__box{padding:28px 22px}
  .wv-popup__title{font-size:26px;margin-bottom:18px}
  .wv-label{font-size:17px}
  .wv-tiles{grid-template-columns:repeat(2,1fr)}
}

/* ссылки внутри текстовых блоков не подчёркиваем — как в исходном дизайне */
.wv-el a{color:inherit;text-decoration:none}
.wv-el .wv-a{background-repeat:no-repeat}
/* картинка подстраивается по ширине блока, пропорция берётся из атрибутов файла */
.wv-el img{max-width:100%;height:auto}

/* ── кнопка: подпись + иконка в одну строку ── */
.wv-el[data-el="button"] > .wv-a{display:flex;flex-direction:row;align-items:center;
  justify-content:center;height:100%;overflow:hidden}
.wv-btn__content{display:flex;flex-direction:row;align-items:center;justify-content:center;
  flex:0 1 auto;min-width:0;gap:8px}
.wv-btn__text{flex:0 1 auto;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.wv-btn__icon{position:relative;flex:0 0 auto;display:block}
.wv-btn__icon::before{content:'';position:absolute;inset:0;background-image:var(--wv-icon,var(--icon,none));
  background-position:center;background-size:contain;background-repeat:no-repeat}
.wv-btn__border{position:absolute;inset:0;border-radius:inherit;pointer-events:none}

/* ── блок отзывов (свой слайдер вместо карусели конструктора) ── */
.wv-reviews__cover{position:relative;min-height:100vh;padding:150px 0 70px;background-size:cover;
  background-position:center;overflow:hidden}
.wv-reviews__filter{position:absolute;inset:0}
.wv-reviews__inner{position:relative;min-height:calc(100vh - 220px);display:flex;flex-direction:column;
  align-items:center;justify-content:flex-start;padding:0 60px;color:#fff;text-align:center}
.wv-reviews__title{margin:0;padding-top:0;font-size:42px;font-weight:600;line-height:1.23;color:#fff}
/* все отзывы лежат в одной ячейке сетки: высота блока — по самому длинному,
   поэтому вёрстка не «прыгает» при перелистывании (так же было в оригинале) */
.wv-reviews__track{flex:1;display:grid;grid-template-areas:'slide';align-items:center;
  justify-items:center;width:100%;max-width:760px}
.wv-review{grid-area:slide;width:100%;opacity:0;visibility:hidden;transition:opacity .45s ease}
.wv-review.is-active{opacity:1;visibility:visible}
.wv-review__ava{width:150px;height:150px;margin:0 auto 30px;border-radius:50%;
  background-size:cover;background-position:center}
.wv-review__text{margin:0 0 30px;font-size:22px;font-weight:300;line-height:1.55}
.wv-review__name{font-size:22px;font-weight:600;line-height:1.35}
.wv-review__role{margin-top:6px;font-size:14px;font-weight:300;line-height:1.55;opacity:.9}
.wv-reviews__arrow{position:absolute;top:50%;width:44px;height:44px;margin-top:-22px;border:0;
  border-radius:50%;background:rgba(255,255,255,.18);cursor:pointer}
.wv-reviews__arrow::before{content:'';position:absolute;top:14px;left:16px;width:12px;height:12px;
  border-left:2px solid #fff;border-bottom:2px solid #fff}
.wv-reviews__arrow_prev{left:0;transform:rotate(45deg)}
.wv-reviews__arrow_next{right:0;transform:rotate(-135deg)}
.wv-reviews__arrow:hover{background:rgba(255,255,255,.3)}
.wv-reviews__dots{display:flex;gap:10px;padding:0 0 40px}
.wv-dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer}
.wv-dot.is-active{background:#fff}
@media screen and (max-width:639px){
  /* на телефоне блок живёт по содержимому: экран целиком под отзыв не отдаём */
  .wv-reviews__cover{min-height:0;padding:46px 0 30px}
  .wv-reviews__inner{min-height:0;padding:0 20px}
  .wv-reviews__title{font-size:28px;margin-bottom:22px}
  /* на телефоне высота блока — по текущему отзыву, а не по самому длинному:
     иначе вокруг короткого отзыва оставалось до 400 px пустоты */
  .wv-reviews__track{flex:0 0 auto;display:block}
  .wv-review{display:none;opacity:1;visibility:visible}
  .wv-review.is-active{display:block}
  .wv-review__text{font-size:17px;margin-bottom:22px}
  .wv-review__name{font-size:19px}
  .wv-review__ava{width:96px;height:96px;margin-bottom:18px}
  .wv-reviews__dots{padding:24px 0 0}
  .wv-reviews__arrow{display:none}
}

/* блоки с собственной разметкой (карта, врезки) — по центру, как на исходном сайте */
.wv-block{max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px;
  display:flex;flex-direction:column;align-items:center;text-align:center}
.wv-block .t-map{max-width:100%}

/* ── «частые вопросы»: ответ раскрывается по клику на вопрос ── */
.wv-acc__head{cursor:pointer}
.wv-acc__body{display:none}
.wv-acc__body.is-open{display:block}

/* поля выбора мессенджера в форме обратного звонка */
.wv-radios{display:flex;flex-wrap:wrap;gap:14px;margin:4px 0 14px;justify-content:center}
.wv-radio{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#5a5a5a;cursor:pointer}
.wv-popup__title{text-align:center}
.wv-done{margin:20px 0;font-size:17px;line-height:1.5;color:#2c2c2c;text-align:center}

/* ── блок «Наши контакты» — 1 в 1 с well-vet.ru/contacts ──
   Карточка на город: адрес, телефон, встроенная карта, ссылка на Яндекс.Карты.
   Кнопок мессенджеров внутри карточек нет (правка А. Петрова 15.09.2026). */
.wv-contacts{max-width:1200px;margin:0 auto;padding:48px 20px}
.wv-contacts__h{margin:0 0 28px;font-size:34px;font-weight:700;line-height:1.2;
  color:#7B1830;text-align:center}
.wv-contacts__grid{display:flex;gap:24px;flex-wrap:wrap}
.wv-city{flex:1 1 380px;display:flex;flex-direction:column;background:#fff;
  border:1px solid #ece6df;border-radius:16px;overflow:hidden;
  box-shadow:0 8px 26px rgba(123,24,48,.06)}
.wv-city__body{padding:22px 24px 18px}
.wv-city__body_foot{padding-top:14px}
.wv-city__name{margin:0 0 14px;font-size:22px;font-weight:700;color:#A9203E}
.wv-city__row{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;
  font-size:15px;line-height:1.4;color:#A9203E}
.wv-city__row svg{flex:none;margin-top:2px}
.wv-city__label{display:block;margin-bottom:1px;font-size:12px;color:#c39aa3}
.wv-city__tel{font-size:17px;font-weight:600;color:#A9203E;text-decoration:none}
.wv-city__note{margin:-4px 0 12px 30px;font-size:13.5px;line-height:1.45;color:#8a6f74}
.wv-city__map{display:block;width:100%;height:260px;border:0}
.wv-city__maplink{display:inline-block;margin:0;font-size:14px;font-weight:600;
  color:#b5485f;text-decoration:none}
.wv-city__maplink:hover{text-decoration:underline}
@media screen and (max-width:760px){
  .wv-contacts__grid{flex-direction:column}
  .wv-contacts__h{font-size:27px}
}

/* ── шапка для телефонов (до 640 px) ──
   Обычная шапка страницы включается только с 640 px, поэтому на узких экранах
   её место занимает эта полоса: логотип и бургер того же меню. */
.wv-mhead{display:none}
@media screen and (max-width:639px){
  body{padding-top:56px}
  .wv-mhead{position:fixed;top:0;left:0;z-index:995;display:flex;align-items:center;
    justify-content:space-between;width:100%;height:56px;padding:0 16px;
    background:#fff;box-shadow:0 1px 10px rgba(0,0,0,.10)}
  .wv-mhead__logo{display:block;line-height:0}
  .wv-mhead__logo img{display:block;width:auto;height:30px}
  .wv-mhead__burger{flex:0 0 auto;width:40px;height:40px;margin-right:-8px;padding:0;border:0;
    cursor:pointer;background:url('/assets/hugeicons_menu-04.svg') no-repeat center/28px 28px}
  .wv-sec{scroll-margin-top:66px}
}

/* ── мобильное меню: выезжающая панель ── */
.wv-menu{position:fixed;top:0;left:0;z-index:1002;display:flex;flex-direction:column;
  width:320px;max-width:86vw;height:100%;padding:26px 24px 30px;overflow-y:auto;
  background:#fff;box-shadow:0 0 40px rgba(0,0,0,.25);
  transform:translateX(-102%);transition:transform .28s ease;visibility:hidden}
.wv-menu.is-open{transform:none;visibility:visible}
.wv-menu__close{position:absolute;top:14px;right:16px;width:34px;height:34px;border:0;
  background:none;font-size:32px;line-height:1;color:#9c2e40;cursor:pointer}
.wv-menu__logo{width:150px;height:auto;margin-bottom:26px}
.wv-menu__nav{display:flex;flex-direction:column;gap:2px;margin-bottom:26px}
.wv-menu__link{padding:11px 0;font-size:17px;line-height:1.3;color:#9c2e40;
  border-bottom:1px solid rgba(156,46,64,.12);text-decoration:none}
.wv-menu__link:last-child{border-bottom:0}
.wv-menu__cta{display:flex;flex-direction:column;gap:10px;margin-top:auto}
.wv-menu__btn{display:block;padding:13px 16px;font-size:15px;font-weight:600;line-height:1.2;
  color:#fff;text-align:center;text-decoration:none;border-radius:30px;background:#9c2e40}
.wv-menu__btn.maxbutton2{background:linear-gradient(0.063turn,#45cdff 6%,#4962e2 50%,#9933dd 90%)}
.wv-menu__btn.vkbutton2{background:#2f78f7}
.wv-menu__btn.tgbutton2{background:#28a8e9}
.wv-menu__btn.wupbutton2{background:#25d366}
.wv-menu-overlay{position:fixed;inset:0;z-index:1001;background:rgba(0,0,0,.5);display:none}
.wv-menu-overlay.is-open{display:block}
.wv-sec{scroll-margin-top:90px}
html{scroll-behavior:smooth}

/* смысловые заголовки не должны менять вид: убираем браузерные отступы */
.wv-h{margin:0;font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit}
