/* Drupal-specific compatibility only. The public layout is intentionally left
   to the original Bilim v2 styles in bilim.main.css/responsive.css. */
/* Values generated by the WordPress theme customizer on the original site. */
:root {
  --main-color: #0d8e3b;
  --main-color-hover: #0b7a34;
  --main-color-active: #08652b;
  --menu-bg: #f8f9fa;
  --menu-link-color: #232323;
  --menu-link-hover-bg: #0b7a34;
  --menu-link-hover-color: #ffffff;
  --menu-link-active-color: #ffffff;
  --dropdown-item-bg-hover: #f0f8ff;
  --dropdown-item-color: #232323;
  --dropdown-item-hover-color: #000000;
  --dropdown-item-active-bg: #08652b;
  --dropdown-item-active-color: #ffffff;
  --burger-bar: #000000;
  --body-bg: #fdfdfd;
  --header-bg-color: #ffffff;
  --block-text-color: #212529;
  --block-title-color: #333333;
  --block-bg-color: #ffffff;
  --block-border-color: #f1f1f1;
  --footer-bg-color: #333333;
  --footer-color: #e0e0e0;
  --breadcrumb-color: #6c757d;
}

.layout-container { margin: 0; }

.bilim-svg-icon {
  display: inline-flex;
  width: 1em;
  height: 1em;
  align-items: center;
  justify-content: center;
  line-height: 1;
  vertical-align: -0.125em;
}
.bilim-svg-icon svg { width: 100%; height: 100%; display: block; fill: currentColor; }
.top-bar .bvi-open .bilim-svg-icon { margin-right: 5px; font-size: 14px; vertical-align: -0.1em; }
.search-form button .bilim-svg-icon { font-size: 15px; }
.social-circle .bilim-svg-icon { font-size: 15px; }

/* Drupal contextual/admin elements must not change the original public spacing. */
.drupal-messages { margin-bottom: 20px; }
#content > .local-tasks-wrapper { margin-bottom: 15px; }
#content .node__meta,
#content .node__links,
#content .feed-icons { display: none; }
#content img { max-width: 100%; height: auto; }

/* Keep the WordPress-like content template clean from migrated helper fields. */
.bilim-node__content:empty { display: none; }
.entry-footer { margin-top: 18px; }
.entry-footer a { color: var(--link-color, #0d6efd); }

/* Local replacement for the uSocial row used by the WordPress template. */
.bilim-share { display: flex; gap: 6px; margin-top: 16px; align-items: center; }
.bilim-share__button {
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  color: #fff !important;
  text-decoration: none !important;
}
.bilim-share__button svg { width: 17px; height: 17px; display: block; fill: currentColor; }
.bilim-share__button--facebook { background: #4267b2; }
.bilim-share__button--telegram { background: #2aabee; }
.bilim-share__button--whatsapp { background: #25d366; }
.bilim-share__button--vk { background: #4c75a3; }
.bilim-share__button--ok { background: #ee8208; }
.bilim-share__button:hover { color: #fff; filter: brightness(.94); }

/* Drupal pager rendered by the news archive. */
.news-pager { margin-top: 24px; }
.news-pager .pager__items { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; list-style: none; }
.news-pager .pager__item a {
  display: inline-flex;
  min-width: 36px;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  text-decoration: none;
}
.news-pager .pager__item.is-active a { background: var(--main-color, #0d963f); color: #fff; border-color: var(--main-color, #0d963f); }

.news-empty { padding: 20px 0; }

/* Keep long multilingual breadcrumb labels on one clean baseline. */
#content > .breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 10px;
  min-height: 46px;
  overflow: hidden;
}
#content > .breadcrumb > span { margin: 0; min-width: 0; }
#content > .breadcrumb .breadcrumb-separator { flex: 0 0 auto; }
#content > .breadcrumb [property="itemListElement"] { flex: 1 1 0; }
#content > .breadcrumb [property="itemListElement"] a { display: block; min-width: 0; }
#content > .breadcrumb span[property="name"] {
  display: block;
  max-width: none;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#content > .breadcrumb .current-item { flex: 0 0 auto; max-width: 38%; white-space: nowrap; }

/* The original sidebar walker emits plain nested ULs; Drupal uses the same shape. */
.sidebar-nav .metismenu > li > ul { margin: 0; padding: 0; }

/* Do not let Drupal's contextual links inherit public navigation rules. */
.contextual-links a { text-transform: none !important; }

@media (max-width: 991.98px) {
  .offcanvas .navbar-nav { width: 100%; }
}

/* Virtual reception: Drupal replacement for the original Contact Form 7 form. */
.bilim-feedback-form-wrap { margin-top: 24px; }
.bilim-feedback-form .form-item { margin-bottom: 16px; }
.bilim-feedback-form label { display: block; margin-bottom: 7px; font-weight: 600; }
.bilim-feedback-form .form-control { width: 100%; }
.bilim-feedback-form .form-actions { margin-top: 20px; }
.bilim-feedback-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* ============================================================
   Drupal public-page compatibility
   The source WordPress site only had a compact top admin bar. Drupal 11's
   Navigation module otherwise reserves 264px on the left and 64px on top,
   which distorts every comparison while logged in. On pages rendered by this
   public theme we hide that administration chrome and remove its displacement.
   /admin pages use the administration theme and are not affected.
   ============================================================ */
html[data-admin-toolbar] #admin-toolbar,
html[data-admin-toolbar] .admin-toolbar-control-bar,
html[data-admin-toolbar] .admin-toolbar-overlay,
html[data-admin-toolbar] [data-drupal-admin-styles].top-bar,
html[data-admin-toolbar] [data-drupal-admin-styles].top-bar__actions,
html[data-admin-toolbar] [data-drupal-admin-styles].top-bar__context {
  display: none !important;
  visibility: hidden !important;
}
html[data-admin-toolbar] body {
  --admin-toolbar-sidebar-width: 0px !important;
}
html[data-admin-toolbar] .dialog-off-canvas-main-canvas {
  margin-inline-start: 0 !important;
  margin-block-start: 0 !important;
  width: 100% !important;
}

/* The original public theme owns .top-bar. Do not let Drupal admin rules
   override its positioning or spacing. */
.dialog-off-canvas-main-canvas > .top-bar {
  position: static !important;
  width: auto !important;
}

/* Keep the exact Bilim v2 spacing even when contextual links are available. */
.contextual-region { position: relative; }
.contextual .trigger { z-index: 50; }

/* Font Awesome's SVG/inline variants can have slightly different baselines.
   Force the same 1em box used on the source site. */
.top-bar .eye i,
.search-form button i,
.social-circle i,
.page-date i,
.news-item-date-badge i {
  line-height: 1;
  vertical-align: middle;
}
.social-circle i { margin: 0; }

/* Ensure the source navigation is visible even before/without the overflow
   helper JS; bilim.menu.js will add .initialized after measuring it. */
.bilim-menu .navbar-nav.is-initializing { min-height: 50px; }
.no-js .bilim-menu .navbar-nav.is-initializing { opacity: 1; }

/* Drupal's default list styles must never leak into the WP walker markup. */
.sidebar-nav .metismenu,
.sidebar-nav .metismenu ul,
.bilim-menu .navbar-nav,
.bilim-menu .dropdown-menu {
  list-style: none;
}
.sidebar-nav .metismenu ul { margin: 0; }

/* Exact archive layout fallback for the migrated /news nodes. */
.bilim-news-index .news-layout-list { padding-top: 0; }


/* v6: match the original WordPress home carousels exactly. */
#bilimSlider-content.bilimSwiper {
  height: 400px;
  min-height: 400px;
}
#bilimSlider-content .swiper-slide,
#bilimSlider-content .swiper-img {
  height: 400px;
}
#bilimSlider-content .swiper-button-next,
#bilimSlider-content .swiper-button-prev {
  display: flex !important;
}

/* Partner carousel on the source site is compact: four cards on desktop and
   multiple pages of bullets. Keep the artwork contained instead of stretching. */
.sliderSites {
  padding: 0 10px;
  margin-top: 20px;
  margin-bottom: 20px;
}
.sliderSites .swiper-slide {
  height: 132px;
  display: flex;
  align-items: center;
}
.sliderSites .slider_link {
  width: 100%;
  height: 118px;
  padding: 8px 14px;
}
.sliderSites .slider_link img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 96px;
  object-fit: contain;
}
.sliderSites .slider-pagination {
  min-height: 16px;
  margin-top: 10px;
}
.sliderSites .swiper-pagination-bullet {
  margin: 0 4px;
}

/* EN home content uses exactly the same rhythm as RU/KK. */
html[lang="en"] #bilim-about .hospital-home-copy p,
html[lang="en"] #bilim-about .home-card-content p {
  margin-top: 0;
  margin-bottom: 1rem;
}
html[lang="en"] #bilim-about .home-card-content p:last-child {
  margin-bottom: 0;
}

/* v9: real Swiper carousels and MetisMenu accordion. */
#bilimSlider-content.bilimSwiper {
  position: relative;
  width: 100%;
  height: 400px;
  min-height: 400px;
  overflow: hidden;
}
#bilimSlider-content .swiper-wrapper {
  display: flex;
  width: 100%;
  height: 100%;
}
#bilimSlider-content .swiper-slide {
  width: 100%;
  height: 400px;
  flex-shrink: 0;
}
#bilimSlider-content .swiper-img,
#bilimSlider-content .swiper-img img {
  width: 100%;
  height: 400px;
}
#bilimSlider-content .swiper-img img {
  display: block;
  object-fit: cover;
}
#bilimSlider-content .swiper-button-next,
#bilimSlider-content .swiper-button-prev {
  display: flex !important;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0,0,0,.65);
}
#bilimSlider-content .swiper-pagination {
  bottom: 10px;
}

.sliderSites {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 0;
  margin: 20px auto;
}
.sliderSites .swiper-wrapper {
  display: flex;
  align-items: stretch;
}
.sliderSites .swiper-slide {
  height: 146px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.sliderSites .slider_link {
  width: 100%;
  height: 146px;
  padding: 7px 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0,0,0,.035);
}
.sliderSites .slider_link img {
  display: block;
  width: auto;
  height: 130px;
  max-width: 100%;
  object-fit: contain;
}
.sliderSites .slider-pagination {
  position: static !important;
  width: 100% !important;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 14px;
  margin-top: 15px;
}
.sliderSites .swiper-pagination-bullet {
  margin: 0 4px !important;
}

/* Sidebar: MetisMenu owns display/height during the transition. */
.bilim-side-menu,
.bilim-side-submenu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.bilim-side-menu .submenu-toggle {
  position: relative;
  width: 100%;
  border: 0;
  border-radius: 0;
  background: var(--sidebar-bg-color);
  color: var(--block-text-color);
  text-align: left;
  cursor: pointer;
  display: block;
  padding: 13px 38px 13px 15px;
  font-size: 13px;
  text-transform: uppercase;
  transition: background-color .3s ease, color .3s ease;
}
.bilim-side-menu .mm-active > .submenu-toggle,
.bilim-side-menu .submenu-toggle:hover {
  background: var(--main-color);
  color: var(--white);
}
.bilim-side-menu .bilim-side-submenu a {
  padding-left: 30px;
}
.bilim-side-menu .bilim-side-submenu {
  display: none;
}
.bilim-side-menu .is-open > .bilim-side-submenu,
.bilim-side-menu .bilim-side-submenu.mm-show {
  display: block;
}
.bilim-side-menu .mm-collapsing {
  overflow: hidden;
  transition-duration: .35s;
  transition-property: height, visibility;
  transition-timing-function: ease;
}

@media (max-width: 767.98px) {
  #bilimSlider-content.bilimSwiper,
  #bilimSlider-content .swiper-slide,
  #bilimSlider-content .swiper-img,
  #bilimSlider-content .swiper-img img {
    height: 260px;
    min-height: 260px;
  }
}

/* Exact source-site dimensions for the partner carousel. */
.sliderSites .slider_link img { max-height: none; }
.sliderSites .slider-pagination { min-height: 24px; }

/* Polished Drupal account forms inside the migrated public theme. */
.path-user #content .content,
.user-login-form,
.user-pass {
  max-width: 560px;
}

.path-user #content .content {
  margin: 20px auto 70px;
  padding: 34px 38px;
  background: #fff;
  border: 1px solid #e2eaee;
  border-radius: 8px;
  box-shadow: 0 14px 36px rgba(26, 62, 82, .10);
}

.path-user .breadcrumb {
  display: none;
}

.path-user .local-tasks-wrapper {
  max-width: 560px;
  margin: 24px auto 0;
}

.path-user .local-tasks-wrapper ul {
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.path-user .local-tasks-wrapper a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 14px;
  color: #087b35;
  background: #eef8f2;
  border: 1px solid #cfe7d8;
  border-radius: 6px;
  font-weight: 600;
  text-decoration: none;
}

.path-user .local-tasks-wrapper a.is-active,
.path-user .local-tasks-wrapper a:hover {
  color: #fff;
  background: var(--main-color);
  border-color: var(--main-color);
}

.user-login-form .form-item,
.user-pass .form-item {
  margin-bottom: 18px;
}

.user-login-form label,
.user-pass label {
  display: block;
  margin-bottom: 7px;
  color: #20333f;
  font-size: 14px;
  font-weight: 700;
}

.user-login-form input.form-text,
.user-login-form input.form-email,
.user-login-form input.form-password,
.user-pass input.form-text,
.user-pass input.form-email {
  width: 100%;
  height: 46px;
  padding: 10px 13px;
  color: #1f2933;
  background: #fff;
  border: 1px solid #ccd8df;
  border-radius: 6px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.user-login-form input:focus,
.user-pass input:focus {
  border-color: var(--main-color);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(0, 145, 62, .14);
}

.user-login-form .description,
.user-pass .description {
  margin-top: 6px;
  color: #6a7b86;
  font-size: 13px;
}

.user-login-form .form-actions,
.user-pass .form-actions {
  margin-top: 24px;
}

.user-login-form .button,
.user-pass .button {
  min-height: 46px;
  padding: 10px 26px;
  color: #fff;
  background: var(--main-color);
  border: 1px solid var(--main-color);
  border-radius: 6px;
  box-shadow: 0 7px 16px rgba(0, 145, 62, .22);
  font-weight: 700;
  cursor: pointer;
}

.user-login-form .button:hover,
.user-pass .button:hover {
  background: #047a35;
  border-color: #047a35;
}

@media (max-width: 767.98px) {
  .path-user #content .content,
  .path-user .local-tasks-wrapper {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .path-user #content .content {
    padding: 24px 18px;
  }
}
