/* Esthet overrides for Esthet header-eleven */

/* Generic Esthet rule uses line-height:85px on desktop nav links; header-eleven
   only overrides .has-submenu. Plain menu items made the pill far too tall. */
@media (min-width: 992px) {
  .header-eleven .header-nav .main-nav {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 0;
    padding: 6px 12px;
    min-height: 0;
  }

  .header-eleven .header-nav .main-nav > li,
  .header-eleven .header-nav .main-nav > li.has-submenu {
    margin: 0 2px 0 0 !important;
    padding: 0;
  }

  .header-eleven .header-nav .main-nav > li > a,
  .header-eleven .header-nav .main-nav > li > a.main-menu {
    line-height: 28px !important;
    padding: 4px 8px !important;
    font-size: var(--ab-nav-menu-size, 14px);
    font-weight: var(--ab-nav-menu-weight, 500);
    letter-spacing: var(--ab-nav-menu-tracking, 0px);
    text-transform: var(--ab-nav-menu-transform, none);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
  }
}

/* Mobile drawer links also follow navbar typography tokens. */
@media (max-width: 991.98px) {
  .header-eleven .main-menu-wrapper .main-nav > li > a,
  .header-eleven .main-menu-wrapper .main-nav > li > a.main-menu {
    font-size: var(--ab-nav-menu-size, 14px);
    font-weight: var(--ab-nav-menu-weight, 500);
    letter-spacing: var(--ab-nav-menu-tracking, 0px);
    text-transform: var(--ab-nav-menu-transform, none);
  }
}

/* Theme toggle: Esthet defaults to white icons (invisible on light pages). */
.header-eleven .header-navbar-rht > li.header-theme {
  border: 0;
  margin: 0;
  padding: 0;
}

.header-eleven .header-navbar-rht .theme-toggle {
  display: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(11, 58, 56, 0.12);
  background: rgba(11, 58, 56, 0.06);
  color: #0b3a38 !important;
  font-size: 20px;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.header-eleven .header-navbar-rht .theme-toggle.activate {
  display: inline-flex !important;
}

.header-eleven .header-navbar-rht .theme-toggle:hover,
.header-eleven .header-navbar-rht .theme-toggle:focus {
  background: rgba(11, 58, 56, 0.12);
  color: #0b3a38 !important;
}

/*
 * Home transparent header: light mode used pure white icons, which disappear
 * against the pale secondary (left) half of banner-eleven. Use a solid chip.
 */
.home-eleven .header-eleven:not(.fixed) .header-navbar-rht .theme-toggle {
  border-color: rgba(11, 58, 56, 0.16);
  background: rgba(255, 255, 255, 0.94);
  color: #0b3a38 !important;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.12);
}

.home-eleven .header-eleven:not(.fixed) .header-navbar-rht .theme-toggle:hover,
.home-eleven .header-eleven:not(.fixed) .header-navbar-rht .theme-toggle:focus {
  background: #fff;
  color: #0b3a38 !important;
}

html.dark-mode .home-eleven .header-eleven:not(.fixed) .header-navbar-rht .theme-toggle,
html[data-theme="dark"] .home-eleven .header-eleven:not(.fixed) .header-navbar-rht .theme-toggle,
html[data-ab-theme="dark"] .home-eleven .header-eleven:not(.fixed) .header-navbar-rht .theme-toggle {
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.12);
  color: #fff !important;
  box-shadow: none;
}

html.dark-mode .home-eleven .header-eleven:not(.fixed) .header-navbar-rht .theme-toggle:hover,
html.dark-mode .home-eleven .header-eleven:not(.fixed) .header-navbar-rht .theme-toggle:focus,
html[data-theme="dark"] .home-eleven .header-eleven:not(.fixed) .header-navbar-rht .theme-toggle:hover,
html[data-theme="dark"] .home-eleven .header-eleven:not(.fixed) .header-navbar-rht .theme-toggle:focus,
html[data-ab-theme="dark"] .home-eleven .header-eleven:not(.fixed) .header-navbar-rht .theme-toggle:hover,
html[data-ab-theme="dark"] .home-eleven .header-eleven:not(.fixed) .header-navbar-rht .theme-toggle:focus {
  background: rgba(255, 255, 255, 0.22);
  color: #fff !important;
}

html[data-theme="dark"] .header-eleven .header-navbar-rht .theme-toggle,
html.dark-mode .header-eleven .header-navbar-rht .theme-toggle,
html[data-ab-theme="dark"] .header-eleven .header-navbar-rht .theme-toggle {
  border-color: rgba(228, 242, 240, 0.18);
  background: rgba(228, 242, 240, 0.08);
  color: #e4f2f0 !important;
}

.header-eleven .ab-brand__logo {
  display: block;
  width: auto;
  max-width: 180px;
  object-fit: contain;
}

.header-eleven .ab-brand__text {
  display: inline-block;
  line-height: 1.1;
}

/* Language dropdown */
.header-eleven .header-navbar-rht > li.header-locale {
  border: 0;
  padding: 0;
  margin-left: 4px;
}

.header-eleven .header-lang {
  position: relative;
  padding-bottom: 10px;
  margin-bottom: -10px;
}

.header-eleven .header-lang__toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 6px 10px 6px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  text-decoration: none;
  cursor: pointer;
  appearance: none;
  backdrop-filter: blur(8px);
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.header-eleven .header-lang:hover .header-lang__toggle,
.header-eleven .header-lang:focus-within .header-lang__toggle,
.header-eleven .header-lang__toggle:hover,
.header-eleven .header-lang__toggle:focus {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.4);
  color: #fff;
}

.header-eleven .header-lang__toggle .language-flag,
.header-eleven .header-lang__menu .language-flag {
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.35);
}

.header-eleven .header-lang__caret {
  font-size: 10px;
  opacity: 0.85;
  transition: transform .2s ease;
}

.header-eleven .header-lang:hover .header-lang__caret,
.header-eleven .header-lang:focus-within .header-lang__caret {
  transform: rotate(180deg);
}

.header.header-eleven .header-nav .header-navbar-rht .header-lang__menu,
.header-eleven .header-lang__menu {
  display: none !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 4px;
  position: absolute;
  top: calc(100% - 2px);
  right: 0;
  left: auto;
  z-index: 1050;
  min-width: 52px !important;
  width: auto !important;
  max-width: 56px;
  margin: 0 !important;
  padding: 8px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 18px 40px rgba(11, 58, 56, 0.18) !important;
  transform: none !important;
}

.header.header-eleven .header-nav .header-navbar-rht .header-lang:hover > .header-lang__menu,
.header.header-eleven .header-nav .header-navbar-rht .header-lang:focus-within > .header-lang__menu,
.header-eleven .header-lang:hover > .header-lang__menu,
.header-eleven .header-lang:focus-within > .header-lang__menu {
  display: flex !important;
}

.header.header-eleven .header-nav .header-navbar-rht .header-lang__menu > li,
.header-eleven .header-lang__menu > li {
  display: block !important;
  float: none !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none !important;
}

.header.header-eleven .header-nav .header-navbar-rht .header-lang__menu > li + li,
.header.header-eleven .header-nav .header-navbar-rht .header-lang__menu > li::before,
.header.header-eleven .header-nav .header-navbar-rht .header-lang__menu > li::after,
.header-eleven .header-lang__menu > li + li,
.header-eleven .header-lang__menu > li::before,
.header-eleven .header-lang__menu > li::after {
  border: 0 !important;
  content: none !important;
  box-shadow: none !important;
}

.header.header-eleven .header-nav .header-navbar-rht .header-lang__menu .dropdown-item,
.header.header-eleven .header-nav .header-navbar-rht .header-lang__menu .dropdown-item:first-child,
.header.header-eleven .header-nav .header-navbar-rht .header-lang__menu .dropdown-item:last-child,
.header.header-eleven .header-nav .header-navbar-rht .header-lang__menu .dropdown-item:active,
.header.header-eleven .header-nav .header-navbar-rht .header-lang__menu .dropdown-item:focus,
.header.header-eleven .header-nav .header-navbar-rht .header-lang__menu .dropdown-item.active,
.header-eleven .header-lang__menu .dropdown-item,
.header-eleven .header-lang__menu .dropdown-item:active,
.header-eleven .header-lang__menu .dropdown-item:focus,
.header-eleven .header-lang__menu .dropdown-item.active {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 40px;
  gap: 0;
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 12px !important;
  padding: 8px !important;
  margin: 0 !important;
  background: transparent !important;
  color: #0b3a38 !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.header.header-eleven .header-nav .header-navbar-rht .header-lang__menu .dropdown-item:hover,
.header.header-eleven .header-nav .header-navbar-rht .header-lang__menu .dropdown-item:focus,
.header-eleven .header-lang__menu .dropdown-item:hover,
.header-eleven .header-lang__menu .dropdown-item:focus {
  background: #eef7f6 !important;
  color: #0b3a38 !important;
  padding-left: 8px !important;
}

.header.header-eleven .header-nav .header-navbar-rht .header-lang__menu .dropdown-item.active,
.header.header-eleven .header-nav .header-navbar-rht .header-lang__menu .dropdown-item.active:hover,
.header.header-eleven .header-nav .header-navbar-rht .header-lang__menu .dropdown-item.active:focus,
.header-eleven .header-lang__menu .dropdown-item.active,
.header-eleven .header-lang__menu .dropdown-item.active:hover,
.header-eleven .header-lang__menu .dropdown-item.active:focus {
  background: #0b3a38 !important;
  color: #fff !important;
}

.header-eleven .header-lang__menu .dropdown-item .language-flag {
  box-shadow: 0 0 0 1px rgba(11, 58, 56, 0.12);
}

.header-eleven .header-lang__menu .dropdown-item.active .language-flag {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.5);
}

.header-eleven .header-lang__menu .dropdown-divider {
  display: none;
}

html[data-theme="light"] .header-eleven:not(.fixed) .header-lang__toggle,
.header-eleven.fixed .header-lang__toggle,
.header-eleven:not(.fixed) .header-lang__toggle {
  border-color: rgba(11, 58, 56, 0.12);
  background: rgba(11, 58, 56, 0.06);
  color: #0b3a38;
}

html[data-theme="light"] .header-eleven:not(.fixed) .header-lang__toggle .language-flag,
.header-eleven.fixed .header-lang__toggle .language-flag,
.header-eleven:not(.fixed) .header-lang__toggle .language-flag {
  box-shadow: 0 0 0 1px rgba(11, 58, 56, 0.12);
}

.home-eleven .header-eleven:not(.fixed) .header-lang__toggle {
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.home-eleven .header-eleven:not(.fixed) .header-lang__toggle .language-flag {
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.35);
}

html[data-theme="dark"] .header-eleven .header-lang__menu {
  background: #12201f !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}

html[data-theme="dark"] .header-eleven .header-lang__menu .dropdown-item,
html[data-theme="dark"] .header-eleven .header-lang__menu .dropdown-item:active,
html[data-theme="dark"] .header-eleven .header-lang__menu .dropdown-item:focus {
  color: #e4f2f0 !important;
}

html[data-theme="dark"] .header-eleven .header-lang__menu .dropdown-item:hover,
html[data-theme="dark"] .header-eleven .header-lang__menu .dropdown-item:focus {
  background: #1a2e2c !important;
  color: #e4f2f0 !important;
}

html[data-theme="dark"] .header-eleven .header-lang__menu .dropdown-item.active,
html[data-theme="dark"] .header-eleven .header-lang__menu .dropdown-item.active:hover {
  background: #12a89f !important;
  color: #06201e !important;
}

/* Mobile drawer: language + theme live inside the slide-out panel. */
.header-eleven .mobile-menu-prefs {
  display: none;
}

@media (max-width: 991.98px) {
  .header-eleven .header-navbar-rht > li.header-theme,
  .header-eleven .header-navbar-rht > li.header-locale {
    display: none !important;
  }

  .header-eleven .mobile-menu-prefs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 8px 16px 16px;
    padding: 12px;
    border: 1px solid rgba(11, 58, 56, 0.12);
    border-radius: 16px;
    background: rgba(11, 58, 56, 0.04);
  }

  .header-eleven .mobile-menu-prefs__theme {
    display: inline-flex;
    align-items: center;
  }

  .header-eleven .mobile-menu-prefs .theme-toggle {
    display: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(11, 58, 56, 0.12);
    background: rgba(11, 58, 56, 0.06);
    color: #0b3a38 !important;
    font-size: 20px;
    align-items: center;
    justify-content: center;
    text-decoration: none;
  }

  .header-eleven .mobile-menu-prefs .theme-toggle.activate {
    display: inline-flex !important;
  }

  .header-eleven .mobile-menu-prefs__langs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-left: auto;
  }

  .header-eleven .mobile-menu-prefs__lang {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    min-height: 36px;
    min-width: 36px;
    padding: 6px;
    border-radius: 999px;
    border: 1px solid rgba(11, 58, 56, 0.12);
    background: #fff;
    color: #0b3a38;
    text-decoration: none;
  }

  .header-eleven .mobile-menu-prefs__lang .language-flag {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    object-fit: cover;
  }

  .header-eleven .mobile-menu-prefs__lang.is-active {
    background: #0b3a38;
    border-color: #0b3a38;
    color: #fff;
  }

  /* Dark mode remaps --white to #151515; force readable drawer links. */
  html.dark-mode .header-eleven .main-menu-wrapper .main-nav > li > a,
  html[data-theme="dark"] .header-eleven .main-menu-wrapper .main-nav > li > a,
  html[data-ab-theme="dark"] .header-eleven .main-menu-wrapper .main-nav > li > a,
  html.dark-mode .header-eleven .main-menu-wrapper .main-nav > li > a.main-menu,
  html[data-theme="dark"] .header-eleven .main-menu-wrapper .main-nav > li > a.main-menu,
  html[data-ab-theme="dark"] .header-eleven .main-menu-wrapper .main-nav > li > a.main-menu {
    color: #e4f2f0 !important;
  }

  html.dark-mode .header-eleven .main-menu-wrapper .main-nav > li > a span,
  html[data-theme="dark"] .header-eleven .main-menu-wrapper .main-nav > li > a span,
  html[data-ab-theme="dark"] .header-eleven .main-menu-wrapper .main-nav > li > a span,
  html.dark-mode .header-eleven .main-menu-wrapper .main-nav > li > a i,
  html[data-theme="dark"] .header-eleven .main-menu-wrapper .main-nav > li > a i,
  html[data-ab-theme="dark"] .header-eleven .main-menu-wrapper .main-nav > li > a i {
    color: inherit !important;
  }

  html.dark-mode .header-eleven .main-menu-wrapper .main-nav > li.active > a,
  html[data-theme="dark"] .header-eleven .main-menu-wrapper .main-nav > li.active > a,
  html[data-ab-theme="dark"] .header-eleven .main-menu-wrapper .main-nav > li.active > a,
  html.dark-mode .header-eleven .main-menu-wrapper .main-nav > li > a:hover,
  html[data-theme="dark"] .header-eleven .main-menu-wrapper .main-nav > li > a:hover,
  html[data-ab-theme="dark"] .header-eleven .main-menu-wrapper .main-nav > li > a:hover {
    color: #7dcfca !important;
  }

  html.dark-mode .header-eleven .main-menu-wrapper .main-nav > li .submenu li a,
  html[data-theme="dark"] .header-eleven .main-menu-wrapper .main-nav > li .submenu li a,
  html[data-ab-theme="dark"] .header-eleven .main-menu-wrapper .main-nav > li .submenu li a {
    color: #c5ddd9 !important;
  }

  html.dark-mode .header-eleven .main-menu-wrapper .main-nav > li,
  html[data-theme="dark"] .header-eleven .main-menu-wrapper .main-nav > li,
  html[data-ab-theme="dark"] .header-eleven .main-menu-wrapper .main-nav > li {
    border-color: rgba(228, 242, 240, 0.12) !important;
  }

  html.dark-mode .header-eleven .mobile-menu-prefs,
  html[data-theme="dark"] .header-eleven .mobile-menu-prefs,
  html[data-ab-theme="dark"] .header-eleven .mobile-menu-prefs {
    border-color: rgba(228, 242, 240, 0.14);
    background: rgba(228, 242, 240, 0.06);
  }

  html.dark-mode .header-eleven .mobile-menu-prefs .theme-toggle,
  html[data-theme="dark"] .header-eleven .mobile-menu-prefs .theme-toggle,
  html[data-ab-theme="dark"] .header-eleven .mobile-menu-prefs .theme-toggle {
    border-color: rgba(228, 242, 240, 0.18);
    background: rgba(228, 242, 240, 0.08);
    color: #e4f2f0 !important;
  }

  html.dark-mode .header-eleven .mobile-menu-prefs__lang,
  html[data-theme="dark"] .header-eleven .mobile-menu-prefs__lang,
  html[data-ab-theme="dark"] .header-eleven .mobile-menu-prefs__lang {
    border-color: rgba(228, 242, 240, 0.16);
    background: rgba(18, 32, 31, 0.85);
    color: #e4f2f0;
  }

  html.dark-mode .header-eleven .mobile-menu-prefs__lang.is-active,
  html[data-theme="dark"] .header-eleven .mobile-menu-prefs__lang.is-active,
  html[data-ab-theme="dark"] .header-eleven .mobile-menu-prefs__lang.is-active {
    background: #12a89f;
    border-color: #12a89f;
    color: #06201e;
  }

  html.dark-mode .header-eleven .main-menu-wrapper .header-items .title,
  html[data-theme="dark"] .header-eleven .main-menu-wrapper .header-items .title,
  html[data-ab-theme="dark"] .header-eleven .main-menu-wrapper .header-items .title,
  html.dark-mode .header-eleven .main-menu-wrapper .header-items .link a,
  html[data-theme="dark"] .header-eleven .main-menu-wrapper .header-items .link a,
  html[data-ab-theme="dark"] .header-eleven .main-menu-wrapper .header-items .link a {
    color: #e4f2f0;
  }

  html.dark-mode .header-eleven .main-menu-wrapper .header-items .support-item .title,
  html[data-theme="dark"] .header-eleven .main-menu-wrapper .header-items .support-item .title,
  html[data-ab-theme="dark"] .header-eleven .main-menu-wrapper .header-items .support-item .title {
    color: #9bb8b4;
  }
}

/* Back to top: keep brand colors stable across theme switches. */
.progress-wrap {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ab-primary, #0b3a38) 22%, transparent) !important;
  background: color-mix(in srgb, var(--ab-surface, #ffffff) 92%, transparent);
}

.progress-wrap::after {
  color: var(--ab-primary, #0b3a38) !important;
}

.progress-wrap svg.progress-circle path {
  stroke: var(--ab-primary, #0b3a38) !important;
}

html[data-theme="dark"] .progress-wrap {
  background: color-mix(in srgb, #12201f 90%, transparent);
  box-shadow: inset 0 0 0 2px rgba(125, 207, 202, 0.35) !important;
}

html[data-theme="dark"] .progress-wrap::after {
  color: #7dcfca !important;
}

html[data-theme="dark"] .progress-wrap svg.progress-circle path {
  stroke: #7dcfca !important;
}

/* Blog listing: grid/list + AJAX */
.blog-listing-toolbar .blog-view-switcher {
  display: inline-flex;
  gap: 6px;
  padding: 4px;
  border-radius: 10px;
  background: rgba(11, 58, 56, 0.06);
}

.blog-listing-toolbar .blog-view-switcher .view-btn {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #0b3a38;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.blog-listing-toolbar .blog-view-switcher .view-btn.active {
  background: #0b3a38;
  color: #fff;
}

.blog-listing-toolbar .blog-sort-field .form-select {
  min-width: 160px;
}

#blog-posts-container.loading-active {
  opacity: 0.55;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.blog-empty-state {
  padding: 48px 24px;
  text-align: center;
  border: 1px dashed rgba(11, 58, 56, 0.18);
  border-radius: 16px;
  background: rgba(11, 58, 56, 0.03);
}

.blog-image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 220px;
  background: linear-gradient(135deg, #e8f3f1, #d5e8e5);
  border-radius: 12px;
}

.blog-image-placeholder--thumb {
  aspect-ratio: 1;
  min-height: 70px;
  border-radius: 8px;
  min-width: 70px;
}

.category-widget .categories a.is-active {
  color: var(--bs-primary, #0b3a38);
  font-weight: 600;
}

.tags-widget .tags.tags-colored,
.blog-view .blog-tags.tags-colored {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tags-widget .tags.tags-colored > li,
.blog-view .blog-tags.tags-colored > li {
  margin: 0;
  padding: 0;
}

.tags-widget .tags.tags-colored .tag,
.blog-view .blog-tags.tags-colored .tag {
  --tag-color: #0b3a38;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--tag-color) 35%, transparent);
  background: color-mix(in srgb, var(--tag-color) 12%, #ffffff);
  color: #0b3a38;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
}

.tags-widget .tags.tags-colored .tag .tag-dot,
.blog-view .blog-tags.tags-colored .tag .tag-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--tag-color);
  flex: 0 0 auto;
}

.tags-widget .tags.tags-colored .tag .tag-count,
.blog-view .blog-tags.tags-colored .tag .tag-count {
  color: color-mix(in srgb, var(--tag-color) 75%, #0b3a38);
  font-weight: 600;
}

.tags-widget .tags.tags-colored .tag.active,
.tags-widget .tags.tags-colored .tag:hover,
.blog-view .blog-tags.tags-colored .tag:hover {
  background: var(--tag-color);
  border-color: var(--tag-color);
  color: #fff;
}

.tags-widget .tags.tags-colored .tag.active .tag-dot,
.tags-widget .tags.tags-colored .tag:hover .tag-dot,
.blog-view .blog-tags.tags-colored .tag:hover .tag-dot {
  background: #fff;
}

.tags-widget .tags.tags-colored .tag.active .tag-count,
.tags-widget .tags.tags-colored .tag:hover .tag-count,
.blog-view .blog-tags.tags-colored .tag:hover .tag-count {
  color: rgba(255, 255, 255, 0.9);
}

html[data-theme="dark"] .tags-widget .tags.tags-colored .tag,
[data-ab-theme="dark"] .tags-widget .tags.tags-colored .tag,
html[data-theme="dark"] .blog-view .blog-tags.tags-colored .tag,
[data-ab-theme="dark"] .blog-view .blog-tags.tags-colored .tag {
  background: color-mix(in srgb, var(--tag-color) 22%, #12201f);
  border-color: color-mix(in srgb, var(--tag-color) 45%, #213634);
  color: #e4f2f0;
}

html[data-theme="dark"] .tags-widget .tags.tags-colored .tag .tag-count,
[data-ab-theme="dark"] .tags-widget .tags.tags-colored .tag .tag-count,
html[data-theme="dark"] .blog-view .blog-tags.tags-colored .tag .tag-count,
[data-ab-theme="dark"] .blog-view .blog-tags.tags-colored .tag .tag-count {
  color: color-mix(in srgb, var(--tag-color) 55%, #e4f2f0);
}

/* Equal-height grid cards */
#blog-posts-container.blog-posts-view-grid .blog-grid-row {
  display: flex;
  flex-wrap: wrap;
  row-gap: 24px;
  margin-bottom: 0;
}

#blog-posts-container.blog-posts-view-grid .blog-post-col {
  display: flex;
  margin-bottom: 0;
}

#blog-posts-container.blog-posts-view-grid .blog.grid-blog {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  margin-bottom: 0;
}

#blog-posts-container.blog-posts-view-grid .blog.grid-blog .blog-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

#blog-posts-container.blog-posts-view-grid .blog.grid-blog .blog-content .blog-title {
  flex: 0 0 auto;
}

#blog-posts-container.blog-posts-view-grid .blog.grid-blog .blog-content > p {
  margin-top: auto;
}

#blog-posts-container .blog-image > a:first-child {
  display: block;
  width: 100%;
  height: 220px;
  overflow: hidden;
  border-radius: 10px;
}

#blog-posts-container .blog-image > a:first-child img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Category pill: theme CSS forces .blog-image > a to width:100% */
#blog-posts-container .blog-image a.category-slug,
#blog-posts-container .blog-image .category-slug {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  z-index: 3;
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  max-width: calc(100% - 24px);
  height: auto !important;
  margin: 0;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background: #0b3a38 !important;
  color: #fff !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
  transform: none !important;
}

html[data-theme="dark"] #blog-posts-container .blog-image a.category-slug,
html[data-theme="dark"] #blog-posts-container .blog-image .category-slug,
[data-ab-theme="dark"] #blog-posts-container .blog-image a.category-slug,
[data-ab-theme="dark"] #blog-posts-container .blog-image .category-slug {
  background: #e8f7f5 !important;
  color: #0b3a38 !important;
}

#blog-posts-container .entry-meta.meta-item {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
}

#blog-posts-container .post-author .post-author-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: inherit;
}

#blog-posts-container .post-author img {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

/* Esthet list layout: full-width stacked .blog cards */
#blog-posts-container.blog-posts-view-list .blog-posts-list .blog {
  margin-bottom: 24px;
}

#blog-posts-container.blog-posts-view-list .blog-image > a:first-child {
  height: 364px; /* was 280px; +30% for list view */
}

@media (max-width: 767.98px) {
  #blog-posts-container .blog-image > a:first-child {
    height: 200px;
  }

  #blog-posts-container.blog-posts-view-list .blog-image > a:first-child {
    height: 260px; /* was 200px; +30% for list view */
  }
}

/* Blog adjacent (prev / next) navigation */
.blog-details-page .blog-adjacent {
  --ba-ink: #0f172a;
  --ba-muted: #64748b;
  --ba-line: #e2e8f0;
  --ba-surface: #f8fafc;
  --ba-hover: #ffffff;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 0 0 1.75rem;
}

html[data-theme="dark"] .blog-details-page .blog-adjacent,
html[data-ab-theme="dark"] .blog-details-page .blog-adjacent,
html.dark-mode .blog-details-page .blog-adjacent {
  --ba-ink: #f8fafc;
  --ba-muted: rgba(248, 250, 252, 0.62);
  --ba-line: rgba(248, 250, 252, 0.14);
  --ba-surface: rgba(255, 255, 255, 0.04);
  --ba-hover: rgba(255, 255, 255, 0.07);
}

.blog-details-page .blog-adjacent__link {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid var(--ba-line);
  border-radius: 10px;
  background: var(--ba-surface);
  text-decoration: none;
  color: inherit;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.blog-details-page .blog-adjacent__link:hover {
  background: var(--ba-hover);
  border-color: color-mix(in srgb, var(--primary, #316dff) 35%, var(--ba-line));
}

.blog-details-page .blog-adjacent__link--empty {
  visibility: hidden;
  pointer-events: none;
  border: 0;
  background: transparent;
  padding: 0;
}

.blog-details-page .blog-adjacent__dir {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--ba-muted);
}

.blog-details-page .blog-adjacent__link--next .blog-adjacent__dir {
  justify-content: flex-end;
}

.blog-details-page .blog-adjacent__body {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.blog-details-page .blog-adjacent__link--next .blog-adjacent__body {
  justify-content: flex-end;
  text-align: right;
}

.blog-details-page .blog-adjacent__thumb {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 8px;
  object-fit: cover;
  background: var(--ba-line);
}

.blog-details-page .blog-adjacent__thumb--empty {
  display: block;
}

.blog-details-page .blog-adjacent__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--ba-ink);
}

@media (max-width: 575.98px) {
  .blog-details-page .blog-adjacent {
    grid-template-columns: 1fr;
  }

  .blog-details-page .blog-adjacent__link--empty {
    display: none;
  }

  .blog-details-page .blog-adjacent__link--next .blog-adjacent__dir,
  .blog-details-page .blog-adjacent__link--next .blog-adjacent__body {
    justify-content: flex-start;
    text-align: left;
  }

  .blog-details-page .blog-adjacent__link--next .blog-adjacent__body {
    flex-direction: row-reverse;
    justify-content: flex-end;
  }
}

/* Esthet blog details */
.blog-details-page .blog-single-post > .blog-image {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 12px;
  background: rgba(15, 23, 42, 0.06);
}

.blog-details-page .blog-single-post > .blog-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

@media (max-width: 767.98px) {
  .blog-details-page .blog-single-post > .blog-image {
    aspect-ratio: 4 / 3;
    border-radius: 10px;
  }
}

.blog-details-page .blog-view .post-author .post-author-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: inherit;
}

.blog-details-page .blog-view .post-author img {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
}

.blog-details-page .blog-content .video,
.blog-details-page .blog-content .audio,
.blog-details-page .blog-content .gallery {
  margin-bottom: 1.25rem;
}

.blog-details-page .blog-lead {
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(15, 23, 42, 0.86);
}

.blog-details-page .blog-lead p:last-child {
  margin-bottom: 0;
}

html[data-theme="dark"] .blog-details-page .blog-lead,
html[data-ab-theme="dark"] .blog-details-page .blog-lead,
html[data-theme="dark"] .blog-details-page .blog-content,
html[data-ab-theme="dark"] .blog-details-page .blog-content {
  color: rgba(248, 250, 252, 0.92);
}

html[data-theme="dark"] .blog-details-page .blog-content p,
html[data-ab-theme="dark"] .blog-details-page .blog-content p,
html[data-theme="dark"] .blog-details-page .blog-content li,
html[data-ab-theme="dark"] .blog-details-page .blog-content li {
  color: inherit;
}

.blog-details-page .blog-media-block--video .premium-video-player-wrapper,
.blog-details-page .blog-media-embed {
  border-radius: 12px;
  overflow: hidden;
}

.blog-details-page .blog-media-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.blog-details-page .blog-article-gallery__item {
  display: block;
  overflow: hidden;
  border-radius: 10px;
  background: #f1f5f9;
}

.blog-details-page .blog-article-gallery__item img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.blog-details-page .blog-article-gallery__item:hover img {
  transform: scale(1.06);
}

.blog-details-page .blog-faq details {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 8px;
  padding: 0.75rem 1rem;
  background: #fff;
  color: #0f172a;
}

.blog-details-page .blog-faq summary {
  cursor: pointer;
  font-weight: 600;
  color: inherit;
}

.blog-details-page .blog-faq details p {
  color: rgba(15, 23, 42, 0.78);
}

html[data-theme="dark"] .blog-details-page .blog-faq details,
html[data-ab-theme="dark"] .blog-details-page .blog-faq details {
  background: #1a222c;
  border-color: rgba(248, 250, 252, 0.12);
  color: #f8fafc;
}

html[data-theme="dark"] .blog-details-page .blog-faq summary,
html[data-ab-theme="dark"] .blog-details-page .blog-faq summary {
  color: #f8fafc;
}

html[data-theme="dark"] .blog-details-page .blog-faq details p,
html[data-ab-theme="dark"] .blog-details-page .blog-faq details p {
  color: rgba(248, 250, 252, 0.92) !important;
}

/* ---------- Sertifikatlar page ---------- */
.page-certificates {
  --cert-ink: #0b3a38;
  --cert-muted: rgba(11, 58, 56, 0.68);
  --cert-line: rgba(11, 58, 56, 0.12);
  --cert-soft: #f3f7f6;
  --cert-card: #ffffff;
  --cert-accent: #7dcfca;
  --cert-node: #ffffff;
  --cert-node-ring: rgba(125, 207, 202, 0.25);
  --cert-hero-glow: rgba(125, 207, 202, 0.28);
  --cert-hero-spot: rgba(11, 58, 56, 0.08);
  --cert-hero-from: #f7fbfa;
  --cert-hero-to: #ffffff;
  --cert-frame-from: #ffffff;
  --cert-frame-to: var(--cert-soft);
  --cert-shadow: 0 10px 28px rgba(11, 58, 56, 0.05);
  --cert-shadow-hover: 0 22px 44px rgba(11, 58, 56, 0.14);
  --cert-frame-shadow: 0 14px 34px rgba(11, 58, 56, 0.08);
  --cert-overlay: linear-gradient(180deg, rgba(11, 58, 56, 0.05), rgba(11, 58, 56, 0.42));
  --cert-zoom-bg: rgba(255, 255, 255, 0.92);
  --cert-zoom-fg: #0b3a38;
  --cert-rail: linear-gradient(180deg, var(--cert-accent), rgba(11, 58, 56, 0.08));
}

.page-certificates .certificates-hero {
  position: relative;
  padding: 2.5rem 0 1.75rem;
  background:
    radial-gradient(1200px 280px at 10% -20%, var(--cert-hero-glow), transparent 60%),
    linear-gradient(180deg, var(--cert-hero-from) 0%, var(--cert-hero-to) 100%);
  border-bottom: 1px solid var(--cert-line);
  overflow: hidden;
}

.page-certificates .certificates-hero::after {
  content: "";
  position: absolute;
  inset: auto -8% -40% auto;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, var(--cert-hero-spot), transparent 70%);
  pointer-events: none;
}

.page-certificates .certificates-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  font-size: 0.875rem;
  color: var(--cert-muted);
}

.page-certificates .certificates-breadcrumb a {
  color: var(--cert-ink);
  text-decoration: none;
  font-weight: 500;
}

.page-certificates .certificates-breadcrumb a:hover {
  color: color-mix(in srgb, var(--cert-ink) 75%, #7dcfca);
}

.page-certificates .certificates-hero__title {
  margin: 0 0 0.65rem;
  color: var(--cert-ink);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.15;
}

.page-certificates .certificates-hero__subtitle {
  margin: 0;
  max-width: 36rem;
  color: var(--cert-muted);
  font-size: 1.05rem;
  line-height: 1.6;
}

.page-certificates .certificates-copy .body-content > .certificates-lead,
.page-certificates .certificates-copy .certificates-lead {
  margin: 0 0 1.75rem;
  max-width: 44rem;
  color: var(--cert-muted);
  font-size: 1.05rem;
  line-height: 1.7;
}

.page-certificates .certificates-timeline {
  list-style: none;
  margin: 0;
  padding: 0 0 0.5rem 0;
  position: relative;
}

.page-certificates .certificates-timeline::before {
  content: "";
  position: absolute;
  top: 0.35rem;
  bottom: 0.35rem;
  left: 0.55rem;
  width: 2px;
  background: var(--cert-rail);
}

.page-certificates .certificates-timeline__item {
  position: relative;
  display: grid;
  grid-template-columns: 7.5rem 1fr;
  gap: 1rem 1.25rem;
  margin: 0 0 1.35rem;
  padding-left: 2rem;
}

.page-certificates .certificates-timeline__item::before {
  content: "";
  position: absolute;
  top: 0.45rem;
  left: 0.3rem;
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 50%;
  background: var(--cert-node);
  border: 2px solid var(--cert-accent);
  box-shadow: 0 0 0 4px var(--cert-node-ring);
}

.page-certificates .certificates-timeline__year {
  color: var(--cert-ink);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.page-certificates .certificates-timeline__body {
  background: var(--cert-card);
  border: 1px solid var(--cert-line);
  border-radius: 16px;
  padding: 1rem 1.15rem;
  box-shadow: var(--cert-shadow);
}

.page-certificates .certificates-timeline__body h4 {
  margin: 0 0 0.45rem;
  color: var(--cert-ink);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
}

.page-certificates .certificates-timeline__body p {
  margin: 0 0 0.55rem;
  color: var(--cert-muted);
  font-size: 0.95rem;
  line-height: 1.65;
}

.page-certificates .certificates-timeline__meta {
  margin: 0 !important;
  color: var(--cert-ink) !important;
  font-size: 0.88rem !important;
}

.page-certificates .certificate-card {
  margin: 0;
  height: 100%;
  animation: certificatesCardIn 0.55s ease both;
  animation-delay: var(--cert-delay, 0s);
}

@keyframes certificatesCardIn {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-certificates .certificate-card {
    animation: none;
  }
}

.page-certificates .certificate-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
  height: 100%;
}

.page-certificates .certificate-card__frame {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid var(--cert-line);
  background: linear-gradient(160deg, var(--cert-frame-from) 0%, var(--cert-frame-to) 100%);
  box-shadow: var(--cert-frame-shadow);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.page-certificates .certificate-card__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0.85rem;
  transition: transform 0.45s ease;
}

.page-certificates .certificate-card__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--cert-overlay);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.page-certificates .certificate-card__zoom {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--cert-zoom-bg);
  color: var(--cert-zoom-fg);
  font-size: 1.15rem;
  transform: translateY(8px) scale(0.92);
  transition: transform 0.3s ease;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

.page-certificates .certificate-card__link:hover .certificate-card__frame,
.page-certificates .certificate-card__link:focus-visible .certificate-card__frame {
  transform: translateY(-6px);
  border-color: color-mix(in srgb, var(--cert-accent) 55%, var(--cert-line));
  box-shadow: var(--cert-shadow-hover);
}

.page-certificates .certificate-card__link:hover .certificate-card__image,
.page-certificates .certificate-card__link:focus-visible .certificate-card__image {
  transform: scale(1.04);
}

.page-certificates .certificate-card__link:hover .certificate-card__overlay,
.page-certificates .certificate-card__link:focus-visible .certificate-card__overlay {
  opacity: 1;
}

.page-certificates .certificate-card__link:hover .certificate-card__zoom,
.page-certificates .certificate-card__link:focus-visible .certificate-card__zoom {
  transform: translateY(0) scale(1);
}

.page-certificates .certificate-card__caption {
  margin-top: 0.7rem;
  color: var(--cert-muted);
  font-size: 0.85rem;
  line-height: 1.4;
}

@media (max-width: 767.98px) {
  .page-certificates .certificates-timeline__item {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .page-certificates .certificates-hero {
    padding-top: 1.75rem;
  }
}

html.dark-mode .page-certificates,
html[data-theme="dark"] .page-certificates,
html[data-ab-theme="dark"] .page-certificates,
html[data-bs-theme="dark"] .page-certificates {
  --cert-ink: #eef7f6;
  --cert-muted: rgba(238, 247, 246, 0.72);
  --cert-line: rgba(125, 207, 202, 0.22);
  --cert-soft: rgba(125, 207, 202, 0.1);
  --cert-card: rgba(18, 36, 35, 0.92);
  --cert-accent: #7dcfca;
  --cert-node: #122423;
  --cert-node-ring: rgba(125, 207, 202, 0.28);
  --cert-hero-glow: rgba(125, 207, 202, 0.18);
  --cert-hero-spot: rgba(125, 207, 202, 0.12);
  --cert-hero-from: #0c1918;
  --cert-hero-to: #0a1211;
  --cert-frame-from: #152726;
  --cert-frame-to: #101e1d;
  --cert-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
  --cert-shadow-hover: 0 22px 48px rgba(0, 0, 0, 0.45);
  --cert-frame-shadow: 0 16px 36px rgba(0, 0, 0, 0.4);
  --cert-overlay: linear-gradient(180deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.55));
  --cert-zoom-bg: rgba(18, 36, 35, 0.94);
  --cert-zoom-fg: #7dcfca;
  --cert-rail: linear-gradient(180deg, #7dcfca, rgba(125, 207, 202, 0.12));
}

html.dark-mode .page-certificates .certificates-timeline__body,
html[data-theme="dark"] .page-certificates .certificates-timeline__body,
html[data-ab-theme="dark"] .page-certificates .certificates-timeline__body,
html[data-bs-theme="dark"] .page-certificates .certificates-timeline__body {
  backdrop-filter: blur(8px);
}

html.dark-mode .page-certificates .certificate-card__image,
html[data-theme="dark"] .page-certificates .certificate-card__image,
html[data-ab-theme="dark"] .page-certificates .certificate-card__image,
html[data-bs-theme="dark"] .page-certificates .certificate-card__image {
  filter: saturate(1.05) contrast(1.02);
}

/* —— Public doctor profile (Esthet profile-1 + profile-2 synthesis) —— */
.doctor-profile-page .doc-profile-card {
  margin-bottom: 24px;
}

.doctor-profile-page .doc-closed-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fee4e2;
  color: #b42318;
  border-radius: 50px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 600;
}

.doctor-profile-page .doc-closed-badge i {
  font-size: 8px;
}

.doctor-profile-page .view-text {
  color: var(--primary, #316dff);
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
}

.doctor-profile-page .view-text:hover {
  text-decoration: underline;
}

.doctor-profile-page .tab-content > .tab-pane.active {
  display: block;
}

.doctor-profile-page .tab-content > .tab-pane:not(.active) {
  display: none;
}

.doctor-profile-page .experience-info {
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
}

.doctor-profile-page .experience-logo span {
  display: inline-flex;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #f4f6f8;
  border: 1px solid #e2e8f0;
  overflow: hidden;
  padding: 4px;
}

.doctor-profile-page .experience-logo img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.doctor-profile-page .experience-content h5 {
  font-size: 16px;
  margin-bottom: 6px;
}

.doctor-profile-page .date-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
  color: #64748b;
  font-size: 13px;
}

.doctor-profile-page .clinic-loc .contact-map,
.doctor-profile-page .doctor-location-map-wrap,
.doctor-profile-page #doctor-public-map {
  width: 100%;
  min-height: 320px;
  height: 360px;
  border-radius: 10px;
  border: 1px solid #e6e9f0;
  overflow: hidden;
  z-index: 1;
}

.doctor-profile-page .doctor-location-map-wrap {
  border: 0;
  background: transparent;
  overflow: visible;
  height: auto;
  min-height: 0;
}

.doctor-profile-page .doctor-location-map-wrap #doctor-public-map {
  height: 360px;
}

.doctor-profile-page .doc-review-card {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 18px;
  margin-bottom: 16px;
  background: #fff;
}

.doctor-profile-page .user-info-review {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.doctor-profile-page .reviewer-img {
  display: flex;
  align-items: center;
  gap: 12px;
}

.doctor-profile-page .doctor-review-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--primary, #316dff);
  color: #fff;
  font-weight: 600;
  flex-shrink: 0;
}

.doctor-profile-page .reviewer-name {
  display: block;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 2px;
}

.doctor-profile-page .thumb-icon {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #027a48;
  font-size: 13px;
  font-weight: 500;
}

.doctor-profile-page .hours-business ul {
  list-style: none;
  padding: 0;
  margin: 0;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

.doctor-profile-page .hours-business li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  border-bottom: 1px solid #eef2f6;
}

.doctor-profile-page .hours-business li:last-child {
  border-bottom: 0;
}

.doctor-profile-page .hours-business li:first-child {
  background: #f8fafc;
}

.doctor-profile-page .hours-business h6 {
  margin: 0;
  font-size: 15px;
}

.doctor-profile-page .hours-business p {
  margin: 0;
  color: #475569;
}

.doctor-profile-page .special-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 10px;
}

.doctor-profile-page .special-links li {
  margin: 0 !important;
  float: none !important;
  width: auto !important;
}

.doctor-profile-page .special-links li span {
  display: block;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 10px 14px;
  background: #f8fafc;
  color: #334155;
  font-size: 14px;
}

@media (max-width: 991.98px) {
  .doctor-profile-page .clinic-loc .contact-map,
  .doctor-profile-page #doctor-public-map {
    margin-top: 20px;
    min-height: 240px;
    height: 260px;
  }

  .doctor-profile-page .doc-profile-card-bottom {
    gap: 16px;
  }
}

.doctor-profile-page .clinic-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 8px;
}

.doctor-profile-page .clinic-contact-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #475569;
  font-size: 14px;
}

.doctor-profile-page .clinic-contact-list i {
  width: 16px;
  color: var(--primary, #316dff);
}

.doctor-profile-page .clinic-contact-list a {
  color: inherit;
  text-decoration: none;
}

.doctor-profile-page .clinic-contact-list a:hover {
  color: var(--primary, #316dff);
  text-decoration: underline;
}

.doctor-profile-page .clinic-img {
  width: 72px;
  height: 72px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  flex-shrink: 0;
}

.doctor-profile-page .clinic-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.doctor-profile-page .avail-time-slot {
  gap: 10px;
}

.doctor-profile-page .avail-time-slot .availability-date.is-closed .book-date {
  opacity: 0.72;
}

.doctor-profile-page .avail-time-slot .availability-date.is-closed .book-date span {
  color: #b42318;
}

.doctor-profile-page .doctor-availability-section .detail-title h4 {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 600;
  color: #0f172a;
}

.doctor-profile-page .availability-slots {
  gap: 12px;
}

.doctor-profile-page .availability-slots .availability-date {
  flex: 1 1 120px;
  min-width: 120px;
  max-width: 160px;
}

.doctor-profile-page .availability-slots .book-date {
  margin-right: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #fff;
}

.doctor-profile-page .availability-slots .book-date h6 {
  margin-bottom: 6px;
  font-size: 14px;
  font-weight: 600;
}

.doctor-profile-page .availability-slots .book-date span {
  font-size: 13px;
  line-height: 1.35;
}

.doctor-profile-page .avail-time-slot .availability-date {
  flex: 1 1 120px;
  min-width: 120px;
  max-width: 160px;
}

.doctor-profile-page .avail-time-slot .book-date {
  margin-right: 0;
  height: 100%;
}

/* —— Doctor profile light/dark contrast —— */
.doctor-profile-page {
  --dp-ink: #0f172a;
  --dp-muted: #475569;
  --dp-soft: #64748b;
  --dp-line: #e2e8f0;
  --dp-soft-bg: #f8fafc;
  --dp-card: #ffffff;
  --dp-chip: #f1f5f9;
  --dp-chip-ink: #0f172a;
  --dp-btn: var(--primary, #1f6f5f);
  --dp-btn-ink: #ffffff;
  --dp-link: var(--primary, #316dff);
}

.doctor-profile-page .doc-info-cont > p,
.doctor-profile-page .doc-info-cont .doc-speciality,
.doctor-profile-page .address-detail,
.doctor-profile-page .hospital-info p,
.doctor-profile-page .accept-text,
.doctor-profile-page .bottom-book-btn p,
.doctor-profile-page .bottom-book-btn p span,
.doctor-profile-page .book-date span,
.doctor-profile-page .clinic-direction,
.doctor-profile-page .clinic-contact-list li,
.doctor-profile-page .about-widget p,
.doctor-profile-page .timeline-content,
.doctor-profile-page .timeline-content .name,
.doctor-profile-page .service-list li,
.doctor-profile-page .comment-content,
.doctor-profile-page .write-review h4,
.doctor-profile-page .write-review label,
.doctor-profile-page .form-check-label {
  color: var(--dp-muted) !important;
}

.doctor-profile-page .doc-name,
.doctor-profile-page .clinic-name,
.doctor-profile-page .widget-title,
.doctor-profile-page .service-list > h4,
.doctor-profile-page .detail-title h4,
.doctor-profile-page .experience-content h5,
.doctor-profile-page .book-date h6,
.doctor-profile-page .reviewer-name,
.doctor-profile-page .hospital-info p b,
.doctor-profile-page .doc-profile-card-bottom ul li,
.doctor-profile-page .doctor-availability-section .detail-title h4 {
  color: var(--dp-ink) !important;
}

.doctor-profile-page .date-list,
.doctor-profile-page .timeline-content .time,
.doctor-profile-page .text-muted,
.doctor-profile-page .doctor-availability-today .text-muted {
  color: var(--dp-soft) !important;
}

.doctor-profile-page .view-text,
.doctor-profile-page .average-rating,
.doctor-profile-page .clinic-direction a,
.doctor-profile-page .clinic-contact-list a {
  color: var(--dp-link) !important;
}

.doctor-profile-page .contact-doctors a {
  background: var(--dp-chip) !important;
  color: var(--dp-chip-ink) !important;
  border: 1px solid var(--dp-line);
}

.doctor-profile-page .contact-doctors a .text-primary,
.doctor-profile-page .contact-doctors a i {
  color: var(--dp-link) !important;
}

.doctor-profile-page .clinic-booking .apt-btn,
.doctor-profile-page .bottom-book-btn .clinic-booking .apt-btn {
  background: var(--dp-btn) !important;
  border-color: var(--dp-btn) !important;
  color: var(--dp-btn-ink) !important;
}

.doctor-profile-page .special-links li span,
.doctor-profile-page .book-date,
.doctor-profile-page .availability-slots .book-date,
.doctor-profile-page .doc-review-card,
.doctor-profile-page .experience-logo span,
.doctor-profile-page .clinic-img {
  background: var(--dp-soft-bg) !important;
  border-color: var(--dp-line) !important;
  color: var(--dp-ink) !important;
}

.doctor-profile-page .special-links li span {
  color: var(--dp-muted) !important;
}

.doctor-profile-page .user-tabs .nav-tabs {
  border-color: var(--dp-line) !important;
}

.doctor-profile-page .user-tabs .nav-link {
  background: transparent !important;
  color: var(--dp-muted) !important;
  border-color: transparent !important;
}

.doctor-profile-page .user-tabs .nav-link.active,
.doctor-profile-page .user-tabs .nav-link:hover {
  color: var(--dp-link) !important;
  background: transparent !important;
}

.doctor-profile-page .form-control {
  background: var(--dp-card);
  border-color: var(--dp-line);
  color: var(--dp-ink);
}

.doctor-profile-page .form-control::placeholder {
  color: var(--dp-soft);
}

.doctor-profile-page .avail-time-slot .availability-date.is-closed .book-date span {
  color: #b42318 !important;
}

html.dark-mode .doctor-profile-page,
html[data-theme="dark"] .doctor-profile-page,
html[data-ab-theme="dark"] .doctor-profile-page,
html[data-bs-theme="dark"] .doctor-profile-page {
  --dp-ink: #f4f7fb;
  --dp-muted: #d7dee8;
  --dp-soft: #b8c2d0;
  --dp-line: rgba(148, 163, 184, 0.28);
  --dp-soft-bg: rgba(255, 255, 255, 0.04);
  --dp-card: #121212;
  --dp-chip: rgba(255, 255, 255, 0.08);
  --dp-chip-ink: #eef2f7;
  --dp-btn: var(--primary, #3d9a86);
  --dp-btn-ink: #ffffff;
  --dp-link: #7dd3c4;
}

html.dark-mode .doctor-profile-page .card,
html[data-theme="dark"] .doctor-profile-page .card,
html[data-ab-theme="dark"] .doctor-profile-page .card,
html[data-bs-theme="dark"] .doctor-profile-page .card,
html.dark-mode .doctor-profile-page .doc-profile-card,
html[data-theme="dark"] .doctor-profile-page .doc-profile-card,
html[data-ab-theme="dark"] .doctor-profile-page .doc-profile-card,
html[data-bs-theme="dark"] .doctor-profile-page .doc-profile-card {
  background: var(--dp-card) !important;
  border-color: var(--dp-line) !important;
  color: var(--dp-muted);
}

html.dark-mode .doctor-profile-page .doc-profile-card-bottom,
html[data-theme="dark"] .doctor-profile-page .doc-profile-card-bottom,
html[data-ab-theme="dark"] .doctor-profile-page .doc-profile-card-bottom,
html[data-bs-theme="dark"] .doctor-profile-page .doc-profile-card-bottom {
  border-top-color: var(--dp-line) !important;
}

html.dark-mode .doctor-profile-page .doc-closed-badge,
html[data-theme="dark"] .doctor-profile-page .doc-closed-badge,
html[data-ab-theme="dark"] .doctor-profile-page .doc-closed-badge,
html[data-bs-theme="dark"] .doctor-profile-page .doc-closed-badge {
  background: rgba(248, 113, 113, 0.16);
  color: #fca5a5;
}

html.dark-mode .doctor-profile-page .avail-time-slot .availability-date.is-closed .book-date span,
html[data-theme="dark"] .doctor-profile-page .avail-time-slot .availability-date.is-closed .book-date span,
html[data-ab-theme="dark"] .doctor-profile-page .avail-time-slot .availability-date.is-closed .book-date span,
html[data-bs-theme="dark"] .doctor-profile-page .avail-time-slot .availability-date.is-closed .book-date span {
  color: #fca5a5 !important;
}

html.dark-mode .doctor-profile-page .clinic-loc .contact-map,
html[data-theme="dark"] .doctor-profile-page .clinic-loc .contact-map,
html[data-ab-theme="dark"] .doctor-profile-page .clinic-loc .contact-map,
html[data-bs-theme="dark"] .doctor-profile-page .clinic-loc .contact-map,
html.dark-mode .doctor-profile-page #doctor-public-map,
html[data-theme="dark"] .doctor-profile-page #doctor-public-map,
html[data-ab-theme="dark"] .doctor-profile-page #doctor-public-map,
html[data-bs-theme="dark"] .doctor-profile-page #doctor-public-map {
  border-color: var(--dp-line);
}

html.dark-mode .doctor-profile-page .star-rating > label i,
html[data-theme="dark"] .doctor-profile-page .star-rating > label i,
html[data-ab-theme="dark"] .doctor-profile-page .star-rating > label i,
html[data-bs-theme="dark"] .doctor-profile-page .star-rating > label i,
html.dark-mode .doctor-profile-page .star-rating:hover > label i,
html[data-theme="dark"] .doctor-profile-page .star-rating:hover > label i,
html[data-ab-theme="dark"] .doctor-profile-page .star-rating:hover > label i,
html[data-bs-theme="dark"] .doctor-profile-page .star-rating:hover > label i {
  color: rgba(255, 255, 255, 0.28) !important;
}

html.dark-mode .doctor-profile-page .star-rating input:checked ~ label i,
html[data-theme="dark"] .doctor-profile-page .star-rating input:checked ~ label i,
html[data-ab-theme="dark"] .doctor-profile-page .star-rating input:checked ~ label i,
html[data-bs-theme="dark"] .doctor-profile-page .star-rating input:checked ~ label i,
html.dark-mode .doctor-profile-page .star-rating > label:hover i,
html[data-theme="dark"] .doctor-profile-page .star-rating > label:hover i,
html[data-ab-theme="dark"] .doctor-profile-page .star-rating > label:hover i,
html[data-bs-theme="dark"] .doctor-profile-page .star-rating > label:hover i,
html.dark-mode .doctor-profile-page .star-rating > label:hover ~ label i,
html[data-theme="dark"] .doctor-profile-page .star-rating > label:hover ~ label i,
html[data-ab-theme="dark"] .doctor-profile-page .star-rating > label:hover ~ label i,
html[data-bs-theme="dark"] .doctor-profile-page .star-rating > label:hover ~ label i {
  color: #fbbf24 !important;
}

html.dark-mode .doctor-profile-page .thumb-icon,
html[data-theme="dark"] .doctor-profile-page .thumb-icon,
html[data-ab-theme="dark"] .doctor-profile-page .thumb-icon,
html[data-bs-theme="dark"] .doctor-profile-page .thumb-icon {
  color: #6ee7b7;
}

html.dark-mode .doctor-profile-page .experience-box .before-circle,
html[data-theme="dark"] .doctor-profile-page .experience-box .before-circle,
html[data-ab-theme="dark"] .doctor-profile-page .experience-box .before-circle,
html[data-bs-theme="dark"] .doctor-profile-page .experience-box .before-circle {
  background: var(--dp-link);
  border-color: var(--dp-card);
}

html.dark-mode .doctor-profile-page .experience-list::before,
html[data-theme="dark"] .doctor-profile-page .experience-list::before,
html[data-ab-theme="dark"] .doctor-profile-page .experience-list::before,
html[data-bs-theme="dark"] .doctor-profile-page .experience-list::before {
  background: var(--dp-line);
}

.doctor-profile-page .user-tabs .nav-tabs,
.doctor-profile-page .user-tabs .nav-tabs-bottom,
.doctor-profile-page .nav-tabs.nav-tabs-bottom {
  background: transparent !important;
  background-color: transparent !important;
}

html.dark-mode .doctor-profile-page .user-tabs .nav-tabs,
html[data-theme="dark"] .doctor-profile-page .user-tabs .nav-tabs,
html[data-ab-theme="dark"] .doctor-profile-page .user-tabs .nav-tabs,
html[data-bs-theme="dark"] .doctor-profile-page .user-tabs .nav-tabs,
html.dark-mode .doctor-profile-page .nav-tabs.nav-tabs-bottom,
html[data-theme="dark"] .doctor-profile-page .nav-tabs.nav-tabs-bottom,
html[data-ab-theme="dark"] .doctor-profile-page .nav-tabs.nav-tabs-bottom,
html[data-bs-theme="dark"] .doctor-profile-page .nav-tabs.nav-tabs-bottom {
  background: transparent !important;
  background-color: transparent !important;
  border-bottom-color: var(--dp-line) !important;
}

html.dark-mode .doctor-profile-page .user-tabs .nav-link:not(.active),
html[data-theme="dark"] .doctor-profile-page .user-tabs .nav-link:not(.active),
html[data-ab-theme="dark"] .doctor-profile-page .user-tabs .nav-link:not(.active),
html[data-bs-theme="dark"] .doctor-profile-page .user-tabs .nav-link:not(.active) {
  color: var(--dp-soft) !important;
}

html.dark-mode .doctor-profile-page .user-tabs .nav-link.active,
html[data-theme="dark"] .doctor-profile-page .user-tabs .nav-link.active,
html[data-ab-theme="dark"] .doctor-profile-page .user-tabs .nav-link.active,
html[data-bs-theme="dark"] .doctor-profile-page .user-tabs .nav-link.active {
  color: var(--dp-link) !important;
  border-bottom-color: var(--dp-link) !important;
}

html.dark-mode .doctor-profile-page .form-control,
html[data-theme="dark"] .doctor-profile-page .form-control,
html[data-ab-theme="dark"] .doctor-profile-page .form-control,
html[data-bs-theme="dark"] .doctor-profile-page .form-control {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: var(--dp-line) !important;
  color: var(--dp-ink) !important;
}

html.dark-mode .doctor-profile-page .btn-primary,
html[data-theme="dark"] .doctor-profile-page .btn-primary,
html[data-ab-theme="dark"] .doctor-profile-page .btn-primary,
html[data-bs-theme="dark"] .doctor-profile-page .btn-primary {
  color: #fff !important;
}

.doctor-profile-page .timeline-content .name,
.doctor-profile-page .education-widget .timeline-content .name {
  color: var(--dp-ink) !important;
  font-weight: 600;
}

.doctor-profile-page .user-tabs .nav-link:not(.active) {
  color: var(--dp-soft) !important;
}

/* Reviews tab contrast */
.doctor-profile-page #doc_reviews .doc-review-card,
.doctor-profile-page .doc-review-card {
  color: var(--dp-muted);
}

.doctor-profile-page #doc_reviews .doc-review-card p,
.doctor-profile-page .doc-review-card > p,
.doctor-profile-page .doc-review-card .rating span,
.doctor-profile-page .doc-review-card .review-star .rating span,
.doctor-profile-page .doc-review-card .review-star span:not(.reviewer-name) {
  color: var(--dp-muted) !important;
}

.doctor-profile-page #doc_reviews .doc-review-card h5,
.doctor-profile-page .doc-review-card h5,
.doctor-profile-page #doc_reviews .detail-title h4,
.doctor-profile-page #doc_reviews .write-review h4,
.doctor-profile-page #doc_reviews .write-review h4 strong {
  color: var(--dp-ink) !important;
}

.doctor-profile-page #doc_reviews .write-review label,
.doctor-profile-page #doc_reviews .form-check-label,
.doctor-profile-page #doc_reviews .write-review .mb-2 {
  color: var(--dp-muted) !important;
}

.doctor-profile-page .star-rating {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  direction: rtl;
  unicode-bidi: bidi-override;
}

.doctor-profile-page .star-rating input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.doctor-profile-page .star-rating > label {
  cursor: pointer;
  margin: 0;
  padding: 0 0.1rem;
  line-height: 1;
}

.doctor-profile-page .star-rating > label i,
.doctor-profile-page .star-rating > label .fa-star {
  color: #cbd5e1 !important;
  font-size: 1.35rem;
  transition: color 0.15s ease, transform 0.15s ease;
}

.doctor-profile-page .star-rating input:checked ~ label i,
.doctor-profile-page .star-rating input:checked ~ label .fa-star {
  color: #fbbf24 !important;
}

.doctor-profile-page .star-rating:hover > label i,
.doctor-profile-page .star-rating:hover > label .fa-star {
  color: #cbd5e1 !important;
}

.doctor-profile-page .star-rating > label:hover i,
.doctor-profile-page .star-rating > label:hover .fa-star,
.doctor-profile-page .star-rating > label:hover ~ label i,
.doctor-profile-page .star-rating > label:hover ~ label .fa-star {
  color: #fbbf24 !important;
}

.doctor-profile-page .star-rating > label:hover i {
  transform: scale(1.08);
}

.doctor-profile-page .star-rating-value {
  display: inline-block;
  margin-inline-start: 0.65rem;
  font-weight: 600;
  color: var(--dp-ink);
  vertical-align: middle;
  direction: ltr;
}

.doctor-profile-page #doc_reviews .form-control {
  color: var(--dp-ink) !important;
  caret-color: var(--dp-ink);
}

.doctor-profile-page #doc_reviews .form-control::placeholder {
  color: var(--dp-soft) !important;
  opacity: 1;
}

html.dark-mode .doctor-profile-page #doc_reviews .doc-review-card,
html[data-theme="dark"] .doctor-profile-page #doc_reviews .doc-review-card,
html[data-ab-theme="dark"] .doctor-profile-page #doc_reviews .doc-review-card,
html[data-bs-theme="dark"] .doctor-profile-page #doc_reviews .doc-review-card {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: var(--dp-line) !important;
}

html.dark-mode .doctor-profile-page #doc_reviews .rating .fa-star:not(.filled),
html[data-theme="dark"] .doctor-profile-page #doc_reviews .rating .fa-star:not(.filled),
html[data-ab-theme="dark"] .doctor-profile-page #doc_reviews .rating .fa-star:not(.filled),
html[data-bs-theme="dark"] .doctor-profile-page #doc_reviews .rating .fa-star:not(.filled) {
  color: rgba(255, 255, 255, 0.28) !important;
}

.doctor-profile-page .clinic-services {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  color: var(--dp-muted) !important;
}

.doctor-profile-page .clinic-services span {
  color: var(--dp-ink) !important;
  background: var(--dp-chip) !important;
  border: 1px solid var(--dp-line) !important;
  border-radius: 6px;
  padding: 4px 10px;
  margin-left: 0 !important;
}

html.dark-mode .doctor-profile-page .clinic-services span,
html[data-theme="dark"] .doctor-profile-page .clinic-services span,
html[data-ab-theme="dark"] .doctor-profile-page .clinic-services span,
html[data-bs-theme="dark"] .doctor-profile-page .clinic-services span {
  color: var(--dp-ink) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: var(--dp-line) !important;
}

.services-catalog-section {
  position: relative;
  overflow: hidden;
  padding-bottom: 4rem;
}

.services-catalog-intro {
  max-width: 40rem;
  margin: 0.85rem auto 0;
  color: #64748b;
  font-size: 1.05rem;
  line-height: 1.65;
}

.services-catalog-toolbar h5 {
  font-weight: 600;
  color: var(--gray-900, #0f172a);
}

.services-catalog-search {
  position: relative;
  min-width: min(100%, 280px);
}

.services-catalog-search .search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #94a3b8;
  z-index: 1;
}

.services-catalog-search .form-control {
  padding-left: 42px;
  border-radius: 10px;
  min-height: 46px;
}

.services-catalog-section .services-item-eight {
  background: #fff;
  height: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.services-catalog-section .services-item-eight:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
}

.services-catalog-section .services-overlay .img-one {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

.services-catalog-section .services-catalog-cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fff !important;
  color: #0f172a !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.18);
  opacity: 1 !important;
}

.services-catalog-section .services-catalog-cta::before,
.services-catalog-section .services-catalog-cta::after {
  display: none !important;
  content: none !important;
}

.services-catalog-section .services-catalog-cta i {
  display: block !important;
  font-size: 20px;
  line-height: 1;
  color: inherit !important;
  transform: none !important;
}

.services-catalog-section .services-catalog-cta:hover {
  background: var(--primary, #316dff) !important;
  color: #fff !important;
}

html.dark-mode .services-catalog-section .services-catalog-cta,
html[data-theme="dark"] .services-catalog-section .services-catalog-cta {
  background: #fff !important;
  color: #0f172a !important;
}

.services-catalog-section .services-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.services-catalog-index {
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--primary, #316dff);
  margin-bottom: 0.5rem;
}

.services-catalog-section .custom-title {
  font-size: 1.25rem;
  margin-bottom: 0.65rem;
}

.services-catalog-section .custom-title a {
  color: inherit;
  text-decoration: none;
}

.services-catalog-section .custom-title a:hover {
  color: var(--primary, #316dff);
}

.services-catalog-section .description {
  color: #64748b;
  line-height: 1.65;
  margin-bottom: 1rem;
  flex: 1;
}

.services-catalog-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 600;
  text-decoration: none;
  margin-top: auto;
}

.services-catalog-element {
  position: absolute;
  pointer-events: none;
  opacity: 0.55;
  z-index: 0;
}

.services-catalog-element.element-1 {
  left: 0;
  top: 12%;
}

.services-catalog-element.element-2 {
  right: 0;
  bottom: 8%;
}

.services-catalog-section > .container {
  position: relative;
  z-index: 1;
}

.service-detail-body {
  color: #334155;
  line-height: 1.75;
}

.service-detail-cover a {
  display: block;
}

.service-detail-lead {
  color: #64748b;
  font-weight: 500;
}

.service-gallery-card {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
}

.clinic-details.service-detail-gallery ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.clinic-details.service-detail-gallery ul li {
  display: block;
  margin: 0;
  padding: 0;
}

.clinic-details.service-detail-gallery ul li a {
  display: block;
  width: 80px;
  height: 80px;
  overflow: hidden;
  border-radius: 10px;
}

.clinic-details.service-detail-gallery ul li a img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 10px;
  transition: transform 0.35s ease;
}

.clinic-details.service-detail-gallery ul li a:hover img {
  transform: scale(1.05);
}

.service-sidebar-card {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 12px;
}

/*
 * theme-10 sets --secondary to a near-white mint (#E9F3F1) and
 * --primary-gradient to white→teal→white. Esthet maps outline-secondary
 * ink/border to var(--secondary), so "View all" disappears in light mode,
 * and gradient CTAs wash out white label text on the light ends.
 */
html:not(.dark-mode):not([data-theme="dark"]):not([data-ab-theme="dark"]) .btn-outline-secondary {
  color: var(--primary, #1f6f5f) !important;
  border-color: color-mix(in srgb, var(--primary, #1f6f5f) 55%, #c2d0cf) !important;
  background: transparent !important;
}

html:not(.dark-mode):not([data-theme="dark"]):not([data-ab-theme="dark"]) .btn-outline-secondary:hover,
html:not(.dark-mode):not([data-theme="dark"]):not([data-ab-theme="dark"]) .btn-outline-secondary:focus,
html:not(.dark-mode):not([data-theme="dark"]):not([data-ab-theme="dark"]) .btn-outline-secondary:active {
  color: #fff !important;
  background: var(--primary, #1f6f5f) !important;
  border-color: var(--primary, #1f6f5f) !important;
}

html:not(.dark-mode):not([data-theme="dark"]):not([data-ab-theme="dark"]) .btn-primary-gradient {
  background-image: linear-gradient(
    90deg,
    var(--primary, #1f6f5f) 0%,
    color-mix(in srgb, var(--primary, #1f6f5f) 72%, #0b3a38) 100%
  ) !important;
  color: #fff !important;
}

.service-sidebar-list li + li {
  margin-top: 0.75rem;
}

.service-sidebar-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: inherit;
  text-decoration: none;
  font-weight: 500;
}

.service-sidebar-link:hover {
  color: var(--primary-color, #0e82fd);
}

.service-sidebar-thumb {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: 10px;
  overflow: hidden;
}

.service-sidebar-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-sidebar-name {
  flex: 1 1 auto;
  min-width: 0;
}

html.dark-mode .services-catalog-intro,
html[data-theme="dark"] .services-catalog-intro,
html.dark-mode .services-catalog-section .description,
html[data-theme="dark"] .services-catalog-section .description,
html.dark-mode .service-detail-body,
html[data-theme="dark"] .service-detail-body {
  color: rgba(244, 247, 251, 0.78) !important;
}

html.dark-mode .services-catalog-toolbar h5,
html[data-theme="dark"] .services-catalog-toolbar h5,
html.dark-mode .services-catalog-section .custom-title,
html[data-theme="dark"] .services-catalog-section .custom-title,
html.dark-mode .service-sidebar-list a,
html[data-theme="dark"] .service-sidebar-list a {
  color: #f4f7fb !important;
}

html.dark-mode .services-catalog-section .services-item-eight,
html[data-theme="dark"] .services-catalog-section .services-item-eight,
html.dark-mode .service-sidebar-card,
html[data-theme="dark"] .service-sidebar-card,
html.dark-mode .service-gallery-card,
html[data-theme="dark"] .service-gallery-card {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: none;
}

html.dark-mode .service-detail-lead,
html[data-theme="dark"] .service-detail-lead {
  color: rgba(244, 247, 251, 0.68) !important;
}

html.dark-mode .services-catalog-search .form-control,
html[data-theme="dark"] .services-catalog-search .form-control {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
  color: #f4f7fb;
}

/* ===== About page (Haqq?m?zda) ===== */
.page-about {
  padding-bottom: 0;
}

.page-about .about-section,
.page-about .why-choose-section,
.page-about .doctors-section,
.page-about .way-section {
  padding-top: 60px;
  padding-bottom: 60px;
}

.page-about .about-page-intro {
  position: relative;
}

.page-about .about-img {
  overflow: hidden;
  border-radius: 16px;
  margin-bottom: 1rem;
}

.page-about .about-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.page-about .about-img--tall {
  min-height: 220px;
}

.page-about .about-img--tall img {
  min-height: 220px;
}

.page-about .about-box {
  background: linear-gradient(135deg, var(--primary-color, #0e82fd), #02bfff);
  color: #fff;
  border-radius: 16px;
  padding: 1.5rem 1.25rem;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  min-height: 120px;
}

.page-about .about-box h4 {
  color: #fff;
  margin: 0;
  font-size: 1.35rem;
  line-height: 1.35;
}

.page-about .about-content-details {
  color: #475569;
  line-height: 1.75;
  font-size: 1.02rem;
}

.page-about .about-content-details p + p {
  margin-top: 0.85rem;
}

.page-about .about-intro-actions .about-contact {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.page-about .about-intro-actions .about-contact h4 a {
  color: inherit;
  text-decoration: none;
}

.page-about .about-stat-card {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.page-about .about-stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
}

.page-about .about-stat-value {
  font-size: 2rem;
  font-weight: 700;
  color: var(--primary-color, #0e82fd);
  line-height: 1.1;
  margin: 0.75rem 0 0.35rem;
}

.page-about .about-stat-label {
  color: #64748b;
  font-weight: 500;
}

.page-about .about-lead-card {
  border: 0;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(14, 130, 253, 0.08), rgba(2, 191, 255, 0.04));
  box-shadow: 0 10px 40px rgba(15, 23, 42, 0.06);
}

.page-about .about-lead-photo {
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 3 / 4;
}

.page-about .about-lead-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-about .about-lead-copy h3 a {
  color: inherit;
  text-decoration: none;
}

.page-about .about-lead-copy h3 a:hover {
  color: var(--primary-color, #0e82fd);
}

.page-about .about-team-card {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.page-about .about-team-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.page-about .about-team-card .doctor-profile-img {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.page-about .about-team-card .doctor-profile-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-about .about-team-card .doc-content {
  padding: 1rem 0.85rem 1.15rem;
}

.page-about .about-team-card .doc-name {
  font-size: 0.98rem;
}

.page-about .about-team-card .doc-name a {
  color: inherit;
  text-decoration: none;
}

.page-about .about-team-card .doc-speciality {
  color: #64748b;
  font-size: 0.88rem;
}

.page-about .about-page-cta .way-bg {
  border-radius: 24px;
  overflow: hidden;
  padding: 2rem 2rem 0;
}

/* Theme decorative shapes collide with the CTA photo after layout changes; keep the banner clean. */
.page-about .about-page-cta .way-shapes-img {
  display: none !important;
}

.page-about .about-page-cta .way-inner-header {
  margin: 0;
  padding: 1.25rem 0 2rem;
}

.page-about .about-page-cta .way-inner-header h2 {
  color: #fff;
  margin-bottom: 1rem;
}

.page-about .about-page-cta .way-img {
  position: relative;
  top: 0;
  text-align: end;
}

.page-about .about-page-cta .way-img img {
  max-height: 280px;
  width: auto;
  max-width: 100%;
  display: inline-block;
  vertical-align: bottom;
}

@media (max-width: 991.98px) {
  .page-about .about-page-cta .way-bg {
    padding: 1.5rem;
  }

  .page-about .about-page-cta .way-inner-header {
    padding: 0;
  }
}

.page-about .about-page-stats {
  background: rgba(14, 130, 253, 0.03);
}

html.dark-mode .page-about .about-content-details,
html[data-theme="dark"] .page-about .about-content-details,
html.dark-mode .page-about .about-stat-label,
html[data-theme="dark"] .page-about .about-stat-label,
html.dark-mode .page-about .about-team-card .doc-speciality,
html[data-theme="dark"] .page-about .about-team-card .doc-speciality,
html.dark-mode .page-about .about-lead-copy p,
html[data-theme="dark"] .page-about .about-lead-copy p {
  color: rgba(244, 247, 251, 0.72) !important;
}

html.dark-mode .page-about .section-inner-header h2,
html[data-theme="dark"] .page-about .section-inner-header h2,
html.dark-mode .page-about .about-lead-copy h3,
html[data-theme="dark"] .page-about .about-lead-copy h3,
html.dark-mode .page-about .about-team-card .doc-name,
html[data-theme="dark"] .page-about .about-team-card .doc-name,
html.dark-mode .page-about .about-stat-value,
html[data-theme="dark"] .page-about .about-stat-value {
  color: #f4f7fb !important;
}

html.dark-mode .page-about .about-stat-card,
html[data-theme="dark"] .page-about .about-stat-card,
html.dark-mode .page-about .about-team-card,
html[data-theme="dark"] .page-about .about-team-card,
html.dark-mode .page-about .about-lead-card,
html[data-theme="dark"] .page-about .about-lead-card {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: none;
}

html.dark-mode .page-about .about-page-stats,
html[data-theme="dark"] .page-about .about-page-stats {
  background: rgba(255, 255, 255, 0.02);
}

/* ===== Before / After compare ===== */
.before-after-card {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}

.before-after-compare {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  user-select: none;
  background: #0f172a;
}

.before-after-compare__after,
.before-after-compare__before {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

.before-after-compare__before-wrap {
  position: absolute;
  inset: 0 auto 0 0;
  overflow: hidden;
  border-right: 2px solid #fff;
}

.before-after-compare__range {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: ew-resize;
  z-index: 3;
}

.before-after-compare__handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: #fff;
  transform: translateX(-50%);
  z-index: 2;
  pointer-events: none;
}

.before-after-compare__handle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 2px solid #fff;
  background: rgba(14, 130, 253, 0.95);
  transform: translate(-50%, -50%);
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.25);
}

.before-after-compare__label {
  position: absolute;
  top: 12px;
  z-index: 2;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.72);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
}

.before-after-compare__label--before { left: 12px; }
.before-after-compare__label--after { right: 12px; }

.before-after-card__body {
  padding: 1rem 1.1rem 1.15rem;
}

.before-after-card__title {
  font-size: 1.05rem;
  margin-bottom: 0.75rem;
}

html.dark-mode .before-after-card,
html[data-theme="dark"] .before-after-card {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
}

html.dark-mode .before-after-card__title,
html[data-theme="dark"] .before-after-card__title {
  color: #f4f7fb;
}

/* ------------------------------------------------------------------ */
/* Site transactional forms (booking/consult/waitlist/review)         */
/* ------------------------------------------------------------------ */
:is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) {
  --bf-card: #ffffff;
  --bf-ink: #0f172a;
  --bf-muted: #64748b;
  --bf-line: #dbe3ee;
  --bf-field: #ffffff;
  --bf-field-ink: #0f172a;
  --bf-panel: #f8fafc;
}

html.dark-mode :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page),
html[data-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page),
html[data-ab-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page),
html[data-bs-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) {
  --bf-card: #121212;
  --bf-ink: #f4f7fb;
  --bf-muted: #d7dee8;
  --bf-line: rgba(203, 213, 225, 0.42);
  --bf-field: rgba(255, 255, 255, 0.09);
  --bf-field-ink: #f8fafc;
  --bf-panel: rgba(255, 255, 255, 0.06);
  color-scheme: dark;
}

:is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) :is(.booking-card, .consult-card, .waitlist-card, .review-invite-card) {
  background: var(--bf-card) !important;
  border: 1px solid var(--bf-line) !important;
  border-radius: 1rem;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
  color: var(--bf-ink);
}

html.dark-mode :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) :is(.booking-card, .consult-card, .waitlist-card, .review-invite-card),
html[data-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) :is(.booking-card, .consult-card, .waitlist-card, .review-invite-card),
html[data-ab-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) :is(.booking-card, .consult-card, .waitlist-card, .review-invite-card),
html[data-bs-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) :is(.booking-card, .consult-card, .waitlist-card, .review-invite-card) {
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

:is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) :is(.form-label, .form-check-label, h5, dt, .card-title, strong) {
  color: var(--bf-ink) !important;
}

:is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) :is(.form-control, .form-select) {
  background-color: var(--bf-field) !important;
  border-color: var(--bf-line) !important;
  color: var(--bf-field-ink) !important;
  box-shadow: none !important;
}

:is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) .form-control::placeholder {
  color: var(--bf-muted) !important;
  opacity: 1;
}

html.dark-mode :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) .form-select,
html[data-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) .form-select,
html[data-ab-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) .form-select,
html[data-bs-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) .form-select {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23e2e8f0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
}

:is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) :is(.form-control, .form-select):focus {
  border-color: color-mix(in srgb, var(--primary, #0e82fd) 55%, var(--bf-line)) !important;
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary, #0e82fd) 18%, transparent) !important;
}

:is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) .form-select option {
  background: #ffffff;
  color: #0f172a;
}

html.dark-mode :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) .form-select option,
html[data-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) .form-select option,
html[data-ab-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) .form-select option {
  background: #1a1f2c;
  color: #f8fafc;
}

:is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) :is(.form-text, .text-muted, .small.text-muted, dd) {
  color: var(--bf-muted) !important;
}

:is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) hr {
  border-color: var(--bf-line) !important;
  opacity: 1;
}

:is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) :is(.booking-otp-panel, .border.rounded.p-3, .border.rounded) {
  background: var(--bf-panel) !important;
  border-color: var(--bf-line) !important;
  color: var(--bf-ink);
}

:is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) :is(.btn-outline-primary, .btn-outline-success, .btn-outline-secondary) {
  background: transparent !important;
}

html.dark-mode :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) .btn-outline-secondary,
html[data-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) .btn-outline-secondary,
html[data-ab-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) .btn-outline-secondary {
  color: #e2e8f0 !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
}

html.dark-mode :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) .btn-primary,
html[data-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) .btn-primary,
html[data-ab-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) .btn-primary {
  color: #fff !important;
}

:is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) input[type="date"]::-webkit-calendar-picker-indicator,
:is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) input[type="time"]::-webkit-calendar-picker-indicator {
  opacity: 0.75;
  filter: none;
}

html.dark-mode :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) input[type="date"]::-webkit-calendar-picker-indicator,
html[data-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) input[type="date"]::-webkit-calendar-picker-indicator,
html[data-ab-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) input[type="date"]::-webkit-calendar-picker-indicator,
html.dark-mode :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) input[type="time"]::-webkit-calendar-picker-indicator,
html[data-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) input[type="time"]::-webkit-calendar-picker-indicator,
html[data-ab-theme="dark"] :is(.booking-page, .consult-page, .waitlist-page, .review-invite-page) input[type="time"]::-webkit-calendar-picker-indicator {
  filter: invert(1);
  opacity: 0.85;
}

/* ===== Contact page (klinika hub) ===== */
.page-contact {
  padding-bottom: 0;
}

.clinic-location-section .clinic-location-card {
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 14px;
  padding: 1.25rem 1.35rem;
  background: #fff;
}

.clinic-location-section .clinic-name {
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--ink, #0b3a38);
  margin: 0;
}

.clinic-location-section .clinic-direction {
  font-size: 1rem;
  font-weight: 500;
  color: var(--text, #5d7d7c);
  line-height: 1.5;
}

.clinic-location-section .clinic-direction i {
  color: var(--primary, #1f6f5f);
  margin-right: 0.35rem;
}

.clinic-location-section .clinic-direction a {
  color: var(--primary, #1f6f5f);
  font-weight: 600;
  text-decoration: none;
}

.clinic-location-section .clinic-direction a:hover {
  text-decoration: underline;
}

.clinic-location-section .clinic-img {
  width: 72px;
  height: 72px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: #f8fafc;
  flex-shrink: 0;
}

.clinic-location-section .clinic-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.clinic-location-section .clinic-contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.55rem;
}

.clinic-location-section .clinic-contact-list li {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  color: var(--text, #5d7d7c);
  font-size: 0.95rem;
}

.clinic-location-section .clinic-contact-list i {
  width: 16px;
  color: var(--primary, #1f6f5f);
}

.clinic-location-section .clinic-contact-list a {
  color: inherit;
  text-decoration: none;
}

.clinic-location-section .clinic-contact-list a:hover {
  color: var(--primary, #1f6f5f);
  text-decoration: underline;
}

.clinic-location-section .avail-time-slot .availability-date .book-date {
  min-width: 108px;
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  background: #f8fafc;
  text-align: center;
}

.clinic-location-section .avail-time-slot .availability-date .book-date h6 {
  margin: 0 0 0.25rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--ink, #0b3a38);
}

.clinic-location-section .avail-time-slot .availability-date .book-date span {
  font-size: 0.8rem;
  color: var(--text, #5d7d7c);
}

.clinic-location-section .avail-time-slot .availability-date.is-closed .book-date {
  opacity: 0.75;
}

.clinic-location-section .avail-time-slot .availability-date.is-closed .book-date span {
  color: #b42318;
}

.clinic-location-section .contact-map,
.clinic-location-section .clinic-location-map-wrap,
.clinic-location-section .clinic-location-map {
  width: 100%;
  min-height: 320px;
  height: 360px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.1);
  overflow: hidden;
  z-index: 1;
  background: #eef2f1;
}

.clinic-location-section .clinic-location-map-wrap {
  border: 0;
  background: transparent;
  overflow: visible;
  height: auto;
  min-height: 0;
}

.clinic-location-section .clinic-location-map-wrap .clinic-location-map {
  height: 360px;
}

.clinic-location-section .clinic-booking .apt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.85rem 1.25rem;
  border-radius: 999px;
  background: var(--primary, #1f6f5f);
  color: #fff !important;
  font-weight: 600;
  text-decoration: none;
}

html.dark-mode .clinic-location-section .clinic-location-card,
html[data-theme="dark"] .clinic-location-section .clinic-location-card,
html[data-ab-theme="dark"] .clinic-location-section .clinic-location-card {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.12);
}

html.dark-mode .clinic-location-section .clinic-name,
html[data-theme="dark"] .clinic-location-section .clinic-name,
html[data-ab-theme="dark"] .clinic-location-section .clinic-name,
html.dark-mode .clinic-location-section .avail-time-slot .availability-date .book-date h6,
html[data-theme="dark"] .clinic-location-section .avail-time-slot .availability-date .book-date h6,
html[data-ab-theme="dark"] .clinic-location-section .avail-time-slot .availability-date .book-date h6 {
  color: #f4f7fb;
}

html.dark-mode .clinic-location-section .clinic-direction,
html[data-theme="dark"] .clinic-location-section .clinic-direction,
html[data-ab-theme="dark"] .clinic-location-section .clinic-direction,
html.dark-mode .clinic-location-section .clinic-contact-list li,
html[data-theme="dark"] .clinic-location-section .clinic-contact-list li,
html[data-ab-theme="dark"] .clinic-location-section .clinic-contact-list li,
html.dark-mode .clinic-location-section .avail-time-slot .availability-date .book-date span,
html[data-theme="dark"] .clinic-location-section .avail-time-slot .availability-date .book-date span,
html[data-ab-theme="dark"] .clinic-location-section .avail-time-slot .availability-date .book-date span {
  color: rgba(244, 247, 251, 0.78);
}

html.dark-mode .clinic-location-section .avail-time-slot .availability-date .book-date,
html[data-theme="dark"] .clinic-location-section .avail-time-slot .availability-date .book-date,
html[data-ab-theme="dark"] .clinic-location-section .avail-time-slot .availability-date .book-date {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.12);
}

html.dark-mode .clinic-location-section .contact-map,
html[data-theme="dark"] .clinic-location-section .contact-map,
html[data-ab-theme="dark"] .clinic-location-section .contact-map,
html.dark-mode .clinic-location-section .clinic-location-map,
html[data-theme="dark"] .clinic-location-section .clinic-location-map,
html[data-ab-theme="dark"] .clinic-location-section .clinic-location-map {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.04);
}

html.dark-mode .clinic-location-section .clinic-img,
html[data-theme="dark"] .clinic-location-section .clinic-img,
html[data-ab-theme="dark"] .clinic-location-section .clinic-img {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
}

/* ===== Site search (Cmd+K palette + /axtar) ===== */
.header-search__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.header-search__btn:hover,
.header-search__btn:focus-visible {
  color: var(--primary, #1f6f5f);
  outline: none;
}

.search-palette[hidden] { display: none !important; }
html.search-palette-open { overflow: hidden; }

.search-palette {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 8vh 1rem 2rem;
}
.search-palette__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 16, 15, 0.55);
  backdrop-filter: blur(2px);
}
.search-palette__dialog {
  position: relative;
  width: min(720px, 100%);
  max-height: min(78vh, 720px);
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.1);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.28);
  overflow: hidden;
}
.search-palette__bar {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}
.search-palette__icon { opacity: 0.55; }
.search-palette__input {
  flex: 1 1 auto;
  border: 0;
  outline: none;
  background: transparent;
  font-size: 1.05rem;
  color: inherit;
  min-width: 0;
}
.search-palette__kbd {
  font-size: 0.72rem;
  padding: 0.15rem 0.4rem;
  border-radius: 6px;
  border: 1px solid rgba(15, 23, 42, 0.14);
  color: #64748b;
}
.search-palette__close {
  border: 0;
  background: transparent;
  color: #64748b;
  cursor: pointer;
  width: 32px;
  height: 32px;
}
.search-palette__body {
  overflow: auto;
  padding: 0.75rem 1rem 1rem;
  flex: 1 1 auto;
}
.search-palette__hint {
  color: #64748b;
  padding: 1rem 0.25rem;
}
.search-palette__group + .search-palette__group { margin-top: 1rem; }
.search-palette__group-title {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 0.5rem;
  color: #64748b;
}
.search-palette__list {
  display: grid;
  gap: 0.45rem;
}
.search-palette__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.65rem 1rem;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  font-size: 0.78rem;
  color: #64748b;
  background: #f8fafc;
}
.search-palette__footer kbd {
  font-size: 0.7rem;
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
  border: 1px solid rgba(15, 23, 42, 0.14);
}
.search-palette__see-all {
  margin-left: auto;
  color: var(--primary, #1f6f5f);
  font-weight: 600;
  text-decoration: none;
}

.search-hit-card {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  padding: 0.65rem 0.7rem;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  text-decoration: none !important;
  color: inherit;
  background: #fff;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.search-hit-card:hover,
.search-hit-card.is-active,
.search-hit-card:focus-visible {
  border-color: color-mix(in srgb, var(--primary, #1f6f5f) 45%, #cbd5e1);
  background: color-mix(in srgb, var(--primary, #1f6f5f) 8%, #fff);
  outline: none;
}
.search-hit-card__media {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: 10px;
  overflow: hidden;
  background: #eef2f1;
}
.search-hit-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.search-hit-card__placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  color: var(--primary, #1f6f5f);
  font-size: 1.15rem;
}
.search-hit-card__body {
  min-width: 0;
  display: grid;
  gap: 0.15rem;
}
.search-hit-card__badge {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--primary, #1f6f5f);
}
.search-hit-card__title {
  font-weight: 600;
  line-height: 1.25;
}
.search-hit-card__excerpt {
  font-size: 0.85rem;
  color: #64748b;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.search-results-form__bar {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 14px;
  background: #fff;
}
.search-results-form__bar .form-control {
  border: 0;
  box-shadow: none;
  background: transparent;
}
.search-results-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.search-results-tabs__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  color: inherit;
  text-decoration: none !important;
  font-weight: 600;
  font-size: 0.9rem;
}
.search-results-tabs__btn.is-active {
  background: var(--primary, #1f6f5f);
  border-color: var(--primary, #1f6f5f);
  color: #fff;
}
.search-results-tabs__count {
  font-size: 0.75rem;
  opacity: 0.8;
}
.search-section-title {
  font-size: 1.15rem;
  margin: 0 0 0.85rem;
}
.search-hit-grid {
  display: grid;
  gap: 0.65rem;
}
@media (min-width: 768px) {
  .search-hit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.search-empty__lead {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

html.dark-mode .search-palette__dialog,
html[data-theme="dark"] .search-palette__dialog,
html[data-ab-theme="dark"] .search-palette__dialog,
html.dark-mode .search-results-form__bar,
html[data-theme="dark"] .search-results-form__bar,
html[data-ab-theme="dark"] .search-results-form__bar,
html.dark-mode .search-hit-card,
html[data-theme="dark"] .search-hit-card,
html[data-ab-theme="dark"] .search-hit-card {
  background: #12201f;
  border-color: rgba(255, 255, 255, 0.12);
  color: #e8f2f0;
}
html.dark-mode .search-palette__footer,
html[data-theme="dark"] .search-palette__footer,
html[data-ab-theme="dark"] .search-palette__footer {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.1);
  color: rgba(232, 242, 240, 0.72);
}
html.dark-mode .search-hit-card:hover,
html[data-theme="dark"] .search-hit-card:hover,
html[data-ab-theme="dark"] .search-hit-card:hover,
html.dark-mode .search-hit-card.is-active,
html[data-theme="dark"] .search-hit-card.is-active,
html[data-ab-theme="dark"] .search-hit-card.is-active {
  background: rgba(255, 255, 255, 0.06);
}
html.dark-mode .search-hit-card__excerpt,
html[data-theme="dark"] .search-hit-card__excerpt,
html[data-ab-theme="dark"] .search-hit-card__excerpt,
html.dark-mode .search-palette__hint,
html[data-theme="dark"] .search-palette__hint,
html[data-ab-theme="dark"] .search-palette__hint {
  color: rgba(232, 242, 240, 0.68);
}
html.dark-mode .search-results-tabs__btn,
html[data-theme="dark"] .search-results-tabs__btn,
html[data-ab-theme="dark"] .search-results-tabs__btn {
  border-color: rgba(255, 255, 255, 0.14);
}

/* Error pages (Esthet shell + theme/locale toolbar) */
.error-page-body {
  min-height: 100vh;
}

.error-page-toolbar {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 1050;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  border-radius: 999px;
  border: 1px solid rgba(11, 58, 56, 0.12);
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px rgba(11, 58, 56, 0.08);
}

.error-page-toolbar__theme {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.error-page-toolbar .theme-toggle {
  display: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(11, 58, 56, 0.12);
  background: rgba(11, 58, 56, 0.06);
  color: #0b3a38 !important;
  font-size: 20px;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.error-page-toolbar .theme-toggle.activate {
  display: inline-flex !important;
}

.error-page-toolbar .theme-toggle:hover,
.error-page-toolbar .theme-toggle:focus {
  background: rgba(11, 58, 56, 0.12);
  color: #0b3a38 !important;
}

.error-page-toolbar__lang {
  position: relative;
  padding-bottom: 0;
  margin-bottom: 0;
}

.error-page-toolbar .header-lang__toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 6px 10px 6px 8px;
  border-radius: 999px;
  border: 1px solid rgba(11, 58, 56, 0.12);
  background: rgba(11, 58, 56, 0.06);
  color: #0b3a38;
  text-decoration: none;
  cursor: pointer;
  appearance: none;
}

.error-page-toolbar .header-lang__toggle .language-flag,
.error-page-toolbar .header-lang__menu .language-flag {
  width: 20px;
  height: 15px;
  object-fit: cover;
  border-radius: 2px;
}

.error-page-toolbar .header-lang__caret {
  font-size: 10px;
  opacity: 0.7;
}

.error-page-toolbar .header-lang__menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  left: auto;
  min-width: 56px;
  margin: 0;
  padding: 6px;
  list-style: none;
  border-radius: 12px;
  border: 1px solid rgba(11, 58, 56, 0.12);
  background: #fff;
  box-shadow: 0 12px 28px rgba(11, 58, 56, 0.12);
  display: none;
  z-index: 1060;
}

.error-page-toolbar .header-lang:hover > .header-lang__menu,
.error-page-toolbar .header-lang:focus-within > .header-lang__menu {
  display: block;
}

.error-page-toolbar .header-lang__menu .dropdown-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  border-radius: 8px;
  color: #0b3a38;
}

.error-page-toolbar .header-lang__menu .dropdown-item:hover,
.error-page-toolbar .header-lang__menu .dropdown-item:focus,
.error-page-toolbar .header-lang__menu .dropdown-item.active {
  background: rgba(11, 58, 56, 0.08);
  color: #0b3a38;
}

.error-page-illustration {
  max-width: min(420px, 88vw);
  margin: 0 auto 8px;
}

.error-page-body .error-content h5 {
  color: var(--ab-primary, #0b3a38);
}

html[data-theme="dark"] .error-page-toolbar,
html.dark-mode .error-page-toolbar {
  border-color: rgba(228, 242, 240, 0.16);
  background: rgba(18, 32, 31, 0.88);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}

html[data-theme="dark"] .error-page-toolbar .theme-toggle,
html.dark-mode .error-page-toolbar .theme-toggle,
html[data-theme="dark"] .error-page-toolbar .header-lang__toggle,
html.dark-mode .error-page-toolbar .header-lang__toggle {
  border-color: rgba(228, 242, 240, 0.18);
  background: rgba(228, 242, 240, 0.08);
  color: #e4f2f0 !important;
}

html[data-theme="dark"] .error-page-toolbar .header-lang__menu,
html.dark-mode .error-page-toolbar .header-lang__menu {
  background: #12201f;
  border-color: rgba(255, 255, 255, 0.12);
}

html[data-theme="dark"] .error-page-toolbar .header-lang__menu .dropdown-item,
html.dark-mode .error-page-toolbar .header-lang__menu .dropdown-item {
  color: #e4f2f0;
}

html[data-theme="dark"] .error-page-toolbar .header-lang__menu .dropdown-item:hover,
html.dark-mode .error-page-toolbar .header-lang__menu .dropdown-item:hover,
html[data-theme="dark"] .error-page-toolbar .header-lang__menu .dropdown-item.active,
html.dark-mode .error-page-toolbar .header-lang__menu .dropdown-item.active {
  background: rgba(255, 255, 255, 0.08);
  color: #e4f2f0;
}

html[data-theme="dark"] .error-page-body .error-content h5,
html.dark-mode .error-page-body .error-content h5 {
  color: #e4f2f0;
}

html[data-theme="dark"] .error-page-body .error-content p,
html.dark-mode .error-page-body .error-content p {
  color: rgba(232, 242, 240, 0.78);
}

/* Site AI chatbot widget (bottom-left, above cookie FAB) */
.site-chat {
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 100010;
}

/* Cookie settings FAB sits above the chat FAB when both are on the left */
body:has(#site-chat-widget) .cookie-alert.has-decision:not(.show):not(.is-open) .cookie-alert__fab {
  bottom: calc(
    var(--newsroom-fab-inset, 16px)
    + 56px
    + 12px
    + env(safe-area-inset-bottom, 0px)
  );
}

/* Keep chat clear of the full cookie consent bar */
body:has(.cookie-alert.show) .site-chat,
body:has(.cookie-alert.is-open) .site-chat {
  bottom: calc(110px + env(safe-area-inset-bottom, 0px));
}

.site-chat__fab {
  width: 56px;
  height: 56px;
  border: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, #0b3a38 0%, #1fa6a0 100%);
  box-shadow: 0 10px 28px rgba(11, 58, 56, 0.28);
  font-size: 24px;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}

.site-chat__fab:hover,
.site-chat__fab:focus {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(11, 58, 56, 0.34);
  color: #fff;
}

.site-chat__panel {
  position: absolute;
  left: 0;
  bottom: 70px;
  width: min(380px, calc(100vw - 28px));
  height: min(520px, calc(100vh - 120px));
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  border: 1px solid rgba(11, 58, 56, 0.12);
  background: #fff;
  box-shadow: 0 18px 48px rgba(11, 58, 56, 0.18);
  overflow: hidden;
}

.site-chat__header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 14px 12px;
  border-bottom: 1px solid rgba(11, 58, 56, 0.08);
  background: color-mix(in srgb, var(--ab-primary, #0b3a38) 6%, #fff);
}

.site-chat__title {
  font-weight: 700;
  color: var(--ab-primary, #0b3a38);
  line-height: 1.2;
}

.site-chat__disclaimer {
  margin-top: 4px;
  font-size: 12px;
  color: rgba(11, 58, 56, 0.72);
}

.site-chat__close {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: rgba(11, 58, 56, 0.08);
  color: #0b3a38;
  flex: 0 0 auto;
}

.site-chat__body {
  flex: 1 1 auto;
  overflow: auto;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #f7faf9;
  scrollbar-width: thin;
  scrollbar-color: rgba(11, 58, 56, 0.28) transparent;
}

.site-chat__body::-webkit-scrollbar {
  width: 6px;
}

.site-chat__body::-webkit-scrollbar-track {
  background: transparent;
  margin: 6px 0;
}

.site-chat__body::-webkit-scrollbar-thumb {
  background: rgba(11, 58, 56, 0.28);
  border-radius: 999px;
}

.site-chat__body::-webkit-scrollbar-thumb:hover {
  background: rgba(11, 58, 56, 0.45);
}

.site-chat__msg {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-width: 92%;
}

.site-chat__msg--user {
  align-self: flex-end;
}

.site-chat__msg--assistant {
  align-self: flex-start;
}

.site-chat__bubble {
  padding: 10px 12px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(11, 58, 56, 0.08);
  color: #123;
  white-space: pre-wrap;
  line-height: 1.45;
  font-size: 17px;
}

.site-chat__msg--user .site-chat__bubble {
  background: var(--ab-primary, #0b3a38);
  border-color: transparent;
  color: #fff;
}

.site-chat__bubble--thinking {
  opacity: 0.75;
  font-style: italic;
}

.site-chat__sources {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.site-chat__sources-title {
  font-size: 11px;
  font-weight: 600;
  color: rgba(11, 58, 56, 0.7);
}

.site-chat__source,
.site-chat__cta {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(11, 58, 56, 0.14);
  background: #fff;
  color: #0b3a38;
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
}

.site-chat__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.site-chat__suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 12px 10px;
  background: #f7faf9;
}

.site-chat__chip {
  border: 1px solid rgba(11, 58, 56, 0.14);
  background: #fff;
  color: #0b3a38;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 15px;
  cursor: pointer;
}

.site-chat__form {
  display: flex;
  gap: 8px;
  padding: 12px;
  border-top: 1px solid rgba(11, 58, 56, 0.08);
  background: #fff;
}

.site-chat__input {
  flex: 1 1 auto;
  min-width: 0;
  border: 1px solid rgba(11, 58, 56, 0.14);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 15px;
}

.site-chat__send {
  border: 0;
  border-radius: 999px;
  padding: 10px 14px;
  background: linear-gradient(135deg, #0b3a38 0%, #1fa6a0 100%);
  color: #fff;
  font-weight: 600;
  font-size: 15px;
}

.site-chat__send:disabled,
.site-chat__input:disabled {
  opacity: 0.65;
}

html[data-theme="dark"] .site-chat__panel,
html.dark-mode .site-chat__panel {
  background: #12201f;
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.4);
}

html[data-theme="dark"] .site-chat__header,
html.dark-mode .site-chat__header,
html[data-theme="dark"] .site-chat__body,
html.dark-mode .site-chat__body,
html[data-theme="dark"] .site-chat__suggestions,
html.dark-mode .site-chat__suggestions,
html[data-theme="dark"] .site-chat__form,
html.dark-mode .site-chat__form {
  background: #12201f;
  border-color: rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .site-chat__title,
html.dark-mode .site-chat__title,
html[data-theme="dark"] .site-chat__close,
html.dark-mode .site-chat__close,
html[data-theme="dark"] .site-chat__chip,
html.dark-mode .site-chat__chip,
html[data-theme="dark"] .site-chat__source,
html.dark-mode .site-chat__source,
html[data-theme="dark"] .site-chat__cta,
html.dark-mode .site-chat__cta {
  color: #e4f2f0;
}

html[data-theme="dark"] .site-chat__disclaimer,
html.dark-mode .site-chat__disclaimer,
html[data-theme="dark"] .site-chat__sources-title,
html.dark-mode .site-chat__sources-title {
  color: rgba(232, 242, 240, 0.7);
}

html[data-theme="dark"] .site-chat__body,
html.dark-mode .site-chat__body,
html[data-theme="dark"] .site-chat__suggestions,
html.dark-mode .site-chat__suggestions {
  background: #0f1a19;
}

html[data-theme="dark"] .site-chat__body,
html.dark-mode .site-chat__body {
  scrollbar-color: rgba(228, 242, 240, 0.28) transparent;
}

html[data-theme="dark"] .site-chat__body::-webkit-scrollbar-thumb,
html.dark-mode .site-chat__body::-webkit-scrollbar-thumb {
  background: rgba(228, 242, 240, 0.28);
}

html[data-theme="dark"] .site-chat__body::-webkit-scrollbar-thumb:hover,
html.dark-mode .site-chat__body::-webkit-scrollbar-thumb:hover {
  background: rgba(228, 242, 240, 0.45);
}

html[data-theme="dark"] .site-chat__bubble,
html.dark-mode .site-chat__bubble,
html[data-theme="dark"] .site-chat__chip,
html.dark-mode .site-chat__chip,
html[data-theme="dark"] .site-chat__source,
html.dark-mode .site-chat__source,
html[data-theme="dark"] .site-chat__cta,
html.dark-mode .site-chat__cta,
html[data-theme="dark"] .site-chat__input,
html.dark-mode .site-chat__input,
html[data-theme="dark"] .site-chat__close,
html.dark-mode .site-chat__close {
  background: #1a2b2a;
  border-color: rgba(255, 255, 255, 0.12);
  color: #e8f2f0;
}

html[data-theme="dark"] .site-chat__msg--user .site-chat__bubble,
html.dark-mode .site-chat__msg--user .site-chat__bubble {
  background: #1fa6a0;
  color: #07201f;
}

@media (max-width: 575.98px) {
  .site-chat {
    left: 12px;
    bottom: 12px;
  }

  /* Cookie + chat FABs share one bottom row on mobile (chat left, cookie to its right). */
  body:has(#site-chat-widget) .cookie-alert.has-decision:not(.show):not(.is-open) .cookie-alert__fab {
    left: calc(
      var(--newsroom-fab-inset, 12px)
      + 56px
      + 10px
    );
    bottom: calc(
      var(--newsroom-fab-inset, 12px)
      + 6px
      + env(safe-area-inset-bottom, 0px)
    );
  }

  body:has(.cookie-alert.show) .site-chat,
  body:has(.cookie-alert.is-open) .site-chat {
    bottom: calc(140px + env(safe-area-inset-bottom, 0px));
  }

  .site-chat__panel {
    width: calc(100vw - 24px);
    height: min(70vh, 560px);
  }
}

/* Dark mode: keep inputs readable (including browser autofill) */
html.dark-mode .form-control,
html[data-theme="dark"] .form-control,
html[data-ab-theme="dark"] .form-control,
html[data-bs-theme="dark"] .form-control,
html.dark-mode .form-select,
html[data-theme="dark"] .form-select,
html[data-ab-theme="dark"] .form-select,
html[data-bs-theme="dark"] .form-select,
html.dark-mode .form-control:focus,
html[data-theme="dark"] .form-control:focus,
html[data-ab-theme="dark"] .form-control:focus,
html[data-bs-theme="dark"] .form-control:focus,
html.dark-mode .form-select:focus,
html[data-theme="dark"] .form-select:focus,
html[data-ab-theme="dark"] .form-select:focus,
html[data-bs-theme="dark"] .form-select:focus {
  background-color: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(203, 213, 225, 0.35) !important;
  color: #f8fafc !important;
}

html.dark-mode .form-control::placeholder,
html[data-theme="dark"] .form-control::placeholder,
html[data-ab-theme="dark"] .form-control::placeholder,
html[data-bs-theme="dark"] .form-control::placeholder {
  color: #94a3b8 !important;
  opacity: 1;
}

html.dark-mode input:-webkit-autofill,
html.dark-mode input:-webkit-autofill:hover,
html.dark-mode input:-webkit-autofill:focus,
html[data-theme="dark"] input:-webkit-autofill,
html[data-theme="dark"] input:-webkit-autofill:hover,
html[data-theme="dark"] input:-webkit-autofill:focus,
html[data-ab-theme="dark"] input:-webkit-autofill,
html[data-ab-theme="dark"] input:-webkit-autofill:hover,
html[data-ab-theme="dark"] input:-webkit-autofill:focus,
html[data-bs-theme="dark"] input:-webkit-autofill,
html[data-bs-theme="dark"] input:-webkit-autofill:hover,
html[data-bs-theme="dark"] input:-webkit-autofill:focus {
  -webkit-text-fill-color: #f8fafc !important;
  caret-color: #f8fafc;
  box-shadow: 0 0 0 1000px #1a1f2c inset !important;
  -webkit-box-shadow: 0 0 0 1000px #1a1f2c inset !important;
  transition: background-color 99999s ease-out;
}

/* Meet-the-doctor: about-five layout, theme-11 / dark-mode readable */
.doctor-meet-about.about-section-five {
  background: color-mix(in srgb, var(--ab-primary, var(--primary, #0b3a38)) 8%, var(--light, #f4f6f8)) !important;
  color: var(--gray-800, #1e293b);
  overflow: hidden;
}

.doctor-meet-about .doctor-meet-about__intro {
  margin-bottom: 2.5rem;
}

.doctor-meet-about .doctor-meet-about__intro .section-title {
  color: var(--gray-900, #0f172a) !important;
}

.doctor-meet-about .doctor-meet-about__row {
  position: relative;
  z-index: 1;
}

.doctor-meet-about .about-img-five {
  display: block !important;
  position: relative;
  max-width: 520px;
  margin: 0 auto;
}

.doctor-meet-about .about-img-five .img-1 {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  max-height: 560px;
  border-radius: 1.5rem;
  object-fit: cover;
  object-position: center top;
  aspect-ratio: 4 / 5;
  background: color-mix(in srgb, var(--ab-primary, var(--primary, #0b3a38)) 12%, #fff);
}

.doctor-meet-about .about-img-five .img-2 {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 42%;
  max-width: none;
  opacity: 0.55;
  pointer-events: none;
}

.doctor-meet-about .doctor-meet-about__photo-link {
  display: block;
  position: relative;
  z-index: 1;
}

.doctor-meet-about .section-header-five {
  margin-bottom: 1.5rem;
}

.doctor-meet-about .section-header-five .section-title,
.doctor-meet-about .section-header-five p {
  color: var(--gray-900, #0f172a) !important;
}

.doctor-meet-about .section-header-five p {
  color: var(--gray-600, #64748b) !important;
  margin-bottom: 0;
}

.doctor-meet-about .doctor-meet-about__eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0 0 12px !important;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--ab-primary, var(--primary, #0b3a38)) 22%, transparent);
  background: color-mix(in srgb, var(--ab-primary, var(--primary, #0b3a38)) 10%, #fff);
  color: var(--ab-primary, var(--primary, #0b3a38)) !important;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.35;
}

.doctor-meet-about .about-item-five .custom-title {
  color: var(--gray-900, #0f172a) !important;
  margin-bottom: 6px;
}

.doctor-meet-about .about-item-five p {
  color: var(--gray-600, #64748b) !important;
  margin-bottom: 0;
}

.doctor-meet-about .about-item-five .about-icon {
  background: #fff !important;
  border: 1px solid color-mix(in srgb, var(--ab-primary, var(--primary, #0b3a38)) 14%, var(--gray-200, #e2e8f0));
  box-shadow: 0 8px 20px color-mix(in srgb, var(--ab-primary, var(--primary, #0b3a38)) 10%, transparent);
}

.doctor-meet-about .about-item-five .about-icon img {
  filter: none !important;
}

.doctor-meet-about .doctor-meet-about__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 2rem;
}

.doctor-meet-about .doctor-meet-about__actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.doctor-meet-about .star-icon-1,
.doctor-meet-about .star-icon-2 {
  opacity: 0.18;
  filter: none;
}

@media (max-width: 991.98px) {
  .doctor-meet-about .about-img-five {
    display: block !important;
    margin-bottom: 1.75rem;
    max-width: 420px;
  }
}

/* Dark mode */
html.dark-mode .doctor-meet-about.about-section-five,
html[data-theme="dark"] .doctor-meet-about.about-section-five,
html[data-ab-theme="dark"] .doctor-meet-about.about-section-five,
html[data-bs-theme="dark"] .doctor-meet-about.about-section-five {
  background: color-mix(in srgb, var(--ab-primary, var(--primary, #0b3a38)) 18%, #0f172a) !important;
  color: #e2e8f0;
}

html.dark-mode .doctor-meet-about .doctor-meet-about__intro .section-title,
html[data-theme="dark"] .doctor-meet-about .doctor-meet-about__intro .section-title,
html[data-ab-theme="dark"] .doctor-meet-about .doctor-meet-about__intro .section-title,
html[data-bs-theme="dark"] .doctor-meet-about .doctor-meet-about__intro .section-title,
html.dark-mode .doctor-meet-about .section-header-five .section-title,
html[data-theme="dark"] .doctor-meet-about .section-header-five .section-title,
html[data-ab-theme="dark"] .doctor-meet-about .section-header-five .section-title,
html[data-bs-theme="dark"] .doctor-meet-about .section-header-five .section-title,
html.dark-mode .doctor-meet-about .about-item-five .custom-title,
html[data-theme="dark"] .doctor-meet-about .about-item-five .custom-title,
html[data-ab-theme="dark"] .doctor-meet-about .about-item-five .custom-title,
html[data-bs-theme="dark"] .doctor-meet-about .about-item-five .custom-title {
  color: #f8fafc !important;
}

html.dark-mode .doctor-meet-about .section-header-five p,
html[data-theme="dark"] .doctor-meet-about .section-header-five p,
html[data-ab-theme="dark"] .doctor-meet-about .section-header-five p,
html[data-bs-theme="dark"] .doctor-meet-about .section-header-five p,
html.dark-mode .doctor-meet-about .about-item-five p,
html[data-theme="dark"] .doctor-meet-about .about-item-five p,
html[data-ab-theme="dark"] .doctor-meet-about .about-item-five p,
html[data-bs-theme="dark"] .doctor-meet-about .about-item-five p {
  color: #cbd5e1 !important;
}

html.dark-mode .doctor-meet-about .doctor-meet-about__eyebrow,
html[data-theme="dark"] .doctor-meet-about .doctor-meet-about__eyebrow,
html[data-ab-theme="dark"] .doctor-meet-about .doctor-meet-about__eyebrow,
html[data-bs-theme="dark"] .doctor-meet-about .doctor-meet-about__eyebrow {
  background: color-mix(in srgb, var(--ab-primary, var(--primary, #0b3a38)) 28%, #1e293b);
  border-color: color-mix(in srgb, var(--ab-primary, var(--primary, #0b3a38)) 40%, transparent);
  color: #e2e8f0 !important;
}

html.dark-mode .doctor-meet-about .about-item-five .about-icon,
html[data-theme="dark"] .doctor-meet-about .about-item-five .about-icon,
html[data-ab-theme="dark"] .doctor-meet-about .about-item-five .about-icon,
html[data-bs-theme="dark"] .doctor-meet-about .about-item-five .about-icon {
  background: #1e293b !important;
  border-color: rgba(148, 163, 184, 0.28);
  box-shadow: none;
}

html.dark-mode .doctor-meet-about .about-item-five .about-icon img,
html[data-theme="dark"] .doctor-meet-about .about-item-five .about-icon img,
html[data-ab-theme="dark"] .doctor-meet-about .about-item-five .about-icon img,
html[data-bs-theme="dark"] .doctor-meet-about .about-item-five .about-icon img {
  filter: brightness(0) invert(1) !important;
  opacity: 0.92;
}

html.dark-mode .doctor-meet-about .star-icon-1,
html.dark-mode .doctor-meet-about .star-icon-2,
html[data-theme="dark"] .doctor-meet-about .star-icon-1,
html[data-theme="dark"] .doctor-meet-about .star-icon-2,
html[data-ab-theme="dark"] .doctor-meet-about .star-icon-1,
html[data-ab-theme="dark"] .doctor-meet-about .star-icon-2,
html[data-bs-theme="dark"] .doctor-meet-about .star-icon-1,
html[data-bs-theme="dark"] .doctor-meet-about .star-icon-2 {
  opacity: 0.12;
  filter: brightness(0) invert(1);
}

/* Category / tag term pages */
.category-hero-wrap,
.tag-hero-wrap {
  margin-top: -1.5rem;
  position: relative;
  z-index: 2;
}

.category-hero-card,
.tag-hero-card {
  border: 1px solid var(--gray-200, #e2e8f0);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
}

.category-hero-top {
  min-width: 0;
}

.category-hero-image {
  width: 112px;
  height: 112px;
  flex-shrink: 0;
  border-radius: 12px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--category-color, #0b3a38) 14%, #ffffff);
  border: 1px solid color-mix(in srgb, var(--category-color, #0b3a38) 22%, #e2e8f0);
}

.category-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.category-hero-fallback {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 2rem;
  font-weight: 700;
  color: var(--category-color, #0b3a38);
}

.category-hero-meta {
  min-width: 0;
  padding-top: 0.15rem;
}

.category-hero-name {
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--category-color, #0b3a38);
}

.category-hero-count {
  font-size: 0.95rem;
  color: var(--gray-600, #475569);
}

.category-hero-count-value {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--category-color, #0b3a38);
}

.category-hero-description {
  width: 100%;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--gray-700, #334155);
}

.category-hero-description p:last-child {
  margin-bottom: 0;
}

.tag-hero-swatch {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: var(--tag-color, #0b3a38);
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--tag-color, #0b3a38) 16%, transparent);
  flex-shrink: 0;
}

.tag-hero-name {
  color: var(--tag-color, #0b3a38);
  font-weight: 700;
}

#blog-posts-container .blog-image a.category-slug,
#blog-posts-container .blog-image .category-slug {
  background: var(--category-color, #0b3a38) !important;
  color: #fff !important;
}

html[data-theme="dark"] #blog-posts-container .blog-image a.category-slug,
html[data-theme="dark"] #blog-posts-container .blog-image .category-slug,
[data-ab-theme="dark"] #blog-posts-container .blog-image a.category-slug,
[data-ab-theme="dark"] #blog-posts-container .blog-image .category-slug {
  background: var(--category-color, #e8f7f5) !important;
  color: #fff !important;
}

.category-colored-badge {
  background: var(--category-color, #0b3a38) !important;
  border-color: var(--category-color, #0b3a38) !important;
  color: #fff !important;
}

.category-colored-badge--outline {
  background: transparent !important;
  color: var(--category-color, #0b3a38) !important;
}

.footer-eleven .footer-accordion-toggle {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0;
  padding: 0.7rem 0;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, currentColor 22%, transparent);
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}

.footer-eleven .footer-accordion-toggle:focus-visible {
  outline: 2px solid color-mix(in srgb, currentColor 55%, transparent);
  outline-offset: 2px;
}

.footer-eleven .footer-accordion-toggle__icon {
  position: relative;
  width: 0.7rem;
  height: 0.7rem;
  flex: 0 0 auto;
}

.footer-eleven .footer-accordion-toggle__icon::before,
.footer-eleven .footer-accordion-toggle__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.7rem;
  height: 1.5px;
  background: currentColor;
  transform: translate(-50%, -50%);
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.footer-eleven .footer-accordion-toggle__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.footer-eleven .footer-accordion-toggle[aria-expanded="true"] .footer-accordion-toggle__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

.footer-eleven .footer-accordion-item .footer-menu,
.footer-eleven .footer-accordion-item .footer-support {
  padding-bottom: 0.35rem;
}

@media (max-width: 767.98px) {
  .footer-eleven .footer-accordion-item .footer-title {
    margin-bottom: 0;
  }

  .footer-eleven .footer-accordion-item .footer-menu,
  .footer-eleven .footer-accordion-item .footer-support {
    padding-top: 0.55rem;
  }

  .footer-eleven .footer-top .row {
    --bs-gutter-y: 0.15rem;
  }
}

@media (min-width: 768px) {
  .footer-eleven .footer-accordion-item .footer-title {
    margin-bottom: 1rem;
  }

  /* Keep desktop columns always visible even if Collapse removed .show */
  .footer-eleven #footerMobileAccordion .collapse.d-md-block {
    display: block !important;
    height: auto !important;
    visibility: visible !important;
  }
}

.footer-eleven .copy-right.footer-legal-row,
.footer .copy-right.footer-legal-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.4rem 0.65rem;
  text-align: left;
  white-space: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.footer .footer-legal-row__copyright,
.footer .footer-legal-row__link,
.footer .footer-legal-row__sep {
  display: inline;
  flex: 0 0 auto;
}

.footer .footer-legal-row__link {
  color: inherit;
  text-decoration: none;
  opacity: 0.92;
}

.footer .footer-legal-row__link:hover,
.footer .footer-legal-row__link:focus-visible {
  opacity: 1;
  text-decoration: underline;
}

.footer .footer-legal-row__sep {
  opacity: 0.55;
}

@media (max-width: 575.98px) {
  .footer-eleven .copy-right.footer-legal-row,
  .footer .copy-right.footer-legal-row {
    flex-wrap: wrap;
    white-space: normal;
  }
}

/* Home hero: compact content; team image center ≈ banner-count-eleven center */
.hero-section-eleven {
  overflow: hidden;
}

.hero-section-eleven .banner-section-eleven {
  position: relative;
  min-height: 0;
  align-items: stretch;
}

.hero-section-eleven .banner-section-eleven .banner-left,
.hero-section-eleven .banner-section-eleven .banner-right {
  padding-top: 32px;
  /* Space so the larger team image can sit on the count-card midline */
  padding-bottom: 188px;
}

.hero-section-eleven .banner-section-eleven .banner-left {
  display: flex;
  flex-direction: column;
  padding-right: 24px;
}

.hero-section-eleven .banner-section-eleven .banner-left .section-header {
  margin-bottom: 12px;
}

.hero-section-eleven .banner-section-eleven .banner-left .section-header .section-title {
  font-size: 34px;
  line-height: 1.12;
}

.hero-section-eleven .banner-section-eleven .banner-left .section-header .section-title .img-1 {
  width: 36px;
  top: 0;
}

.hero-section-eleven .banner-section-eleven .banner-left .banner-count-eleven {
  margin-top: auto;
  margin-bottom: 0;
  padding: 12px 14px;
  gap: 14px;
  position: relative;
  z-index: 20;
}

.hero-section-eleven .banner-section-eleven .banner-left .banner-count-eleven .banner-video {
  width: 96px;
}

.hero-section-eleven .banner-section-eleven .banner-left .banner-count-item {
  gap: 22px;
}

.hero-section-eleven .banner-section-eleven .banner-left .banner-count-item .banner-count-number .number {
  font-size: 24px;
  margin-bottom: 2px;
}

.hero-section-eleven .banner-section-eleven .banner-left .banner-count-item .banner-count-number span {
  font-size: 12px;
  line-height: 1.25;
}

.hero-section-eleven .banner-section-eleven .banner-right .banner-content {
  margin-bottom: 16px;
}

.hero-section-eleven .banner-section-eleven .banner-right .banner-content h4 {
  font-size: 18px;
  margin-bottom: 4px;
}

.hero-section-eleven .banner-section-eleven .banner-right .banner-content p {
  font-size: 13px;
  line-height: 1.4;
  width: 76%;
}

.hero-section-eleven .banner-section-eleven .banner-right .banner-percent {
  margin-bottom: 16px;
  gap: 12px;
}

.hero-section-eleven .banner-section-eleven .banner-right .banner-percent .percent-item {
  max-width: 78px;
}

.hero-section-eleven .banner-section-eleven .banner-right .banner-percent .percent-item .percent {
  font-size: 16px;
  margin-bottom: 8px;
}

.hero-section-eleven .banner-section-eleven .banner-right .banner-percent .percent-item .title {
  font-size: 13px;
  bottom: 16px;
}

.hero-section-eleven .banner-section-eleven .banner-right .banner-avatar {
  width: 56%;
}

.hero-section-eleven .banner-section-eleven .banner-right .banner-avatar p {
  font-size: 13px;
  line-height: 1.35;
  margin-bottom: 8px;
}

.hero-section-eleven .banner-section-eleven .banner-right .banner-eleven-3 {
  top: -48px;
  max-width: 180px;
}

.hero-section-eleven .banner-section-eleven .banner-eleven,
.hero-section-eleven .banner-eleven {
  position: absolute;
  left: 50%;
  right: auto;
  top: auto;
  /* bottom + half image height ≈ count-card vertical center */
  bottom: 58px;
  transform: translateX(-50%);
  width: min(92vw, 780px);
  max-width: 780px;
  height: auto;
  margin: 0;
  z-index: 15;
  border-radius: 12px;
  object-fit: contain;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.2);
}

@media (max-width: 1399.98px) {
  .hero-section-eleven .banner-section-eleven .banner-left .section-header .section-title {
    font-size: 30px;
  }

  .hero-section-eleven .banner-section-eleven .banner-left,
  .hero-section-eleven .banner-section-eleven .banner-right {
    padding-bottom: 168px;
  }

  .hero-section-eleven .banner-section-eleven .banner-eleven,
  .hero-section-eleven .banner-eleven {
    max-width: 700px;
    bottom: 52px;
  }
}

@media (max-width: 1199.98px) {
  .hero-section-eleven .banner-section-eleven .banner-left .section-header .section-title {
    font-size: 28px;
  }

  .hero-section-eleven .banner-section-eleven .banner-left,
  .hero-section-eleven .banner-section-eleven .banner-right {
    padding-bottom: 150px;
  }

  .hero-section-eleven .banner-section-eleven .banner-eleven,
  .hero-section-eleven .banner-eleven {
    max-width: 620px;
    bottom: 46px;
  }
}

@media (max-width: 991.98px) {
  .hero-section-eleven .banner-section-eleven {
    display: flex;
    flex-direction: column;
  }

  .hero-section-eleven .banner-section-eleven .banner-left,
  .hero-section-eleven .banner-section-eleven .banner-right {
    padding-top: 28px;
    padding-bottom: 28px;
    padding-right: 0;
  }

  .hero-section-eleven .banner-section-eleven .banner-left {
    order: 1;
    width: 100%;
  }

  .hero-section-eleven .banner-section-eleven .banner-right {
    order: 3;
    width: 100%;
  }

  .hero-section-eleven .banner-section-eleven .banner-left .section-header .section-title {
    font-size: 26px;
  }

  .hero-section-eleven .banner-section-eleven .banner-left .banner-count-eleven {
    margin-top: 18px;
  }

  .hero-section-eleven .banner-section-eleven .banner-right .banner-content p,
  .hero-section-eleven .banner-section-eleven .banner-right .banner-avatar {
    width: 100%;
  }

  /* Mobile: keep team promo visible between left and right banner blocks */
  .hero-section-eleven .banner-section-eleven .banner-eleven.banner-eleven--promo,
  .hero-section-eleven .banner-eleven.banner-eleven--promo {
    display: block;
    order: 2;
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    transform: none;
    width: calc(100% - 24px);
    max-width: 640px;
    margin: 8px auto 20px;
    z-index: 5;
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.16);
  }
}

@media (max-width: 575.98px) {
  .hero-section-eleven .banner-section-eleven .banner-left .section-header .section-title {
    font-size: 22px;
    line-height: 1.3;
  }

  .hero-section-eleven .banner-section-eleven .banner-eleven.banner-eleven--promo,
  .hero-section-eleven .banner-eleven.banner-eleven--promo {
    width: calc(100% - 20px);
    margin: 4px auto 16px;
    border-radius: 10px;
  }
}

/* ---------- Public FAQ page ---------- */
.faq-page .faq-public-section {
  --faq-ink: #0b3a38;
  --faq-muted: color-mix(in srgb, var(--faq-ink) 62%, #64748b);
  --faq-line: color-mix(in srgb, var(--faq-ink) 12%, #e2e8f0);
  --faq-soft: color-mix(in srgb, var(--primary, #1f6f5f) 7%, #fff);
  padding-top: 2.5rem;
  padding-bottom: 3.5rem;
  background:
    radial-gradient(ellipse 70% 40% at 50% -10%, color-mix(in srgb, var(--primary, #1f6f5f) 12%, transparent), transparent 70%),
    linear-gradient(180deg, #f7faf9 0%, #fff 42%, #fff 100%);
}

.faq-page .faq-public-intro__text {
  max-width: 36rem;
  margin-inline: auto;
  color: var(--faq-muted);
  font-size: 1.05rem;
  line-height: 1.65;
}

.faq-page .faq-public-toolbar {
  display: grid;
  gap: 1rem;
  margin: 1.75rem 0 2rem;
}

.faq-page .faq-public-search {
  position: relative;
}

.faq-page .faq-public-search i {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: color-mix(in srgb, var(--faq-ink) 45%, #94a3b8);
  pointer-events: none;
}

.faq-page .faq-public-search .form-control {
  padding: 0.85rem 1rem 0.85rem 2.75rem;
  border-radius: 999px;
  border-color: var(--faq-line);
  background: #fff;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--faq-ink) 5%, transparent);
}

.faq-page .faq-public-search .form-control:focus {
  border-color: color-mix(in srgb, var(--primary, #1f6f5f) 45%, var(--faq-line));
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--primary, #1f6f5f) 16%, transparent);
}

.faq-page .faq-public-cats {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.5rem;
  overflow-x: auto;
  padding-bottom: 0.25rem;
  scrollbar-width: thin;
}

.faq-page .faq-public-cat {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex: 0 0 auto;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  border: 1px solid var(--faq-line);
  background: #fff;
  color: var(--faq-ink);
  text-decoration: none;
  font-size: 0.92rem;
  font-weight: 600;
  white-space: nowrap;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.faq-page .faq-public-cat:hover,
.faq-page .faq-public-cat.is-active {
  background: var(--faq-soft);
  border-color: color-mix(in srgb, var(--primary, #1f6f5f) 35%, var(--faq-line));
  color: var(--primary, #1f6f5f);
}

.faq-page .faq-public-group {
  margin-bottom: 2rem;
  scroll-margin-top: 6rem;
}

.faq-page .faq-public-group__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.faq-page .faq-public-group__title {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--faq-ink);
}

.faq-page .faq-public-group__title i {
  color: var(--primary, #1f6f5f);
}

.faq-page .faq-public-group__count {
  min-width: 1.75rem;
  height: 1.75rem;
  padding: 0 0.45rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--primary, #1f6f5f);
  background: var(--faq-soft);
}

.faq-page .faq-public-accordion {
  display: grid;
  gap: 0.65rem;
}

.faq-page .faq-public-accordion .accordion-item,
.faq-page .faq-public-item {
  border: 1px solid var(--faq-line) !important;
  border-radius: 14px !important;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 6px 18px color-mix(in srgb, var(--faq-ink) 4%, transparent);
}

.faq-page .faq-public-accordion .accordion-button {
  gap: 0.75rem;
  padding: 1.05rem 1.15rem;
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--faq-ink);
  background: #fff;
  box-shadow: none !important;
}

.faq-page .faq-public-accordion .accordion-button:not(.collapsed) {
  background: var(--faq-soft);
  color: var(--faq-ink);
}

.faq-page .faq-public-accordion .accordion-button::after {
  margin-left: auto;
  flex-shrink: 0;
}

.faq-page .faq-public-item__question {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.65rem;
  text-align: start;
}

.faq-page .faq-public-item__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #fff;
  background: var(--primary, #1f6f5f);
}

.faq-page .faq-public-item__answer {
  padding: 0 1.15rem 1.2rem;
  color: var(--faq-muted);
  font-size: 0.98rem;
  line-height: 1.75;
}

.faq-page .faq-public-empty {
  text-align: center;
  padding: 2rem 1rem;
  color: var(--faq-muted);
}

.faq-page .faq-public-help {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin-top: 2.5rem;
  padding: 1.5rem 1.35rem;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--primary, #1f6f5f) 18%, var(--faq-line));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--primary, #1f6f5f) 10%, #fff), #fff 55%);
}

.faq-page .faq-public-help__title {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--faq-ink);
}

.faq-page .faq-public-help__text {
  max-width: 34rem;
  color: var(--faq-muted);
  line-height: 1.6;
}

.faq-page .faq-public-help__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

html.dark-mode .faq-page .faq-public-section,
html[data-theme="dark"] .faq-page .faq-public-section,
html[data-ab-theme="dark"] .faq-page .faq-public-section {
  --faq-ink: #f1f5f9;
  --faq-muted: rgba(241, 245, 249, 0.78);
  --faq-line: rgba(248, 250, 252, 0.12);
  --faq-soft: color-mix(in srgb, var(--primary, #3d9a86) 16%, #152028);
  background:
    radial-gradient(ellipse 70% 40% at 50% -10%, color-mix(in srgb, var(--primary, #3d9a86) 18%, transparent), transparent 70%),
    linear-gradient(180deg, #101820 0%, #121a22 100%);
}

html.dark-mode .faq-page .faq-public-search .form-control,
html[data-theme="dark"] .faq-page .faq-public-search .form-control,
html[data-ab-theme="dark"] .faq-page .faq-public-search .form-control,
html.dark-mode .faq-page .faq-public-cat,
html[data-theme="dark"] .faq-page .faq-public-cat,
html[data-ab-theme="dark"] .faq-page .faq-public-cat,
html.dark-mode .faq-page .faq-public-item,
html[data-theme="dark"] .faq-page .faq-public-item,
html[data-ab-theme="dark"] .faq-page .faq-public-item,
html.dark-mode .faq-page .faq-public-accordion .accordion-button,
html[data-theme="dark"] .faq-page .faq-public-accordion .accordion-button,
html[data-ab-theme="dark"] .faq-page .faq-public-accordion .accordion-button {
  background: #1a222c;
  color: var(--faq-ink);
}

html.dark-mode .faq-page .faq-public-help,
html[data-theme="dark"] .faq-page .faq-public-help,
html[data-ab-theme="dark"] .faq-page .faq-public-help {
  background: linear-gradient(135deg, color-mix(in srgb, var(--primary, #3d9a86) 18%, #152028), #1a222c);
}

.faq-page .faq-public-newsletter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.25rem;
  padding: 1.25rem 1.2rem;
  border-radius: 16px;
  border: 1px solid var(--faq-line);
  background: #fff;
}

.faq-page .faq-public-newsletter__title {
  margin: 0 0 0.25rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--faq-ink);
}

.faq-page .faq-public-newsletter__text {
  color: var(--faq-muted);
}

.newsletter-subscribe-form__fields {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.newsletter-subscribe-form__fields .form-control {
  min-width: 12rem;
  flex: 1 1 12rem;
}

.footer-eleven .footer-about .footer-about-text {
  margin-bottom: 1.15rem;
}

.footer-eleven .footer-newsletter {
  margin-top: 0.25rem;
  max-width: 22rem;
}

.footer-eleven .footer-newsletter__title {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: inherit;
}

.footer-eleven .footer-newsletter__text {
  margin: 0 0 0.75rem;
  font-size: 0.88rem;
  line-height: 1.5;
  opacity: 0.78;
}

.footer-eleven .footer-newsletter .newsletter-subscribe-form__fields {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.45rem;
  align-items: stretch;
}

.footer-eleven .footer-newsletter .newsletter-subscribe-form__fields .form-control {
  min-width: 0;
  flex: none;
  height: 2.65rem;
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: inherit;
  box-shadow: none;
}

.footer-eleven .footer-newsletter .newsletter-subscribe-form__fields .form-control::placeholder {
  color: rgba(255, 255, 255, 0.55);
}

.footer-eleven .footer-newsletter .newsletter-subscribe-form__fields .form-control:focus {
  background: rgba(255, 255, 255, 0.12);
  border-color: color-mix(in srgb, var(--primary, #1f6f5f) 55%, rgba(255, 255, 255, 0.35));
  box-shadow: 0 0 0 0.15rem color-mix(in srgb, var(--primary, #1f6f5f) 22%, transparent);
  color: inherit;
}

.footer-eleven .footer-newsletter .newsletter-subscribe-form__fields .btn,
.newsletter-subscribe-form__submit {
  height: 2.65rem;
  width: 2.65rem;
  padding: 0;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  line-height: 1;
}

.newsletter-subscribe-form__submit i {
  font-size: 1.05rem;
}

.footer-eleven .footer-newsletter .newsletter-subscribe-form__fields .btn {
  width: 2.65rem;
  padding: 0;
}

.footer-eleven .footer-newsletter__status {
  margin: 0.65rem 0 0;
  font-size: 0.82rem;
  color: color-mix(in srgb, #86efac 70%, #fff);
}

@media (max-width: 575.98px) {
  .footer-eleven .footer-newsletter .newsletter-subscribe-form__fields {
    grid-template-columns: 1fr auto;
  }
}

@media (max-width: 767.98px) {
  .faq-page .faq-public-section {
    padding-top: 1.75rem;
    padding-bottom: 2.5rem;
  }

  .faq-page .faq-public-accordion .accordion-button {
    padding: 0.95rem 1rem;
    font-size: 0.98rem;
  }

  .faq-page .faq-public-help {
    padding: 1.25rem 1.1rem;
  }

  .faq-page .faq-public-help__actions {
    width: 100%;
  }

  .faq-page .faq-public-help__actions .btn {
    flex: 1 1 auto;
  }
}

/* Patient auth gate on public clinic forms */
.patient-auth-gate {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem 1rem;
  margin-top: 1.25rem;
  padding: 1rem 1.1rem;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--primary, #1f6f5f) 22%, #e2e8f0);
  background: color-mix(in srgb, var(--primary, #1f6f5f) 7%, #fff);
}

.patient-auth-gate__icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--primary, #1f6f5f) 14%, #fff);
  color: var(--primary, #1f6f5f);
  flex: 0 0 auto;
}

.patient-auth-gate__copy {
  flex: 1 1 14rem;
}

.patient-auth-gate__text {
  color: #334155;
  line-height: 1.5;
  font-size: 0.95rem;
}

.patient-auth-gate__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

html.dark-mode .patient-auth-gate,
html[data-theme="dark"] .patient-auth-gate,
html[data-ab-theme="dark"] .patient-auth-gate {
  background: color-mix(in srgb, var(--primary, #3d9a86) 16%, #152028);
  border-color: color-mix(in srgb, var(--primary, #3d9a86) 28%, transparent);
}

html.dark-mode .patient-auth-gate__text,
html[data-theme="dark"] .patient-auth-gate__text,
html[data-ab-theme="dark"] .patient-auth-gate__text {
  color: rgba(241, 245, 249, 0.9);
}

/* Availability holiday calendar */
.availability-calendar__weekdays,
.availability-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.4rem;
}

.availability-calendar__weekday {
  font-size: 0.78rem;
  font-weight: 700;
  text-align: center;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.availability-calendar__day {
  min-height: 5.5rem;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 0.4rem;
  background: #fff;
}

.availability-calendar__day.is-outside {
  opacity: 0.4;
}

.availability-calendar__day.is-today {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--primary, #1f6f5f) 55%, transparent);
}

.availability-calendar__day.is-closed {
  background: color-mix(in srgb, #dc3545 8%, #fff);
  border-color: color-mix(in srgb, #dc3545 30%, #e2e8f0);
}

.availability-calendar__day.is-open {
  background: color-mix(in srgb, #0dcaf0 10%, #fff);
  border-color: color-mix(in srgb, #0dcaf0 35%, #e2e8f0);
}

.availability-calendar__day-num {
  font-size: 0.85rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.availability-calendar__tag {
  font-size: 0.68rem;
  line-height: 1.2;
  border-radius: 6px;
  padding: 0.15rem 0.3rem;
  margin-bottom: 0.2rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.availability-calendar__tag--closed {
  background: #dc3545;
  color: #fff;
}

.availability-calendar__tag--open {
  background: #0dcaf0;
  color: #042f36;
}

.availability-calendar__more {
  font-size: 0.68rem;
  color: #64748b;
}

.availability-calendar__legend {
  display: flex;
  gap: 1rem;
}

.availability-calendar__legend-item::before {
  content: '';
  display: inline-block;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 999px;
  margin-right: 0.35rem;
  vertical-align: middle;
}

.availability-calendar__legend-item--closed::before {
  background: #dc3545;
}

.availability-calendar__legend-item--open::before {
  background: #0dcaf0;
}

@media (max-width: 991.98px) {
  .availability-calendar__day {
    min-height: 4.25rem;
  }

  .availability-calendar__tag {
    display: none;
  }
}

