/* ---- Шрифты лежат локально (21.09.2026): к серверам Google сайт не обращается — так и написано в Datenschutz.
   Cormorant Garamond и Jost — вариативные, лицензия SIL OFL 1.1 (assets/fonts/OFL.txt). Поднаборы latin и latin-ext. ---- */
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 400 500; font-display: swap; src: url('/assets/fonts/cormorant-garamond-italic-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 400 500; font-display: swap; src: url('/assets/fonts/cormorant-garamond-italic-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400 600; font-display: swap; src: url('/assets/fonts/cormorant-garamond-normal-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400 600; font-display: swap; src: url('/assets/fonts/cormorant-garamond-normal-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 300 600; font-display: swap; src: url('/assets/fonts/jost-normal-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 300 600; font-display: swap; src: url('/assets/fonts/jost-normal-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ============================================================
   Clinica Bellarte — shared styles
   Design tokens ported from the Claude Design source.
   (Reveal-on-scroll animation intentionally removed so the
    preview and the live browser always render identically.)
   ============================================================ */

:root {
  --cb-bg:        #F6F2EA;
  --cb-bg-alt:    #EFE8DA;
  --cb-card:      #FBF9F4;
  --cb-ink:       #2A2722;
  --cb-ink-2:     #211E1A;
  --cb-muted:     #6E6558;
  --cb-muted-2:   #8B8071;
  --cb-gold:      #A6874E;
  --cb-gold-soft: #A6874E;
  --cb-gold-text: #80632A;   /* мелкий золотой текст (≤14 px) на светлом фоне: то же золото темнее, контраст ≥4,6:1 (WCAG AA); на тёмных блоках переопределяется на --cb-gold */
  --cb-muted-text: #6E6558;  /* мелкие серые подписи: цвет абзацев, контраст ≥4,7:1 */
  --serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans:  'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--cb-bg);
  color: var(--cb-ink);
  font-family: var(--sans);
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
}

/* height: auto — пара к атрибутам width/height у каждого <img> (tools/perf/img_dims.py, 22.09.2026): атрибут height действует как CSS-высота,
   и картинки с шириной из CSS (width: 100% + aspect-ratio) вытянулись бы до «родных» пикселей. Селектор самый слабый:
   любое правило с классом и любой инлайн-стиль его перекрывают, поэтому заданные высоты (54px, 100%, …) не затронуты. */
img { max-width: 100%; height: auto; }

a { color: var(--cb-ink); text-decoration: none; }
a:hover { color: var(--cb-gold); }

/* ---- responsive helpers ---- */
@media (max-width: 899px) { .cb-desktop { display: none !important; } }
@media (min-width: 900px) { .cb-mobile  { display: none !important; } }
@media (max-width: 899px) { .cb-pad { padding-left: 20px !important; padding-right: 20px !important; } }
/* кнопка в шапке никогда не переносится на две строки (с 16.09.2026 надпись «BERATUNGSTERMIN VEREINBAREN») */
.nav-cta { white-space: nowrap; }
/* узкий десктоп (900–1199px): навигация и кнопка компактнее, чтобы не упирались в логотип */
@media (min-width: 900px) and (max-width: 1199px) {
  div[style*="position: sticky"] .cb-desktop { gap: 18px !important; font-size: 15px !important; }
  div[style*="position: sticky"] .cb-desktop .nav-cta { padding: 10px 14px !important; font-size: 12px !important; letter-spacing: 0.06em !important; }
}

/* ---- индекс категорий на главной: мобильный список ---- */
.cb-index-row:hover .cb-index-name { color: var(--cb-gold); }
.cb-index-row:hover .cb-index-arr { transform: translateX(6px); }

/* ---- отзывы на главной: ряды по три карточки ---- */
.cb-revgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.cb-revgrid .cb-quote { display: flex; flex-direction: column; }
/* подпись автора прижата к низу — карточки ряда одной высоты, линии совпадают */
.cb-revgrid .cb-quote figcaption { margin-top: auto !important; }
@media (max-width: 899px) {
  .cb-revgrid { grid-template-columns: 1fr !important; }
}
@media (min-width: 900px) {
  .cb-revgrid .cb-quote { padding: 28px 26px 24px 52px !important; }
  .cb-revgrid .cb-qmark { font-size: 56px !important; left: 10px !important; }
  .cb-revgrid blockquote { font-size: 17px !important; margin-bottom: 18px !important; }
  .cb-revgrid figcaption { flex-wrap: wrap; gap: 10px !important; }
}

/* ---- карточки категорий на главной: десктоп (фото в «паспарту») ---- */
.cb-kat-ph { outline: 1px solid rgba(166,135,78,0.45); outline-offset: 10px; box-shadow: 0 26px 54px -30px rgba(42,39,34,0.4); transition: outline-color 0.3s ease; }
.cb-kat-ph img { transition: transform 0.9s cubic-bezier(0.2,0.7,0.2,1); }
.cb-kat:hover .cb-kat-ph img { transform: scale(1.05); }
.cb-kat:hover .cb-kat-ph { outline-color: #A6874E; }
.cb-kat:hover .cb-kat-nm { color: var(--cb-gold); }
.cb-kat:hover .cb-kat-ar { transform: translateX(6px); }

/* ---- buttons & link hovers ---- */
.btn-dark { background: var(--cb-ink); color: var(--cb-bg); transition: background 0.35s ease, color 0.35s ease; }
.btn-dark:hover { background: var(--cb-gold); color: var(--cb-bg); }

.btn-outline { border: 1px solid rgba(42,39,34,0.3); color: var(--cb-ink); transition: border-color 0.35s ease, color 0.35s ease; }
.btn-outline:hover { border-color: var(--cb-gold); color: var(--cb-gold); }

.btn-gold { background: var(--cb-gold-soft); color: var(--cb-ink); transition: background 0.35s ease; }
.btn-gold:hover { background: var(--cb-bg); color: var(--cb-ink); }

.nav-cta { background: var(--cb-ink); color: var(--cb-bg); transition: background 0.35s ease, color 0.35s ease; }
.nav-cta:hover { background: var(--cb-gold); color: #FBF9F4; }

/* золотые контурные кнопки на тёмном фоне: заливка при наведении */
.btn-gold-ghost { transition: background 0.35s ease, color 0.35s ease, border-color 0.35s ease; }
.btn-gold-ghost:hover { background: #A6874E; color: #211E1A !important; border-color: #A6874E !important; }

.link-underline-gold { color: var(--cb-gold-text); border-bottom: 1px solid rgba(166,135,78,0.4); transition: color 0.3s ease, border-color 0.3s ease; }
.link-underline-gold:hover { color: var(--cb-ink); border-color: var(--cb-ink); }

/* ---- mobile menu overlay ---- */
.cb-menu { display: none; }
.cb-menu.cb-open { display: flex; }

/* ---- forms ---- */
.cb-field { font-family: var(--sans); font-size: 16.5px; padding: 14px 16px; border: 1px solid rgba(42,39,34,0.18); background: var(--cb-card); color: var(--cb-ink); outline: none; width: 100%; }
.cb-field:focus { border-color: var(--cb-gold); }
.cb-field:focus-visible { outline: 2px solid var(--cb-gold); outline-offset: 1px; }
.cb-field[aria-invalid="true"] { border-color: #9A3B2E; }
.cb-vh { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }   /* подпись видна только экранным читалкам */
.cb-err { display: block; font-size: 13px; line-height: 1.4; color: #9A3B2E; }
.cb-err:not(:empty) { margin-top: 6px; }
.cb-field::placeholder { color: #6E6558; opacity: 1; }
.cb-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }   /* ловушка для роботов, человеку не видна */
[data-kontakt-form] input[type="checkbox"]:focus-visible { outline: 2px solid var(--cb-gold); outline-offset: 2px; }
[data-kontakt-form] input[type="checkbox"][aria-invalid="true"] { outline: 2px solid #9A3B2E; outline-offset: 2px; }
[data-form-submit]:disabled { opacity: 0.6; cursor: default; }
.cb-form-status { font-size: 15px; line-height: 1.6; scroll-margin: 140px 0; outline: none; }
.cb-form-status a { color: inherit; text-decoration: underline; }
.cb-form-status:empty { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }   /* пустой блок остаётся в разметке: так экранная читалка надёжно зачитывает появившееся сообщение */
.cb-form-ok { padding: 14px 16px; border: 1px solid var(--cb-gold); border-left-width: 3px; background: #FBF9F4; color: var(--cb-ink); }
.cb-form-err { padding: 14px 16px; border: 1px solid #9A3B2E; border-left-width: 3px; background: #FBF5F3; color: #6B241A; }
button[data-form-submit][disabled] { opacity: 0.65; cursor: default !important; }


/* ============================================================
   Мобильная адаптация эдиториал-дизайна (единый стиль с десктопом)
   ============================================================ */
/* ---- герой-обложка на главной: фото слева с градиентом ---- */
@media (max-width: 899px) {
  .cb-hero2-grid { grid-template-columns: 1fr !important; }
  .cb-hero2-photo { min-height: 58vh !important; }
  /* на мобильном фото растворяется вниз, текст выходит из фото */
  .cb-hero2-fade { background: linear-gradient(180deg, rgba(246,242,234,0) 62%, rgba(246,242,234,0.65) 84%, #F6F2EA 100%) !important; }
  .cb-hero2-copy { padding: 8px 20px 56px !important; max-width: none !important; align-items: center !important; text-align: center; margin-top: -40px; }
  .cb-hero2-copy > div:first-child { justify-content: center; }
  .cb-hero2-copy .cb-hero-cta { width: 100%; gap: 10px !important; }
  .cb-hero2-copy .cb-hero-cta a { flex: 1 1 100%; text-align: center; white-space: normal !important; }
  .cb-hero2-copy > div:last-child { justify-content: center; }
}
@media (min-width: 900px) and (max-width: 1200px) {
  .cb-hero2-copy { padding-right: 88px !important; }
}

@media (max-width: 560px) {
  /* тёмная PRAXIS: полка книг во всю ширину, два фото под ней */
  .cb-pxgrid { grid-template-columns: 1fr 1fr !important; }
  .cb-pxtall { grid-column: 1 / -1; grid-row: auto !important; aspect-ratio: 3 / 3.1 !important; }

  /* цитаты компактнее */
  .cb-quote { padding: 24px 20px 20px 46px !important; }
  .cb-qmark { font-size: 52px !important; left: 8px !important; top: 4px !important; }

  /* контурные слова-призраки и гигантская кавычка */
  .cb-ghost-word { display: none; }
  .cb-qbig { font-size: 190px !important; top: -34px !important; }

  /* прайс-строки «название — цена»: позволяем перенос, чтобы не было гориз. скролла */
  div[style*="align-items: baseline; padding: 14px 0"] { flex-wrap: wrap; }
}

/* ============================================================
   Journal — раскладка блога (blog.html + blog-*.html).
   Композиция по эскизу Figma «Blog Design»: редакционный список,
   двухколоночный ввод, сайдбар на уровне лида, цитата-врезка.
   Базовые размеры заданы инлайн; здесь — якоря, ширина колонки
   чтения и мобильные оверрайды (перебивают инлайн через !important).
   ============================================================ */

/* Инлайновый color на .cb-kat-nm специфичнее правила выше (строка 74),
   поэтому подсветка заголовка при наведении не срабатывала нигде —
   ни в карточках категорий на главной, ни в блоге. */
.cb-kat:hover .cb-kat-nm { color: var(--cb-gold) !important; }

/* якоря рубрик не уезжают под липкую шапку */
.cb-jr-sec { scroll-margin-top: 120px; }
.cb-jr-nav a { transition: color 0.3s ease; }

/* колонка чтения статьи = ширине колонки лида (сайдбар 300 + gap 64) */
.cb-jr-col { max-width: calc(100% - 364px); }

@media (min-width: 900px) and (max-width: 1099px) {
  .cb-jr-intro { gap: 36px !important; }
  .cb-jr-photo { flex: 0 1 300px !important; }
  .cb-jr-grid  { grid-template-columns: minmax(0, 1fr) 250px !important; gap: 40px !important; }
  .cb-jr-col   { max-width: calc(100% - 290px); }
}

@media (max-width: 899px) {
  /* ввод главной: фото становится ландшафтным и встаёт перед текстом */
  .cb-jr-intro { gap: 26px !important; margin-top: 26px !important; }
  .cb-jr-photo { order: -1; flex: 1 1 100% !important; aspect-ratio: 16 / 10 !important; }
  .cb-jr-photo img { object-position: center 20% !important; }

  .cb-jr-nav { gap: 12px 22px !important; margin-top: 32px !important; padding: 16px 0 !important; }

  /* строки списка: миниатюра меньше, стрелка не нужна */
  .cb-jr-row   { grid-template-columns: 88px minmax(0, 1fr) !important; gap: 16px !important; padding: 16px 0 !important; }
  .cb-jr-thumb { width: 88px !important; height: 88px !important; }
  .cb-jr-arr   { display: none !important; }

  /* статья: сайдбар уходит под лид, колонка чтения — во всю ширину */
  .cb-jr-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
  .cb-jr-side { border-top: 1px solid rgba(42,39,34,0.12); margin-top: 30px; padding-top: 22px; }
  .cb-jr-col  { max-width: none !important; }
  .cb-jr-quote blockquote { padding: 24px 22px !important; }
}

@media (max-width: 560px) {
  .cb-jr-row   { grid-template-columns: 76px minmax(0, 1fr) !important; gap: 14px !important; }
  .cb-jr-thumb { width: 76px !important; height: 76px !important; }
  .cb-jr-srow  { grid-template-columns: 56px minmax(0, 1fr) !important; }
}

/* ---- мобильный ритм секций (просьба заказчика 17.09.2026): вместо больших пустот между блоками —
   короткая золотая линия и компактные отступы. Инлайн-отступы 72/88/96 px перекрываются только до 899 px. ---- */
@media (max-width: 899px) {
  .cb-hero2-copy { padding-bottom: 24px !important; }
  section[style*="padding: 88px 0"], section[style*="padding: 96px 0"], section[style*="padding: 72px 0"],
  section[style*="padding: 88px 48px"], section[style*="padding: 96px 48px"],
  div[style*="padding: 72px 48px"], div[style*="padding: 96px 0"], div[style*="padding: 72px 0"],
  .cb-row[style*="padding: 96px 0"], .cb-row[style*="padding: 72px 0"] {
    padding-top: 32px !important; padding-bottom: 32px !important;
  }
  section[style*="padding: 88px 0"]::before, section[style*="padding: 96px 0"]::before, section[style*="padding: 72px 0"]::before,
  section[style*="padding: 88px 48px"]::before, section[style*="padding: 96px 48px"]::before {
    content: ""; display: block; width: 44px; height: 1px; background: #A6874E; margin: 0 auto 32px;
  }
  section[style*="padding: 88px 0"]::before, section[style*="padding: 96px 0"]::before, section[style*="padding: 72px 0"]::before { margin-bottom: 28px; }  /* Behandlungen: чипы категорий и блоки категорий; плитки фактов на страницах процедур */
  section[style*="padding: 56px 48px"] { padding-top: 32px !important; padding-bottom: 32px !important; }
  div.cb-pad.cb-cat { padding-top: 32px !important; padding-bottom: 32px !important; }
  section[style*="padding: 0 48px 56px"] { padding-bottom: 28px !important; }  /* Über uns: карточки врачей ближе к вступлению */
  section[style*="padding: 40px 48px 0"] { padding-top: 16px !important; }  /* ряды «фото + текст» (врачи на Über uns, блоки Praxis): текст ближе к фото */
  .cb-row { row-gap: 28px !important; }
  .cb-row > * { flex-basis: auto !important; }  /* Praxis: колонкой flex-basis в px становился мин. высотой (текст 360, фото 400) */
  /* страницы врачей: биография → рассказ → Lebenslauf ближе друг к другу (просьба 17.09) */
  section[style*="padding: 64px 48px 40px"] { padding-top: 32px !important; padding-bottom: 16px !important; }
  section[style*="padding: 8px 48px 40px"] { padding-bottom: 16px !important; }
  section[style*="padding: 24px 48px 88px"] { padding-top: 12px !important; padding-bottom: 32px !important; }
  div[style*="gap: 64px"][style*="margin-top: 44px"] { gap: 28px !important; margin-top: 28px !important; }  /* герой врача: фото ближе к имени */
  section[style*="padding: 24px 48px 88px"] > h2 { margin-bottom: 24px !important; }
  section[style*="padding: 24px 48px 88px"] > div[style*="margin-bottom: 56px"] { margin-bottom: 28px !important; }  /* группы резюме ближе друг к другу */
  section[style*="padding: 24px 48px 88px"] > div[style*="margin-bottom: 56px"]:last-child { margin-bottom: 0 !important; }  /* последняя группа — без хвоста перед тёмным блоком */  /* Über uns: блок членств прижат к карточкам врачей */
  section[style*="margin-top: 72px"] { margin-top: 24px !important; }  /* Über uns: логотипы членств два на два */
  .cb-logos { display: grid !important; grid-template-columns: repeat(2, max-content); justify-content: center; gap: 28px 44px !important; }  /* футер: логотип, адрес и ссылка «← Zurück…» в колонку по центру; запас снизу под липкую полосу кнопок */
  footer { padding-bottom: 132px !important; }
  footer .cb-pad { flex-direction: column !important; align-items: center !important; justify-content: center !important; text-align: center; gap: 24px !important; }
  footer .cb-pad > div { align-items: center !important; }  footer .cb-sep { display: none; }
  footer .cb-tel { display: block; padding: 8px 0; }   /* зона нажатия телефона ≈ 35 px */
  /* футер главной (логотип, часы, контакт, членства): на мобильном всё по левому краю, часы работы — ровным списком */
  footer .cb-foot { text-align: left; align-items: stretch !important; }
  footer .cb-foot .cb-foot-row { flex-direction: column !important; align-items: stretch !important; gap: 28px !important; }  /* KONTAKT под ÖFFNUNGSZEITEN, а не рядом */
  footer .cb-foot-row > div { align-items: flex-start !important; text-align: left; }
  /* блок с логотипом: по центру, как в футере остальных страниц; подпись в две ровные строки */
  footer .cb-foot .cb-foot-brand { width: 100%; max-width: none !important; align-items: center !important; text-align: center; gap: 12px !important; margin-bottom: 8px; }
  footer .cb-foot-brand img { height: 60px !important; }
  footer .cb-foot-brand > span:first-of-type { max-width: 260px; text-wrap: balance; }
  footer .cb-foot .cb-foot-logos { width: 100%; justify-content: center !important; gap: 24px !important; }
  footer .cb-foot > span { width: 100%; }
  /* ссылки KONTAKT — цели под палец: каждая строка ≈ 44 px */
  footer .cb-foot-kontakt { gap: 0 !important; }
  footer .cb-foot-kontakt a { display: block; padding: 10px 0; font-size: 15px; line-height: 1.6; margin-top: 0 !important; }
  footer .cb-foot-kontakt a[href="/impressum/"] { margin-top: 6px !important; }
}

/* ---- сквозная проверка мобильных пустот 17.09.2026 (все 60 страниц, iframe 375 px): те же 32 px + золотая линия ---- */
@media (max-width: 899px) {
  /* страницы процедур: плитки фактов → аккордеоны ближе; низ аккордеонов/прайса/пост-оп перед следующим блоком — 32 px */
  section[style*="padding: 56px 48px;"] { padding-bottom: 16px !important; }
  section[style*="padding: 16px 48px"] { padding-top: 0 !important; padding-bottom: 32px !important; }
  section[style*="padding: 8px 48px 72px"], section[style*="padding: 0 48px 72px"], section[style*="padding: 0 48px 64px"],
  section[style*="padding: 56px 48px 72px"] { padding-bottom: 32px !important; }
  section[style*="padding: 56px 48px 72px"], section[style*="padding: 56px 48px 0"] { padding-top: 32px !important; }
  /* блок «…KOSTEN» и пост-оп-блок: секции 64px → 32 px + линия, как у остальных переходов */
  section[style*="padding: 64px 0"], section[style*="padding: 64px 48px"] { padding-top: 32px !important; padding-bottom: 32px !important; }
  section[style*="padding: 64px 0"]::before, section[style*="padding: 64px 48px"]::before {
    content: ""; display: block; width: 44px; height: 1px; background: #A6874E; margin: 0 auto 28px;
  }
  /* блог: подпись автора ближе к тексту; рубрики и CTA списка статей */
  div[style*="margin-top: 34px"][style*="padding-top: 26px"] { margin-top: 16px !important; padding-top: 18px !important; }
  section[style*="padding: 34px 48px 40px"] { padding-bottom: 16px !important; }
  .cb-jr-sec[style*="padding: 54px 0 0"] { padding-top: 28px !important; }
  section[style*="padding: 64px 0"][style*="margin-top: 64px"] { margin-top: 24px !important; }
  /* Praxis: вступление и плитки; Behandlungen: заголовок; Kontakt/Impressum/Datenschutz: низ секций */
  section[style*="padding: 72px 48px 56px"] { padding-top: 32px !important; padding-bottom: 32px !important; }
  section[style*="margin: 56px auto 0"] { margin-top: 32px !important; }
  section[style*="padding: 64px 48px 48px"] { padding-top: 32px !important; padding-bottom: 24px !important; }
  section[style*="padding: 56px 48px 88px"] { padding-top: 32px !important; padding-bottom: 32px !important; }
  section[style*="padding: 40px 48px 88px"], section[style*="padding: 36px 48px 88px"] { padding-top: 16px !important; padding-bottom: 32px !important; }
  /* длинные слова и адреса (Impressum, Datenschutz) не вылезают за экран */
  h1, h2, h3, p, li, td, a { overflow-wrap: break-word; }
  h1 { hyphens: auto; overflow-wrap: anywhere; }  /* «Schamlippenverkleinerung» шире экрана 375 px */
  /* аккордеон → блок «…KOSTEN» вплотную; верх героя (хлебные крошки) ближе к шапке */
  section[style*="padding: 16px 48px 24px"] { padding-bottom: 8px !important; }
  section[style*="padding: 16px 48px 40px"] { padding-bottom: 16px !important; }
  section[style*="padding: 8px 48px 72px"] { padding-top: 0 !important; }
  section[style*="padding: 48px 48px 0"], section[style*="padding: 52px 48px 0"], section[style*="padding: 40px 48px 0"] { padding-top: 28px !important; }
  /* блог: панель рубрик — списком: «ARTIKEL (10)» одной строкой, рубрики друг под другом с разделителями */
  .cb-jr-nav { flex-direction: column !important; align-items: stretch !important; gap: 0 !important; padding: 6px 0 !important; }
  .cb-jr-nav > span { flex-direction: row !important; gap: 8px; padding: 10px 0 8px; margin-right: 0 !important; }
  .cb-jr-nav > a { display: block; padding: 11px 0; border-top: 1px solid rgba(42,39,34,0.08); }
}

/* ---- Печать (21.09.2026): тексты процедур лежат в закрытых аккордеонах — на бумаге они должны быть видны целиком;
   шапка, меню, липкая панель, cookie-кнопка и рамка не печатаются; тёмные блоки печатаются тёмным текстом на белом. ---- */
@media print {
  div[style*="position: sticky"], .cb-menu, .cb-mobile[style*="position: fixed"], button.cb-mobile[data-menu-toggle], #cb-fab, #cb-consent,
  div.cb-desktop[aria-hidden="true"], [data-faq-icon], .cb-map-consent, footer { display: none !important; }   /* футер на бумаге не нужен: адрес и телефон печатаются строкой сверху */
  [data-faq-a] { display: block !important; }
  body { background: #fff !important; }
  /* шапка скрыта — название и контакты клиники печатаются строкой сверху (пациенты печатают рекомендации после операции) */
  body::before { content: "Clinica Bellarte · Frankfurter Str. 28 · 61231 Bad Nauheim · +49 6032 784 70 33"; display: block; font-family: var(--serif); font-size: 15pt; color: #2A2722; padding: 0 0 10pt; margin: 0 0 14pt; border-bottom: 1px solid #A6874E; }
  section[style*="background: #2A2722"], section[style*="background: #211E1A"], div[style*="background: #2A2722"], div[style*="background: #211E1A"] { background: #fff !important; color: #2A2722 !important; }
  section[style*="background: #2A2722"] *, section[style*="background: #211E1A"] *, div[style*="background: #2A2722"] *, div[style*="background: #211E1A"] * { color: #2A2722 !important; }
  /* Kontakt: блок карты скрыт — карточка адреса встаёт в поток, иначе она наезжала на часы работы */
  .cb-map-card { position: static !important; max-width: none !important; margin: 0 0 24px !important; box-shadow: none !important; }
  img { max-width: 100% !important; break-inside: avoid; }
  h1, h2, h3 { break-after: avoid; }
}
