/* ═══════════ Общие компоненты подстраниц + дропдауны шапки ═══════════ */

/* ─── Дропдаун-меню в шапке ─── */
.hdr__nav{position:relative}
.hdr__ditem{position:relative;display:flex;align-items:center}
.hdr__menu{position:absolute;top:100%;left:-14px;min-width:230px;padding:10px;margin-top:10px;
  background:#fff;border-radius:14px;box-shadow:0 18px 44px rgba(40,25,70,.28);
  opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:1200}
.hdr__ditem:hover .hdr__menu,.hdr__ditem:focus-within .hdr__menu{opacity:1;visibility:visible;transform:translateY(0)}
.hdr__menu::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}
.hdr__menu a{display:block;white-space:nowrap;font-size:15px;font-weight:500;color:#4a4570;
  padding:9px 16px;border-radius:9px;text-decoration:none;transition:background .15s,color .15s}
.hdr__menu a:hover{background:var(--lav);color:var(--purple)}

/* ─── Хлеб-крошки + герой подстраницы (баннер с фото) ─── */
.subhero{padding:22px 0 8px}
.crumbs{font-size:14px;color:#8a86a0;margin-bottom:14px}
.crumbs a{color:#8a86a0}
.crumbs a:hover{color:var(--purple)}
.crumbs span{color:#4a4570}
.subhero__card{position:relative;overflow:hidden;border-radius:30px;min-height:300px;color:#fff;
  display:flex;align-items:center;
  background:linear-gradient(100deg,rgba(40,28,66,.34) 0%,rgba(40,28,66,.08) 45%,rgba(40,28,66,0) 62%),
    url('../img/banner-bg.jpg') center/cover no-repeat #4a4a80;
  box-shadow:0 24px 60px rgba(70,50,120,.22)}
/* лёгкое мерцание звёзд */
.subhero__card::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:screen;
  background-image:radial-gradient(1.6px 1.6px at 62% 20%,rgba(255,255,255,.9),transparent),radial-gradient(1.8px 1.8px at 80% 55%,rgba(220,245,255,.85),transparent),radial-gradient(1.5px 1.5px at 70% 35%,rgba(255,255,255,.8),transparent),radial-gradient(1.4px 1.4px at 88% 24%,rgba(220,245,255,.75),transparent)}
.subhero__body{position:relative;z-index:2;padding:48px 56px;max-width:760px}
.subhero__title{font-size:clamp(28px,3.6vw,42px);font-weight:800;line-height:1.1;margin:0 0 18px;
  text-shadow:0 3px 16px rgba(30,18,55,.35)}
.subhero__text{font-size:18px;font-weight:300;line-height:1.45;margin-bottom:28px;max-width:560px;color:rgba(255,255,255,.94)}
.subhero__cta{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 40px;border-radius:16px;
  color:#fff;font-size:17px;letter-spacing:.3px;
  background:linear-gradient(to right,#3d3d61 0%,#7f6bad 25%,#4fbbc1 50%,#7a6bae 55%,#4e4661 100%);
  background-size:200% 100%;box-shadow:0 0 6px 1px rgba(27,64,115,.4);animation:btnshine 4s ease-in-out infinite;
  transition:transform .2s,box-shadow .2s}
.subhero__cta:hover{transform:translateY(-2px);box-shadow:0 6px 18px 1px rgba(27,64,115,.55);animation-duration:1.6s}
.subhero__cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.subhero__cta--ghost{background:none;color:#fff;border:2px solid rgba(255,255,255,.55);box-shadow:none;animation:none}
.subhero__cta--ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;box-shadow:none}
/* Прайс-секция на страницах услуг */
.svc-price{padding:8px 0 20px}
.svc-price__h{font-size:28px;color:#4a3f72;margin:0 0 18px;font-weight:700}
.svc-price .price__table{border-radius:14px;overflow:hidden;box-shadow:0 6px 22px rgba(74,63,114,.1)}
.svc-price__note{color:#5a5570;font-size:17px;line-height:1.5;margin:0 0 18px;max-width:640px}
.svc-price__more{display:inline-flex;align-items:center;gap:6px;margin-top:18px;color:#7a64a9;font-weight:600;font-size:17px}
.svc-price__more:hover{color:#4a3f72}
@media(max-width:560px){.svc-price__h{font-size:22px}}
/* FAQ на страницах услуг */
.svc-faq{padding:10px 0 40px}
.svc-faq__h{font-size:28px;color:#4a3f72;margin:0 0 6px;font-weight:700}
@media(max-width:560px){.svc-faq__h{font-size:22px}}
/* Мед-авторство (E-E-A-T) на страницах услуг */
.svc-author{padding:6px 0 18px}
.svc-author__box{display:flex;align-items:center;gap:16px;background:#f4f3f9;border:1px solid #e4def4;border-left:4px solid #48bcbd;border-radius:14px;padding:16px 22px}
.svc-author__ico{flex-shrink:0;color:#48bcbd}
.svc-author__txt{margin:0;font-size:15.5px;line-height:1.5;color:#5a5570}
.svc-author__label{display:block;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:#8f8aa8;margin-bottom:2px}
.svc-author__name{color:#4a3f72;font-weight:700;text-decoration:none;margin-right:5px}
.svc-author__name:hover{text-decoration:underline}
.svc-author__role{color:#5a5570}
@media(max-width:560px){.svc-author__box{gap:12px;padding:14px 16px}.svc-author__txt{font-size:14px}}
/* Официальный бейдж «Хорошее место» (Яндекс.Справочник, type=award) */
.reviews__stats{flex-wrap:wrap}
.ymbadge{border:0;vertical-align:middle}
.ymbadge-wrap{width:100%;text-align:center;margin-top:14px}

/* ─── Контент-блок: бирюзовая плашка-заголовок + текст ─── */
.block{padding:20px 0}
.block__plate{display:flex;align-items:center;justify-content:center;gap:14px;width:max-content;max-width:100%;
  margin:0 auto 20px;padding:14px 40px;border-radius:100px;
  background:linear-gradient(120deg,#e7f6f5,#eef0f8 55%,#efe9f7);
  color:#7a64a9;font-size:26px;font-weight:700;box-shadow:0 8px 24px rgba(70,50,120,.12)}
.block__plate--teal{background:#48bcbd;color:#fff}
.block__body{background:#efecf8;border-radius:20px;padding:30px 36px;box-shadow:0 12px 34px rgba(70,50,120,.08)}
.block__body p{font-size:17px;line-height:1.6;color:#4a4570;margin-bottom:14px}
.block__body p:last-child{margin-bottom:0}
.block__body ul{margin:8px 0 14px;padding-left:22px}
.block__body li{font-size:17px;line-height:1.55;color:#4a4570;margin-bottom:8px}
.block__body b{color:#2b2740}

/* ─── Пилюли-навигация по разделам услуг ─── */
.pills{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:20px 0}
.pills a{font-size:15px;font-weight:500;color:#7a64a9;background:#e4e0f2;border-radius:100px;padding:10px 22px;
  transition:background .18s,color .18s,transform .18s}
.pills a:hover{background:var(--purple);color:#fff;transform:translateY(-2px)}
.pills a.is-active{background:var(--purple);color:#fff}

/* ─── Таблица «реквизиты» (ключ-значение) ─── */
.reqtable{width:100%;border-collapse:collapse;border-radius:14px;overflow:hidden;
  box-shadow:0 12px 34px rgba(70,50,120,.10)}
.reqtable td{padding:14px 24px;font-size:16px;color:#4a4570;vertical-align:top;line-height:1.4}
.reqtable tr:nth-child(odd){background:#fff}
.reqtable tr:nth-child(even){background:#dad8ee}
.reqtable td:first-child{color:#7a64a9;font-weight:500;width:38%}

/* ─── Ссылка на документ (PDF) ─── */
.doclink{display:inline-flex;align-items:center;gap:12px;font-size:16px;color:#7a64a9;font-weight:500;
  padding:12px 0;transition:color .15s}
.doclink:hover{color:var(--teal-d)}
.doclink svg{flex-shrink:0;color:var(--teal)}
.doclist{display:flex;flex-direction:column;gap:2px;align-items:center;margin:8px 0}

/* ─── Простая проза-страница (политика, оферта) ─── */
.prose{max-width:900px;margin:0 auto;padding:8px 0 20px}
.prose h2{font-size:24px;color:#2b2740;margin:26px 0 12px}
.prose h3{font-size:19px;color:#4a4570;margin:20px 0 10px}
.prose p{font-size:16px;line-height:1.65;color:#4a4570;margin-bottom:14px}
.prose ul,.prose ol{margin:8px 0 16px;padding-left:24px}
.prose li{font-size:16px;line-height:1.6;color:#4a4570;margin-bottom:8px}
.prose a{color:var(--purple);text-decoration:underline}

/* ─── 404 ─── */
.p404{text-align:center;padding:80px 0 100px}
.p404__code{font-size:clamp(90px,16vw,180px);font-weight:800;line-height:1;
  background:linear-gradient(120deg,var(--teal),var(--purple));-webkit-background-clip:text;background-clip:text;color:transparent}
.p404__title{font-size:28px;font-weight:700;color:#2b2740;margin:10px 0 14px}
.p404__text{font-size:18px;color:#6f6a84;margin-bottom:28px}

/* ─── Онлайн-сервисы: сетка кнопок ─── */
.oservices{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:16px 0}
.oservice{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;
  background:linear-gradient(160deg,#8574b8,#6a5896);color:#fff;border-radius:20px;padding:34px 26px;
  box-shadow:0 16px 40px rgba(70,50,120,.16);transition:transform .2s,box-shadow .2s}
.oservice:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(70,50,120,.24)}
.oservice__ico{width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.16);
  display:flex;align-items:center;justify-content:center}
.oservice__ico svg{color:#8ce6e7}
.oservice h3{font-size:20px;font-weight:600}
.oservice p{font-size:15px;color:rgba(255,255,255,.85);line-height:1.4}

/* Подсветка активного пункта меню */
.hdr__nav a.is-active{font-weight:700}
/* Ссылка в копирайте подвала */
.foot__copy a{color:inherit;text-decoration:underline}
.foot__copy a:hover{color:#fff}

/* ─── Мобильное меню (бургер) ─── */
@media(max-width:980px){
  body.nav-open .hdr__nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px;
    position:absolute;top:72px;left:0;right:0;background:#6b5993;padding:16px 24px 22px;
    box-shadow:0 14px 30px rgba(0,0,0,.35);max-height:calc(100vh - 72px);overflow-y:auto}
  body.nav-open .hdr__ditem{flex-direction:column;align-items:flex-start;width:100%}
  body.nav-open .hdr__menu{display:flex;flex-direction:column;background:transparent}
  body.nav-open .hdr__menu a{color:rgba(255,255,255,.85);padding:7px 14px}
  body.nav-open .hdr__menu a:hover{background:rgba(255,255,255,.12);color:#fff}
}

/* ─── Адаптив подстраниц ─── */
@media(max-width:980px){
  .hdr__menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;
    min-width:0;padding:0 0 0 14px;margin:0;display:none}
  .subhero__card{grid-template-columns:1fr}
  .subhero__media{min-height:220px;order:-1}
  .subhero__body{padding:30px 24px}
  .oservices{grid-template-columns:1fr}
  .block__plate{font-size:20px;padding:12px 24px}
  .block__body{padding:22px 20px}
  .reqtable td{padding:11px 14px;font-size:14px}
  .booking__content--wide{max-width:none}
  .docform .df-row{grid-template-columns:1fr}
}

/* Плейсхолдер фото для карточки услуги без своего изображения (напр. Рентген-КТ) */
.cat__photo--ph{display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#6b5993 0%,#48bcbd 100%);color:rgba(255,255,255,.9)}

/* ─── Спец-формы документов (письмо директору / выписка / налоговый вычет) ─── */
.booking__content--wide{max-width:880px}
.docform{margin-top:4px}
.docform .df-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.df-field{margin-bottom:14px}
.df-field--full{grid-column:1 / -1}
.df-label{display:block;font-size:14px;font-weight:500;color:#fff;margin-bottom:6px}
.df-label .req{color:#8ce6e7}
.df-input,.df-select,.df-textarea{display:block;width:100%;height:52px;border-radius:14px;border:none;
  background:rgba(255,255,255,.94);color:#2b2740;font-family:inherit;font-size:16px;padding:0 16px;outline:none;
  box-shadow:0 8px 22px rgba(30,18,55,.14);transition:background .18s,box-shadow .18s}
.df-textarea{height:auto;min-height:112px;padding:14px 16px;resize:vertical;line-height:1.5}
.df-input::placeholder,.df-textarea::placeholder{color:#9a96ad}
.df-input:focus,.df-select:focus,.df-textarea:focus{background:#fff;box-shadow:0 8px 26px rgba(30,18,55,.28)}
.df-select{-webkit-appearance:none;appearance:none;cursor:pointer;padding-right:42px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237a64a9' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 16px center}
.df-invalid{box-shadow:0 0 0 2px #ff8f8f!important}
.df-fieldset{border:none;padding:0;margin:0 0 14px}
.df-legend{font-size:14px;font-weight:500;color:#fff;margin:0 0 8px;padding:0}
.df-choices{display:flex;flex-wrap:wrap;gap:10px}
.df-choice input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.df-choice span{display:inline-block;padding:9px 18px;border-radius:12px;background:rgba(255,255,255,.16);
  border:1.5px solid rgba(255,255,255,.34);color:#fff;font-size:15px;cursor:pointer;transition:.15s}
.df-choice span:hover{background:rgba(255,255,255,.26)}
.df-choice input:checked+span{background:#8ce6e7;border-color:#8ce6e7;color:#123}
.df-choice input:focus-visible+span{outline:2px solid #fff;outline-offset:2px}
.df-file{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.df-file__btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:12px;cursor:pointer;
  background:rgba(255,255,255,.16);border:1.5px dashed rgba(255,255,255,.5);color:#fff;font-size:15px;transition:.15s}
.df-file__btn:hover{background:rgba(255,255,255,.26)}
.df-file input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.df-file__name{font-size:14px;color:rgba(255,255,255,.82)}
.df-hint{font-size:13px;color:rgba(255,255,255,.66);margin:-6px 0 14px}
.df-ok{font-size:16px;font-weight:600;color:#bff0f1;margin-top:16px}
.docform .booking__btn{margin-top:6px}
