/* ==========================================================================
   Prostata.bg — дизайн система
   Шрифт: само Montserrat (самостоятелно хостнат, 300 по подразбиране, 400 за малки етикети)
   Цветове: тюркоаз → синьо → тъмносиньо. Без розово/лилаво/магента.
   Елементите на Elementor получават визията чрез CSS класове (pb-*),
   а глобалните цветове и типография идват от Elementor Site Settings.
   ========================================================================== */

@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 300; font-display: swap;
  src: url('../fonts/montserrat-cyrillic-300-normal.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 300; font-display: swap;
  src: url('../fonts/montserrat-latin-300-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../fonts/montserrat-cyrillic-400-normal.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('../fonts/montserrat-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  /* Палитра — взета от одобрената референция (Refined Prostata.bg hero mockup) */
  --pb-navy-950: #071C38;
  --pb-navy-900: #0A2445;
  --pb-navy-800: #12345E;
  --pb-navy-700: #1F4A78;
  --pb-blue-600: #2C6491;
  --pb-blue-500: #3F7FA6;
  --pb-teal-500: #4F9BB7;
  --pb-teal-400: #6FB2C6;
  --pb-teal-300: #A9D9DF;
  --pb-teal-100: #DDF0F3;
  --pb-ice-50:  #F3F8FA;
  --pb-ice-100: #E9F2F6;
  --pb-ink:   #12233A;
  --pb-body:  #34475F;
  --pb-muted: #5A6C84;
  --pb-line:  #DCE6EE;
  --pb-white: #FFFFFF;

  /* Глобални цветове на Elementor (Site Settings) — пренасочени към палитрата */
  --e-global-color-primary: var(--pb-navy-800);
  --e-global-color-secondary: var(--pb-teal-500);
  --e-global-color-text: var(--pb-body);
  --e-global-color-accent: var(--pb-blue-600);

  /* Одобреният градиент: светъл тюркоаз → меко синьо → тъмносиньо */
  --pb-gradient: linear-gradient(100deg, #A9D9DF 0%, #63A9BF 20%, #3F80A8 42%, #24527F 66%, #10305A 86%, #0A2445 100%);
  --pb-gradient-soft: linear-gradient(100deg, #E3F2F5 0%, #D3E7EF 45%, #C7DCEA 100%);
  --pb-gradient-button: linear-gradient(100deg, #2E73A0 0%, #1B4A79 55%, #10305A 100%);
  --pb-gradient-button-hover: linear-gradient(100deg, #24638D 0%, #143C66 55%, #0A2445 100%);
  --pb-gradient-photo: linear-gradient(100deg, rgba(10,36,69,.88) 0%, rgba(18,52,94,.72) 34%, rgba(47,100,145,.30) 62%, rgba(169,217,223,0) 100%);
  --pb-gradient-card: linear-gradient(180deg, rgba(10,36,69,0) 30%, rgba(10,36,69,.55) 62%, rgba(10,36,69,.92) 100%);

  --pb-font: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --pb-radius-sm: 10px;
  --pb-radius: 14px;
  --pb-radius-lg: 20px;
  --pb-shadow: 0 1px 2px rgba(10,36,69,.04), 0 10px 30px -14px rgba(10,36,69,.18);
  --pb-shadow-lift: 0 2px 6px rgba(10,36,69,.05), 0 22px 44px -20px rgba(10,36,69,.28);
  --pb-container: 1240px;
  --pb-gutter: 24px;
  --pb-header-h: 84px;
}

/* ---------- База ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--pb-header-h) + 16px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body {
  margin: 0; background: #fff; color: var(--pb-body);
  font-family: var(--pb-font); font-weight: 300; font-size: 17.5px; line-height: 1.72;
  font-feature-settings: 'locl' 0; font-synthesis: none;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility;
}
body, button, input, select, textarea { font-family: var(--pb-font); }
h1, h2, h3, h4, h5, h6, .elementor-heading-title {
  font-family: var(--pb-font); font-weight: 300; color: var(--pb-navy-900);
  margin: 0 0 .5em; letter-spacing: -0.012em; text-wrap: balance;
}
h1 { font-size: clamp(2rem, 1.6rem + 1.4vw, 2.5rem); line-height: 1.14; }
h2 { font-size: clamp(1.6rem, 1.38rem + .9vw, 1.95rem); line-height: 1.22; }
h3 { font-size: clamp(1.18rem, 1.1rem + .35vw, 1.34rem); line-height: 1.35; }
h4 { font-size: 1.08rem; line-height: 1.4; }
p { margin: 0 0 1.05em; }
strong, b { font-weight: 400; color: var(--pb-ink); }
a { color: var(--pb-blue-600); text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color .2s; }
a:hover { color: var(--pb-navy-800); }
img { max-width: 100%; height: auto; }
ul, ol { padding-left: 1.25em; }
li { margin-bottom: .35em; }
hr { border: 0; border-top: 1px solid var(--pb-line); margin: 2em 0; }
::selection { background: var(--pb-navy-800); color: #fff; }
:focus-visible { outline: 2px solid var(--pb-teal-500); outline-offset: 3px; border-radius: 6px; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.pb-skip { position: absolute; left: 12px; top: -60px; z-index: 1000; background: var(--pb-navy-900); color: #fff; padding: 12px 18px; border-radius: 10px; text-decoration: none; }
.pb-skip:focus { top: 12px; color: #fff; }
.pb-wrap { width: 100%; max-width: calc(var(--pb-container) + 2 * var(--pb-gutter)); margin: 0 auto; padding: 0 var(--pb-gutter); }

/* ---------- Типографски помощни класове ---------- */
.pb-eyebrow, .pb-eyebrow .elementor-heading-title {
  font-size: 12.5px !important; line-height: 1.4 !important; letter-spacing: .16em !important; text-transform: uppercase;
  font-weight: 400 !important; color: var(--pb-blue-600) !important; margin-bottom: 14px;
}
.pb-on-dark .pb-eyebrow, .pb-on-dark .pb-eyebrow .elementor-heading-title { color: var(--pb-teal-300) !important; }
.pb-lead, .pb-lead p { font-size: 1.14rem; line-height: 1.68; color: var(--pb-body); }
.pb-small, .pb-small p { font-size: .9rem; line-height: 1.6; color: var(--pb-muted); }
.pb-h1-home .elementor-heading-title, h1.pb-h1-home { font-size: clamp(2.2rem, 1.6rem + 2.2vw, 3rem); line-height: 1.08; letter-spacing: -0.02em; }
.pb-h1-page .elementor-heading-title { font-size: clamp(2rem, 1.6rem + 1.4vw, 2.45rem); line-height: 1.12; }
.pb-h2 .elementor-heading-title { font-size: clamp(1.6rem, 1.38rem + .9vw, 1.95rem); line-height: 1.22; }
.pb-h3 .elementor-heading-title { font-size: clamp(1.15rem, 1.08rem + .35vw, 1.3rem); line-height: 1.35; }
.pb-on-dark, .pb-on-dark p, .pb-on-dark li { color: rgba(255,255,255,.86); }
.pb-on-dark h1, .pb-on-dark h2, .pb-on-dark h3, .pb-on-dark h4, .pb-on-dark .elementor-heading-title { color: #fff; }
.pb-on-dark a:not(.elementor-button):not(.pb-button) { color: #fff; }
.pb-measure { max-width: 46rem; }
.pb-measure-sm { max-width: 36rem; }

/* ---------- Текстов редактор (дълго съдържание) ---------- */
.pb-prose { color: var(--pb-body); }
.pb-prose h2 { margin-top: 1.6em; }
.pb-prose h3 { margin-top: 1.4em; }
.pb-prose ul li::marker { color: var(--pb-teal-500); }
.pb-prose ol li::marker { color: var(--pb-blue-600); font-weight: 400; }
.pb-prose > *:last-child, .pb-prose .elementor-widget-container > *:last-child, .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* ---------- Бутони (Elementor Button widget + собствени .pb-button) ---------- */
.pb-button, .elementor-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 50px; padding: 0 26px; border: 0 !important; border-radius: 999px;
  font-family: var(--pb-font); font-weight: 300 !important; font-size: 15.5px; line-height: 1; letter-spacing: .01em;
  text-decoration: none; cursor: pointer; transition: background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
  background: var(--pb-gradient-button); color: #fff; box-shadow: 0 10px 24px -14px rgba(10,36,69,.55);
}
.pb-button:hover, .elementor-button:hover { background: var(--pb-gradient-button-hover); transform: translateY(-1px); color: #fff; }
.pb-button:focus-visible, .elementor-button:focus-visible { outline: 2px solid var(--pb-teal-300); outline-offset: 3px; }
.pb-button .pb-arrow, .elementor-button .elementor-button-icon svg { width: 17px; height: 17px; transition: transform .25s; }
.pb-button:hover .pb-arrow { transform: translateX(3px); }
.elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 10px; flex-direction: row-reverse; }
.elementor-button .elementor-button-icon { display: inline-flex; }
.elementor-button .elementor-button-icon svg { fill: currentColor; }
/* Второстепенен: мек светъл фон, тъмносин текст */
.elementor .pb-btn--secondary .elementor-button, .pb-button--secondary { background: var(--pb-ice-100); color: var(--pb-navy-800); box-shadow: none; }
.elementor .pb-btn--secondary .elementor-button:hover, .pb-button--secondary:hover { background: var(--pb-teal-100); color: var(--pb-navy-900); }
/* Светъл: бял бутон върху снимка/градиент */
.elementor .pb-btn--light .elementor-button, .pb-button--light { background: #fff; color: var(--pb-navy-800); box-shadow: 0 10px 24px -16px rgba(0,0,0,.45); }
.elementor .pb-btn--light .elementor-button:hover, .pb-button--light:hover { background: var(--pb-ice-100); color: var(--pb-navy-900); }
/* Текстова връзка със стрелка */
.elementor .pb-btn--link .elementor-button, .pb-button--link { background: none; box-shadow: none; padding: 0; min-height: 0; color: var(--pb-blue-600); border-radius: 4px; }
.elementor .pb-btn--link .elementor-button:hover, .pb-button--link:hover { color: var(--pb-navy-800); transform: none; }
.elementor .pb-on-dark .pb-btn--link .elementor-button { color: #fff; }
.elementor .pb-btn--sm .elementor-button, .pb-button--sm { min-height: 42px; padding: 0 20px; font-size: 14.5px; }
.pb-buttons { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- Секции ---------- */
.pb-section { padding-top: 88px !important; padding-bottom: 88px !important; }
.pb-section--tight { padding-top: 56px !important; padding-bottom: 56px !important; }
.pb-section--flush-top { padding-top: 0 !important; }
.pb-section--soft { background: var(--pb-ice-50); }
.pb-section--ice { background: var(--pb-ice-100); }
.pb-section--navy { background: var(--pb-navy-900); }
.pb-section--gradient { background: var(--pb-gradient); }
.pb-section--line { border-top: 1px solid var(--pb-line); }
@media (max-width: 1024px) { .pb-section { padding-top: 72px !important; padding-bottom: 72px !important; } }
@media (max-width: 767px)  { .pb-section { padding-top: 56px !important; padding-bottom: 56px !important; } .pb-section--tight { padding-top: 44px !important; padding-bottom: 44px !important; } }
.pb-section-head { margin-bottom: 36px; }
.pb-section-head .elementor-widget-text-editor { max-width: 44rem; }

/* ---------- HERO: начална страница (голяма фотографска секция) ---------- */
.pb-hero-home { position: relative; min-height: 680px; overflow: hidden; isolation: isolate; background-color: var(--pb-navy-800); background-size: cover; background-position: 72% 30%; }
.e-con.pb-hero-home::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(10,36,69,.94) 0%, rgba(18,52,94,.82) 28%, rgba(44,100,145,.42) 52%, rgba(99,169,191,.08) 72%, rgba(10,36,69,.0) 82%), linear-gradient(0deg, rgba(10,36,69,.35), rgba(10,36,69,0) 40%); }
.e-con.pb-hero-home::after { content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 34%; z-index: -1; background: linear-gradient(270deg, rgba(10,36,69,.78) 0%, rgba(10,36,69,.38) 55%, rgba(10,36,69,0) 100%); }
.pb-hero-home .pb-hero-copy { max-width: 37rem; }
.pb-hero-home .elementor-heading-title { color: #fff; }
@media (max-width: 1024px) {
  .pb-hero-home { min-height: 0; background-position: 64% 20%; }
  .e-con.pb-hero-home::before { background: linear-gradient(180deg, rgba(10,36,69,.55) 0%, rgba(10,36,69,.80) 55%, rgba(10,36,69,.96) 100%); }
  .e-con.pb-hero-home::after { display: none; }
}
/* Бързи връзки вдясно в героя */
.pb-hero-links { display: grid; gap: 22px; }
.pb-hero-link { display: flex; gap: 16px; align-items: center; color: #fff !important; text-decoration: none; }
.pb-hero-link .pb-ring { flex: 0 0 auto; width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.55); background: rgba(255,255,255,.06); transition: background .25s, border-color .25s; }
.pb-hero-link .pb-ring img { width: 26px; height: 26px; filter: brightness(0) invert(1); }
.pb-hero-link:hover .pb-ring { background: rgba(255,255,255,.16); border-color: #fff; }
.pb-hero-link strong { display: block; color: #fff; font-weight: 300; font-size: 1.08rem; line-height: 1.3; }
.pb-hero-link span { display: block; color: rgba(255,255,255,.78); font-size: .88rem; line-height: 1.45; }

/* ---------- HERO: раздел/тема (снимка + текст, балансирано) ---------- */
.pb-hero-split { background: linear-gradient(180deg, var(--pb-ice-50) 0%, #fff 100%); }
.pb-hero-split .pb-hero-media img, .pb-media-card img { border-radius: var(--pb-radius-lg); aspect-ratio: 4/3; object-fit: cover; width: 100%; box-shadow: var(--pb-shadow-lift); }
/* ---------- HERO: фотографска лента с градиент (лечение, диагностика, раздели) ---------- */
.pb-hero-band { position: relative; isolation: isolate; overflow: hidden; background-color: var(--pb-navy-800); background-size: cover; background-position: center; border-radius: 0; }
.e-con.pb-hero-band::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--pb-gradient-photo); }
.pb-hero-band .elementor-heading-title { color: #fff; }
.pb-hero-band--gradient { background: var(--pb-gradient) !important; }
.e-con.pb-hero-band--gradient::before { display: none; }
@media (max-width: 767px) { .e-con.pb-hero-band::before { background: linear-gradient(180deg, rgba(10,36,69,.62) 0%, rgba(10,36,69,.9) 100%); } }
/* ---------- HERO: компактно въведение (симптоми, служебни страници) ---------- */
.pb-hero-compact { background: #fff; border-bottom: 1px solid var(--pb-line); }
.pb-hero-compact--soft { background: var(--pb-ice-50); }
.pb-hero-legal { background: #fff; }
.pb-hero-legal .pb-rule { height: 1px; background: linear-gradient(90deg, var(--pb-teal-500), var(--pb-line) 40%); width: 100%; }

/* ---------- Навигационна пътека ---------- */
.pb-breadcrumbs { font-size: 13.5px; color: var(--pb-muted); margin-bottom: 18px; }
.pb-breadcrumbs ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.pb-breadcrumbs li { margin: 0; display: inline-flex; align-items: center; gap: 6px; }
.pb-breadcrumbs li + li::before { content: ''; width: 5px; height: 5px; border-right: 1px solid currentColor; border-top: 1px solid currentColor; transform: rotate(45deg); opacity: .6; margin-right: 4px; }
.pb-breadcrumbs a { color: inherit; text-decoration: none; }
.pb-breadcrumbs a:hover { color: var(--pb-navy-800); text-decoration: underline; }
.pb-on-dark .pb-breadcrumbs, .pb-hero-band .pb-breadcrumbs { color: rgba(255,255,255,.75); }
.pb-on-dark .pb-breadcrumbs a:hover, .pb-hero-band .pb-breadcrumbs a:hover { color: #fff; }

/* ---------- Карти ---------- */
.pb-card { background: #fff; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); padding: 28px; transition: border-color .25s, box-shadow .25s, transform .25s; text-decoration: none; color: inherit; height: 100%; }
a.pb-card:hover, .pb-card.e-con-link:hover, .pb-card-link:hover { border-color: #BFD5E2; box-shadow: var(--pb-shadow); transform: translateY(-2px); }
.pb-card--soft { background: var(--pb-ice-50); border-color: transparent; }
.pb-card--flat { border-color: transparent; background: var(--pb-ice-100); }
.pb-card .elementor-heading-title { margin-bottom: 8px; }
.pb-card p { font-size: .97rem; line-height: 1.62; }
.pb-card .pb-card-arrow { margin-top: auto; }
.pb-icon img, .pb-icon svg { width: 34px; height: 34px; display: block; }
.pb-icon--ring { width: 56px; height: 56px; border-radius: 50%; display: grid !important; place-items: center; background: var(--pb-ice-100); }
.pb-icon--ring img { width: 26px; height: 26px; }
/* Фотографски карти с градиент (начална страница, раздели) */
.pb-photo-card { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--pb-radius); min-height: 340px; background-size: cover; background-position: center; color: #fff; text-decoration: none; display: flex; flex-direction: column; justify-content: flex-end; padding: 26px; transition: transform .35s ease, box-shadow .35s ease; }
.e-con.pb-photo-card::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--pb-gradient-card); transition: opacity .35s; }
.pb-photo-card:hover { transform: translateY(-3px); box-shadow: var(--pb-shadow-lift); }
.pb-photo-card .elementor-heading-title, .pb-photo-card h3 { color: #fff; margin-bottom: 6px; }
.pb-photo-card p { color: rgba(255,255,255,.86); font-size: .93rem; line-height: 1.5; margin: 0; }
.pb-photo-card .pb-photo-card-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; }
.pb-photo-card .pb-arrow-ico { width: 22px; height: 22px; flex: 0 0 auto; }
/* Бързи връзки ("Имам симптоми…") */
.pb-quick { display: flex; gap: 16px; align-items: flex-start; padding: 22px; border-radius: var(--pb-radius); background: #fff; border: 1px solid var(--pb-line); text-decoration: none; color: inherit; transition: border-color .25s, box-shadow .25s; }
.pb-quick:hover { border-color: #BFD5E2; box-shadow: var(--pb-shadow); }

/* ---------- Икони на методи (ред с икони) ---------- */
.pb-method { display: flex; align-items: center; gap: 16px; padding: 20px 22px; background: rgba(255,255,255,.75); border: 1px solid var(--pb-line); border-radius: var(--pb-radius); text-decoration: none; color: var(--pb-navy-900); transition: background .25s, box-shadow .25s; }
.pb-method:hover { background: #fff; box-shadow: var(--pb-shadow); }

/* ---------- Медийни блокове ---------- */
.pb-figure img, .pb-figure video { width: 100%; border-radius: var(--pb-radius-lg); display: block; }
.pb-figure figcaption, .pb-figure .widget-image-caption { margin-top: 10px; font-size: .86rem; color: var(--pb-muted); line-height: 1.5; }
.pb-cover img { aspect-ratio: 4/3; object-fit: cover; }
.pb-cover-wide img { aspect-ratio: 16/9; object-fit: cover; }
.pb-cover-tall img { aspect-ratio: 4/5; object-fit: cover; }
.pb-video-frame { border-radius: var(--pb-radius-lg); overflow: hidden; background: var(--pb-navy-900); box-shadow: var(--pb-shadow-lift); }
.pb-video-frame video { display: block; width: 100%; height: auto; }

/* ---------- Стъпки ---------- */
.pb-step { position: relative; padding-top: 4px; }
.pb-steps-line { position: relative; }

/* ---------- Списъци с отметки ---------- */
.pb-checklist ul, ul.pb-checklist { list-style: none; padding: 0; margin: 0; }
.pb-checklist li { position: relative; padding-left: 34px; margin-bottom: 12px; }
.pb-checklist li::before { content: ''; position: absolute; left: 0; top: .25em; width: 22px; height: 22px; border-radius: 50%; background: var(--pb-ice-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F4A78' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat; }
.pb-on-dark .pb-checklist li::before { background-color: rgba(255,255,255,.14); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E"); }
.pb-qlist ul { list-style: none; padding: 0; margin: 0; counter-reset: q; }
.pb-qlist li { counter-increment: q; position: relative; padding: 14px 0 14px 48px; border-bottom: 1px solid var(--pb-line); margin: 0; }
.pb-qlist li::before { content: counter(q, decimal-leading-zero); position: absolute; left: 0; top: 14px; color: var(--pb-teal-500); font-size: .95rem; letter-spacing: .04em; }

/* ---------- Акценти и предупреждения ---------- */
.pb-callout { border-radius: var(--pb-radius); padding: 26px 28px; background: var(--pb-ice-50); border-left: 3px solid var(--pb-teal-500); }
.pb-callout .elementor-heading-title { margin-bottom: 8px; }
.pb-callout--urgent { background: var(--pb-navy-900); border-left: 0; color: rgba(255,255,255,.88); position: relative; padding-left: 86px; }
.e-con.pb-callout--urgent::before { content: '!'; position: absolute; left: 28px; top: 26px; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.6); color: #fff; font-size: 19px; }
.pb-callout--urgent .elementor-heading-title, .pb-callout--urgent h3 { color: #fff; }
.pb-callout--urgent p, .pb-callout--urgent li { color: rgba(255,255,255,.86); }
.pb-callout--note { background: #fff; border: 1px solid var(--pb-line); border-left: 3px solid var(--pb-blue-600); }
@media (max-width: 767px) { .pb-callout--urgent { padding-left: 28px; padding-top: 80px; } }

/* ---------- Съдържание с "На тази страница" ---------- */
.pb-toc { position: sticky !important; top: calc(var(--pb-header-h) + 24px); align-self: flex-start; }
.pb-toc-box { border-left: 1px solid var(--pb-line); padding-left: 0; }
.pb-toc-title { font-size: 12.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--pb-blue-600); font-weight: 400; margin-bottom: 14px; }
.pb-toc-box ul { list-style: none; margin: 0; padding: 0; }
.pb-toc-box li { margin: 0; }
.pb-toc-box a { display: block; padding: 8px 0 8px 18px; margin-left: -1px; border-left: 1px solid transparent; color: var(--pb-muted); text-decoration: none; font-size: .94rem; line-height: 1.45; }
.pb-toc-box a:hover, .pb-toc-box a[aria-current='true'] { color: var(--pb-navy-900); border-left-color: var(--pb-navy-800); }
@media (max-width: 1024px) {
  .pb-toc { position: static !important; top: auto !important; }
  .pb-toc-box ul { display: flex; flex-wrap: wrap; gap: 8px; }
  .pb-toc-box a { border: 1px solid var(--pb-line); border-radius: 999px; padding: 7px 14px; margin: 0; background: #fff; }
  .pb-toc-box { border-left: 0; }
}
.pb-content-section { scroll-margin-top: calc(var(--pb-header-h) + 20px); }

/* ---------- Медицинска информация за материала ---------- */
.pb-medmeta { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; font-size: .88rem; color: var(--pb-muted); }
.pb-medmeta span { display: inline-flex; align-items: center; gap: 8px; }
.pb-medmeta svg { width: 16px; height: 16px; color: var(--pb-teal-500); }
.pb-status { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: var(--pb-ice-100); color: var(--pb-navy-700); font-size: .82rem; letter-spacing: .01em; }
.pb-status::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--pb-teal-500); }
.pb-status--approved::before { background: var(--pb-blue-600); }
.pb-on-dark .pb-status, .pb-hero-band .pb-status { background: rgba(255,255,255,.14); color: #fff; }
.pb-on-dark .pb-medmeta, .pb-hero-band .pb-medmeta { color: rgba(255,255,255,.8); }
.pb-sources { font-size: .9rem; line-height: 1.6; color: var(--pb-muted); }
.pb-sources ol { padding-left: 1.3em; margin: 0; }
.pb-sources li { margin-bottom: 6px; }
.pb-sources a { color: var(--pb-blue-600); word-break: break-word; }
.pb-sources-box { border-top: 1px solid var(--pb-line); padding-top: 28px; }

/* ---------- Акордеон (Elementor Nested Accordion + резервен) ---------- */
.pb-faq .e-n-accordion-item, .pb-faq details { border-bottom: 1px solid var(--pb-line); }
.pb-faq .e-n-accordion-item:first-child, .pb-faq details:first-of-type { border-top: 1px solid var(--pb-line); }
.pb-faq .e-n-accordion-item-title, .pb-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 4px; cursor: pointer; list-style: none; color: var(--pb-navy-900); font-size: 1.06rem; line-height: 1.45; background: none; border: 0; }
.pb-faq summary::-webkit-details-marker { display: none; }
.pb-faq .e-n-accordion-item-title-text { font-weight: 300; }
.pb-faq .pb-faq-ico { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--pb-line); display: grid; place-items: center; transition: transform .25s, background .25s; }
.pb-faq .pb-faq-ico::before { content: ''; width: 9px; height: 9px; border-right: 1px solid var(--pb-navy-800); border-bottom: 1px solid var(--pb-navy-800); transform: translateY(-2px) rotate(45deg); }
.pb-faq details[open] .pb-faq-ico { transform: rotate(180deg); background: var(--pb-ice-100); }
.pb-faq .e-n-accordion-item > div, .pb-faq .pb-faq-a { padding: 0 4px 22px; color: var(--pb-body); max-width: 50rem; }

/* ---------- Блог ---------- */
.pb-post-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--pb-line); border-radius: var(--pb-radius); overflow: hidden; text-decoration: none; color: inherit; height: 100%; transition: box-shadow .25s, transform .25s, border-color .25s; }
.pb-post-card:hover { box-shadow: var(--pb-shadow); transform: translateY(-2px); border-color: #BFD5E2; }
.pb-post-card .pb-post-thumb { aspect-ratio: 16/10; overflow: hidden; background: var(--pb-ice-100); }
.pb-post-card .pb-post-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2,.8,.2,1); }
.pb-post-card:hover .pb-post-thumb img { transform: scale(1.04); }
.pb-post-card .pb-post-body { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.pb-post-card h3 { font-size: 1.16rem; margin: 0; color: var(--pb-navy-900); }
.pb-post-card p { margin: 0; font-size: .95rem; line-height: 1.6; }
.pb-post-card .pb-post-meta { font-size: .82rem; color: var(--pb-muted); display: flex; gap: 12px; flex-wrap: wrap; }
.pb-tag { display: inline-flex; align-self: flex-start; padding: 5px 11px; border-radius: 999px; background: var(--pb-ice-100); color: var(--pb-navy-700); font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; font-weight: 400; text-decoration: none; }
.pb-post-card--row { flex-direction: row; }
.pb-post-card--row .pb-post-thumb { aspect-ratio: auto; width: 38%; flex: 0 0 38%; }
@media (max-width: 767px) { .pb-post-card--row { flex-direction: column; } .pb-post-card--row .pb-post-thumb { width: 100%; aspect-ratio: 16/10; } }
.pb-grid { display: grid; gap: 24px; }
.pb-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.pb-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.pb-grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 1024px) { .pb-grid--3, .pb-grid--4 { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 767px)  { .pb-grid--2, .pb-grid--3, .pb-grid--4 { grid-template-columns: 1fr; } }
.pb-filters { display: flex; flex-wrap: wrap; gap: 10px; }
.pb-chip { display: inline-flex; align-items: center; min-height: 40px; padding: 0 18px; border-radius: 999px; background: #fff; border: 1px solid var(--pb-line); color: var(--pb-navy-800); text-decoration: none; font-size: .92rem; transition: background .2s, border-color .2s, color .2s; }
.pb-chip:hover { border-color: #BFD5E2; color: var(--pb-navy-900); }
.pb-chip[aria-current='page'], .pb-chip.is-active { background: var(--pb-gradient-button); border-color: transparent; color: #fff; }
.pb-pagination { display: flex; gap: 8px; justify-content: center; margin-top: 48px; }
.pb-pagination .page-numbers { min-width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--pb-line); text-decoration: none; color: var(--pb-navy-800); }
.pb-pagination .page-numbers.current { background: var(--pb-navy-800); color: #fff; border-color: var(--pb-navy-800); }

/* ---------- Търсене ---------- */
.pb-search-form { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--pb-line); border-radius: 999px; padding: 6px 6px 6px 22px; box-shadow: var(--pb-shadow); max-width: 640px; }
.pb-search-form svg { width: 20px; height: 20px; color: var(--pb-blue-600); flex: 0 0 auto; }
.pb-search-form.pb-search-form input[type=search][name] { box-shadow: none; border-radius: 0; min-height: 0; flex: 1; min-width: 0; border: 0; outline: 0; background: none; font-size: 16px; font-weight: 300; color: var(--pb-ink); padding: 10px 6px; }
.pb-search-form input[type=search]::placeholder { color: var(--pb-muted); }
.pb-search-form:focus-within { border-color: var(--pb-teal-500); }
.pb-search-form .pb-button.pb-button { min-height: 44px; padding: 0 22px; }

/* ---------- Видеотека ---------- */
.pb-video-card { display: flex; flex-direction: column; gap: 14px; text-decoration: none; color: inherit; }
.pb-video-thumb { position: relative; aspect-ratio: 16/9; border-radius: var(--pb-radius); overflow: hidden; background: var(--pb-gradient); }
.pb-video-thumb img { width: 100%; height: 100%; object-fit: cover; }
.pb-video-thumb .pb-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 62px; height: 62px; border-radius: 50%; background: rgba(255,255,255,.95); display: grid; place-items: center; box-shadow: 0 12px 28px -12px rgba(0,0,0,.5); }
.pb-video-thumb .pb-play::before { content: ''; margin-left: 4px; border-left: 15px solid var(--pb-navy-800); border-top: 9px solid transparent; border-bottom: 9px solid transparent; }
.pb-video-pending { position: absolute; left: 14px; bottom: 14px; padding: 6px 12px; border-radius: 999px; background: rgba(10,36,69,.72); color: #fff; font-size: .78rem; }

/* ---------- Форми ---------- */
.pb-form { display: grid; gap: 18px; }
.pb-form .pb-field { display: grid; gap: 8px; }
.pb-form label { font-size: .92rem; color: var(--pb-ink); font-weight: 400; }
.pb-form .pb-req { color: var(--pb-blue-600); }
.pb-form input:not([type=checkbox]):not([type=submit]), .pb-form select, .pb-form textarea {
  width: 100%; font: inherit; font-weight: 300; font-size: 16px; color: var(--pb-ink); background: #fff;
  border: 1px solid #C9D7E2; border-radius: 12px; padding: 13px 16px; transition: border-color .2s, box-shadow .2s;
}
.pb-form textarea { min-height: 150px; resize: vertical; }
.pb-form input:focus, .pb-form select:focus, .pb-form textarea:focus { outline: 0; border-color: var(--pb-teal-500); box-shadow: 0 0 0 3px rgba(79,155,183,.18); }
.pb-form [aria-invalid='true'] { border-color: #8A3B3B !important; }
.pb-form .pb-error { font-size: .86rem; color: #8A3B3B; }
.pb-form .pb-help { font-size: .86rem; color: var(--pb-muted); line-height: 1.55; }
.pb-form .pb-check { display: flex; gap: 12px; align-items: flex-start; font-size: .9rem; line-height: 1.5; }
.pb-form .pb-check input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--pb-navy-800); }
.pb-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 767px) { .pb-form-row { grid-template-columns: 1fr; } }
.pb-notice { border-radius: 12px; padding: 16px 18px; font-size: .95rem; line-height: 1.55; }
.pb-notice--success { background: #E6F3F1; color: #164A45; border: 1px solid #BFDFDA; }
.pb-notice--error { background: #F7EEEE; color: #6E2B2B; border: 1px solid #E6CFCF; }
.pb-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
/* Elementor Pro Form — същата визия */
.elementor-form .elementor-field-group .elementor-field-textual { border-radius: 12px; border-color: #C9D7E2; font-weight: 300; }
.elementor-form .elementor-field-label { font-weight: 400; color: var(--pb-ink); }

/* ---------- Контакти ---------- */
.pb-contact-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.pb-contact-item { display: flex; gap: 16px; align-items: flex-start; }
.pb-contact-item > div { min-width: 0; overflow-wrap: anywhere; }
.pb-contact-item .pb-icon--ring { flex: 0 0 auto; width: 48px; height: 48px; }
.pb-contact-item a { text-decoration: none; }

/* ---------- Лекар ---------- */
.pb-doctor-photo img { border-radius: var(--pb-radius-lg); aspect-ratio: 4/5; object-fit: cover; object-position: top; width: 100%; }
.pb-quote { border-left: 2px solid var(--pb-teal-500); padding: 6px 0 6px 22px !important; }
.pb-quote p { font-size: 1.12rem; line-height: 1.6; color: var(--pb-navy-800); }

/* ---------- Статия ---------- */
.pb-article-head { padding-top: 56px; padding-bottom: 32px; }
.pb-article-head h1 { font-size: clamp(1.9rem, 1.5rem + 1.3vw, 2.35rem); max-width: 48rem; }
.pb-article-body { max-width: 46rem; }
.pb-article-body .pb-prose { font-size: 18px; line-height: 1.78; }
.pb-article-cover img { border-radius: var(--pb-radius-lg); aspect-ratio: 16/8; object-fit: cover; width: 100%; }

/* ---------- Хедър ---------- */
.pb-header { position: sticky; top: 0; z-index: 90; background: rgba(255,255,255,.92); backdrop-filter: saturate(160%) blur(14px); -webkit-backdrop-filter: saturate(160%) blur(14px); border-bottom: 1px solid rgba(220,230,238,.7); transition: box-shadow .3s; }
.pb-header.is-scrolled { box-shadow: 0 10px 30px -22px rgba(10,36,69,.5); }
.admin-bar .pb-header { top: 32px; }
.pb-header-inner { height: var(--pb-header-h); display: flex; align-items: center; gap: 28px; }
.pb-logo { display: inline-flex; align-items: baseline; text-decoration: none; color: var(--pb-navy-900) !important; font-size: 25px; font-weight: 400; letter-spacing: -0.02em; line-height: 1; white-space: nowrap; }
.pb-logo .pb-logo-tld { color: var(--pb-teal-500); }
.pb-logo img { max-height: 40px; width: auto; height: auto; display: block; }
.pb-header .pb-logo { flex-shrink: 0; }
.pb-nav > ul > li > a, .pb-nav .pb-sub-toggle { white-space: nowrap; }
@media (max-width: 1280px) { .pb-logo img { max-height: 32px; } }
@media (max-width: 1180px) { .pb-logo img { max-height: 28px; } }
@media (max-width: 1120px) { .pb-logo img { max-height: 32px; } }
@media (max-width: 480px) { .pb-logo img { max-height: 30px; } }
@media (max-width: 360px) { .pb-logo img { max-height: 22px; } }
.pb-nav { margin-left: auto; }
.pb-nav > ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.pb-nav li { margin: 0; position: relative; }
.pb-nav > ul > li > a, .pb-nav .pb-sub-toggle { display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 14px; border-radius: 999px; color: var(--pb-ink); text-decoration: none; font-size: 15.5px; font-weight: 300; background: none; border: 0; cursor: pointer; transition: background .2s, color .2s; }
.pb-nav > ul > li > a:hover, .pb-nav .pb-sub-toggle:hover, .pb-nav li.is-open > .pb-sub-toggle { background: var(--pb-ice-100); color: var(--pb-navy-900); }
.pb-nav .current-menu-item > a, .pb-nav .current-menu-ancestor > a, .pb-nav .current-menu-ancestor > .pb-sub-toggle, .pb-nav .current-menu-parent > .pb-sub-toggle, .pb-nav .current-page-ancestor > .pb-sub-toggle { color: var(--pb-navy-900); box-shadow: inset 0 -1px 0 var(--pb-teal-500); border-radius: 0; }
.pb-nav .pb-sub-toggle svg { width: 14px; height: 14px; transition: transform .2s; }
.pb-nav li.is-open > .pb-sub-toggle svg { transform: rotate(180deg); }
.pb-nav .sub-menu { list-style: none; margin: 0; padding: 10px; position: absolute; left: 0; top: calc(100% + 10px); min-width: 300px; background: #fff; border: 1px solid var(--pb-line); border-radius: 16px; box-shadow: var(--pb-shadow-lift); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .2s, visibility .2s; z-index: 95; }
.pb-nav li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.pb-nav .sub-menu::before { content: ''; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.pb-nav .sub-menu a { display: block; padding: 10px 14px; border-radius: 10px; color: var(--pb-ink); text-decoration: none; font-size: 15px; line-height: 1.35; }
.pb-nav .sub-menu a:hover, .pb-nav .sub-menu .current-menu-item > a { background: var(--pb-ice-50); color: var(--pb-navy-900); }
.pb-nav .sub-menu .pb-menu-overview > a { color: var(--pb-blue-600); border-bottom: 1px solid var(--pb-line); border-radius: 10px 10px 0 0; margin-bottom: 6px; }
.pb-nav .sub-menu--cols { display: grid; grid-template-columns: 1fr 1fr; min-width: 520px; column-gap: 6px; }
.pb-header-actions { display: flex; align-items: center; gap: 10px; }
.pb-icon-btn.pb-icon-btn { padding: 0; font-size: inherit; line-height: 1; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--pb-line); background: #fff; color: var(--pb-navy-800); cursor: pointer; transition: background .2s, border-color .2s; }
.pb-icon-btn:hover { background: var(--pb-ice-100); }
.pb-icon-btn svg { width: 19px; height: 19px; }
.pb-icon-btn.pb-burger { display: none; }
@media (max-width: 1180px) { .pb-nav > ul > li > a, .pb-nav .pb-sub-toggle { padding: 0 10px; font-size: 15px; } .pb-header-inner { gap: 16px; } }
@media (max-width: 1120px) {
  :root { --pb-header-h: 72px; }
  .pb-nav, .pb-header-actions .pb-header-cta { display: none; }
  .pb-icon-btn.pb-burger { display: grid; }
  .pb-header-actions { margin-left: auto; }
}
/* Панел за търсене */
.pb-search-panel { position: fixed; inset: 0; z-index: 120; background: rgba(7,28,56,.45); backdrop-filter: blur(6px); display: none; align-items: flex-start; justify-content: center; padding: 110px 20px 20px; }
.pb-search-panel.is-open { display: flex; }
.pb-search-panel .pb-search-form { width: 100%; max-width: 680px; }
/* Мобилно меню */
.pb-mobile { position: fixed; inset: 0; z-index: 110; background: #fff; display: none; flex-direction: column; overflow-y: auto; }
.pb-mobile.is-open { display: flex; }
.pb-mobile-head { height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 0 var(--pb-gutter); border-bottom: 1px solid var(--pb-line); flex: 0 0 auto; }
.pb-mobile-body { padding: 18px var(--pb-gutter) 32px; display: flex; flex-direction: column; gap: 18px; }
.pb-mobile-nav ul { list-style: none; margin: 0; padding: 0; }
.pb-mobile-nav > ul > li { border-bottom: 1px solid var(--pb-line); margin: 0; }
.pb-mobile-nav .pb-m-row { display: flex; align-items: center; justify-content: space-between; }
.pb-mobile-nav .pb-m-row > a, .pb-mobile-nav > ul > li > a { display: block; flex: 1; padding: 16px 0; color: var(--pb-navy-900); text-decoration: none; font-size: 18px; }
.pb-mobile-nav .pb-m-toggle { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--pb-line); background: #fff; display: grid; place-items: center; color: var(--pb-navy-800); cursor: pointer; }
.pb-mobile-nav .pb-m-toggle svg { width: 16px; height: 16px; transition: transform .2s; }
.pb-mobile-nav .pb-m-toggle[aria-expanded='true'] svg { transform: rotate(180deg); }
.pb-mobile-nav .sub-menu { display: none; padding: 0 0 14px 2px; }
.pb-mobile-nav .is-open > .sub-menu { display: block; }
.pb-mobile-nav .sub-menu a { display: block; padding: 10px 12px; border-radius: 10px; color: var(--pb-body); text-decoration: none; font-size: 16px; }
.pb-mobile-nav .sub-menu a:hover { background: var(--pb-ice-50); }
.pb-mobile-cta { display: grid; gap: 10px; }
.pb-mobile-cta .pb-button { width: 100%; }
body.pb-lock { overflow: hidden; }

/* ---------- Футър ---------- */
.pb-footer { background: var(--pb-navy-950); color: rgba(255,255,255,.78); font-size: .95rem; }
.pb-footer a { color: rgba(255,255,255,.82); text-decoration: none; }
.pb-footer a:hover { color: #fff; text-decoration: underline; }
.pb-footer-top { padding: 72px 0 48px; display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 40px; }
.pb-footer .pb-logo { color: #fff !important; }
.pb-footer .pb-logo .pb-logo-tld { color: var(--pb-teal-300); }
.pb-footer h2 { color: #fff; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; font-weight: 400; margin: 6px 0 18px; }
.pb-footer ul { list-style: none; margin: 0; padding: 0; }
.pb-footer li { margin: 0 0 10px; }
.pb-footer-note { margin-top: 18px; max-width: 26rem; line-height: 1.65; }
.pb-footer-urgent { border-top: 1px solid rgba(255,255,255,.12); padding: 22px 0; display: flex; gap: 14px; align-items: flex-start; color: rgba(255,255,255,.86); }
.pb-footer-urgent strong { color: #fff; font-weight: 400; }
.pb-footer-bottom { border-top: 1px solid rgba(255,255,255,.12); padding: 22px 0 28px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; font-size: .86rem; color: rgba(255,255,255,.6); }
.pb-footer-bottom ul { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.pb-footer-bottom li { margin: 0; }
@media (max-width: 1024px) { .pb-footer-top { grid-template-columns: 1fr 1fr; } .pb-footer-brand { grid-column: 1 / -1; } }
@media (max-width: 560px) { .pb-footer-top { grid-template-columns: 1fr; gap: 28px; padding-top: 56px; } }

/* ---------- Служебни ---------- */
.pb-404 { padding: 120px 0; text-align: left; }
.pb-dependency-note { margin: 0; padding: 12px var(--pb-gutter); background: var(--pb-ice-100); color: var(--pb-navy-800); font-size: .9rem; text-align: center; }
.pb-fallback-page { padding: 56px 0 88px; }
.pb-prose-fallback { max-width: 46rem; }

/* ---------- Плавна поява ---------- */
.pb-reveal { opacity: 0; transform: translateY(18px); transition: opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1); }
.pb-reveal.is-in { opacity: 1; transform: none; }
.elementor-editor-active .pb-reveal, .no-js .pb-reveal { opacity: 1; transform: none; }

/* ---------- Допълнения за елементите на Elementor ---------- */
.pb-ring { width: 58px; height: 58px; flex: 0 0 auto; border-radius: 50%; border: 1px solid rgba(255,255,255,.55); background: rgba(255,255,255,.06); display: flex; align-items: center; justify-content: center; transition: background .25s, border-color .25s; }
.pb-ring img { width: 26px !important; height: 26px !important; filter: brightness(0) invert(1); }
.pb-hero-link:hover .pb-ring { background: rgba(255,255,255,.16); border-color: #fff; }
.pb-hero-link-title .elementor-heading-title { color: #fff !important; font-size: 1.06rem !important; line-height: 1.3 !important; margin: 0 !important; }
.pb-hero-link-text, .pb-hero-link-text p { color: rgba(255,255,255,.78) !important; font-size: .88rem !important; line-height: 1.45 !important; margin: 0; }
.pb-hero-note p { color: rgba(255,255,255,.68) !important; }
.pb-card-more .elementor-heading-title { font-size: .92rem !important; color: var(--pb-blue-600) !important; margin: 4px 0 0 !important; display: inline-flex; align-items: center; gap: 8px; }
.pb-card-more .elementor-heading-title::after { content: ''; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m13 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat; transition: transform .25s; }
.pb-card:hover .pb-card-more .elementor-heading-title::after { transform: translateX(3px); }
.pb-card .pb-card-more { margin-top: auto; }
.pb-photo-card .pb-arrow-ico img { width: 22px; height: 22px; filter: brightness(0) invert(1); }
.pb-photo-card .elementor-heading-title { color: #fff !important; }
.pb-photo-card .elementor-widget-text-editor, .pb-photo-card p { color: rgba(255,255,255,.88) !important; }
.pb-cta { border-radius: var(--pb-radius-lg); background: var(--pb-gradient); position: relative; overflow: hidden; isolation: isolate; }
.e-con.pb-cta::after { content: ''; position: absolute; right: -120px; top: -160px; width: 420px; height: 420px; border-radius: 50%; border: 1px solid rgba(255,255,255,.18); z-index: -1; }
.pb-cta .pb-cta-photo img { border-radius: var(--pb-radius); aspect-ratio: 4/3; object-fit: cover; box-shadow: 0 24px 48px -24px rgba(0,0,0,.5); }
.pb-cta .pb-lead p { color: rgba(255,255,255,.88); }
.pb-next { border: 1px solid var(--pb-line); border-radius: var(--pb-radius); background: #fff; }
.pb-section--methods { background: var(--pb-gradient-soft); }
.pb-home-illu img { border-radius: var(--pb-radius); aspect-ratio: 16/10; object-fit: cover; margin-top: 12px; }
.pb-quick .elementor-heading-title { margin: 0 0 4px !important; }
.pb-quick p { margin: 0; }
.pb-method .elementor-heading-title { margin: 0 !important; font-size: 1.02rem !important; }
.pb-method .pb-icon--ring { width: 48px; height: 48px; }
.pb-card .pb-icon--ring, .pb-quick .pb-icon--ring { margin-bottom: 2px; flex: 0 0 auto; }
.pb-hero-band .pb-lead p, .pb-hero-home .pb-lead p { color: rgba(255,255,255,.9); }
.pb-hero-split .pb-video-frame, .pb-hero-split .elementor-widget-video { border-radius: var(--pb-radius-lg); overflow: hidden; box-shadow: var(--pb-shadow-lift); }
.pb-content-section .elementor-widget-image img { border-radius: var(--pb-radius); }
.pb-toc .pb-card { position: static; }
.pb-doctor-photo img { box-shadow: var(--pb-shadow-lift); }
.pb-step .pb-step-num { width: auto !important; }
.pb-step-num .elementor-heading-title { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--pb-gradient-button); color: #fff !important; font-size: 17px !important; margin: 0 0 10px !important; }
.pb-rule { height: 1px; background: linear-gradient(90deg, var(--pb-teal-500), var(--pb-line) 40%); margin-top: 18px; }
.pb-hero-compact .pb-figure img { border-radius: var(--pb-radius-lg); aspect-ratio: 4/3; object-fit: cover; }
.pb-nav > ul > li:nth-last-child(-n+2) > .sub-menu { left: auto; right: 0; }
.pb-nav .sub-menu:not(:hover) { pointer-events: none; }
.pb-nav li.is-open > .sub-menu { pointer-events: auto; }

.pb-svg { width: 20px; height: 20px; flex: 0 0 auto; }
.pb-footer-urgent .pb-svg { width: 22px; height: 22px; margin-top: 2px; color: var(--pb-teal-300); }
.pb-contact-item .pb-icon--ring { color: var(--pb-navy-700); }
.pb-medmeta .pb-svg { width: 16px; height: 16px; }
.pb-article-layout { display: grid; grid-template-columns: minmax(0, 46rem) minmax(0, 18rem); justify-content: space-between; gap: 56px; }
.pb-article-aside { position: sticky; top: calc(var(--pb-header-h) + 24px); align-self: start; display: grid; gap: 18px; }
@media (max-width: 1024px) { .pb-article-layout { grid-template-columns: minmax(0,1fr); } .pb-article-aside { position: static; } }
/* Текст върху градиент: тъмносин слой под текста за четим контраст (WCAG) */
.pb-hero-band--gradient { background: linear-gradient(100deg, rgba(10,36,69,.62) 0%, rgba(10,36,69,.38) 38%, rgba(10,36,69,0) 64%), var(--pb-gradient) !important; }
.pb-hero-band .pb-hero-links { background: rgba(7,28,56,.52); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.14); border-radius: 18px; padding: 24px; }
.pb-hero-band .pb-hero-link .pb-ring { width: 48px; height: 48px; }
.pb-hero-band .pb-hero-link .pb-ring img { width: 22px; height: 22px; }
.pb-article-body, .pb-prose { min-width: 0; }
.pb-prose h2, .pb-prose h3 { overflow-wrap: anywhere; hyphens: auto; }
.pb-article-aside { grid-template-columns: minmax(0,1fr); min-width: 0; }
.pb-article-aside .pb-search-form input { min-width: 0; flex: 1 1 auto; }
.pb-card { box-sizing: border-box; }
.pb-article-aside .pb-card { grid-template-columns: minmax(0,1fr); min-width: 0; }
/* Активни състояния в падащото и мобилното меню */
.pb-nav .sub-menu a[aria-current='page'] { background: var(--pb-ice-100); color: var(--pb-navy-900); }
.pb-mobile-nav .sub-menu a[aria-current='page'] { color: var(--pb-navy-900); background: var(--pb-ice-100); border-radius: 10px; box-shadow: inset 2px 0 0 var(--pb-teal-500); }
.pb-mobile-nav .current-menu-ancestor > .pb-m-row > a, .pb-mobile-nav .current-menu-item > a, .pb-mobile-nav .current-menu-item > .pb-m-row > a { color: var(--pb-blue-600); }
@media (max-width: 767px) {
  .e-con.pb-hero-home::before { background: linear-gradient(180deg, rgba(10,36,69,0) 0px, rgba(10,36,69,.15) 170px, rgba(10,36,69,.85) 300px, #0E2B52 400px, #0E2B52 100%); }
  .pb-cta { background: linear-gradient(180deg, #63A9BF 0%, #3F80A8 18%, #24527F 42%, #10305A 72%, #0A2445 100%); }
  .pb-section-head .elementor-widget-button, .pb-section-head .pb-btn-wrap { align-self: flex-start; }
}
@media (max-width: 1024px) { .pb-toc-box a[aria-current='true'] { border-color: var(--pb-navy-800); color: var(--pb-navy-900); } }

/* ---------------------------------------------------------------------------
   Elementor съвместимост (зарежда се винаги).
   Нормализира уиджетите така, както в одобрения дизайн; глобалният бутон от
   Kit-а остава градиентът, а вариантите (светъл, второстепенен, връзка) махат
   градиента — цветовете им се задават в настройките на самия уиджет.
--------------------------------------------------------------------------- */
.elementor-widget-heading .elementor-heading-title { margin: 0; }
.elementor-widget-text-editor p:last-child, .elementor-widget-text-editor ul:last-child, .elementor-widget-text-editor ol:last-child { margin-bottom: 0; }
.elementor-widget-image img { display: block; width: 100%; height: auto; }
.elementor-widget-video .elementor-wrapper { border-radius: var(--pb-radius-lg); overflow: hidden; background: var(--pb-navy-900); }
.elementor .pb-btn--secondary .elementor-button, .elementor .pb-btn--light .elementor-button, .elementor .pb-btn--link .elementor-button { background-image: none; }
.elementor .pb-btn--link .elementor-button { background-color: transparent; }

.elementor a.e-con, .elementor a.e-con:hover { color: inherit; text-decoration: none; }

/* Собствените бутони на темата (хедър, търсене, резервна форма) — по-силни от глобалния стил за линкове на Kit-а */
.pb-button.pb-button { color: #fff; }
.pb-button.pb-button--secondary, .pb-button.pb-button--light { color: var(--pb-navy-800); }
.pb-button.pb-button--link { color: var(--pb-blue-600); }
.pb-button.pb-button:hover { color: #fff; }
.pb-button.pb-button--secondary:hover, .pb-button.pb-button--light:hover { color: var(--pb-navy-900); }

/* FAQ (Elementor Nested Accordion): стойностите са CSS променливи на уиджета —
   настройките в редактора ги презаписват. */
.elementor-widget-n-accordion.pb-faq {
  --n-accordion-border-width: 0px; --n-accordion-padding: 20px 4px; --n-accordion-title-font-size: 1.06rem;
  --n-accordion-title-normal-color: var(--pb-navy-900); --n-accordion-title-hover-color: var(--pb-navy-900); --n-accordion-title-active-color: var(--pb-navy-900);
  --n-accordion-icon-normal-color: var(--pb-navy-800); --n-accordion-icon-size: 11px;
  --n-accordion-title-icon-order: 1; --n-accordion-title-justify-content: space-between; --n-accordion-icon-gap: 0 20px;
}
.pb-faq .e-n-accordion-item-title-icon { width: 30px !important; height: 30px; flex: 0 0 auto; justify-content: center; border: 1px solid var(--pb-line); border-radius: 50%; }
.pb-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon { background: var(--pb-ice-100); }
.pb-faq .e-n-accordion-item-title-text { font-weight: 300; line-height: 1.45; }

/* Elementor Pro форма — помощни текстове и съгласие */
.pb-form-elementor .pb-help { font-size: .86rem; color: var(--pb-muted); line-height: 1.55; margin: 0; }
.pb-form-elementor .elementor-field-type-acceptance label { font-size: .9rem; line-height: 1.5; font-weight: 300; }
.pb-form-elementor .elementor-field-type-acceptance input { width: 18px; height: 18px; accent-color: var(--pb-navy-800); margin-top: 3px; }
.pb-form-elementor .elementor-field-type-acceptance .elementor-field-subgroup { align-items: flex-start; }
.pb-form-elementor .elementor-mark-required .elementor-field-label::after { color: var(--pb-blue-600); }

/* ===========================================================================
   Theme Builder шаблони (Elementor Pro): хедър, футър, карти, търсене.
   Цветове, отстояния и типография на менюто/търсенето са в настройките на
   уиджетите; тук са само формата на логото, падащите менюта и детайлите.
=========================================================================== */
.pb-logo-el .elementor-heading-title, .pb-logo-el .elementor-heading-title a { font-size: 25px !important; font-weight: 400; letter-spacing: -0.02em; line-height: 1; color: var(--pb-navy-900); white-space: nowrap; text-decoration: none; }
.pb-logo-el .pb-logo-tld { color: var(--pb-teal-500); }
.pb-logo-el--light .elementor-heading-title, .pb-logo-el--light .elementor-heading-title a { color: #fff; }
.pb-logo-el--light .pb-logo-tld { color: var(--pb-teal-300); }
/* Основно меню */
.pb-el-nav .elementor-nav-menu--main .elementor-item { border-radius: 999px; }
.pb-el-nav .elementor-nav-menu--main .elementor-item:hover, .pb-el-nav .elementor-nav-menu--main .elementor-item.highlighted { background: var(--pb-ice-100); }
.pb-el-nav .elementor-nav-menu--main .current-menu-ancestor > .elementor-item, .pb-el-nav .elementor-nav-menu--main .current-menu-item > .elementor-item { box-shadow: inset 0 -1px 0 var(--pb-teal-500); border-radius: 0; }
.pb-el-nav .sub-arrow svg { width: 9px !important; height: 9px !important; opacity: .75; }
.pb-el-nav .elementor-nav-menu--main .sub-menu { border: 1px solid var(--pb-line); box-shadow: var(--pb-shadow-lift); padding: 10px; min-width: 300px !important; }
.pb-el-nav .elementor-nav-menu--main .sub-menu .elementor-sub-item { border-radius: 10px; line-height: 1.35; }
.pb-el-nav .elementor-nav-menu--dropdown { border-top: 1px solid var(--pb-line); box-shadow: 0 24px 40px -24px rgba(10,36,69,.35); }
.pb-el-nav .elementor-nav-menu--dropdown .elementor-item, .pb-el-nav .elementor-nav-menu--dropdown .elementor-sub-item { border-bottom: 1px solid var(--pb-line); }
.pb-el-nav .elementor-menu-toggle { border-style: solid; border-color: var(--pb-line); width: 44px; height: 44px; justify-content: center; }
/* Търсене — бутон в хедъра и поле в съдържанието */
.pb-el-search .elementor-search-form__toggle div { border-style: solid; border-color: var(--pb-line) !important; }
.pb-el-search-inline .elementor-search-form__container { border: 1px solid var(--pb-line) !important; box-shadow: var(--pb-shadow); padding: 5px; max-width: 640px; }
.pb-el-search-inline .elementor-search-form__input { padding-left: 22px !important; }
.pb-el-search-inline .elementor-search-form__submit { border-radius: 999px !important; background-image: var(--pb-gradient-button) !important; padding: 0 22px !important; min-width: 0 !important; }
/* Футър */
.pb-foot-title .elementor-heading-title { color: #fff; font-size: 13px !important; letter-spacing: .16em; text-transform: uppercase; font-weight: 400; line-height: 1.4; }
.pb-footer-note-el, .pb-footer-note-el p { color: rgba(255,255,255,.78); font-size: .95rem; line-height: 1.65; max-width: 26rem; }
.pb-footer-urgent-el { border-top: 1px solid rgba(255,255,255,.12); }
.pb-footer-urgent-el .pb-urgent-ico img { width: 22px !important; height: 22px; margin-top: 2px; filter: brightness(0) invert(.85) sepia(.3) hue-rotate(150deg); }
.pb-footer-urgent-text, .pb-footer-urgent-text p { color: rgba(255,255,255,.86); font-size: .95rem; line-height: 1.6; margin: 0; }
.pb-footer-urgent-text strong { color: #fff; font-weight: 400; }
.pb-footer-bottom-el { border-top: 1px solid rgba(255,255,255,.12); }
.pb-footer-copy .elementor-heading-title { font-size: .86rem !important; color: rgba(255,255,255,.6); font-weight: 300; }
.pb-el-foot-nav .elementor-nav-menu--main .elementor-item, .pb-el-legal-nav .elementor-nav-menu--main .elementor-item { justify-content: flex-start; }
/* Карта на статия (Loop Item) */
.pb-post-card-el { transition: border-color .25s, box-shadow .25s, transform .25s; height: 100%; }
.pb-post-card-el:hover { border-color: #BFD5E2 !important; box-shadow: var(--pb-shadow); transform: translateY(-2px); }
.pb-post-card-img img { aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; }
.pb-post-chip .elementor-post-info__terms-list-item, .pb-post-chip .elementor-post-info__item { display: inline-block; font-size: 11.5px !important; letter-spacing: .12em; text-transform: uppercase; color: var(--pb-navy-800); background: var(--pb-ice-100); border-radius: 999px; padding: 5px 11px; text-decoration: none; }
.pb-post-chip .elementor-post-info__item { padding: 0; background: none; }
.pb-post-card-title .elementor-heading-title, .pb-post-card-title .elementor-heading-title a { font-size: 1.12rem !important; line-height: 1.38; color: var(--pb-navy-900); text-decoration: none; }
.pb-post-card-excerpt, .pb-post-card-excerpt p { font-size: .94rem; line-height: 1.6; color: var(--pb-body); margin: 0; }
.pb-post-updated .elementor-post-info__item { font-size: .8rem !important; color: var(--pb-muted); }
.elementor-widget-loop-grid .elementor-pagination { margin-top: 36px; display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; font-size: .95rem; }
.elementor-widget-loop-grid .elementor-pagination .page-numbers { min-width: 40px; height: 40px; display: inline-grid; place-items: center; border-radius: 999px; padding: 0 12px; color: var(--pb-navy-800); text-decoration: none; }
.elementor-widget-loop-grid .elementor-pagination .page-numbers.current { background: var(--pb-gradient-button); color: #fff; }
.elementor-widget-loop-grid .e-loop-nothing-found-message { color: var(--pb-body); }
/* Филтър по категории (блог) */
.pb-tax-filter .e-filter-item { font-family: var(--pb-font); font-weight: 300; font-size: 14px; border: 1px solid var(--pb-line); border-radius: 999px; padding: 8px 16px; background: #fff; color: var(--pb-navy-800); }
.pb-tax-filter .e-filter-item[aria-pressed="true"] { background: var(--pb-gradient-button); color: #fff; border-color: transparent; }
/* Категории в блога (меню „Категории в блога“) като бутони */
.pb-el-chips .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: wrap; row-gap: 8px; }
.pb-el-chips .elementor-nav-menu--main .elementor-item { border: 1px solid var(--pb-line); border-radius: 999px; background: #fff; line-height: 1.2; }
.pb-el-chips .elementor-nav-menu--main .elementor-item:hover { background: var(--pb-ice-100); }
.pb-el-chips .elementor-nav-menu--main .current-menu-item > .elementor-item { background: var(--pb-gradient-button); border-color: transparent; color: #fff; }
.pb-cover-wide img { border-radius: var(--pb-radius-lg); aspect-ratio: 16/8; object-fit: cover; width: 100%; }
/* Мобилно меню (Nav Menu → падащо меню): бутон „Консултация“ и телефон */
.pb-el-nav .elementor-nav-menu--main .pb-mobile-only { display: none !important; }
.pb-el-nav .elementor-nav-menu--dropdown .pb-menu-cta > a { margin: 14px 16px 6px; justify-content: center; border-radius: 999px !important; background: var(--pb-gradient-button) !important; color: #fff !important; border-bottom: 0 !important; }
.pb-el-nav .elementor-nav-menu--dropdown .pb-menu-phone > a { margin: 6px 16px 16px; justify-content: center; border-radius: 999px !important; background: var(--pb-ice-100) !important; color: var(--pb-navy-800) !important; border-bottom: 0 !important; }

/* Скритото копие на лепкавия хедър (Elementor Pro) не бива да разширява страницата на тесни екрани */
.elementor-sticky__spacer{overflow:hidden}
.elementor-sticky__spacer .elementor-nav-menu--dropdown{display:none!important}
/* Видим фокус за клавиатура и в менютата на Elementor Pro */
.elementor-nav-menu .elementor-item:focus-visible,
.elementor-nav-menu .elementor-sub-item:focus-visible,
.elementor-menu-toggle:focus-visible { outline: 2px solid var(--pb-teal-500) !important; outline-offset: 2px; border-radius: 6px; }
.pb-footer .elementor-nav-menu .elementor-item:focus-visible, [data-elementor-type="footer"] .elementor-item:focus-visible { outline-color: var(--pb-teal-300) !important; }
.e-loop-nothing-found-message__text { font-size: 17.5px; line-height: 1.7; color: var(--pb-muted); margin: 8px 0 0; }
