/* Раздел «Долгожители» на aimedclinic.ru. Дополняет общий /css/style.css (его не меняем).
   Всё в пределах классов dlg-*; читаемость для 50+: основной текст 17–18 px, кнопки ≥ 48 px. */

.dlg{ font-size: 17.5px; }
.dlg p, .dlg li{ line-height: 1.65; }
.dlg-narrow{ max-width: 860px; }
.dlg-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.dlg [id]{ scroll-margin-top: 120px; }
#svyaz{ scroll-margin-top: 120px; }

/* навигация раздела под шапкой сайта */
.dlg-subnav{ background:#fff; border-bottom:1px solid var(--color-border); }
.dlg-subnav .container{ display:flex; gap:6px 22px; align-items:center; overflow-x:auto; white-space:nowrap; scrollbar-width:none; padding-top:2px; padding-bottom:2px; }
.dlg-subnav .container::-webkit-scrollbar{ display:none; }
.dlg-subnav a{ font-weight:700; font-size:15.5px; color:var(--color-primary-dark); padding:12px 0; border-bottom:3px solid transparent; }
.dlg-subnav a:first-child{ color:var(--color-accent-dark); }
.dlg-subnav a[aria-current]{ border-bottom-color:var(--color-primary); }
.dlg-subnav-phone{ margin-left:auto; display:none; }
@media (min-width: 900px){ .dlg-subnav-phone{ display:inline; } }

/* хлебные крошки и первый экран */
.dlg-crumbs{ font-size:14.5px; color:var(--color-text-muted); margin:0 0 10px; }
.dlg-crumbs a{ color:var(--color-text-muted); text-decoration:underline; text-underline-offset:2px; }
.dlg-lead{ font-size:19px; color:var(--color-text); }
.dlg-h1-kicker{ display:block; font-family:var(--font-body); font-size:17px; font-weight:700; color:var(--color-accent-dark); margin-bottom:8px; line-height:1.4; }
.dlg-hero-in{ display:grid; gap:28px; align-items:center; }
@media (min-width: 900px){ .dlg-hero-in{ grid-template-columns: 1.1fr .9fr; } }
@media (max-width: 899px){ .dlg-hero-photo{ display:none; } }

/* кнопки: «Позвонить» и «Написать в MAX» */
.dlg-btns{ display:flex; flex-wrap:wrap; gap:12px; margin:18px 0 10px; }
.dlg-btns .btn{ min-height:52px; font-size:16.5px; justify-content:center; }
@media (max-width: 600px){ .dlg-btns .btn{ width:100%; } }

/* фото и видео — скруглённые */
.dlg-photo{ margin:24px 0; }
.dlg-photo img{ width:100%; height:auto; border-radius:var(--radius-m); }
.dlg-photo figcaption, .dlg-video figcaption{ font-size:14.5px; color:var(--color-text-muted); margin-top:8px; }
.dlg-hero-photo img{ aspect-ratio: 4/3; object-fit: cover; }
.dlg-portrait{ max-width:380px; margin:0 auto; }
.dlg-video{ margin:0; }
.dlg-video video{ width:100%; height:auto; aspect-ratio:1/1; border-radius:var(--radius-m); background:#1f2e2e; }
.dlg-article .dlg-video{ margin:26px auto; max-width:520px; }
.dlg-two{ display:grid; gap:32px; align-items:center; }
@media (min-width: 900px){ .dlg-two{ grid-template-columns:1fr 1fr; } .dlg-two--photo{ grid-template-columns:.8fr 1.2fr; } }
.dlg-role{ font-weight:700; color:var(--color-primary-dark); }

/* карусель баннеров (по образцу мини-приложения: scroll-snap, точки, стрелки на ПК, по кругу) */
.dlg-sec{ padding:48px 0; }
.dlg-carousel{ display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; margin:0 -24px 6px; padding:2px 24px 10px;
  scroll-padding:0 24px; -webkit-overflow-scrolling:touch; scrollbar-width:none; overscroll-behavior-x:contain; }
.dlg-carousel::-webkit-scrollbar{ display:none; }
.dlg-banner{ flex:0 0 84%; max-width:400px; scroll-snap-align:start; min-height:180px; display:flex; flex-direction:column;
  justify-content:space-between; gap:14px; padding:22px; border-radius:var(--radius-m); color:var(--color-text);
  box-shadow:var(--shadow-card); transition:transform .15s ease, box-shadow .15s ease; }
.dlg-banner:hover{ transform:translateY(-2px); box-shadow:var(--shadow-card-hover); }
.dlg-banner b{ font-family:var(--font-display); font-size:21px; line-height:1.3; color:var(--color-primary-dark); }
.dlg-pill{ align-self:flex-start; font-size:15px; font-weight:700; padding:7px 14px; border-radius:999px; background:#fff; color:var(--color-accent-dark); }
.dlg-tile1{ background:#d9f5f4; } .dlg-tile2{ background:#f6e6dc; } .dlg-tile3{ background:#e6eef5; }
.dlg-tile4{ background:#eef4f4; } .dlg-tile5{ background:#f3ede4; } .dlg-tile6{ background:#e3f0ea; }
@media (min-width: 900px){ .dlg-banner{ flex-basis:calc((100% - 32px)/3); } }
.dlg-car-nav{ display:flex; align-items:center; justify-content:center; gap:4px; margin-top:6px; }
.dlg-car-dot{ width:32px; height:32px; border:none; background:transparent; padding:0; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.dlg-car-dot::after{ content:""; width:9px; height:9px; border-radius:50%; background:#bcd3d1; }
.dlg-car-dot.on::after{ background:var(--color-primary); width:22px; border-radius:5px; }
.dlg-car-arrow{ display:none; width:48px; height:48px; border-radius:50%; border:1.5px solid var(--color-border); background:#fff;
  color:var(--color-primary-dark); font-size:24px; font-weight:800; cursor:pointer; line-height:1; }
.dlg-car-arrow:hover{ border-color:var(--color-primary); }
@media (hover:hover) and (pointer:fine){ .dlg-car-arrow{ display:inline-flex; align-items:center; justify-content:center; } }

/* карточки, цены, шаги */
.dlg-cards{ margin:18px 0; }
.dlg-card{ display:block; color:inherit; }
.dlg-card h3{ color:var(--color-primary-dark); }
.dlg-card p{ font-size:15.5px; }
.dlg-more{ margin-top:20px; font-size:17px; }
.dlg-prices .card{ display:flex; flex-direction:column; gap:4px; }
.dlg-price{ font-family:var(--font-display); font-weight:700; font-size:24px; color:var(--color-primary-dark) !important; margin:8px 0 0 !important; }
.dlg-price-accent{ border:2px solid var(--color-primary); }
.dlg .step h3{ font-size:18px; margin-bottom:4px; }
.dlg .step p{ margin:0; color:var(--color-text-muted); font-size:16px; }

/* статья */
.dlg-article{ padding-top:36px; }
.dlg-article h2{ margin-top:38px; }
.dlg-article h3{ margin-top:24px; font-size:20px; }
.dlg-list{ margin:0 0 1em; padding-left:1.3em; }
.dlg ul.dlg-list{ list-style:disc; } .dlg ol.dlg-list{ list-style:decimal; }
.dlg-list li{ margin-bottom:.45em; }
.dlg-note{ background:var(--color-primary-light); border-left:5px solid var(--color-primary); border-radius:12px; padding:16px 20px; margin:22px 0; }
.dlg-note p{ margin:0; }
.dlg-source{ border-top:1px dashed var(--color-border); padding-top:8px; }
.dlg-toc{ background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-m); margin:0 0 26px; }
.dlg-toc summary{ cursor:pointer; font-weight:700; padding:14px 44px 14px 20px; list-style:none; position:relative; color:var(--color-primary-dark); }
.dlg-toc summary::-webkit-details-marker{ display:none; }
.dlg-toc summary::after{ content:"▾"; position:absolute; right:18px; top:13px; color:var(--color-primary); }
.dlg-toc[open] summary::after{ content:"▴"; }
.dlg-toc nav{ padding:0 20px 14px; }
.dlg-toc ol{ margin:0; padding-left:1.3em; list-style:decimal; }
.dlg-toc a{ color:var(--color-primary-dark); text-decoration:underline; text-underline-offset:2px; }
.dlg-cta{ margin:32px 0; padding:28px 32px; }
.dlg-cta-text{ color:#fff !important; font-weight:700; font-size:18px; margin:0 0 6px !important; }
.dlg-cta-hours{ font-size:14.5px; }
.dlg-cta .dlg-btns{ margin:0; }
.dlg-cta .btn-outline{ color:#fff; }
.dlg-faq{ margin-top:14px; }
.dlg-related{ margin-top:36px; padding:20px 24px; background:var(--color-bg-alt); border-radius:var(--radius-m); }
.dlg-related h2{ font-size:22px; margin:0 0 8px; }
.dlg-related ul{ list-style:disc; padding-left:1.2em; }
.dlg-related li{ margin-bottom:4px; }

/* таблицы (цены, сравнение) — на телефоне строки превращаются в карточки */
.dlg-tbl{ overflow-x:auto; margin:18px 0; }
.dlg-tbl table{ border-collapse:collapse; width:100%; font-size:16px; background:#fff; }
.dlg-tbl th, .dlg-tbl td{ border:1px solid var(--color-border); padding:11px 12px; text-align:left; vertical-align:top; }
.dlg-tbl thead th{ background:var(--color-bg-alt); color:var(--color-primary-dark); }
.dlg-tbl td:last-child{ font-weight:700; color:var(--color-primary-dark); }
@media (max-width: 620px){
  .dlg-tbl table, .dlg-tbl tbody, .dlg-tbl tr, .dlg-tbl th, .dlg-tbl td{ display:block; width:100%; }
  .dlg-tbl thead{ position:absolute; left:-9999px; }
  .dlg-tbl tr{ border:1px solid var(--color-border); border-radius:14px; margin:0 0 12px; overflow:hidden; }
  .dlg-tbl th[scope=row]{ background:var(--color-bg-alt); border:0; }
  .dlg-tbl td{ border:0; border-top:1px solid #eef4f4; }
  .dlg-tbl td[data-label]:not([data-label=""])::before{ content:attr(data-label); display:block; font-size:13.5px; color:var(--color-text-muted); font-weight:700; }
}

/* блок связи внизу страниц */
.dlg-contact{ padding:48px 0; }
.dlg-contact-in{ display:grid; gap:24px; }
@media (min-width: 900px){ .dlg-contact-in{ grid-template-columns:1.3fr .7fr; align-items:center; } }
.dlg-contact p{ font-size:17px; }
.dlg-hours{ background:#fff; border-radius:12px; padding:12px 16px; }

/* нижняя панель на телефоне: две кнопки «Долгожителей» вместо общей плавающей кнопки клиники */
.dlg-mbar{ position:fixed; left:0; right:0; bottom:0; z-index:240; display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:8px;
  background:#fff; border-top:1px solid var(--color-border); box-shadow:0 -6px 18px rgba(7,94,94,.08); }
.dlg-mbar a{ min-height:48px; display:flex; align-items:center; justify-content:center; border-radius:999px; font-weight:800; font-size:16px;
  background:var(--color-accent); color:#fff; }
.dlg-mbar a + a{ background:var(--color-primary-light); color:var(--color-primary-dark); }
@media (max-width: 899px){
  body.dlg-page{ padding-bottom:66px; }
  body.dlg-page .floating-contact{ display:none; }
  body.dlg-page .cookie-banner{ bottom:72px !important; max-height:calc(100vh - 88px) !important; }
}
@media (min-width: 900px){ .dlg-mbar{ display:none; } }

/* 10.10: онлайн-запись к гериатру и форма заявки внизу каждой страницы раздела */
.dlg-book, .dlg-lead-form{ padding:40px 0; }
.dlg-book{ background:var(--color-primary-light); }
.dlg-narrow{ max-width:720px; }
.dlg-book h2, .dlg-lead-form h2{ margin:0 0 10px; }
.dlg-book h3{ margin:24px 0 6px; font-size:18px; }
.dlg-book-lead{ font-size:15.5px; line-height:1.55; margin:0 0 8px; }
.dlg-book-note{ font-size:14px; color:var(--color-text-muted); margin:0 0 6px; }
.dlg-lead-form select{ width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid var(--color-border); border-radius:var(--radius-s); font:inherit; background:#fff; }
.dlg-lead-form .zapis-form{ position:relative; }
