/* ==========================================================================
   modern.css — Полировка стилистики ЧОО «Арбат» (audit-design.md)
   Подключается ПОСЛЕ style.css. Только CSS, обратимо: удалить файл/ссылку —
   вернётся исходный дизайн. Структура/сетка/контент не меняются.
   Дата: 2026-09-07 · Версия: 20260907
   ========================================================================== */

/* ---- Токены ---- */
:root{
  --c-cta:        #ea8125;      /* единственный акцент действий */
  --c-cta-hover:  #c96a0c;
  --c-primary:    #2087b8;      /* вторичный (навигация/ссылки) */
  --c-primary-dark:#0a68b1;
  --c-ink:        #3b3d42;      /* заголовки */
  --c-text:       #5d5d5d;
  --c-line:       #ededed;
  --c-bg-soft:    #f7f7f7;
  --c-ink-dark:   #2b2d32;      /* футер */
  --r-sm:         6px;
  --r-md:         10px;
  --shadow-card:  0 1px 2px rgba(15,23,42,.05), 0 10px 24px rgba(15,23,42,.08);
  --shadow-float: 0 8px 22px rgba(15,23,42,.16);
  --ease:         cubic-bezier(.2,.8,.2,1);
}

/* ---- Базовая типографика: сглаживание и размер ---- */
html{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
body{
  font-size: 16px;               /* было 14px — лучше читается */
  letter-spacing: .1px;
  background: #fff;
}

/* Мягкий переход ссылок и элементов интерфейса */
a{ transition: color .2s ease; }

/* ---- Focus-состояния (доступность) ---- */
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible{
  outline: 2px solid var(--c-primary-dark);
  outline-offset: 2px;
  border-radius: 2px;
}

/* ---- Кнопки: единый акцент, радиус, микро-интеракции ---- */
.button{
  border-radius: var(--r-sm);
  font-weight: 600;
  letter-spacing: .3px;
  transition-property: background-color, border-color, color, transform, box-shadow;
  transition-duration: .2s, .2s, .2s, .12s, .2s;
  transition-timing-function: ease-out, ease-out, ease-out, ease-out, ease-out;
  will-change: transform;
}
/* Единый бренд-оранжевый для всех CTA (было: #ea8125/#d1792c/#f79800/.btn_blue) */
.btn-primary,
.button.btn_blue,
input[type="submit"].button,
.modal-form .button{
  background: var(--c-cta);
  border-color: var(--c-cta);
}
.btn-primary:hover, .btn-primary:focus,
.button.btn_blue:hover, .button.btn_blue:focus,
input[type="submit"].button:hover, input[type="submit"].button:focus,
.modal-form .button:hover, .modal-form .button:focus{
  background: var(--c-cta-hover);
  border-color: var(--c-cta-hover);
  color: #fff;
}
.button:hover{
  transform: translateY(-1px);
  box-shadow: var(--shadow-float);
}
.button:active{
  transform: scale(.98);
  box-shadow: none;
}

/* ---- Секционные заголовки: современная акцентная черта вместо пунктира ---- */
.section-title h2{
  letter-spacing: 1.5px;
}
.section-title h2 span{
  border-bottom: 0 !important;          /* убрать пунктир из темы */
  padding-bottom: 2px;
  position: relative;
}
.section-title h2 span::after{
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  margin: 12px auto 0;
  background: var(--c-cta);
  border-radius: 99px;
}

/* ---- Цифры телефонов: не «прыгают» (tabular-nums) ---- */
.main-phone, .main-phone a, .call-us, a[href^="tel:"],
.footer a[href^="tel:"], .footer .phone, .price{ font-variant-numeric: tabular-nums; }

/* ---- Карточки/изображения: мягкие тени и тонкая обводка ---- */
.thumbnail{
  border-radius: var(--r-md);
  box-shadow: var(--shadow-card);
  transition: transform .2s var(--ease), box-shadow .2s var(--ease);
}
.thumbnail, .news-row img, .welcome-message img, .dentist img{
  outline: 1px solid rgba(15,23,42,.06);
  outline-offset: -1px;
}
a.thank_you_letter:hover .thumbnail,
.news-row a:hover img,
.dentist a:hover img{
  transform: translateY(-3px);
  box-shadow: var(--shadow-float);
}
/* Лёгкая тень информационным плашкам */
.reviews-block, .latest-news, .welcome-message, .home_maps{
  border-radius: var(--r-md);
}

/* ---- Модальные окна (заказ звонка / заявка): аккуратная карточка ---- */
.modal .modal-content{
  border-radius: var(--r-md);
  box-shadow: 0 20px 60px rgba(15,23,42,.28);
  overflow: hidden;
}
.modal .modal-header{
  border-bottom: 1px solid var(--c-line);
}
.modal .modal-header h3{
  letter-spacing: .3px;
  margin: 0;
}
.close-modal{
  border-radius: 50%;
  width: 30px;
  height: 30px;
  line-height: 28px;
  text-align: center;
  transition: background-color .2s ease, transform .12s ease;
}
.close-modal:hover{ background: var(--c-bg-soft); }
.close-modal:active{ transform: scale(.9); }
/* Поля форм */
.modal .inputtext input,
.modal input[type="text"], .modal input[type="tel"], .modal input[type="email"]{
  border-radius: var(--r-sm);
  border: 1px solid #d7dbe1;
  padding: 11px 14px;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.modal .inputtext input:focus,
.modal input[type="text"]:focus, .modal input[type="tel"]:focus, .modal input[type="email"]:focus{
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px rgba(32,135,184,.15);
}

/* ---- Cookie-баннер: в палитру сайта (перекрытие инлайн-стилей) ---- */
#cookie-consent-banner{
  background: var(--c-ink-dark) !important;
  font-size: 13px !important;
  line-height: 1.5;
  box-shadow: 0 -6px 20px rgba(15,23,42,.15);
}
#cookie-consent-banner a{ color: #6fc2ea !important; }
#cookie-consent-banner button{
  border-radius: var(--r-sm) !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background-color .2s ease, transform .12s ease;
}
#cookie-consent-banner button:first-of-type{
  background: var(--c-cta) !important;
  border: 1px solid var(--c-cta);
}
#cookie-consent-banner button:first-of-type:hover{ background: var(--c-cta-hover) !important; }
#cookie-consent-banner button:last-of-type{
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.55);
  color: #fff !important;
}
#cookie-consent-banner button:last-of-type:hover{ background: rgba(255,255,255,.12) !important; }
#cookie-consent-banner button:active{ transform: scale(.98); }

/* ---- Слайдер Swiper: аккуратные стрелки/пагинация ---- */
.swiper-button-next, .swiper-button-prev{
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(15,23,42,.35);
  color: #fff;
  transition: background-color .2s ease, transform .12s ease;
}
.swiper-button-next::after, .swiper-button-prev::after{
  font-size: 18px;
}
.swiper-button-next:hover, .swiper-button-prev:hover{ background: rgba(15,23,42,.6); }
.swiper-button-next:active, .swiper-button-prev:active{ transform: scale(.92); }
.swiper-pagination-bullet{
  background: #fff;
  opacity: .6;
  box-shadow: 0 0 0 1px rgba(15,23,42,.2);
}
.swiper-pagination-bullet-active{
  background: var(--c-cta);
  opacity: 1;
  width: 22px;
  border-radius: 99px;
}

/* ---- Уважение к prefers-reduced-motion ---- */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .button:hover{ transform: none; }
}

/* Heading-order fix: news */
.latest-news h3{font-size:1em;font-weight:bold;margin-bottom:0px;}
