/* Figma: desktop 124 px, tablet 86 px, mobile 76 px. */
:root {
  --ilm-bg: #ffffff;
  --ilm-white: #ffffff;
  --ilm-panel: #f3f3f3;
  --ilm-ink: #313131;
  --ilm-brown: #412614;
  --ilm-sand: #e6c7a5;
  --ilm-orange: #ef7f1a;
  --header-top-height: 80px;
  --header-bottom-height: 44px;
  --header-height: 124px;
  --header-height-t: 86px;
  --header-height-m: 76px;
  --ilm-gold: #EF7F1A;
  --secondary: #EF7F1A;
  --ilm-muted: rgba(56, 56, 56, 0.5);
}

/* The sticky header remains in document flow, so the wrapper needs no offset. */
#page-wrapper {
  padding-top: 0 !important;
  overflow: visible !important;
}

/* The exported palette uses sand for resting buttons and brown on hover. */
.ilmarimed-theme .btn-secondary,
.ilmarimed-theme .iforms-ajax-modal.btn {
  background-color: var(--ilm-sand) !important;
  border-color: var(--ilm-sand) !important;
  color: var(--ilm-brown) !important;
}

.ilmarimed-theme .btn-secondary:hover,
.ilmarimed-theme .btn-secondary:focus,
.ilmarimed-theme .iforms-ajax-modal.btn:hover,
.ilmarimed-theme .iforms-ajax-modal.btn:focus {
  background-color: var(--ilm-brown) !important;
  border-color: var(--ilm-brown) !important;
  color: var(--ilm-white) !important;
}

/* The reference uses a quiet gray booking block and a light footer, not the old teal/brown scheme. */
.ilmarimed-theme .icms-widget.black-bg:has(.full-bottom-form) {
  background: var(--ilm-bg) !important;
  color: var(--ilm-ink) !important;
}

.ilmarimed-theme .site-footer {
  background: var(--ilm-bg) !important;
  color: var(--ilm-ink) !important;
}

.ilmarimed-theme .site-footer a,
.ilmarimed-theme .site-footer .widget__title,
.ilmarimed-theme .site-footer strong {
  color: var(--ilm-brown) !important;
}

@media (max-width: 1199.98px) {
  :root {
    --header-height: 86px;
  }

  .site-header__logo {
    height: 86px;
  }

  .site-header::before {
    top: 85px;
  }

  .mobile-menu {
    height: calc(100vh - 86px);
  }
}

@media (max-width: 767.98px) {
  :root {
    --header-height: 76px;
  }

  .site-header__row {
    height: 76px;
  }

  .site-header__logo {
    height: 28px;
  }

  .site-header::before {
    top: 75px;
  }

  .mobile-menu {
    height: calc(100vh - 76px);
  }
}

/* Legacy widget color classes must not tint the Figma counters section. */
.ilmarimed-theme .icms-widget.black-bg:has(.widget-counters) {
  background: transparent !important;
  color: var(--ilm-ink) !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.ilmarimed-theme .icms-widget.black-bg:has(.widget-counters) .widget-counters__item strong {
  color: var(--ilm-brown) !important;
}

.ilmarimed-theme .icms-widget.black-bg:has(.widget-counters) .widget-counters__item span {
  color: var(--ilm-muted) !important;
}

/* The CMS category filter uses Chosen; replace its legacy dark select skin. */
.ilmarimed-theme .chosen-container-single .chosen-single,
.ilmarimed-theme .chosen-container-single.chosen-with-drop .chosen-single {
  background: var(--ilm-white) !important;
  color: var(--ilm-ink) !important;
  box-shadow: none !important;
}

.ilmarimed-theme .chosen-container-single .chosen-single span {
  color: var(--ilm-ink) !important;
}

.ilmarimed-theme .chosen-container .chosen-drop {
  background: var(--ilm-white) !important;
  color: var(--ilm-ink) !important;
  box-shadow: var(--ilm-shadow) !important;
}

.ilmarimed-theme .chosen-container .chosen-results li {
  color: var(--ilm-ink) !important;
}

.ilmarimed-theme .chosen-container .chosen-results li.highlighted {
  background: var(--ilm-sand) !important;
  color: var(--ilm-brown) !important;
}

/* The base theme caps staff portraits at 150 px; Figma cards use the full column. */
.ilmarimed-theme .staff-list .staff-list__image .staff-list__avatar {
  width: 100%;
  max-width: none;
  margin: 0;
  place-self: stretch;
}

/* Review cards are a two-column grid; their content must stack within each card. */
.ilmarimed-theme .reviews-list__item {
  display: flex;
  flex-direction: column;
}

.ilmarimed-theme .reviews-list__header,
.ilmarimed-theme .reviews-list__content {
  flex: 0 1 auto;
  width: 100%;
  min-width: 0;
}

.ilmarimed-theme .reviews-list__header {
  align-items: center;
}
.ilmarimed-theme .reviews-list__item { background: var(--ilm-panel) !important; border: 0 !important; }
.ilmarimed-theme .widget-main-slider__eyebrow span { background: #fff !important; box-shadow: none !important; border: 0 !important; }
.ilmarimed-theme .widget-main-slider__eyebrow::before,
.ilmarimed-theme .widget-main-slider__eyebrow::after { display: none !important; content: none !important; }
.ilmarimed-theme .widget-main-slider .slick-dots button { width: 8px !important; height: 8px !important; border-radius: 50% !important; }
.ilmarimed-theme .widget-main-slider .slick-dots li.slick-active button { width: 8px !important; height: 8px !important; }
.ilmarimed-theme .ilm-error-page {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 56px;
  min-height: 560px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 56px 60px;
}
.ilmarimed-theme .ilm-error-page__content { min-width: 0; }
.ilmarimed-theme .ilm-error-page__image { display: block; width: 100%; aspect-ratio: 1.2 / 1; object-fit: cover; border-radius: 24px; }
.ilmarimed-theme .ilm-error-page__code { color: var(--ilm-brown) !important; font-size: clamp(80px, 10vw, 140px) !important; }

/* Clinician cards use a four-column desktop grid with the information panel over the portrait. */
.ilmarimed-theme .staff-list { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 20px; }
.ilmarimed-theme .staff-list__item { position: relative; min-width: 0; aspect-ratio: .78 / 1; overflow: hidden; margin: 0 !important; border: 0; border-radius: 20px; background: #f3f3f3; }
.ilmarimed-theme .staff-list__title h3, .ilmarimed-theme .staff-list__spec { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow-wrap: anywhere; }
.ilmarimed-theme .ilm-card__title, .ilmarimed-theme .reviews-list__title h3, .ilmarimed-theme .reviews-list__title a, .ilmarimed-theme .ilm-review-card__author, .ilmarimed-theme .prices-list__title, .ilmarimed-theme .prices-list__price, .ilmarimed-theme .ilm-vacancy summary { min-width: 0; overflow-wrap: anywhere; }
.ilmarimed-theme .reviews-list__title h3, .ilmarimed-theme .reviews-list__title a { margin: 0; font-size: 20px; line-height: 24px; }
.ilmarimed-theme .ilm-review-card__quote .read-more { display: none; }
.ilmarimed-theme .staff-list__photo { position: absolute; inset: 0; display: block; overflow: hidden; background: #f3f3f3; }
.ilmarimed-theme .staff-list__photo img,
.ilmarimed-theme .staff-list__photo .staff-photo-placeholder { display: block; width: 100%; height: 100%; object-fit: cover; }
.ilmarimed-theme .staff-list__panel { position: absolute; right: 14px; bottom: 14px; left: 14px; display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 16px; border-radius: 16px; background: #fff; box-shadow: 0 8px 28px rgba(49,49,49,.12); }
.ilmarimed-theme .staff-list__title h3 { margin: 0 !important; font-size: clamp(16px, 1.3vw, 20px) !important; line-height: 1.25 !important; overflow-wrap: anywhere; }
.ilmarimed-theme .staff-list__title a { color: var(--ilm-brown) !important; }
.ilmarimed-theme .staff-list__spec,
.ilmarimed-theme .staff-list__exp { color: var(--ilm-ink) !important; font-size: 13px; line-height: 1.35; }
.ilmarimed-theme .staff-list__rating { color: var(--ilm-orange); }
.ilmarimed-theme .staff-list__price { color: var(--ilm-brown); font-weight: 700; }
.ilmarimed-theme .staff-list__button { width: 100%; margin-top: 4px; }
.ilmarimed-theme .staff-item__image { flex: 0 0 33.333% !important; max-width: 33.333% !important; }
.ilmarimed-theme .staff-item__content { flex: 0 0 66.667% !important; max-width: 66.667% !important; }

/* Prices remain a responsive list of complete, bookable rows. */
.ilmarimed-theme .prices-list { display: grid; gap: 12px; border: 0; }
.ilmarimed-theme .prices-list__item { grid-template-columns: minmax(0, 1fr) minmax(130px, auto) auto; gap: 20px; padding: 18px 22px !important; border: 0 !important; border-radius: 16px; background: var(--ilm-panel) !important; }
.ilmarimed-theme .prices-list__item .btn { min-width: 145px; }

/* Detail pages use content-driven spacing and panels rather than fixed blank heights. */
.ilmarimed-theme .ilm-detail-head,
.ilmarimed-theme .content_item.staff-item { margin-top: 0 !important; }
.ilmarimed-theme .ilm-detail-layout { grid-template-columns: minmax(0, 426px) minmax(0, 1fr); gap: 30px; }
.ilmarimed-theme .ilm-detail-cta,
.ilmarimed-theme .ilm-generic-card,
.ilmarimed-theme .ilm-tile-card,
.ilmarimed-theme .ilm-post-card { background: var(--ilm-panel); }
.ilmarimed-theme .staff-item-photo .staff-photo-placeholder { min-height: 420px; border-radius: 20px; }

/* Service listing keeps its own treatment instead of borrowing article cards. */
.ilmarimed-theme .ilm-services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-bottom: 48px; }
.ilmarimed-theme .ilm-services-grid .ilm-service-card { position: relative; display: flex; min-width: 0; min-height: 230px; aspect-ratio: auto; overflow: hidden; padding: 28px; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-services-grid .ilm-card__media { position: absolute; right: 0; bottom: 0; width: 36%; height: 58%; opacity: .85; }
.ilmarimed-theme .ilm-services-grid .ilm-card__media img { width: 100%; height: 100%; object-fit: cover; }
.ilmarimed-theme .ilm-services-grid .ilm-card__body { z-index: 1; width: 70%; padding: 0; }
.ilmarimed-theme .ilm-services-grid .ilm-card__title { color: var(--ilm-brown); font-size: 24px; }

@media (min-width: 768px) and (max-width: 1199.98px) {
  .ilmarimed-theme .ilm-error-page { gap: 28px; padding: 44px 20px; }
  .ilmarimed-theme .staff-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .ilmarimed-theme .ilm-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .ilmarimed-theme .ilm-error-page { grid-template-columns: 1fr; gap: 24px; min-height: 0; padding: 32px 15px 48px; }
  .ilmarimed-theme .ilm-error-page__image { grid-row: 1; aspect-ratio: 1.2 / .8; }
  .ilmarimed-theme .staff-list { grid-template-columns: 1fr !important; gap: 16px; }
  .ilmarimed-theme .staff-list__item { aspect-ratio: .86 / 1; }
  .ilmarimed-theme .staff-item>.row { display: flex; flex-direction: column; }
  .ilmarimed-theme .staff-item__content { order: 0; flex-basis: auto !important; max-width: 100% !important; }
  .ilmarimed-theme .staff-item__image { order: 1; flex-basis: auto !important; max-width: 100% !important; }
  .ilmarimed-theme .prices-list__item { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 14px; padding: 16px !important; }
  .ilmarimed-theme .prices-list__title { grid-column: 1 / -1; }
  .ilmarimed-theme .prices-list__item .btn { grid-column: 1 / -1; width: 100%; }
  .ilmarimed-theme .ilm-services-grid { grid-template-columns: 1fr; gap: 14px; }
}

/* Keep the user-visible mobile menu tied to the state managed in ilmarimed.js. */
.ilmarimed-theme .mobile-menu {
  position: fixed !important;
  inset: var(--header-height, 124px) 15px 0 0 !important;
  z-index: 1045 !important;
  width: auto !important;
  height: auto !important;
  max-height: calc(100dvh - var(--header-height, 124px));
  overflow: auto !important;
  transform: none !important;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease, visibility 180ms ease;
  background: #fff !important;
  color: var(--ilm-ink) !important;
}
.ilmarimed-theme .mobile-menu.is-open,
.ilmarimed-theme .mobile-menu._show {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.ilmarimed-theme .mobile-menu__wrap {
  display: block !important;
  min-height: 100%;
  padding: 18px 20px 36px;
  overflow: auto;
}
.ilmarimed-theme .mobile-menu a,
.ilmarimed-theme .mobile-menu .menu__item > a { color: var(--ilm-brown) !important; }
.ilmarimed-theme .mobile-menu .menu__item > a {
  display: flex;
  min-height: 48px;
  align-items: center;
  border-bottom: 1px solid rgba(65,38,20,.12);
  white-space: normal;
}
.ilmarimed-theme .mobile-menu .childs-ul { display: none; position: static; margin: 0 0 8px; box-shadow: none; }
.ilmarimed-theme .mobile-menu .menu__item._show > .childs-ul { display: block; }
.ilmarimed-theme .ilm-tablet-menu-toggle { display: none; }

/* Empty doctor photos stay neutral instead of borrowing another clinician's portrait. */
.ilmarimed-theme .staff-photo-placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  min-height: 220px;
  place-items: center;
  background: #f3f3f3;
  color: #a69b91;
}
.ilmarimed-theme .staff-photo-placeholder svg { width: 84px; height: 84px; fill: none; stroke: currentColor; stroke-width: 4; stroke-linecap: round; }

/* Static pages adapt to the fields that actually exist in CMS. */
.ilmarimed-theme .pages_item:has(iframe[src*="map-widget"]) .ilm-detail-layout { display: block; max-width: 1320px; }
.ilmarimed-theme .pages_item:has(iframe[src*="map-widget"]) .field.f_content .value > p {
  margin: 0 0 24px; padding: 24px 28px; border-radius: 20px; background: var(--ilm-panel);
}
.ilmarimed-theme .pages_item:has(iframe[src*="map-widget"]) .field.f_images { display: none !important; }
.ilmarimed-theme .pages_item:has(iframe[src*="map-widget"]) .field iframe[src*="map-widget"] {
  width: 100%; min-height: clamp(320px, 42vw, 560px); border-radius: 20px;
}
.ilmarimed-theme .pages_item .field.f_doc .file_list {
  display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: center; gap: 12px 18px;
  min-height: 82px; margin: 0 0 12px; padding: 14px 18px; border-radius: 16px; background: var(--ilm-panel);
}
.ilmarimed-theme .pages_item .field.f_doc .fileicon { float: none; width: 40px; margin: 0; }
.ilmarimed-theme .pages_item .field.f_doc .fileicon img { display: block; width: 36px; height: 40px; object-fit: contain; }
.ilmarimed-theme .pages_item .field.f_doc .filename { min-width: 0; }
.ilmarimed-theme .pages_item .field.f_doc .filename a {
  display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 16px;
  color: var(--ilm-brown) !important; font-weight: 600; line-height: 1.4; text-decoration: none;
}
.ilmarimed-theme .pages_item .field.f_doc .filename a::after {
  content: "↓"; display: grid; flex: 0 0 44px; width: 44px; height: 44px; place-items: center;
  border-radius: 50%; background: var(--ilm-sand); color: var(--ilm-brown); font-size: 22px;
}
.ilmarimed-theme .pages_item .field.f_doc .mtab-button { display: none !important; }
.ilmarimed-theme .pages_item:has(.field.f_doc) .field.f_images { display: none !important; }
.ilmarimed-theme .pages_item:has(.field.f_doc) .ilm-detail-layout { display: block; max-width: 1120px; }
.ilmarimed-theme .pages_item:has(.field.f_doc) .field.f_content .value { max-width: 900px; margin-bottom: 28px; line-height: 1.65; }
.ilmarimed-theme .pages_item:has(.field.f_doc) .field.f_content .value > p:first-child { margin: 0; }
.ilmarimed-theme .pages_item:has(.field.f_doc) .field.f_doc .value > style,
.ilmarimed-theme .pages_item:has(.field.f_doc) .field.f_doc .value > .mtabs > .mtab-content > link { display: none; }

/* Review detail keeps the review, clinic reply and source visually distinct. */
.ilmarimed-theme .content_item.reviews_item .field.f_stars .value { color: var(--ilm-orange); font-size: 22px; letter-spacing: 2px; }
.ilmarimed-theme .content_item.reviews_item .field.f_content .value { font-size: 18px; line-height: 1.7; }
.ilmarimed-theme .content_item.reviews_item .field.f_answer { margin-top: 24px; padding: 22px 24px; border-radius: 18px; background: var(--ilm-panel); }
.ilmarimed-theme .content_item.reviews_item .field.f_link { color: #68615b; font-size: 14px; }

/* Shared reviews: one readable column on tablet and phone. */
.ilmarimed-theme .reviews-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ilmarimed-theme .reviews-list__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start !important;
  gap: 12px 20px;
  margin-bottom: 20px;
}
.ilmarimed-theme .reviews-list__rating { grid-column: 1 / -1; grid-row: 1; white-space: nowrap; }
.ilmarimed-theme .reviews-list__title { grid-column: 1; grid-row: 2; }
.ilmarimed-theme .reviews-list__date { grid-column: 2; grid-row: 2; }
.ilmarimed-theme .reviews-list__rating .full-star,
.ilmarimed-theme .reviews-list__rating .empty-star { display: inline-flex; white-space: nowrap; }
.ilmarimed-theme .reviews-list__rating .empty-star { color: rgba(239,127,26,.28) !important; }

@media (min-width: 768px) and (max-width: 1199.98px) {
  .ilmarimed-theme h1,
  .ilmarimed-theme .page-title,
  .ilmarimed-theme [class^="content-"][class$="-title"],
  .ilmarimed-theme .ilm-detail-title,
  .ilmarimed-theme .widget-main-slider__title { font-size: 43px !important; }
  .ilmarimed-theme h2,
  .ilmarimed-theme .widget__title,
  .ilmarimed-theme .ilm-field-group > h2 { font-size: 35px !important; }
  .ilmarimed-theme .site-header .header-nav { display: none !important; }
  .ilmarimed-theme .site-header__location { display: none !important; }
  .ilmarimed-theme .site-header__phone { margin-left: auto !important; padding-right: 58px; }
  .ilmarimed-theme .ilm-tablet-menu-toggle {
    position: fixed;
    z-index: 1050;
    top: 18px;
    right: 20px;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(65,38,20,.16);
    border-radius: 50%;
    background: #fff;
    color: var(--ilm-brown);
    cursor: pointer;
  }
  .ilmarimed-theme .ilm-tablet-menu-toggle svg { width: 22px; height: 22px; fill: currentColor; }
  .ilmarimed-theme .mobile-menu { --header-height: 86px; }
  .ilmarimed-theme .reviews-list { grid-template-columns: 1fr !important; }
  .ilmarimed-theme .ilmarimed-mobile-actions button.mobile-menu-sw { width: 100% !important; height: 70px !important; }
  .ilmarimed-theme .widget-main-slider__item,
  .ilmarimed-theme .widget-main-slider__item > .container,
  .ilmarimed-theme .widget-main-slider__item .row { height: auto !important; min-height: 0 !important; }
  .ilmarimed-theme .widget-main-slider__item > .container { padding: 36px 20px 0 !important; }
  .ilmarimed-theme .widget-main-slider__item .row { display: flex; flex-direction: column; align-items: stretch; }
  .ilmarimed-theme .widget-main-slider__info { width: 100% !important; max-width: none !important; padding: 0 0 28px !important; text-align: center; }
  .ilmarimed-theme .widget-main-slider__eyebrow { justify-content: center; }
  .ilmarimed-theme .widget-main-slider__title,
  .ilmarimed-theme .widget-main-slider__text { max-width: 720px !important; margin-left: auto; margin-right: auto; }
  .ilmarimed-theme .widget-main-slider__actions { justify-content: center; }
  .ilmarimed-theme .widget-main-slider__image { position: relative !important; inset: auto !important; width: 100% !important; max-width: none !important; height: 390px !important; margin: 0 !important; overflow: hidden; border-radius: 22px 22px 0 0; }
  .ilmarimed-theme .widget-main-slider__image img.desktop { display: block !important; object-fit: cover !important; }
  .ilmarimed-theme .widget-main-slider__image img.mobile { display: none !important; }
}
@media (max-width: 767.98px) {
  .ilmarimed-theme .ilmarimed-mobile-actions button.mobile-menu-sw { width: 100% !important; height: 70px !important; }
  .ilmarimed-theme .ilm-tablet-menu-toggle {
    position: fixed; z-index: 1050; top: 16px; right: 68px; display: grid;
    width: 44px; height: 44px; place-items: center;
    border: 1px solid rgba(65,38,20,.16); border-radius: 50%;
    background: #fff; color: var(--ilm-brown); cursor: pointer;
  }
  .ilmarimed-theme .ilm-tablet-menu-toggle svg { width: 21px; height: 21px; fill: currentColor; }
  .ilmarimed-theme .site-header__phone { position: relative; display: flex; height: 76px; align-items: center; justify-content: flex-end; }
  .ilmarimed-theme .site-header__phone > .d-flex { height: 76px; justify-content: center; }
  .ilmarimed-theme .site-header__phone .phone-buttons a:not([href^="tel:"]),
  .ilmarimed-theme .site-header__phone .iforms-ajax-modal { display: none !important; }
  .ilmarimed-theme .site-header__phone a._phone { display: none !important; }
  .ilmarimed-theme .site-header__phone .phone-buttons a[href^="tel:"]:not(._phone) {
    position: fixed; top: 16px; right: 16px; display: grid !important;
    width: 44px; height: 44px; place-items: center; margin: 0 !important;
    border: 1px solid rgba(65,38,20,.16); border-radius: 50%;
    background: var(--ilm-sand); color: var(--ilm-brown);
  }
  .ilmarimed-theme .site-header__phone .phone-buttons a[href^="tel:"]:not(._phone) svg { width: 19px; height: 19px; }
  .ilmarimed-theme .ilmarimed-mobile-actions { transform: translateY(100%); visibility: hidden; pointer-events: none; transition: transform 180ms ease, visibility 180ms ease; }
  body.ilm-has-scrolled .ilmarimed-mobile-actions { transform: translateY(0); visibility: visible; pointer-events: auto; }
  .ilmarimed-theme .reviews-list__item { background: var(--ilm-panel) !important; border: 0 !important; }
  .ilmarimed-theme h1,
  .ilmarimed-theme .page-title,
  .ilmarimed-theme [class^="content-"][class$="-title"],
  .ilmarimed-theme .ilm-detail-title { font-size: 32px !important; }
  .ilmarimed-theme h2,
  .ilmarimed-theme .widget__title,
  .ilmarimed-theme .ilm-field-group > h2 { font-size: 28px !important; }
  .ilmarimed-theme .mobile-menu { --header-height: 76px; }
  .ilmarimed-theme .reviews-list { grid-template-columns: 1fr !important; gap: 14px; }
  .ilmarimed-theme .reviews-list__item { padding: 20px !important; }
  .ilmarimed-theme .reviews-list__title h3,
  .ilmarimed-theme .reviews-list__title a { overflow-wrap: anywhere; word-break: normal; }
  .ilmarimed-theme .widget-main-slider__info { text-align: center; }
  .ilmarimed-theme .widget-main-slider__eyebrow { justify-content: center; }
  .ilmarimed-theme .pages_item:has(iframe[src*="map-widget"]) .field.f_content .value > p { padding: 18px; }
  .ilmarimed-theme .pages_item .field.f_doc .file_list { grid-template-columns: 32px minmax(0, 1fr); gap: 10px; min-height: 72px; padding: 12px; }
  .ilmarimed-theme .pages_item .field.f_doc .fileicon { width: 32px; }
  .ilmarimed-theme .pages_item .field.f_doc .fileicon img { width: 30px; height: 34px; }
  .ilmarimed-theme .pages_item .field.f_doc .filename a { gap: 10px; font-size: 14px; }
  .ilmarimed-theme .pages_item .field.f_doc .filename a::after { flex-basis: 38px; width: 38px; height: 38px; }
}

/* Natural section height follows the number and length of CMS records. */
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-services,
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-about,
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-staff,
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-reviews,
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-posts,
.ilmarimed-theme:has(.widget-main-slider) .ilm-home-promotions { height: auto !important; min-height: 0 !important; }
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-about { margin-bottom: 0 !important; }
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-posts { padding-bottom: 48px !important; }
.ilmarimed-theme:has(.widget-main-slider) .ilm-home-promotions__container { padding-top: 64px; padding-bottom: 56px; }

@media (max-width: 767.98px) {
  .ilmarimed-theme .widget-main-slider__actions { flex-direction: column; align-items: stretch; }
  .ilmarimed-theme .widget-main-slider__actions .btn { width: 100%; }
  .ilmarimed-theme .widget-main-slider__image { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
  .ilmarimed-theme .widget-main-slider__item > .container { padding-left: 15px !important; padding-right: 15px !important; }
  .ilmarimed-theme .ilm-home-promotions__container { padding-left: 15px; padding-right: 15px; }
}

/* The page must grow with its CMS content, including flex-ordered home modules. */
.ilmarimed-theme #page-wrapper { height: auto !important; flex: 1 0 auto; }
.ilmarimed-theme:has(.widget-main-slider) #page-wrapper > *,
.ilmarimed-theme:has(.widget-main-slider) main > div > * { flex-shrink: 0 !important; }

/* Measured header and hero from the visible 1440 / 834 / 375 frames. */
.ilmarimed-theme .site-header { border: 0; backdrop-filter: none; background: #fff !important; }
.ilmarimed-theme .site-header::before { display: none !important; }
.ilmarimed-theme .site-header > .container { min-height: 0; }
.ilmarimed-theme .site-header__row { display: grid; grid-template-columns: 220px minmax(0, 1fr) 370px; grid-template-rows: 64px 60px; grid-template-areas: "logo location phone" "nav nav nav"; gap: 0 60px; min-height: 124px; height: auto; }
.ilmarimed-theme .site-header__logo { grid-area: logo; width: 100%; max-width: none; height: auto; min-height: 0; padding: 0 !important; }
.ilmarimed-theme .site-logo__logo { display: block; }
.ilmarimed-theme .ilm-brand-logo { display: block; width: 220px; height: 43px; max-width: 100%; object-fit: contain; }
.ilmarimed-theme .site-header__location { grid-area: location; display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; max-width: none; padding: 0 !important; }
.ilmarimed-theme .site-header__location .cl-widget-contact { display: flex; align-items: center; min-width: 0; gap: 10px; }
.ilmarimed-theme .site-header__location .cl-widget-contact::before { content: ""; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; background: #e6c7a5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23412614' stroke-width='1.5'%3E%3Cpath d='M19 9c0 5-7 12-7 12S5 14 5 9a7 7 0 1 1 14 0Z'/%3E%3Ccircle cx='12' cy='9' r='2'/%3E%3C/svg%3E") center no-repeat; }
.ilmarimed-theme .site-header__location .dropdown { padding: 0 !important; }
.ilmarimed-theme .site-header__location .clinic-name,
.ilmarimed-theme .site-header__location .clinic-phone,
.ilmarimed-theme .site-header__location .dropdown-indicator { display: none; }
.ilmarimed-theme .site-header__location .clinic-address { margin: 0; color: var(--ilm-ink); font-size: 14px; font-weight: 400; line-height: 20px; }
.ilmarimed-theme .site-header__location .dropdown-toggle::after { display: none; }
.ilmarimed-theme .ilm-header-accessibility { display: flex; align-items: center; gap: 10px; color: var(--ilm-ink); font-size: 14px; font-weight: 400; white-space: nowrap; }
.ilmarimed-theme .ilm-header-accessibility svg { width: 30px; height: 30px; padding: 7px; border-radius: 50%; background: var(--ilm-sand); fill: none; stroke: var(--ilm-brown); stroke-width: 1.5; }
.ilmarimed-theme .site-header__phone { grid-area: phone; width: 100%; max-width: none; padding: 0 !important; }
.ilmarimed-theme .site-header__phone > .d-flex { flex-direction: row !important; align-items: center !important; justify-content: flex-end; gap: 16px; }
.ilmarimed-theme .site-header__phone .phone-buttons > div:not(:first-child) { display: none; }
.ilmarimed-theme .site-header__phone a._phone { margin: 0 !important; font-size: 20px; font-weight: 700; white-space: nowrap; }
.ilmarimed-theme .site-header__phone .btn { flex: 0 0 180px; min-height: 46px; padding: 12px 18px !important; font-size: 14px; font-weight: 500; }
.ilmarimed-theme .site-header .header-nav { grid-area: nav; display: block; height: 60px; border: 0; border-bottom: 1px solid #ccc; padding: 5px 0 15px !important; }
@media (min-width:1200px) and (max-width:1399.98px) {
  :root { --header-height: 76px; }
  .ilmarimed-theme .site-header .site-header__row { grid-template-columns: 180px minmax(0,1fr); grid-template-rows: 76px; grid-template-areas: 'logo phone'; gap: 0 20px; min-height: 76px; height: 76px; }
  .ilmarimed-theme .site-header__logo, .ilmarimed-theme .site-header__logo img { width: 180px; height: auto; }
  .ilmarimed-theme .site-header .site-header__location, .ilmarimed-theme .site-header .header-nav { display: none; }
  .ilmarimed-theme .site-header .site-header__phone { justify-self: end; padding-right: 75px; }
  .ilmarimed-theme .ilm-tablet-menu-toggle { display: grid; place-items: center; position: fixed; z-index: 1050; top: 15px; right: 20px; width: 46px; height: 46px; padding: 0 !important; border: 0; border-radius: 50%; background: var(--ilm-sand); color: var(--ilm-brown); }
  .ilmarimed-theme .ilm-tablet-menu-toggle svg { width: 30px; height: 30px; fill: currentColor; }
}
.ilmarimed-theme .site-header .header-nav > nav { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.ilmarimed-theme .site-header .header-menu { flex: 1; min-width: 0; gap: 24px; padding: 0; margin: 0; }
.ilmarimed-theme .site-header .header-menu > li > a { min-height: 40px; color: var(--ilm-brown); font-size: 16px; font-weight: 500; }
.ilmarimed-theme .site-header .header-menu > li > a > svg { display: none; }
.ilmarimed-theme .ilm-header-search { display: flex; align-items: center; flex: 0 1 360px; min-width: 230px; height: 40px; padding: 0 18px; gap: 12px; border-radius: 30px; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-header-search button { display: grid; place-items: center; flex: 0 0 18px; width: 18px; height: 20px; min-height: 0; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--ilm-brown) !important; }
.ilmarimed-theme .ilm-header-search svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.ilmarimed-theme .ilm-header-search input { width: 100%; min-width: 0; height: 40px; padding: 0; border: 0; outline: 0; background: transparent; color: var(--ilm-ink); font: 400 14px/20px Manrope, Arial, sans-serif; }

.ilmarimed-theme .widget-main-slider,
.ilmarimed-theme .widget-main-slider__item { background: var(--ilm-panel) !important; }
.ilmarimed-theme .widget-main-slider__item { height: 614px !important; min-height: 614px !important; overflow: hidden; }
.ilmarimed-theme .widget-main-slider__item > .container { max-width: 1440px !important; height: 614px !important; min-height: 614px !important; }
.ilmarimed-theme .widget-main-slider__item .row { height: 614px !important; min-height: 614px !important; }
.ilmarimed-theme .widget-main-slider__info { flex: 0 0 50%; width: 50%; max-width: 600px; position: relative; z-index: 3; background: none !important; }
.ilmarimed-theme .widget-main-slider__image { position: absolute !important; top: 0; right: 0; bottom: 0; left: auto !important; width: 50% !important; max-width: 50% !important; height: 100%; padding: 0 !important; }
.ilmarimed-theme .widget-main-slider__image .image { position: absolute; inset: 0; width: 100%; height: 100%; }
.ilmarimed-theme .widget-main-slider__image img.desktop { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center; }
.ilmarimed-theme .widget-main-slider__image img.mobile,
.ilmarimed-theme .widget-main-slider__image::after { display: none !important; }
.ilmarimed-theme .widget-main-slider__item > .container { padding: 0 60px !important; }
.ilmarimed-theme .widget-main-slider__item .row { margin: 0 !important; align-items: center; }
.ilmarimed-theme .widget-main-slider__info { margin: 0 !important; min-height: 0 !important; height: auto !important; padding: 0 !important; }
.ilmarimed-theme .widget-main-slider__eyebrow { margin: 0 0 15.5px; gap: 6px; font-weight: 400; }
.ilmarimed-theme .widget-main-slider__eyebrow { text-transform: none; letter-spacing: 0; }
.ilmarimed-theme .widget-main-slider__eyebrow span { min-height: 30px; padding: 5px 15px; font-size: 14px; font-weight: 400; }
.ilmarimed-theme .widget-main-slider__title { max-width: 574px !important; margin: 0 0 30px !important; font-size: 45px !important; line-height: 50px !important; letter-spacing: 0 !important; }
.ilmarimed-theme .widget-main-slider__title::before,
.ilmarimed-theme .widget-main-slider__title::after { display: none !important; content: none !important; }
.ilmarimed-theme .widget-main-slider__text { max-width: 491px; margin: 0 0 30px; font-size: 16px; line-height: 22px; letter-spacing: 0; }
.ilmarimed-theme .widget-main-slider__actions { gap: 10px; }
.ilmarimed-theme .widget-main-slider__actions .btn { min-height: 50px; padding: 14px 24px !important; font-size: 16px; font-weight: 500; }
.ilmarimed-theme .widget-main-slider__image { border-radius: 0 !important; margin: 0 !important; }
.ilmarimed-theme .widget-main-slider .slick-dots.container { left: 50%; bottom: 15px; width: auto; max-width: none; padding: 0 !important; gap: 10px; justify-content: center; }
.ilmarimed-theme .widget-main-slider .slick-dots li button { background: #fff; }
.ilmarimed-theme .widget-main-slider .slick-dots li.slick-active button { background: var(--ilm-brown); }

@media (min-width: 768px) and (max-width: 1199.98px) {
  .ilmarimed-theme .widget-main-slider__item,
  .ilmarimed-theme .widget-main-slider__item > .container,
  .ilmarimed-theme .widget-main-slider__item .row { height: auto !important; min-height: 0 !important; }
  .ilmarimed-theme .site-header__row { display: flex; min-height: 86px; height: 86px; flex-wrap: nowrap; gap: 20px; }
  .ilmarimed-theme .site-header__logo { flex: 0 0 220px; }
  .ilmarimed-theme .site-header__location { display: none; }
  .ilmarimed-theme .site-header__phone { flex: 1; margin-left: auto !important; padding-right: 58px !important; }
  .ilmarimed-theme .widget-main-slider__item > .container { padding: 0 !important; }
  .ilmarimed-theme .widget-main-slider__info { padding: 30px 20px 50px !important; max-width: none !important; }
  .ilmarimed-theme .widget-main-slider__title { max-width: 490px !important; margin-left: auto !important; margin-right: auto !important; font-size: 43px !important; line-height: 47px !important; }
  .ilmarimed-theme .widget-main-slider__text { margin-left: auto; margin-right: auto; }
  .ilmarimed-theme .widget-main-slider__image { position: relative !important; inset: auto !important; width: 100% !important; max-width: none !important; flex: 0 0 620px; height: 620px !important; }
}
@media (max-width: 767.98px) {
  .ilmarimed-theme .widget-main-slider__item,
  .ilmarimed-theme .widget-main-slider__item > .container,
  .ilmarimed-theme .widget-main-slider__item .row { height: auto !important; min-height: 0 !important; }
  .ilmarimed-theme .widget-main-slider__item .row { display: flex; flex-direction: column; }
  .ilmarimed-theme .widget-main-slider__info { flex: 0 0 auto; width: 100% !important; max-width: none !important; }
  .ilmarimed-theme .site-header__row { display: flex; min-height: 76px; height: 76px; flex-wrap: nowrap; }
  .ilmarimed-theme .site-header__logo { flex: 0 0 160px; height: auto; }
  .ilmarimed-theme .site-header__logo .ilm-brand-logo { width: 160px; height: auto; }
  .ilmarimed-theme .site-header__phone { flex: 1; }
  .ilmarimed-theme .site-header__location { display: none; }
  .ilmarimed-theme .ilm-tablet-menu-toggle { top: 15px; right: 15px; width: 46px; height: 46px; background: var(--ilm-sand); border: 0; }
  .ilmarimed-theme .site-header__phone .phone-buttons a[href^="tel:"]:not(._phone) { top: 15px; right: 67px; width: 46px; height: 46px; border: 0; }
  .ilmarimed-theme .ilm-tablet-menu-toggle svg { width: 34px; height: 34px; }
  .ilmarimed-theme .site-header__phone .phone-buttons a[href^="tel:"]:not(._phone) svg { width: 24px; height: 24px; }
  .ilmarimed-theme .widget-main-slider__item > .container { padding: 0 !important; }
  .ilmarimed-theme .widget-main-slider__info { padding: 30px 15px !important; }
  .ilmarimed-theme .widget-main-slider__eyebrow { margin-bottom: 15px; }
  .ilmarimed-theme .widget-main-slider__eyebrow span { min-height: 25px; padding: 5px 15px; font-size: 11px; line-height: 15px; font-weight: 500; }
  .ilmarimed-theme .widget-main-slider__title { font-size: 32px !important; line-height: 35px !important; margin-bottom: 25px !important; }
  .ilmarimed-theme .widget-main-slider__text { max-width: 340px; margin: 0 auto 25px; font-size: 15px; line-height: 20px; }
  .ilmarimed-theme .widget-main-slider__actions { width: 304px; max-width: 100%; margin: 0 auto; gap: 10px; }
  .ilmarimed-theme .widget-main-slider__actions .btn { min-height: 50px; font-size: 16px; }
  .ilmarimed-theme .widget-main-slider__image { position: relative !important; inset: auto !important; display: block !important; width: 100% !important; max-width: none !important; height: 300px !important; min-height: 300px !important; flex: 0 0 300px !important; }
}

/* Repeated components use the same measured geometry in a widget and in a list. */
.ilmarimed-theme { letter-spacing: 0; }
.ilmarimed-theme h1, .ilmarimed-theme h2, .ilmarimed-theme h3,
.ilmarimed-theme .widget__title, .ilmarimed-theme .ilm-detail-title { color: var(--ilm-brown); letter-spacing: 0 !important; }
.ilmarimed-theme .site-header__logo img.ilm-brand-logo { max-width: 220px; max-height: 43px; }
.ilmarimed-theme .ilm-header-accessibility.bvi-open { padding: 0 !important; background: none !important; }
.ilmarimed-theme .ilm-header-accessibility.bvi-open::before,
.ilmarimed-theme .ilm-header-accessibility.bvi-open::after { display: none !important; }
.ilmarimed-theme .widget__wrap .widget-slider-list__wrap { max-width: none; padding: 0; }
.ilmarimed-theme .ilm-widget-list .slick-list { overflow: hidden !important; }
.ilmarimed-theme .widget__wrap .slick-track { margin-left: 0; margin-right: 0; }
.ilmarimed-theme .widget__wrap .widget-reviews-list { margin: 0 -10px; }
.ilmarimed-theme .widget__desc { color: var(--ilm-ink); font-size: 16px; line-height: 22px; }
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-services { padding: 120px 0 !important; overflow: visible !important; }
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-services .widget__title { margin-bottom: 20px !important; }
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-services .widget__desc { margin: 0 0 40px !important; }
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-staff,
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-reviews,
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-posts { padding: 0 0 120px !important; overflow: visible !important; }
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-staff .widget__title,
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-reviews .widget__title,
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-posts .widget__title { margin-bottom: 40px !important; }
.ilmarimed-theme .ilm-services-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }
.ilmarimed-theme .ilm-services-grid .ilm-service-card,
.ilmarimed-theme .ilm-widget-list--services .ilm-service-card { display: flex; min-height: 160px; padding: 20px; border: 0; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-services-grid .ilm-service-card .ilm-card__media,
.ilmarimed-theme .ilm-widget-list--services .ilm-service-card .ilm-card__media { position: static; display: block; width: 32px; height: 38px; margin: 0 0 15px; opacity: 1; aspect-ratio: auto; border-radius: 8px; background: transparent; }
.ilmarimed-theme .ilm-service-card .ilm-card__media::after { display: none; }
.ilmarimed-theme .ilm-services-grid .ilm-service-card .ilm-card__body,
.ilmarimed-theme .ilm-widget-list--services .ilm-service-card .ilm-card__body { width: 100%; max-width: none; padding: 0; }
.ilmarimed-theme .ilm-services-grid .ilm-card__title,
.ilmarimed-theme .ilm-widget-list--services .ilm-card__title { margin: 0 !important; color: var(--ilm-ink); font-size: 16px; line-height: 20px; }
.ilmarimed-theme .ilm-service-catalog { margin-bottom: 120px; }
.ilmarimed-theme .ilm-service-rail { position: relative; margin: 0 0 20px; }
.ilmarimed-theme .ilm-service-track { display: flex; gap: 20px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: none; }
.ilmarimed-theme .ilm-service-track::-webkit-scrollbar { display: none; }
.ilmarimed-theme .ilm-catalog-card { position: relative; display: flex; flex: 0 0 203px; min-width: 0; min-height: 160px; flex-direction: column; padding: 20px; border-radius: 20px; background: var(--ilm-panel); scroll-snap-align: start; }
.ilmarimed-theme .ilm-catalog-card h3 { margin: 20px 0 15px; font-size: 16px; line-height: 20px; color: var(--ilm-brown); overflow-wrap: anywhere; }
.ilmarimed-theme .ilm-direction-icon { width: 35px; height: 35px; color: #c59363; }
.ilmarimed-theme .ilm-catalog-more { margin-top: auto; font-size: 14px; line-height: 20px; color: #999; text-decoration: underline; }
.ilmarimed-theme .ilm-catalog-card--diagnostics { flex-basis: 315px; min-height: 200px; overflow: hidden; }
.ilmarimed-theme .ilm-catalog-card--diagnostics h3 { margin-top: 0; }
.ilmarimed-theme .ilm-catalog-card--diagnostics p { max-width: 260px; margin: 0 0 30px; font-size: 14px; line-height: 19px; }
.ilmarimed-theme .ilm-catalog-card--diagnostics img { position: absolute; right: 0; bottom: 0; width: 110px; height: 85px; object-fit: contain; }
.ilmarimed-theme .ilm-service-rail > button { position: absolute; z-index: 2; top: calc(50% - 15px); width: 30px; height: 30px; padding: 0 !important; border: 0 !important; border-radius: 50%; background: var(--ilm-sand); color: var(--ilm-brown); font-size: 25px; line-height: 30px; }
.ilmarimed-theme .ilm-service-rail > button[hidden] { display: none; }
.ilmarimed-theme .ilm-rail-prev { left: -40px; }
.ilmarimed-theme .ilm-rail-next { right: -40px; }
.ilmarimed-theme .ilm-service-rail > button:disabled { opacity: .4; }
.ilmarimed-theme .ilm-section-action { display: flex; justify-content: center; margin-top: 40px; }
.ilmarimed-theme .ilm-category-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 40px; }
.ilmarimed-theme .btn.btn-outline-secondary, .ilmarimed-theme .ilm-category-pills .btn-outline-secondary { background: transparent !important; color: var(--ilm-brown) !important; border: 1px solid var(--ilm-brown) !important; }
.ilmarimed-theme .btn.btn-outline-secondary:hover { background: var(--ilm-brown) !important; color: #fff !important; }
@media (max-width:1199.98px) { .ilmarimed-theme .ilm-service-rail > button { display: none; } }
@media (max-width:767.98px) { .ilmarimed-theme .ilm-service-catalog { margin-bottom: 70px; } .ilmarimed-theme .ilm-category-pills { margin-bottom: 30px; } }
.ilmarimed-theme .ilm-service-card .ilm-card__title { overflow-wrap: anywhere; }
.ilmarimed-theme .ilm-service-card .ilm-card__text { font-size: 12px; line-height: 16px; }
.ilmarimed-theme .ilm-service-card .ilm-card__action { margin-top: auto; padding-top: 10px; }
.ilmarimed-theme .ilm-service-card .ilm-arrow-link { color: #999; font-size: 12px; font-weight: 500; }
.ilmarimed-theme .ilm-service-card .ilm-arrow-link::after { display: none; }
.ilmarimed-theme .ilm-widget-list--staff .ilm-doctor-card { min-height: 448px; aspect-ratio: 315 / 448; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-widget-list--staff .ilm-doctor-card .ilm-card__media { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }
.ilmarimed-theme .ilm-widget-list--staff .ilm-doctor-card .ilm-card__body { position: absolute; inset: auto 12px 12px; display: flex; padding: 16px; gap: 6px; border: 0; border-radius: 15px; background: #fff; }
.ilmarimed-theme .ilm-widget-list--staff .ilm-card__title { margin: 0; font-size: 16px; line-height: 21px; }
.ilmarimed-theme .ilm-widget-list--staff .ilm-doctor-card__spec,
.ilmarimed-theme .ilm-widget-list--staff .ilm-doctor-card__exp { margin: 0; color: #666; font-size: 12px; line-height: 16px; }
.ilmarimed-theme .ilm-widget-list--staff .ilm-card__action { margin-top: 8px; }
.ilmarimed-theme .ilm-widget-list--staff .ilm-card__action .btn { width: 100%; min-height: 30px; padding: 6px 12px !important; font-size: 12px; font-weight: 500; }
.ilmarimed-theme .staff-list__item { aspect-ratio: 315 / 448; }
.ilmarimed-theme .staff-list__button { position: static; max-width: none; transform: none; padding: 0; }
.ilmarimed-theme .ilm-widget-list--reviews .ilm-review-card { min-height: 400px; border: 0; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-review-card .ilm-card__body { padding: 24px; }
.ilmarimed-theme .ilm-review-card__stars { margin: 0 0 14px; color: var(--ilm-orange); font-size: 14px; letter-spacing: 0; }
.ilmarimed-theme .ilm-review-card__author { margin: 0 0 15px; font-size: 18px; line-height: 24px; }
.ilmarimed-theme .ilm-review-card__quote { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 9; -webkit-box-orient: vertical; font-size: 14px; line-height: 19px; }
.ilmarimed-theme .ilm-review-card .ilm-card__action { margin-top: auto; padding-top: 20px; }
.ilmarimed-theme .ilm-review-card .ilm-arrow-link { color: #68615b; font-size: 12px; }
.ilmarimed-theme .ilm-review-card .ilm-card__meta { font-size: 12px; }
.ilmarimed-theme .ilm-post-card,
.ilmarimed-theme .posts_list_item.ilm-post-card { display: flex; padding: 20px !important; border: 0; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-post-card::before,
.ilmarimed-theme .ilm-post-card::after { content: none !important; display: none !important; }
.ilmarimed-theme .ilm-post-card .ilm-card__media { width: 100%; aspect-ratio: 386 / 232; border-radius: 15px; }
.ilmarimed-theme .ilm-post-card .ilm-card__body { padding: 20px 0 0; }
.ilmarimed-theme .ilm-post-card .ilm-card__title { font-size: 20px; line-height: 26px; margin: 0 0 15px; }
.ilmarimed-theme .ilm-post-card .ilm-card__text { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 4; -webkit-box-orient: vertical; font-size: 14px; line-height: 19px; color: var(--ilm-ink); }
.ilmarimed-theme .ilm-post-card .ilm-card__meta { color: #999; font-size: 12px; margin-top: 16px; padding: 0; }
.ilmarimed-theme .ilm-post-card .ilm-card__action { margin-top: 16px; }
.ilmarimed-theme .ilm-widget-list .slick-dots { display: flex; justify-content: center; align-items: center; gap: 8px; padding: 0; margin: 20px 0 0; list-style: none; }
.ilmarimed-theme .ilm-widget-list .slick-dots li { width: 6px; height: 6px; margin: 0; }
.ilmarimed-theme .ilm-widget-list .slick-dots button { display: block; width: 6px; height: 6px; padding: 0 !important; border: 0 !important; border-radius: 50%; background: #ccc !important; font-size: 0; min-height: 0; }
.ilmarimed-theme .ilm-widget-list .slick-dots .slick-active button { background: var(--ilm-brown) !important; }
.ilmarimed-theme .ilm-widget-list .slick-dots button::before,
.ilmarimed-theme .ilm-widget-list .slick-dots button::after { content: none !important; display: none !important; }
.ilmarimed-theme .ilm-widget-list { position: relative; padding: 0 !important; }
.ilmarimed-theme .ilm-widget-list .widget-reviews-list { display: block !important; width: calc(100% + 20px) !important; margin: 0 -10px !important; }
.ilmarimed-theme .ilm-widget-list .slick-list { width: 100%; max-width: 100%; padding: 0 !important; overflow: hidden !important; }
.ilmarimed-theme .ilm-widget-list .widget-reviews-list__til { padding: 0 10px !important; min-width: 0; }
.ilmarimed-theme .ilm-widget-list .ilm-card { width: 100%; min-width: 0; max-width: 100%; }
.ilmarimed-theme .ilm-widget-list .widget-slider-list-control__control { position: absolute; z-index: 3; top: calc(50% - 30px); width: 40px; height: 40px; min-height: 0; padding: 0 !important; display: grid; place-items: center; border: 1px solid #ddd !important; border-radius: 50% !important; background: #fff !important; color: var(--ilm-brown) !important; box-shadow: none !important; transform: none; font-size: 20px; line-height: 1; }
.ilmarimed-theme .ilm-widget-list .ilm-carousel-prev { left: -10px; right: auto; }
.ilmarimed-theme .ilm-widget-list .ilm-carousel-next { left: auto; right: -10px; }
.ilmarimed-theme .ilm-widget-list .widget-slider-list-control__control::before,
.ilmarimed-theme .ilm-widget-list .widget-slider-list-control__control::after { content: none !important; display: none !important; }
.ilmarimed-theme .ilm-widget-list .widget-slider-list-control__control.slick-disabled { visibility: hidden; pointer-events: none; }
.ilmarimed-theme .ilm-posts-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-bottom: 120px; }
.ilmarimed-theme .ilm-card__badge { position: absolute; top: 10px; left: 10px; max-width: calc(100% - 20px); padding: 5px 12px; border-radius: 30px; background: #fff; font-size: 12px; color: var(--ilm-brown); }
.ilmarimed-theme .ilm-post-card .ilm-card__media { position: relative; }
.ilmarimed-theme .ilm-post-card .ilm-card__meta { display: block; }

/* Clinic image and advantages follow the two-column frame and separate card row. */
.ilmarimed-theme:has(.widget-main-slider) .ilm-widget-about { padding: 0 0 120px !important; }
.ilmarimed-theme .ilm-widget-about > .widget__wrap { width: 100%; max-width: 1440px; margin: 0 auto; padding: 0 60px; }
.ilmarimed-theme .ilm-widget-about > .widget__wrap > .widget__title { display: none !important; }
.ilmarimed-theme .ilm-clinic-overview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.ilmarimed-theme .ilm-clinic-overview__intro h2 { margin: 0 0 30px; font-size: 38px; line-height: 42px; }
.ilmarimed-theme .ilm-clinic-overview__text { margin: 0 0 30px; font-size: 16px; line-height: 22px; }
.ilmarimed-theme .ilm-clinic-overview__image { display: block; width: 100%; aspect-ratio: 650 / 600; object-fit: cover; border-radius: 20px; }
.ilmarimed-theme .ilm-clinic-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 40px; }
.ilmarimed-theme .ilm-clinic-benefit { display: flex; flex-direction: column; min-height: 240px; padding: 24px; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-clinic-benefit__icon { display: grid; width: 26px; height: 26px; place-items: center; margin-bottom: 70px; border-radius: 50%; background: var(--ilm-brown); color: var(--ilm-sand); font-size: 17px; }
.ilmarimed-theme .ilm-clinic-benefit h3 { margin: 0 0 15px; font-size: 20px; line-height: 26px; }
.ilmarimed-theme .ilm-clinic-benefit__text { font-size: 14px; line-height: 19px; }
@media (max-width: 1199.98px) {
  .ilmarimed-theme .site-header .header-nav { display: none !important; }
  .ilmarimed-theme .ilm-widget-about > .widget__wrap { padding: 0 20px; }
  .ilmarimed-theme .ilm-services-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ilmarimed-theme .ilm-clinic-overview { grid-template-columns: 1fr; gap: 30px; }
  .ilmarimed-theme .ilm-clinic-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  .ilmarimed-theme:has(.widget-main-slider) .ilm-widget-services { padding: 70px 0 !important; }
  .ilmarimed-theme:has(.widget-main-slider) .ilm-widget-staff,
  .ilmarimed-theme:has(.widget-main-slider) .ilm-widget-reviews,
  .ilmarimed-theme:has(.widget-main-slider) .ilm-widget-posts,
  .ilmarimed-theme:has(.widget-main-slider) .ilm-widget-about { padding-bottom: 70px !important; }
  .ilmarimed-theme .ilm-widget-about > .widget__wrap { padding: 0 15px; }
  .ilmarimed-theme .ilm-services-grid { display: flex; overflow-x: auto; gap: 20px; scroll-snap-type: x mandatory; }
  .ilmarimed-theme .ilm-services-grid .ilm-service-card { flex: 0 0 203px; scroll-snap-align: start; }
  .ilmarimed-theme .ilm-clinic-benefits { grid-template-columns: 1fr; gap: 15px; }
  .ilmarimed-theme .ilm-clinic-overview__intro h2 { font-size: 28px; line-height: 31px; }
  .ilmarimed-theme .ilm-clinic-benefit { min-height: 220px; }
  .ilmarimed-theme .staff-list__item { aspect-ratio: 345 / 490; }
}

/* Direction/promotion pages and editorial pages are distinct compositions. */
.ilmarimed-theme main > .container { padding-top: 0; padding-bottom: 0; }
.ilmarimed-theme .breadcrumb { padding: 40px 0; font-size: 14px; line-height: 20px; }
.ilmarimed-theme .body-toolbox { position: relative; top: auto; right: auto; display: block !important; z-index: auto; margin: 0 !important; }
.ilmarimed-theme .body-toolbox h1 { position: static !important; width: 100%; height: auto !important; transform: none !important; margin: 0 0 40px !important; }
.ilmarimed-theme .breadcrumb { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; flex-wrap: wrap !important; }
.ilmarimed-theme .breadcrumb::before, .ilmarimed-theme .breadcrumb::after { display: none !important; }
.ilmarimed-theme .controller-actions-menu { position: absolute; top: 0 !important; right: 0 !important; z-index: 1020; }
.ilmarimed-theme .controller-actions-menu .btn { width: 36px; height: 36px; min-height: 36px; padding: 9px !important; border: 0 !important; background: var(--ilm-panel) !important; }
.ilmarimed-theme .controller-actions-menu .btn > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.ilmarimed-theme .pb-5:has(> .breadcrumb) { padding-bottom: 0 !important; }
.ilmarimed-theme section.container:has(> main.row) { padding-top: 0; padding-bottom: 0; }
.ilmarimed-theme section.container:has(> main.row) > main.row > article { margin-bottom: 0 !important; }
.ilmarimed-theme .ilm-direction-hero { position: relative; min-height: 391px; padding: 40px; overflow: hidden; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-direction-hero::after { position: absolute; right: 0; bottom: -11px; width: 768px; max-width: 70%; height: 281px; background: url('../images/figma/direction-wave.svg') right bottom / 100% 100% no-repeat; content: ''; pointer-events: none; }
.ilmarimed-theme .ilm-direction-hero__content { position: relative; z-index: 1; max-width: 800px; }
.ilmarimed-theme .ilm-direction-hero h1 { margin: 0 0 30px !important; }
.ilmarimed-theme .ilm-direction-hero__text { max-width: 728px; font-size: 16px; line-height: 22px; }
.ilmarimed-theme .ilm-direction-hero__price { margin: 20px 0; color: var(--ilm-brown); font-size: 24px; font-weight: 600; }
.ilmarimed-theme .ilm-direction-hero .btn { margin-top: 30px; }
.ilmarimed-theme .ilm-direction-about { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 120px 0; }
.ilmarimed-theme .ilm-direction-about--text { grid-template-columns: minmax(0, 870px); }
.ilmarimed-theme .ilm-direction-about h2 { margin: 0 0 40px; }
.ilmarimed-theme .ilm-direction-about__content { min-width: 0; font-size: 16px; line-height: 22px; overflow-wrap: anywhere; }
.ilmarimed-theme .ilm-direction-about__content h3 { margin: 24px 0 20px; font-size: 22px; line-height: 26px; }
.ilmarimed-theme .ilm-direction-about__image { min-width: 0; }
.ilmarimed-theme .ilm-direction-about__image img { display: block; width: 100%; height: auto; aspect-ratio: 650 / 600; object-fit: cover; border-radius: 20px; }
.ilmarimed-theme .ilm-direction-section { margin: 0 0 120px; }
.ilmarimed-theme .ilm-direction-section > h2 { margin: 0 0 40px; }
.ilmarimed-theme .ilm-article-page { padding: 0 !important; border: 0; background: transparent; }
.ilmarimed-theme .ilm-article-page > h1 { max-width: 874px; margin-bottom: 40px !important; }
.ilmarimed-theme .ilm-article-layout { display: grid; grid-template-columns: minmax(0, 870px) minmax(0, 426px); gap: 24px; align-items: start; margin-bottom: 120px; }
.ilmarimed-theme .ilm-article-content { min-width: 0; }
.ilmarimed-theme .ilm-article-image { margin-bottom: 40px; }
.ilmarimed-theme .ilm-article-image img { display: block; width: 100%; max-height: 580px; object-fit: cover; border-radius: 20px; }
.ilmarimed-theme .ilm-article-sidebar { position: sticky; top: calc(var(--header-height) + 30px); display: grid; gap: 20px; min-width: 0; }
.ilmarimed-theme .ilm-article-meta, .ilmarimed-theme .ilm-article-toc { margin: 0; padding: 24px; border-radius: 20px; background: var(--ilm-panel); font-size: 14px; line-height: 20px; }
.ilmarimed-theme .ilm-article-facts { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 20px; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-article-date { margin: 0; padding: 0; color: #888; font-size: 14px; line-height: 20px; }
.ilmarimed-theme .ilm-article-meta h3 { font-size: 20px; line-height: 26px; }
.ilmarimed-theme .ilm-article-toc summary { color: var(--ilm-brown); font-size: 20px; font-weight: 600; cursor: pointer; }
.ilmarimed-theme .ilm-article-toc ol { display: grid; gap: 14px; margin: 24px 0 0; padding-left: 18px; }
.ilmarimed-theme .ilm-article-toc .ilm-toc-h3 { margin-left: 16px; }
.ilmarimed-theme .ilm-editorial-text { max-width: 870px; font-size: 16px; line-height: 22px; overflow-wrap: anywhere; }
.ilmarimed-theme .ilm-editorial-text p { margin: 0 0 24px; }
.ilmarimed-theme .ilm-editorial-text h2 { margin: 40px 0 30px; font-size: 38px !important; line-height: 42px; scroll-margin-top: calc(var(--header-height) + 24px); }
.ilmarimed-theme .ilm-editorial-text h3 { margin: 30px 0 20px; font-size: 22px; line-height: 1.25; scroll-margin-top: calc(var(--header-height) + 24px); }
.ilmarimed-theme .ilm-editorial-text ul, .ilmarimed-theme .ilm-editorial-text ol { padding-left: 24px; }
.ilmarimed-theme .ilm-editorial-text li { margin-bottom: 12px; }
.ilmarimed-theme .ilm-editorial-text blockquote { margin: 30px 0; padding: 24px; border-left: 3px solid var(--ilm-sand); border-radius: 0 20px 20px 0; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-editorial-text table { display: block; max-width: 100%; overflow: auto; border-collapse: collapse; }
.ilmarimed-theme .ilm-editorial-text th, .ilmarimed-theme .ilm-editorial-text td { padding: 12px; border: 1px solid #ddd; }
.ilmarimed-theme .ilm-about-team { display: block; width: 100%; aspect-ratio: 1320 / 480; object-fit: cover; border-radius: 20px; margin-bottom: 70px; }
.ilmarimed-theme .ilm-stat-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-bottom: 120px; text-align: center; }
.ilmarimed-theme .ilm-stat strong { font-size: 70px; line-height: 1; font-weight: 600; color: var(--ilm-brown); }
.ilmarimed-theme .ilm-stat > span { margin-left: 8px; font-size: 20px; color: #999; }
.ilmarimed-theme .ilm-stat p { max-width: 300px; margin: 20px auto 0; font-size: 16px; line-height: 22px; }
.ilmarimed-theme .ilm-about-mission { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-bottom: 120px; }
.ilmarimed-theme .ilm-about-mission:not(:has(img)) { grid-template-columns: minmax(0,870px); }
.ilmarimed-theme .ilm-about-mission img { width: 100%; aspect-ratio: 650 / 600; object-fit: cover; border-radius: 20px; }
.ilmarimed-theme .ilm-about-benefits { margin-bottom: 120px; }
.ilmarimed-theme .ilm-about-benefits__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.ilmarimed-theme .ilm-about-benefits .ilm-clinic-benefit { min-height: 240px; padding: 30px; }
.ilmarimed-theme .ilm-about-gallery { margin-bottom: 120px; }
.ilmarimed-theme .ilm-gallery-track { display: flex; gap: 20px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; }
.ilmarimed-theme .ilm-gallery-track > a { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; }
.ilmarimed-theme .ilm-gallery-track img { display: block; width: 100%; aspect-ratio: 1320 / 550; object-fit: cover; border-radius: 20px; }
.ilmarimed-theme .ilm-gallery-controls { display: flex; justify-content: center; gap: 8px; margin-top: 20px; }
.ilmarimed-theme .ilm-gallery-controls button { width: 6px; height: 6px; min-height: 0; padding: 0 !important; border: 0 !important; border-radius: 50%; background: #ccc !important; }
.ilmarimed-theme .ilm-gallery-controls button[aria-pressed='true'] { background: var(--ilm-brown) !important; }
.ilmarimed-theme .ilm-about-documents { max-width: 650px; padding: 30px; margin-bottom: 120px; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-about-documents h2 { margin-bottom: 25px; font-size: 28px; line-height: 31px; }
.ilmarimed-theme .ilm-page--aboutus .ilm-detail-layout:not(:has(.field,.ilm-detail-media)) { display: none; }
.ilmarimed-theme .ilm-patients-page, .ilmarimed-theme .ilm-specialists-page { padding: 0 !important; border: 0; background: transparent; }
.ilmarimed-theme .ilm-patient-cards, .ilmarimed-theme .ilm-vacancy-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-bottom: 120px; }
.ilmarimed-theme .ilm-patient-cards > article, .ilmarimed-theme .ilm-vacancy { padding: 30px; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-vacancy-grid > .alert-list-empty { grid-column: 1 / -1; }
.ilmarimed-theme .ilm-patient-cards h2 { font-size: 28px; line-height: 31px; margin-bottom: 30px; }
.ilmarimed-theme .ilm-vacancy summary { font-size: 24px; line-height: 30px; font-weight: 600; color: var(--ilm-brown); cursor: pointer; }
.ilmarimed-theme .ilm-vacancy .ilm-editorial-text { margin: 30px 0; }
.ilmarimed-theme .ilm-specialists-intro { max-width: 874px; margin-bottom: 120px; }
.ilmarimed-theme .ilm-gallery-dialog { position: fixed; left: calc(var(--ilm-dialog-width,100vw) / 2); top: 50%; transform: translate(-50%,-50%); width: min(1000px,calc(var(--ilm-dialog-width,100vw) - 30px)); max-height: calc(100dvh - 30px); max-width: none; margin: 0; padding: 60px 20px 20px; border: 0; border-radius: 20px; background: #fff; }
.ilmarimed-theme .ilm-gallery-dialog::backdrop { background: rgba(0,0,0,.5); }
.ilmarimed-theme .ilm-gallery-dialog img { display: block; width: 100%; max-height: calc(100dvh - 110px); object-fit: contain; }
@media(max-width:1199.98px) { .ilmarimed-theme .ilm-about-mission { grid-template-columns: 1fr; } }
@media(max-width:767.98px) {
  .ilmarimed-theme .ilm-stat-grid, .ilmarimed-theme .ilm-about-benefits__grid, .ilmarimed-theme .ilm-patient-cards, .ilmarimed-theme .ilm-vacancy-grid { grid-template-columns: 1fr; }
  .ilmarimed-theme .ilm-stat-grid { gap: 30px; }
  .ilmarimed-theme .ilm-stat strong { font-size: 45px; }
  .ilmarimed-theme .ilm-stat p { font-size: 15px; line-height: 20px; margin-top: 15px; }
  .ilmarimed-theme .ilm-about-mission, .ilmarimed-theme .ilm-stat-grid, .ilmarimed-theme .ilm-about-benefits, .ilmarimed-theme .ilm-about-gallery, .ilmarimed-theme .ilm-about-documents, .ilmarimed-theme .ilm-patient-cards, .ilmarimed-theme .ilm-vacancy-grid, .ilmarimed-theme .ilm-specialists-intro { margin-bottom: 70px; }
  .ilmarimed-theme .ilm-gallery-track img { aspect-ratio: 345 / 300; }
}
.ilmarimed-theme .ilm-page--privacy .ilm-detail-layout--text { max-width: 1100px; }
.ilmarimed-theme .ilm-page--privacy .ilm-detail-content { font-size: 16px; line-height: 22px; overflow-wrap: anywhere; }
.ilmarimed-theme:has(.ilm-page--privacy) #page-wrapper > .row.no-gutters.form { display: none; }
.ilmarimed-theme .accordion .rounded-lg { overflow: hidden; border-radius: 16px !important; background: var(--ilm-panel) !important; }
.ilmarimed-theme .accordion [data-toggle='collapse'] { display: flex; padding: 22px 24px !important; color: var(--ilm-brown); font-size: 20px; line-height: 26px; }
.ilmarimed-theme .accordion .collapse > div { padding: 0 24px 24px; }

/* The live CMS form stays intact inside the measured gray panel/photo composition. */
.ilmarimed-theme #page-wrapper > .row.no-gutters.form,
.ilmarimed-theme:has(.widget-main-slider) #page-wrapper > .row.no-gutters.form:has(.full-bottom-form) { margin: 0 0 120px !important; padding: 0; background: #fff !important; }
.ilmarimed-theme .full-bottom-form { padding: 0 60px; }
.ilmarimed-theme .full-bottom-form > .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 0 !important; }
.ilmarimed-theme .full-bottom-form__form { width: auto; max-width: none; padding: 40px !important; border-radius: 20px; background: var(--ilm-panel); color: var(--ilm-ink); }
.ilmarimed-theme .full-bottom-form__title { color: var(--ilm-brown) !important; font-size: 38px; line-height: 42px; }
.ilmarimed-theme .full-bottom-form__image { display: block !important; width: auto; max-width: none; padding: 0 !important; }
.ilmarimed-theme .full-bottom-form__image img { display: block; width: 100%; height: 100%; min-height: 0; aspect-ratio: 650 / 550; object-fit: cover; border-radius: 20px; }
.ilmarimed-theme .full-bottom-form__socials { display: none; }
.ilmarimed-theme .full-bottom-form .iforms .form-control { min-height: 54px; border: 0 !important; border-radius: 4px !important; color: var(--ilm-ink) !important; background: #fff !important; }
.ilmarimed-theme .full-bottom-form .iforms .form-control::placeholder { color: #999 !important; opacity: 1; }
.ilmarimed-theme .full-bottom-form .iforms .form-control:disabled { color: #777 !important; background: #e8e8e8 !important; }
.ilmarimed-theme .full-bottom-form label, .ilmarimed-theme .full-bottom-form p, .ilmarimed-theme .full-bottom-form .form-check-label { color: var(--ilm-ink) !important; }
.ilmarimed-theme .full-bottom-form .iforms .button-submit { width: 100%; }
.ilmarimed-theme .iforms .form-control { color: var(--ilm-ink) !important; font-family: var(--ilm-form-font) !important; font-size: 14px !important; line-height: 20px !important; }
.ilmarimed-theme .iforms .form-control::placeholder { color: #999 !important; opacity: 1; }
.ilmarimed-theme .iforms .form-check-label, .ilmarimed-theme .iforms .form-check-label * { color: var(--ilm-ink) !important; }
.ilmarimed-theme .modal-body .iforms .row.align-items-start { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0; }
.ilmarimed-theme .modal-body .iforms .row > .field { width: auto !important; min-width: 0; margin: 0; padding: 0 !important; }
.ilmarimed-theme .modal-body .fn_name { order: 0; }
.ilmarimed-theme .modal-body .fn_email { order: 1; }
.ilmarimed-theme .modal-body .fn_phone { order: 2; grid-column: 1 / -1; }
.ilmarimed-theme .modal-body .fn_comment { order: 3; grid-column: 1 / -1; }
.ilmarimed-theme .modal-body .ft_iformstext, .ilmarimed-theme .modal-body .ft_iformslist { grid-column: 1 / -1; }
.ilmarimed-theme .modal-body .iforms .row.align-items-start:not(:has(.fn_email)) { grid-template-columns: 1fr; }
.ilmarimed-theme .modal-body .iforms:has(select[name='rating']) .fn_phone { order: 1; }
.ilmarimed-theme .modal-body .fn_message { order: 2; }
.ilmarimed-theme .modal-body .fn_doctor { order: 3; }
.ilmarimed-theme .modal-body .fn_rating { order: 4; }
.ilmarimed-theme .modal-body .fn_message textarea { height: 130px; resize: vertical; }
.ilmarimed-theme .modal-body .chosen-container { width: 100% !important; min-width: 0; }
.ilmarimed-theme .modal-body .chosen-single { display: flex; align-items: center; height: 50px; padding: 0 15px; border: 0 !important; border-radius: 5px !important; background: var(--ilm-panel) !important; box-shadow: none !important; color: var(--ilm-ink); }
.ilmarimed-theme .ilm-rating-input { display: flex; align-items: center; gap: 8px; }
.ilmarimed-theme .fn_rating:has(.ilm-rating-input) .chosen-container,
.ilmarimed-theme .fn_rating:has(.ilm-rating-input) .bootstrap-select,
.ilmarimed-theme .fn_rating:has(.ilm-rating-input) select { display: none !important; }
.ilmarimed-theme .modal-body .bootstrap-select.form-control { padding: 0 !important; height: 50px !important; }
.ilmarimed-theme .modal-body .bootstrap-select > .dropdown-toggle { width: 100%; height: 50px; padding: 15px !important; border: 0 !important; border-radius: 5px !important; background: var(--ilm-panel) !important; color: var(--ilm-ink) !important; font-family: var(--ilm-form-font); font-size: 14px; }
.ilmarimed-theme .iforms .bootstrap-select .dropdown-menu { min-width: 0 !important; width: 100% !important; max-width: 100% !important; background: #fff !important; color: #313131 !important; border-color: #ddd; }
.ilmarimed-theme .iforms .bootstrap-select .dropdown-menu .dropdown-item,
.ilmarimed-theme .iforms .bootstrap-select .dropdown-menu .dropdown-item .text { color: #313131 !important; font-family: var(--ilm-form-font); font-size: 14px; line-height: 20px; white-space: normal; overflow-wrap: anywhere; }
.ilmarimed-theme .iforms .bootstrap-select .dropdown-menu .dropdown-item { padding: 8px 12px; }
.ilmarimed-theme .iforms .bootstrap-select .dropdown-menu .dropdown-item:hover,
.ilmarimed-theme .iforms .bootstrap-select .dropdown-menu .dropdown-item:focus,
.ilmarimed-theme .iforms .bootstrap-select .dropdown-menu .dropdown-item.active { background: var(--ilm-sand) !important; }
.ilmarimed-theme .modal-body .iforms_edit > div { width: auto; padding: 0; }
.ilmarimed-theme .modal-body .iforms_edit { position: absolute !important; top: 4px; right: 0; width: auto; margin: 0 !important; }
.ilmarimed-theme .ilm-rating-input button { width: 30px; height: 35px; padding: 0 !important; border: 0 !important; background: transparent !important; color: #ddd !important; font-size: 30px; line-height: 35px; cursor: pointer; }
.ilmarimed-theme .ilm-rating-input button.is-selected { color: var(--ilm-orange) !important; }
.ilmarimed-theme .ilm-rating-input__value { margin-left: auto; color: #999; font-size: 14px; }
.ilmarimed-theme .site-header .menu__item.is-active > a { color: var(--ilm-brown) !important; }
.ilmarimed-theme .header-menu > .ilm-has-children { position: relative; }
.ilmarimed-theme .header-menu > .ilm-has-children > a::after { content: ''; width: 6px; height: 6px; margin-left: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); }
.ilmarimed-theme .header-menu .childs-ul { position: absolute; z-index: 20; top: 100%; left: 0; display: none; min-width: 280px; max-width: 360px; max-height: 60vh; overflow-y: auto; padding: 15px; margin: 0; list-style: none; border: 1px solid #ddd; border-radius: 15px; background: #fff; box-shadow: 0 10px 30px #0001; }
.ilmarimed-theme .header-menu > .ilm-has-children:hover > .childs-ul, .ilmarimed-theme .header-menu > .ilm-has-children:focus-within > .childs-ul { display: block; }
.ilmarimed-theme .header-menu .childs-ul a { display: block; padding: 10px; color: var(--ilm-brown); font-size: 14px; line-height: 20px; white-space: normal; overflow-wrap: anywhere; }
.ilmarimed-theme .ilm-footer-admin { display: block; max-width: 1440px; margin: 15px auto 0; padding: 0 60px; font-size: 12px; }
.ilmarimed-theme .iforms { position: relative; }
.ilmarimed-theme .iforms .iforms_edit { position: absolute; right: 0; top: -30px; margin: 0; width: auto; max-width: 100%; }
.ilmarimed-theme .iforms .form-control.is-invalid, .ilmarimed-theme .iforms .has-error .form-control { border: 1px solid #bb382e !important; }
@media(max-width:767.98px) { .ilmarimed-theme .ilm-footer-admin { padding: 0 15px; } }
.ilmarimed-theme .full-bottom-form .iforms .row.align-items-start { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0; }
.ilmarimed-theme .full-bottom-form .iforms .row > .field { min-width: 0; width: auto !important; margin: 0; padding: 0 !important; }
.ilmarimed-theme .full-bottom-form .fn_name { order: 0; }
.ilmarimed-theme .full-bottom-form .fn_email { order: 1; }
.ilmarimed-theme .full-bottom-form .fn_phone { order: 2; grid-column: 1 / -1; }
.ilmarimed-theme .full-bottom-form .fn_comment { order: 3; grid-column: 1 / -1; }
.ilmarimed-theme .full-bottom-form .fn_comment textarea { height: 54px; min-height: 54px; resize: vertical; }
.ilmarimed-theme .full-bottom-form .form-check { margin: 25px 0 20px; padding-left: 24px; }
.ilmarimed-theme .full-bottom-form .form-check-label { font-family: var(--ilm-form-font); font-size: 12px; line-height: 16px; }
.ilmarimed-theme .full-bottom-form .form-check-label * { color: var(--ilm-ink) !important; }
.ilmarimed-theme .full-bottom-form__form .iforms { position: relative; }
.ilmarimed-theme .full-bottom-form__form .iforms_edit { position: absolute; right: 0; top: -30px; margin: 0; }
.ilmarimed-theme .full-bottom-form__lead { margin: 0 0 40px; color: var(--ilm-ink) !important; font-family: var(--ilm-form-font); font-size: 16px; line-height: 22px; max-width: 420px; }
.ilmarimed-theme .ilm-widget-form .full-bottom-form .full-bottom-form__form p.full-bottom-form__lead { color: #313131 !important; }
.ilmarimed-theme:has(form[action*='/iforms/']) main .iforms .row.align-items-start { flex-wrap: wrap; }

/* Footer separates the contact row from the CMS navigation groups. */
.ilmarimed-theme .site-footer { padding: 120px 0 40px; background: var(--ilm-panel) !important; }
.ilmarimed-theme .ilm-footer-intro { display: grid; grid-template-columns: 220px minmax(0, 1fr) 315px; gap: 115px; margin-bottom: 60px; }
.ilmarimed-theme .ilm-footer-brand img { display: block; width: 220px; height: 43px; }
.ilmarimed-theme .ilm-footer-contact { display: flex; flex-direction: column; gap: 12px; }
.ilmarimed-theme .ilm-footer-contact > span { font-size: 12px; color: #68615b; }
.ilmarimed-theme .ilm-footer-contact > a { color: var(--ilm-brown); font-size: 30px; font-weight: 600; }
.ilmarimed-theme .ilm-footer-contact > a.ilm-footer-contact__link { margin-top: 14px; font-size: 14px; font-weight: 500; }
.ilmarimed-theme .ilm-footer-brand-column { display: flex; flex-direction: column; justify-content: space-between; gap: 60px; }
.ilmarimed-theme .ilm-footer-hours > span, .ilmarimed-theme .ilm-footer-address > span { display: block; margin-bottom: 15px; font-size: 14px; color: var(--ilm-brown); }
.ilmarimed-theme .ilm-footer-hours__value { font-size: 14px; line-height: 20px; }
.ilmarimed-theme .ilm-footer-address { margin-top: 30px; }
.ilmarimed-theme .ilm-footer-address__value { font-size: 20px; line-height: 24px; color: var(--ilm-brown); font-weight: 600; }
.ilmarimed-theme .ilm-footer-callback { display: grid; gap: 12px; }
.ilmarimed-theme .ilm-footer-callback label { margin: 0; color: var(--ilm-brown); font-size: 16px; font-weight: 600; }
.ilmarimed-theme .ilm-footer-callback input { height: 40px; padding: 10px 14px; border: 0; border-radius: 4px; background: #fff; color: var(--ilm-ink); font: 400 14px Manrope, Arial, sans-serif; }
.ilmarimed-theme .ilm-footer-callback .btn { justify-self: start; width: 200px; max-width: 100%; min-height: 50px; padding: 14px 30px !important; font-size: 16px; font-weight: 500; }
.ilmarimed-theme .ilm-footer-callback .ilm-footer-consent { display: flex; align-items: start; gap: 10px; font-size: 11px; line-height: 15px; color: #888; font-weight: 400; }
.ilmarimed-theme .ilm-footer-callback .ilm-footer-consent input { flex: 0 0 14px; width: 14px; height: 14px; margin: 2px 0 0; padding: 0; }
.ilmarimed-theme .ilm-footer-consent a { text-decoration: underline; }
.ilmarimed-theme .ilm-footer-error { color: #b32c21; font-size: 12px; }
.ilmarimed-theme .ilm-footer-error[hidden] { display: none; }
.ilmarimed-theme .ilm-footer-copyright { max-width: 1440px; margin: 30px auto 0 !important; padding: 0 60px; font-size: 12px; text-align: left; }
.ilmarimed-theme .site-footer__row > div { text-align: left !important; }
.ilmarimed-theme .site-footer__row .widget__title { align-items: flex-start !important; justify-content: flex-start !important; }
.ilmarimed-theme .site-footer__row .menu__item svg { display: none; }
.ilmarimed-theme .ilm-footer-disclaimer { margin-top: 50px; color: #999; font-size: 12px; line-height: 16px; text-align: left !important; }
.ilmarimed-theme .ilm-footer-disclaimer .text-justify { text-align: left !important; }
.ilmarimed-theme .site-footer__row { margin: 0 -10px !important; padding-top: 50px; border-top: 1px solid #ddd; }
.ilmarimed-theme .site-footer__logo { display: none; }
.ilmarimed-theme .site-footer__row > div:first-child::before { content: attr(data-info-label); display: block; margin-bottom: 18px; color: var(--ilm-brown); font-size: 20px; font-weight: 600; }
.ilmarimed-theme .site-footer__row .widget__title { margin: 0 0 18px !important; font-size: 20px !important; line-height: 24px; letter-spacing: 0; }
.ilmarimed-theme .site-footer__row { font-size: 14px; line-height: 1.6; }
.ilmarimed-theme .site-footer__row .menu__item { margin: 0 0 5px !important; padding: 0 !important; }
.ilmarimed-theme .site-footer__row .menu__item > a { display: block; padding: 0 !important; font-size: 14px; line-height: 20px; font-weight: 500; text-transform: none; }
@media (max-width: 1199.98px) {
  .ilmarimed-theme .ilm-direction-about { grid-template-columns: 1fr; }
  .ilmarimed-theme .ilm-article-layout { display: flex; flex-direction: column; gap: 30px; }
  .ilmarimed-theme .ilm-article-sidebar { position: static; order: -1; width: 100%; }
  .ilmarimed-theme .ilm-article-content { width: 100%; }
  .ilmarimed-theme .breadcrumb { padding: 30px 0; }
  .ilmarimed-theme .full-bottom-form { padding: 0 20px; }
  .ilmarimed-theme .full-bottom-form > .row { grid-template-columns: 1fr; }
  .ilmarimed-theme .full-bottom-form__title { font-size: 35px; line-height: 39px; }
  .ilmarimed-theme .ilm-footer-intro { grid-template-columns: 220px minmax(0, 1fr); gap: 40px; }
  .ilmarimed-theme .ilm-footer-callback { grid-column: 2; }
  .ilmarimed-theme .ilm-posts-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 767.98px) {
  .ilmarimed-theme .breadcrumb { padding: 25px 0; font-size: 12px; line-height: 18px; }
  .ilmarimed-theme .ilm-direction-hero { min-height: 310px; padding: 25px; }
  .ilmarimed-theme .ilm-direction-hero::after { max-width: 100%; height: 140px; opacity: .6; }
  .ilmarimed-theme .ilm-direction-about, .ilmarimed-theme .ilm-direction-section { margin-top: 70px; margin-bottom: 70px; }
  .ilmarimed-theme .ilm-direction-about { gap: 30px; }
  .ilmarimed-theme .ilm-direction-about h2, .ilmarimed-theme .ilm-direction-section > h2 { margin-bottom: 25px; }
  .ilmarimed-theme .ilm-article-layout { display: flex; flex-direction: column; gap: 30px; margin-bottom: 70px; }
  .ilmarimed-theme .ilm-article-content, .ilmarimed-theme .ilm-article-sidebar { width: 100%; }
  .ilmarimed-theme .ilm-article-sidebar { position: static; order: -1; }
  .ilmarimed-theme .ilm-article-toc, .ilmarimed-theme .ilm-article-meta { padding: 20px; }
  .ilmarimed-theme .ilm-article-image { margin-bottom: 30px; }
  .ilmarimed-theme .ilm-about-team { aspect-ratio: 345 / 260; margin-bottom: 40px; }
  .ilmarimed-theme #page-wrapper > .row.no-gutters.form { margin-bottom: 70px !important; }
  .ilmarimed-theme .full-bottom-form { padding: 0 15px; }
  .ilmarimed-theme .full-bottom-form__form { padding: 25px !important; }
  .ilmarimed-theme .full-bottom-form .iforms .row.align-items-start { grid-template-columns: 1fr; }
  .ilmarimed-theme .modal-body .iforms .row.align-items-start { grid-template-columns: 1fr; }
  .ilmarimed-theme main .iforms .row.align-items-start { display: grid; grid-template-columns: 1fr; margin: 0; gap: 10px; }
  .ilmarimed-theme main .iforms .row.align-items-start > .field { width: 100% !important; margin: 0; padding: 0; }
  .ilmarimed-theme .full-bottom-form__title { font-size: 28px; line-height: 31px; }
  .ilmarimed-theme .ilm-posts-grid { grid-template-columns: 1fr; margin-bottom: 70px; }
  .ilmarimed-theme .ilm-footer-brand-column { gap: 30px; }
  .ilmarimed-theme .ilm-footer-copyright { padding: 0 15px; }
  .ilmarimed-theme .site-footer { padding-top: 50px; }
  .ilmarimed-theme .ilm-footer-intro { grid-template-columns: 1fr; gap: 30px; margin-bottom: 40px; }
  .ilmarimed-theme .ilm-footer-callback { grid-column: auto; }
  .ilmarimed-theme .site-footer__row { padding-top: 40px; text-align: left !important; }
}

.ilmarimed-theme .ilm-review-card__stars .field_stars,
.ilmarimed-theme .ilm-review-card__stars .field_stars span { font-size: 14px !important; line-height: 20px !important; }
.ilmarimed-theme .mobile-menu { inset: var(--header-height) 0 0 !important; border-top: 1px solid #ccc; }
.ilmarimed-theme .mobile-menu__wrap { padding: 0 15px 90px; }
.ilmarimed-theme .mobile-menu .menu { padding: 0; margin: 0; list-style: none; }
.ilmarimed-theme .mobile-menu .menu__item { position: relative; }
.ilmarimed-theme .mobile-menu .menu__item > a { padding: 0; min-height: 44px; color: #888 !important; font-size: 16px; font-weight: 400; border-bottom: 1px solid #ddd; }
.ilmarimed-theme .mobile-menu .menu__item.is-active > a { color: var(--ilm-brown) !important; }
.ilmarimed-theme .mobile-menu .menu__item > a { text-transform: none !important; }
.ilmarimed-theme .mobile-menu .menu__item > a svg { display: none !important; }
.ilmarimed-theme .mobile-menu .menu__item > a::before,
.ilmarimed-theme .mobile-menu .menu__item > a::after { content: none !important; display: none !important; }
.ilmarimed-theme .mobile-menu .mobile-menu__row { display: none !important; }
.ilmarimed-theme .ilm-menu-back { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 42px; padding: 0; border: 0; border-bottom: 1px solid #ddd; background: #fff; color: var(--ilm-brown); font: 500 16px Manrope, Arial, sans-serif; cursor: pointer; }
.ilmarimed-theme .ilm-submenu-toggle { position: absolute; top: 0; right: 0; width: 44px; height: 44px; border: 0; background: #fff; color: #888; font-size: 22px; cursor: pointer; }
.ilmarimed-theme .mobile-menu.ilm-submenu-open .menu > .menu__item:not(.ilm-submenu-active) { display: none; }
.ilmarimed-theme .mobile-menu.ilm-submenu-open .ilm-submenu-active > a,
.ilmarimed-theme .mobile-menu.ilm-submenu-open .ilm-submenu-active > .ilm-submenu-toggle { display: none; }
.ilmarimed-theme .mobile-menu.ilm-submenu-open .ilm-submenu-active > .childs-ul { display: block; padding: 0; }
@media (max-width: 1199.98px) {
  .ilmarimed-theme .controller-actions-menu { top: 95px; right: 20px; }
}
@media (max-width: 767.98px) {
  .ilmarimed-theme .ilmarimed-mobile-actions { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); height: 70px; background: var(--ilm-panel); }
  .ilmarimed-theme .ilmarimed-mobile-actions > a { width: auto !important; min-width: 0; padding: 10px 0 7px; color: var(--ilm-ink); font-size: 10px; }
  .ilmarimed-theme .ilmarimed-mobile-actions svg { width: 20px; height: 20px; }
  .ilmarimed-theme .ilmarimed-mobile-actions .ilm-nav-outline { fill: none; stroke: currentColor; stroke-width: 1.2; }
  .ilmarimed-theme .ilmarimed-mobile-actions > a:nth-child(3) svg { width: 32px; height: 32px; padding: 6px; margin-top: -16px; border: 4px solid var(--ilm-panel); border-radius: 50%; background: var(--ilm-sand); color: var(--ilm-brown); }
  body.ilm-has-scrolled .icms-cookiealert { bottom: 70px !important; }
  .ilmarimed-theme .controller-actions-menu { top: 82px; right: 15px; }
}

.ilmarimed-theme .ilm-promotion-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-bottom: 120px; }
.ilmarimed-theme .ilm-promotion-card { display: grid; grid-template-columns: 200px minmax(0,1fr); gap: 20px; padding: 20px; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-promotion-card:not(:has(.ilm-promotion-card__image)) { grid-template-columns: 1fr; }
.ilmarimed-theme .ilm-promotion-card__image img { display: block; width: 200px; height: 200px; object-fit: cover; border-radius: 15px; }
.ilmarimed-theme .ilm-promotion-card__image { position: relative; display: block; min-width: 0; }
.ilmarimed-theme .ilm-promotion-card__body { display: flex; min-width: 0; flex-direction: column; align-items: start; gap: 10px; }
.ilmarimed-theme .ilm-promotion-card h3 { margin: 0; color: var(--ilm-brown); font-size: 20px; line-height: 26px; }
.ilmarimed-theme .ilm-promotion-card p { margin: 0; color: var(--ilm-ink); font-size: 14px; line-height: 19px; }
.ilmarimed-theme .ilm-promotion-card__price { font-size: 14px; }
.ilmarimed-theme .ilm-promotion-card__date { color: #888; font-size: 12px; }
.ilmarimed-theme .ilm-promotion-card .btn { margin-top: auto; min-height: 35px; padding: 8px 20px !important; font-size: 14px; background: transparent !important; border: 1px solid var(--ilm-brown) !important; color: var(--ilm-brown) !important; }
.ilmarimed-theme .staff-item > .row { display: grid; grid-template-columns: minmax(0,426px) minmax(0,1fr); align-items: stretch; gap: 20px; margin: 0 !important; }
.ilmarimed-theme .staff-item__image { width: auto; max-width: none !important; min-height: 0; padding: 0 !important; }
.ilmarimed-theme .staff-item__image::before, .ilmarimed-theme .staff-item__image::after { display: none !important; }
.ilmarimed-theme .staff-item-photo img, .ilmarimed-theme .staff-item-photo .staff-photo-placeholder { display: block; width: 100%; min-height: 0; aspect-ratio: 426 / 540; height: auto; object-fit: cover; border-radius: 20px; }
.ilmarimed-theme .staff-item__content { width: auto; max-width: none !important; padding: 40px !important; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .staff-item__content { min-width: 0; }
.ilmarimed-theme .staff-item__content h1, .ilmarimed-theme .staff-item__spec { overflow-wrap: anywhere; }
.ilmarimed-theme .staff-item__content h1 { margin-bottom: 24px !important; }
.ilmarimed-theme .staff-item__spec { color: var(--ilm-ink); font-size: 20px; line-height: 24px; }
.ilmarimed-theme .staff-item__booking { margin-top: 30px; }
.ilmarimed-theme .ilm-staff-sections { display: grid; gap: 40px; margin: 120px 0; }
.ilmarimed-theme .ilm-staff-sections > .field, .ilmarimed-theme .ilm-staff-sections > .fields_group { width: 100%; margin: 0; padding: 30px; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-staff-sections .field_label, .ilmarimed-theme .staff-item__content .ilm-staff-sections h3, .ilmarimed-theme .ilm-education-disclosure summary { margin-bottom: 20px; color: var(--ilm-brown); font-size: 20px; line-height: 24px; font-weight: 600; }
.ilmarimed-theme .ilm-education-disclosure summary { cursor: pointer; }
.ilmarimed-theme .ilm-education-disclosure:not([open]) summary { margin-bottom: 0; }
.ilmarimed-theme .ilm-staff-sections .value { color: var(--ilm-ink); font-size: 16px; line-height: 22px; overflow-wrap: anywhere; }
.ilmarimed-theme .ilm-reviews-layout { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 20px; align-items: start; margin-bottom: 120px; }
.ilmarimed-theme .ilm-reviews-layout .reviews-list { margin: 0; }
.ilmarimed-theme .ilm-reviews-layout .reviews-list__item { padding: 24px !important; border-radius: 20px !important; }
.ilmarimed-theme .ilm-reviews-layout .reviews-list__title h3, .ilmarimed-theme .ilm-reviews-layout .reviews-list__title a { margin: 0; font-size: 20px !important; line-height: 24px !important; }
.ilmarimed-theme .reviews-list__date { font-size: 12px; line-height: 17px; color: #999; }
.ilmarimed-theme .ilm-review-card__author { font-size: 20px; line-height: 24px; margin: 20px 0; }
.ilmarimed-theme .ilm-reviews-layout .reviews-list__content { font-size: 14px; line-height: 19px; }
.ilmarimed-theme .reviews-list__content .field_label, .ilmarimed-theme .reviews-list__content .value { display: block; }
.ilmarimed-theme .reviews-list__content .field_label { margin-bottom: 10px; }
.ilmarimed-theme .reviews-list__rating { display: inline-flex; align-items: center; gap: 5px; justify-self: start; padding: 4px 8px; border-radius: 4px; background: #ddf6ed; color: #519d84 !important; font-size: 12px; line-height: 16px; }
.ilmarimed-theme .reviews-list__rating > span { color: var(--ilm-orange); }
.ilmarimed-theme .ilm-reviews-layout .f_content > .value { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 9; -webkit-box-orient: vertical; }
.ilmarimed-theme .ilm-review-invitation { padding: 24px; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-review-invitation img { display: block; width: 100%; aspect-ratio: 378 / 230; object-fit: cover; border-radius: 15px; margin-bottom: 24px; }
.ilmarimed-theme .ilm-review-invitation h2 { margin: 0 0 20px; font-size: 28px !important; line-height: 31px; }
.ilmarimed-theme .ilm-review-invitation p { font-size: 16px; line-height: 22px; }
.ilmarimed-theme .ilm-review-invitation .btn { width: 100%; }
@media (max-width: 1199.98px) {
  .ilmarimed-theme .ilm-promotion-grid { grid-template-columns: 1fr; }
  .ilmarimed-theme .ilm-editorial-text h2 { font-size: 35px !important; line-height: 39px; }
  .ilmarimed-theme .ilm-promotion-card { grid-template-columns: 200px minmax(0,1fr); gap: 20px; }
  .ilmarimed-theme .ilm-promotion-card__image img { width: 200px; height: 200px; }
  .ilmarimed-theme .ilm-reviews-layout { grid-template-columns: minmax(0,1fr) 280px; }
  .ilmarimed-theme .staff-item > .row { grid-template-columns: minmax(0,300px) minmax(0,1fr); }
  .ilmarimed-theme .staff-item__content { padding: 25px !important; }
}
@media (max-width: 767.98px) {
  .ilmarimed-theme .ilm-promotion-grid { grid-template-columns: 1fr; margin-bottom: 70px; }
  .ilmarimed-theme .ilm-editorial-text h2 { font-size: 28px !important; line-height: 31px; }
  .ilmarimed-theme .ilm-editorial-text, .ilmarimed-theme .ilm-staff-sections .value { font-size: 15px; line-height: 20px; }
  .ilmarimed-theme .ilm-staff-sections .field_label, .ilmarimed-theme .staff-item__content .ilm-staff-sections h3, .ilmarimed-theme .ilm-education-disclosure summary { font-size: 18px; line-height: 22px; }
  .ilmarimed-theme .ilm-promotion-card { grid-template-columns: 1fr; }
  .ilmarimed-theme .ilm-promotion-card__image img { width: 100%; height: auto; aspect-ratio: 315 / 200; }
  .ilmarimed-theme .staff-item > .row { display: flex; flex-direction: column; gap: 20px; }
  .ilmarimed-theme .staff-item__content { order: -1; }
  .ilmarimed-theme .ilm-staff-sections { margin: 70px 0; gap: 20px; }
  .ilmarimed-theme .ilm-staff-sections > .field, .ilmarimed-theme .ilm-staff-sections > .fields_group { padding: 20px; }
  .ilmarimed-theme .ilm-reviews-layout { grid-template-columns: 1fr; margin-bottom: 70px; }
}

.ilmarimed-theme .modal-dialog { width: 706px; max-width: calc(var(--ilm-dialog-width, 100vw) - 30px); }
.ilmarimed-theme .modal-content { padding: 30px; border: 0; border-radius: 20px; background: #fff; }
.ilmarimed-theme.modal-open .icms-cookiealert, .ilmarimed-theme.modal-open .ilmarimed-mobile-actions,
.ilmarimed-theme.modal-open .ilmarimed-burger,
.ilmarimed-theme.modal-open .ilm-tablet-menu-toggle { display: none !important; }
.ilmarimed-theme .modal-header { align-items: start; padding: 0; border: 0; background: #fff; }
.ilmarimed-theme .modal-title { color: var(--ilm-brown); font-size: 28px; line-height: 31px; white-space: normal; }
.ilmarimed-theme .modal .modal-close { flex: 0 0 40px; width: 40px; height: 40px; min-height: 40px; padding: 10px !important; border: 0 !important; background: var(--ilm-panel) !important; color: var(--ilm-brown) !important; }
.ilmarimed-theme .modal .modal-close svg { width: 16px; height: 16px; fill: currentColor; }
.ilmarimed-theme .modal-body { padding: 30px 0 0 !important; background: #fff !important; border-radius: 0 !important; }
.ilmarimed-theme .modal-body .iforms .form-control { border: 0 !important; border-radius: 4px !important; background: var(--ilm-panel) !important; }
.ilmarimed-theme .ilm-booking-context { padding: 16px 20px; border-radius: 12px; background: var(--ilm-panel); color: var(--ilm-brown); font-size: 16px; line-height: 22px; }
.ilmarimed-theme .form-control:focus, .ilmarimed-theme .iforms input:focus, .ilmarimed-theme .iforms textarea:focus { outline: 2px solid var(--ilm-sand); outline-offset: 2px; }
@media (max-width: 767.98px) {
  .ilmarimed-theme .modal-dialog { max-width: none; margin: 15px; }
  .ilmarimed-theme .modal-content { padding: 20px; }
  .ilmarimed-theme .modal-title { font-size: 24px; line-height: 28px; }
  .ilmarimed-theme .modal-dialog { width: calc(100% - 30px) !important; min-width: 0; }
  .ilmarimed-theme .modal-body .iforms_basic, .ilmarimed-theme .modal-body iframe { min-width: 0; max-width: 100%; }
}

@media (max-width: 1199.98px) {
  .ilmarimed-theme .widget-main-slider__item,
  .ilmarimed-theme .widget-main-slider__item > .container,
  .ilmarimed-theme .widget-main-slider__item .row { height: auto !important; min-height: 0 !important; }
  .ilmarimed-theme .widget-main-slider__info { flex: 0 0 auto !important; width: 100% !important; max-width: none !important; }
}

.ilmarimed-theme .icms-filter-panel { padding: 0; margin: 0 0 40px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.ilmarimed-theme .icms-filter-container { width: 100%; max-width: 100%; min-width: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.ilmarimed-theme .icms-filter-container form { display: flex; align-items: start; flex-wrap: wrap; gap: 20px; width: 100%; min-width: 0; margin: 0 !important; }
.ilmarimed-theme .icms-filter-container .fields { flex: 1; display: flex; flex-wrap: wrap; gap: 20px; margin: 0; min-width: 0; }
.ilmarimed-theme .icms-filter-container .form-group { flex: 1 1 260px; width: auto; max-width: 426px; margin: 0; padding: 0; }
.ilmarimed-theme .icms-filter-container label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.ilmarimed-theme .icms-filter-container .form-control, .ilmarimed-theme .icms-filter-container .chosen-single { min-height: 54px; border: 0 !important; border-radius: 10px !important; background: var(--ilm-panel) !important; }
.ilmarimed-theme .icms-filter-container .buttons { margin: 0; padding: 0; }
.ilmarimed-theme .icms-filter-container .chosen-container { width: 100% !important; }
.ilmarimed-theme .icms-filter-container .chosen-single { display: flex; align-items: center; padding: 0 20px; }
.ilmarimed-theme .icms-filter-container .chosen-single span { font-size: 16px; }
@media (max-width: 767.98px) {
  .ilmarimed-theme .icms-filter-container form { display: grid; grid-template-columns: 1fr; }
  .ilmarimed-theme .icms-filter-container .fields { flex-direction: column; }
  .ilmarimed-theme .icms-filter-container .form-group { flex: none; width: 100%; max-width: none; }
  .ilmarimed-theme .site-header__row { gap: 0; }
  .ilmarimed-theme .site-header__phone .btn { display: none !important; }
  .ilmarimed-theme .staff-item__content, .ilmarimed-theme .staff-item__image { width: 100% !important; min-width: 0; }
}

.ilmarimed-theme .ilm-staff-sections:not(:has(> .field, > .fields_group)) { display: none; }
.ilmarimed-theme .reviews-list__content .f_answer { margin: 20px 0 0; padding: 16px; border-radius: 12px; background: #fff; }
.ilmarimed-theme .reviews-list__content .f_answer .field_label { display: block; margin: 0 0 8px; color: var(--ilm-brown); font-size: 14px; font-weight: 600; }
.ilmarimed-theme .alert-list-empty { padding: 24px; border: 0; border-radius: 20px; background: var(--ilm-panel); color: var(--ilm-ink); }

.ilmarimed-theme .staff-list__panel { right: 12px; bottom: 12px; left: 12px; border-radius: 15px; }
.ilmarimed-theme .staff-list__title h3 { font-size: 16px !important; line-height: 21px !important; }
.ilmarimed-theme .ilm-home-promotions__container { padding-top: 120px !important; padding-bottom: 120px !important; }
.ilmarimed-theme .ilm-home-promo-card { border: 0; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-home-promo-card__badge { position: absolute; top: 25px; left: 25px; background: #fff; }
.ilmarimed-theme .ilm-home-promo-card h3 { font-size: 20px !important; line-height: 26px; }
.ilmarimed-theme .ilm-home-promo-card p { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }
.ilmarimed-theme .ilm-home-promo-card .btn { align-self: start; min-height: 30px; padding: 6px 16px !important; margin-top: 10px; font-size: 12px; }
.ilmarimed-theme .widget__title > a { margin-left: auto; font-size: 16px; line-height: 22px; }
@media (min-width: 1200px) {
  .ilmarimed-theme:has(.widget-main-slider) .ilm-widget-reviews { padding-bottom: 90px !important; }
}
@media (max-width: 767.98px) {
  .ilmarimed-theme .ilm-home-promotions__container { padding-top: 70px !important; padding-bottom: 70px !important; }
  .ilmarimed-theme .ilm-home-promo-card { flex-direction: column; }
  .ilmarimed-theme .ilm-home-promo-card > img { flex-basis: auto; width: 100%; height: auto; aspect-ratio: 315 / 200; }
}

body.ilm-menu-open { padding-right: var(--ilm-scrollbar-width, 0px); }
body.ilm-menu-open .ilmarimed-mobile-actions { transform: translateY(0); visibility: visible; pointer-events: auto; }
.ilmarimed-theme.ilm-menu-open .mobile-menu { right: auto !important; width: calc(100% - var(--ilm-scrollbar-width, 0px)) !important; }
.ilmarimed-theme .modal { padding-right: 0 !important; padding-left: 0 !important; }
@media (min-width: 768px) and (max-width: 1199.98px) {
  body.ilm-menu-open .ilm-tablet-menu-toggle { right: calc(20px + var(--ilm-scrollbar-width, 0px)); }
}
@media (max-width: 767.98px) {
  body.ilm-menu-open .ilm-tablet-menu-toggle { right: calc(15px + var(--ilm-scrollbar-width, 0px)); }
  body.ilm-menu-open .site-header__phone .phone-buttons a[href^='tel:']:not(._phone) { right: calc(67px + var(--ilm-scrollbar-width, 0px)); }
  body.ilm-menu-open .ilmarimed-mobile-actions { right: auto; width: calc(100% - var(--ilm-scrollbar-width, 0px)); }
  .ilmarimed-theme .modal-dialog { margin: 15px !important; width: calc(var(--ilm-dialog-width, 100vw) - 30px) !important; }
}

.ilmarimed-theme .row.no-gutters > [class*='col'] { padding-right: 0; padding-left: 0; }
.ilmarimed-theme .ilm-widget-form > .widget__wrap { padding: 0 !important; max-width: none; }
.ilmarimed-theme .ilm-widget-form .full-bottom-form__title { color: var(--ilm-brown) !important; }
.ilmarimed-theme .full-bottom-form__image img { display: block !important; }
.ilmarimed-theme .row.form .ilm-widget-legacy { display: none !important; }
@media (max-width: 767.98px) {
  .ilmarimed-theme .full-bottom-form__image img { height: 300px; aspect-ratio: 345 / 300; }
  .ilmarimed-theme:has(.ilmarimed-mobile-actions) #page-wrapper { padding-bottom: 70px !important; }
  .ilmarimed-theme .ilmarimed-mobile-actions > a:nth-child(3) svg { width: 44px; height: 44px; padding: 8px; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  :root { --header-height: 76px; }
  .ilmarimed-theme .site-header__row { min-height: 76px; height: 76px; }
  .ilmarimed-theme .site-header__logo { flex-basis: 180px; }
  .ilmarimed-theme .site-header__logo img.ilm-brand-logo { width: 180px; height: auto; }
  .ilmarimed-theme .site-header__phone a._phone { display: inline-flex !important; }
  .ilmarimed-theme .site-header__phone .phone-buttons a[href^='tel:']:not(._phone) { display: none !important; }
  .ilmarimed-theme .site-header__phone > .d-flex { gap: 12px; }
  .ilmarimed-theme .ilm-tablet-menu-toggle { top: 15px; width: 46px; height: 46px; border: 0; background: var(--ilm-sand); }
  .ilmarimed-theme .ilm-tablet-menu-toggle svg { width: 34px; height: 34px; }
  .ilmarimed-theme .mobile-menu { --header-height: 76px; }
  .ilmarimed-theme .widget-main-slider__info { padding-top: 40px !important; }
}
@media (max-width: 767.98px) {
  .ilmarimed-theme .site-header__phone .phone-buttons a[href^='tel:']:not(._phone) { background: var(--ilm-sand) url('../images/figma/phone-actual.png') center / 24px 24px no-repeat; }
  .ilmarimed-theme .site-header__phone .phone-buttons a[href^='tel:']:not(._phone) svg { visibility: hidden; }
}

.ilmarimed-theme .site-footer__row .iforms-ajax-modal { display: none !important; }
.ilmarimed-theme .ilm-footer-documents { display: flex; flex-direction: column; gap: 8px; }
.ilmarimed-theme .ilm-footer-documents h3 { margin: 0 0 10px; font-size: 20px; line-height: 24px; }
.ilmarimed-theme .ilm-footer-documents a { font-size: 14px; line-height: 22px; }
.ilmarimed-theme .ilm-footer-social > span { display: block; margin-bottom: 10px; font-size: 12px; color: #68615b; }
.ilmarimed-theme .site-footer .socials-block__list { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 8px; padding: 0; margin: 0; list-style: none; }
.ilmarimed-theme .site-footer .socials-block__list > li { flex: 0 0 46px; width: 46px; height: 46px; margin: 0; }
.ilmarimed-theme .site-footer .socials-block__list > li > a { width: 46px; height: 46px; border-radius: 10px; background-color: var(--ilm-brown) !important; background-size: 22px; }
.ilmarimed-theme .site-footer .socials-block__list > li:has(a[href='#']) { display: none; }
.ilmarimed-theme .site-footer .telegram-link { background-image: url('../images/telegram.svg'); }
.ilmarimed-theme .site-footer .youtube-link { background-image: url('../images/yt.svg'); }
.ilmarimed-theme .ilm-footer-accessibility { margin-left: auto; }
@media (max-width: 767.98px) {
  .ilmarimed-theme .site-footer__copyright { display: flex; flex-wrap: wrap; gap: 20px; text-align: left; }
  .ilmarimed-theme .ilm-footer-accessibility { margin-left: 0; }
}

/* Measured price rows: 70 px desktop; two rows with a 30 px CTA on phones. */
.ilmarimed-theme .prices-list { gap: 10px; }
.ilmarimed-theme .prices-list__item { grid-template-columns: minmax(0,1fr) auto auto; padding: 20px !important; gap: 20px; }
.ilmarimed-theme .prices-list__item > div { padding: 0 !important; }
.ilmarimed-theme .prices-list__title, .ilmarimed-theme .prices-list__title a { max-width: 922px; font-size: 16px; line-height: 1.2; font-weight: 500; }
.ilmarimed-theme .prices-list__price { min-width: 0; font-size: 16px; line-height: 1.2; font-weight: 600; }
.ilmarimed-theme .prices-list__price--empty { color: #888; font-size: 13px; font-weight: 400; }
.ilmarimed-theme .prices-list__item .btn { width: 102px; min-width: 102px; min-height: 30px; padding: 6px 16px !important; font-size: 12px; line-height: 16px; font-weight: 500; }
.ilmarimed-theme .prices-filter .form-control, .ilmarimed-theme .prices-filter .chosen-single { height: 40px; min-height: 40px; border-radius: 30px !important; font-size: 14px; }
.ilmarimed-theme .prices-filter .buttons .btn { min-height: 40px; }
@media (max-width: 767.98px) {
  .ilmarimed-theme .prices-list__item { grid-template-columns: minmax(0,1fr) 118px; }
  .ilmarimed-theme .prices-list__title { grid-column: 1 / -1; grid-row: 1; }
  .ilmarimed-theme .prices-list__title, .ilmarimed-theme .prices-list__title a { font-size: 15px; line-height: 18px; }
  .ilmarimed-theme .prices-list__price { grid-column: 1; grid-row: 2; justify-self: start; align-self: end; text-align: left; font-size: 15px; line-height: 18px; }
  .ilmarimed-theme .prices-list__item .btn { grid-column: 2; grid-row: 2; justify-self: end; align-self: end; width: 118px; min-width: 118px; }
}

/* Doctor profile: persistent portrait left, individual panels right; inline portrait on narrow screens. */
.ilmarimed-theme .staff-item > .row { align-items: start; }
.ilmarimed-theme .staff-item__content { padding: 0 !important; background: transparent; }
.ilmarimed-theme .staff-item__intro { min-height: 618px; padding: 30px; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .staff-item-photo img, .ilmarimed-theme .staff-item-photo .staff-photo-placeholder { aspect-ratio: 426 / 618; }
.ilmarimed-theme .staff-item__inline-photo { display: none; }
.ilmarimed-theme .staff-item__inline-booking { margin-top: 30px; }
.ilmarimed-theme .staff-item__booking { margin: 0; }
.ilmarimed-theme .staff-item__bio { margin-top: 30px; font-size: 16px; line-height: 22px; }
.ilmarimed-theme .staff-item__content .staff-item__exp { display: inline-flex; margin: 16px 0 0; padding: 10px 20px; border: 0; border-radius: 30px; background: #fff; font-size: 14px; line-height: 19px; color: var(--ilm-ink); }
.ilmarimed-theme .ilm-staff-sections { gap: 20px; margin: 20px 0 120px; }
.ilmarimed-theme .staff-item__content .ilm-staff-sections .fields_group { padding: 30px; border: 0; }
@media (max-width: 1199.98px) {
  .ilmarimed-theme .staff-item > .row { display: grid; grid-template-columns: 1fr; }
  .ilmarimed-theme .staff-item__image { display: none; }
  .ilmarimed-theme .staff-item__intro { min-height: 0; }
  .ilmarimed-theme .staff-item__inline-booking { display: grid; grid-template-columns: 209px minmax(0,1fr); gap: 30px; align-items: start; }
  .ilmarimed-theme .staff-item__inline-photo { display: block; }
  .ilmarimed-theme .staff-item__inline-photo img, .ilmarimed-theme .staff-item__inline-photo .staff-photo-placeholder { display: block; width: 100%; height: auto; min-height: 0; aspect-ratio: 209 / 284; object-fit: cover; border-radius: 20px; }
}
@media (max-width: 767.98px) {
  .ilmarimed-theme .staff-item__intro { padding: 20px; }
  .ilmarimed-theme .staff-item__inline-booking { grid-template-columns: 1fr; gap: 30px; }
  .ilmarimed-theme .staff-item__inline-photo img, .ilmarimed-theme .staff-item__inline-photo .staff-photo-placeholder { aspect-ratio: 305 / 414; }
  .ilmarimed-theme .ilm-staff-sections { margin-bottom: 70px; }
}

.ilmarimed-theme h1, .ilmarimed-theme .ilm-detail-title, .ilmarimed-theme .page-title { line-height: 1.1 !important; }
.ilmarimed-theme .prices-list { margin-top: 0; }
.ilmarimed-theme .ilm-price-search { position: relative; display: flex; margin: 0 0 40px; }
.ilmarimed-theme .ilm-price-search input[type='search'] { width: 100%; height: 40px; min-width: 0; padding: 0 50px 0 20px; border: 0; border-radius: 30px; background: var(--ilm-panel); color: var(--ilm-ink); font: 400 14px/20px Manrope,Arial,sans-serif; }
.ilmarimed-theme .ilm-price-search button { position: absolute; top: 0; right: 10px; width: 40px; height: 40px; padding: 10px !important; border: 0 !important; background: transparent !important; color: var(--ilm-brown) !important; }
.ilmarimed-theme .ilm-price-search svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.ilmarimed-theme .ilm-rating-badge { display: inline-flex; align-self: flex-start; justify-self: start; width: fit-content; max-width: 100%; align-items: center; gap: 4px; padding: 4px 8px; border-radius: 4px; background: #ddf6ed; color: #519d84; font-size: 12px; line-height: 16px; }
.ilmarimed-theme .ilm-rating-badge > span { color: var(--ilm-orange); }
.ilmarimed-theme .staff-list__item > .ilm-rating-badge { position: absolute; z-index: 2; top: 20px; left: 20px; }
.ilmarimed-theme .ilm-full-review { padding: 30px !important; max-width: 874px; margin-bottom: 120px; background: var(--ilm-panel); border-radius: 20px; }
.ilmarimed-theme .ilm-full-review h1 { margin: 20px 0 30px !important; font-size: 20px; line-height: 24px !important; }
.ilmarimed-theme .ilm-full-review__field { margin-bottom: 30px; font-size: 16px; line-height: 22px; overflow-wrap: anywhere; }
.ilmarimed-theme .ilm-full-review__field:not(.f_content) { padding: 20px; border-radius: 15px; background: #fff; }
.ilmarimed-theme .ilm-full-review__field h2 { margin-bottom: 15px; font-size: 20px; line-height: 26px; }
.ilmarimed-theme .ilm-full-review__source { font-size: 12px; color: #888; overflow-wrap: anywhere; }
.ilmarimed-theme .ilm-review-dialog { position: fixed; top: 50%; left: calc(var(--ilm-dialog-width,100vw) / 2); width: min(706px,calc(var(--ilm-dialog-width,100vw) - 30px)); max-width: none; max-height: calc(100dvh - 30px); padding: 20px; margin: 0; transform: translate(-50%,-50%); border: 0; border-radius: 20px; background: #fff; color: var(--ilm-ink); overflow: auto; }
.ilmarimed-theme .ilm-review-dialog::backdrop { background: rgba(0,0,0,.45); }
.ilmarimed-theme .ilm-review-dialog__close { position: absolute; right: 15px; top: 15px; width: 40px; height: 40px; padding: 0 !important; border: 0; border-radius: 50%; background: var(--ilm-panel); color: var(--ilm-brown); font: 24px/40px Manrope,Arial,sans-serif; }
.ilmarimed-theme .ilm-review-dialog .ilm-full-review { margin: 0; padding: 0 !important; background: transparent; }
.ilmarimed-theme.ilm-review-dialog-open { overflow: hidden; }
.ilmarimed-theme .prices-filter .buttons .btn { padding: 10px 20px !important; font-size: 14px; line-height: 18px; }
.ilmarimed-theme .reviews-list > .alert-list-empty { grid-column: 1 / -1; }
.ilmarimed-theme .staff-photo-placeholder { display: grid !important; place-items: center; }
.ilmarimed-theme .site-header__location:not(:has(.cl-widget-contact)) { justify-content: flex-end; }
.ilmarimed-theme .site-header__phone .phone-buttons a[href='tel:'],
.ilmarimed-theme .site-header__phone .phone-buttons a[href='tel:']:not(._phone) { display: none !important; }
@media (min-width: 1200px) {
  .ilmarimed-theme:has(.content-prices-title) .breadcrumb { padding: 37.5px 0; }
  .ilmarimed-theme .content-prices-title { margin-bottom: 40px !important; }
}
@media (max-width: 767.98px) {
  .ilmarimed-theme .breadcrumb { padding: 30px 0; font-size: 11px; line-height: 15px; }
  .ilmarimed-theme h1, .ilmarimed-theme .page-title, .ilmarimed-theme .ilm-detail-title,
  .ilmarimed-theme .body-toolbox h1, .ilmarimed-theme .ilm-article-page > h1 { margin-bottom: 30px !important; }
  .ilmarimed-theme .prices-filter { margin-bottom: 30px; }
}

.ilmarimed-theme h1[class^='content-'][class$='-title'] { position: static !important; height: auto !important; transform: none !important; margin-bottom: 40px !important; line-height: 1.1 !important; }
.ilmarimed-theme .works_list { padding-left: 0; min-height: 0; }
.ilmarimed-theme .staff-item__bio { max-width: 747px; }
.ilmarimed-theme .staff-item__intro--compact { min-height: 0; }
.ilmarimed-theme .ilm-staff-sections:not(:has(*)) { display: none; }
@media (max-width: 767.98px) {
  .ilmarimed-theme h1[class^='content-'][class$='-title'] { margin-bottom: 30px !important; }
}

/* Reviews: two equal card tracks and the actual 422 px invitation column. */
.ilmarimed-theme .ilm-review-filters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-bottom: 40px; }
.ilmarimed-theme .ilm-review-filters select { width: 100%; height: 40px; padding: 0 20px; border: 0; border-radius: 30px; background: var(--ilm-panel); color: #999; font: 400 14px Manrope,Arial,sans-serif; opacity: 1; }
.ilmarimed-theme .ilm-reviews-layout { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ilmarimed-theme .ilm-reviews-layout .reviews-list { grid-column: 1 / span 2; }
.ilmarimed-theme .reviews-list__item { min-height: 400px; display: flex; flex-direction: column; }
.ilmarimed-theme .reviews-list__content { display: flex; flex: 1; flex-direction: column; }
.ilmarimed-theme .reviews-list__content > .mt-3 { margin-top: auto !important; padding-top: 20px; }
.ilmarimed-theme .ilm-review-sidebar { display: grid; max-width: 422px; gap: 20px; }
.ilmarimed-theme .ilm-review-invitation { position: relative; display: flex; min-height: 323px; flex-direction: column; overflow: hidden; padding: 40px; }
.ilmarimed-theme .ilm-review-invitation::after { position: absolute; inset: auto 0 -8px; height: 155px; background: url('../images/figma/direction-wave.svg') right bottom / 100% 100% no-repeat; content: ''; pointer-events: none; }
.ilmarimed-theme .ilm-review-invitation > * { position: relative; z-index: 1; }
.ilmarimed-theme .ilm-review-invitation .btn { margin-top: auto; }
.ilmarimed-theme .ilm-review-platforms { min-height: 227px; padding: 40px; border: 1px solid #c6bab2; border-radius: 20px; }
.ilmarimed-theme .ilm-review-platforms h2 { margin: 0 0 20px; font-size: 28px !important; line-height: 31px; }
.ilmarimed-theme .ilm-review-platforms p { font-size: 16px; line-height: 22px; }
.ilmarimed-theme .ilm-review-platforms__links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.ilmarimed-theme .ilm-review-platforms .btn { min-height: 40px; max-width: 100%; padding: 10px 18px !important; font-size: 13px; overflow-wrap: anywhere; white-space: normal; }
.ilmarimed-theme .ilm-prodoctorov { font-size: 14px; font-weight: 600; color: #3487e6; }
.ilmarimed-theme .ilm-prodoctorov b { color: #f5634a; font-weight: 600; }

/* Contacts without requisites use the visible side-by-side information/map frame. */
.ilmarimed-theme .ilm-contact-page > h1 { margin-bottom: 40px !important; }
.ilmarimed-theme .ilm-contact-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-bottom: 120px; }
.ilmarimed-theme .ilm-contact-information { min-width: 0; min-height: 537px; padding: 30px; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-contact-label { display: block; margin-bottom: 10px; color: #999; font-size: 14px; line-height: 20px; }
.ilmarimed-theme .ilm-contact-block { margin-bottom: 30px; }
.ilmarimed-theme .ilm-contact-block:last-child { margin-bottom: 0; }
.ilmarimed-theme .ilm-contact-description, .ilmarimed-theme .ilm-contact-value { color: var(--ilm-brown); font-size: 20px; line-height: 24px; font-weight: 600; overflow-wrap: anywhere; }
.ilmarimed-theme .ilm-contact-description p { margin: 0 0 20px; }
.ilmarimed-theme .ilm-contact-map { min-width: 0; overflow: hidden; border-radius: 20px; background: var(--ilm-panel); }
.ilmarimed-theme .ilm-contact-map iframe { display: block; width: 100% !important; height: 100% !important; min-height: 537px; border: 0; }
.ilmarimed-theme .ilm-contact-layout--requisites .ilm-contact-map { grid-column: 1 / -1; min-height: 650px; }
.ilmarimed-theme .ilm-contact-layout--no-map:not(.ilm-contact-layout--requisites) { grid-template-columns: 1fr; }
.ilmarimed-theme:has(.ilm-page--contact) #page-wrapper > .row.form { display: none !important; }
.ilmarimed-theme .ilm-contact-information .socials-block__list { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0; list-style: none; }
.ilmarimed-theme .ilm-contact-information .socials-block__list li { width: 50px; height: 50px; margin: 0; }
.ilmarimed-theme .ilm-contact-information .socials-block__list a { display: block; width: 50px; height: 50px; border-radius: 10px; background: var(--ilm-brown) center / 24px no-repeat; }
.ilmarimed-theme .ilm-contact-information .telegram-link { background-image: url('../images/telegram.svg'); }
.ilmarimed-theme .ilm-contact-information .youtube-link { background-image: url('../images/yt.svg'); }
.ilmarimed-theme .ilm-contact-information .vk-link { background-image: url('../images/vk.svg'); }

/* Download rows mirror their actual file types and keep long names flexible. */
.ilmarimed-theme .pages_item .field.f_doc .file_list { grid-template-columns: 30px minmax(0,1fr); gap: 20px; min-height: 70px; margin-bottom: 10px; padding: 20px; }
.ilmarimed-theme .pages_item .field.f_doc .fileicon { width: 30px; height: 30px; background: url('../images/document-outline.svg') center / 30px no-repeat; }
.ilmarimed-theme .pages_item .field.f_doc .fileicon img { visibility: hidden; width: 24px; height: 30px; }
.ilmarimed-theme .pages_item .field.f_doc .filename a { min-height: 30px; gap: 14px; font-size: 16px; line-height: 1.2; font-weight: 500; }
.ilmarimed-theme .pages_item .field.f_doc .filename a::after { content: attr(data-download-label); flex: 0 0 88px; width: 88px; height: 30px; border-radius: 30px; font-size: 12px; line-height: 16px; font-weight: 400; }
@media (max-width: 1199.98px) {
  .ilmarimed-theme .ilm-review-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ilmarimed-theme .ilm-reviews-layout { grid-template-columns: 1fr; }
  .ilmarimed-theme .ilm-reviews-layout .reviews-list { grid-column: auto; }
  .ilmarimed-theme .reviews-list__item { min-height: 300px; }
  .ilmarimed-theme .ilm-review-sidebar { max-width: none; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ilmarimed-theme .ilm-contact-layout { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
  .ilmarimed-theme .ilm-review-filters { grid-template-columns: 1fr; gap: 10px; margin-bottom: 30px; }
  .ilmarimed-theme .reviews-list__item { min-height: 400px; }
  .ilmarimed-theme .ilm-reviews-layout .reviews-list__title h3, .ilmarimed-theme .ilm-reviews-layout .reviews-list__title a, .ilmarimed-theme .ilm-review-card__author { font-size: 18px !important; line-height: 22px !important; }
  .ilmarimed-theme .ilm-review-sidebar { grid-template-columns: 1fr; }
  .ilmarimed-theme .ilm-review-invitation, .ilmarimed-theme .ilm-review-platforms { padding: 20px; }
  .ilmarimed-theme .ilm-footer-contact > a { font-size: 20px; }
  .ilmarimed-theme .site-footer__row .widget__title, .ilmarimed-theme .ilm-footer-documents h3 { font-size: 16px !important; }
  .ilmarimed-theme .site-footer__row > div:first-child::before { font-size: 16px; }
  .ilmarimed-theme .ilm-contact-page > h1 { margin-bottom: 30px !important; }
  .ilmarimed-theme .ilm-contact-layout { gap: 20px; margin-bottom: 70px; }
  .ilmarimed-theme .ilm-contact-information { min-height: 0; padding: 20px; }
  .ilmarimed-theme .ilm-contact-layout--requisites .ilm-contact-map, .ilmarimed-theme .ilm-contact-map iframe { min-height: 400px; }
  .ilmarimed-theme .pages_item .field.f_doc .filename a { font-size: 15px; line-height: 18px; }
  .ilmarimed-theme .pages_item .field.f_doc .filename a::after { content: '↓'; flex-basis: 30px; width: 30px; height: 30px; border-radius: 50%; font-size: 18px; line-height: 20px; }
}

/* Complete hero component, independent of the retired v6/v10 hero rules. */
.ilmarimed-theme .widget-main-slider__item { height: auto !important; min-height: 614px !important; background: var(--ilm-panel) !important; }
.ilmarimed-theme .widget-main-slider__item > .container { position: relative; width: 100%; max-width: 1440px !important; height: auto !important; min-height: 614px !important; padding: 0 60px !important; }
.ilmarimed-theme .widget-main-slider__item .row { display: flex; flex-direction: row; align-items: center; height: auto !important; min-height: 614px !important; margin: 0 !important; }
.ilmarimed-theme .widget-main-slider__info { position: relative; z-index: 3; flex: 0 0 50% !important; width: 50% !important; max-width: 600px !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; text-align: left; background: none !important; }
.ilmarimed-theme .widget-main-slider__eyebrow { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 6px; margin: 0 0 15.5px; color: var(--ilm-brown); text-transform: none; letter-spacing: 0; }
.ilmarimed-theme .widget-main-slider__eyebrow span { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 15px; border-radius: 100px; background: #fff !important; color: var(--ilm-brown); font-size: 14px; line-height: 20px; font-weight: 400; }
.ilmarimed-theme .widget-main-slider__title { max-width: 574px !important; margin: 0 0 30px !important; color: var(--ilm-brown) !important; font-size: 45px !important; line-height: 50px !important; font-weight: 600 !important; letter-spacing: 0 !important; }
.ilmarimed-theme .widget-main-slider__title::before, .ilmarimed-theme .widget-main-slider__title::after { display: none !important; }
.ilmarimed-theme .widget-main-slider__text { max-width: 491px; margin: 0 0 30px; color: var(--ilm-ink); font-size: 16px; line-height: 22px; letter-spacing: 0; }
.ilmarimed-theme .widget-main-slider__text ul { padding: 0; margin: 0; list-style: none; }
.ilmarimed-theme .widget-main-slider__text li { position: relative; padding: 0 0 0 18px !important; margin: 0 0 6px; text-align: left; }
.ilmarimed-theme .widget-main-slider__text li::before { content: ''; position: absolute; top: .5em; left: 0; right: auto; bottom: auto; width: 8px; height: 8px; margin: 0; border: 0; border-radius: 50%; background: var(--ilm-orange); transform: none; }
.ilmarimed-theme .widget-main-slider__actions { display: flex; flex-wrap: wrap; flex-direction: row; align-items: center; justify-content: flex-start; width: auto; max-width: none; gap: 10px; margin: 0; }
.ilmarimed-theme .widget-main-slider__actions .btn { width: auto; min-height: 50px; padding: 14px 24px !important; font-size: 16px; line-height: 20px; font-weight: 500; }
.ilmarimed-theme .widget-main-slider__actions .iforms { margin: 0 !important; min-width: 0; }
.ilmarimed-theme .widget-main-slider__actions .btn-primary,
.ilmarimed-theme .widget-main-slider__actions .iforms .btn { background: var(--ilm-sand) !important; border-color: var(--ilm-sand) !important; color: var(--ilm-brown) !important; }
.ilmarimed-theme .widget-main-slider__actions .btn-secondary { background: transparent !important; border: 1px solid var(--ilm-brown) !important; color: var(--ilm-brown) !important; }
.ilmarimed-theme .widget-main-slider__image { position: absolute !important; inset: 0 0 0 auto !important; width: 50% !important; max-width: 50% !important; height: 100% !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border-radius: 0 !important; }
.ilmarimed-theme .widget-main-slider__image .image { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
.ilmarimed-theme .widget-main-slider__image picture { display: block; width: 100%; height: 100%; }
.ilmarimed-theme .ilm-hero-placeholder { display: grid; place-items: center; width: 100%; height: 100%; background: #e9e4de; color: #aaa; }
.ilmarimed-theme .ilm-hero-placeholder svg { width: 60px; height: 60px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.ilmarimed-theme .widget-main-slider__image img.desktop { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center; }
.ilmarimed-theme .widget-main-slider__image img.mobile, .ilmarimed-theme .widget-main-slider__image::after { display: none !important; }
.ilmarimed-theme .full-bottom-form__image { position: relative; aspect-ratio: auto; min-height: 550px; min-width: 0; width: 100%; max-width: 100%; }
.ilmarimed-theme .full-bottom-form__image img { position: static !important; inset: auto !important; display: block !important; width: 100% !important; max-width: 100% !important; min-width: 0; height: 100% !important; margin: 0 !important; transform: none !important; object-fit: cover; }
@media (min-width: 768px) and (max-width: 1199.98px) {
  .ilmarimed-theme .widget-main-slider__item, .ilmarimed-theme .widget-main-slider__item > .container, .ilmarimed-theme .widget-main-slider__item .row { min-height: 0 !important; height: auto !important; }
  .ilmarimed-theme .widget-main-slider__item > .container { padding: 0 !important; }
  .ilmarimed-theme .widget-main-slider__item .row { flex-direction: column; }
  .ilmarimed-theme .widget-main-slider__info { flex: 0 0 auto !important; width: 100% !important; max-width: none !important; padding: 40px 20px 50px !important; text-align: center; }
  .ilmarimed-theme .widget-main-slider__eyebrow { justify-content: center; }
  .ilmarimed-theme .widget-main-slider__title { max-width: 490px !important; margin-left: auto !important; margin-right: auto !important; font-size: 43px !important; line-height: 47px !important; }
  .ilmarimed-theme .widget-main-slider__text { margin-left: auto; margin-right: auto; }
  .ilmarimed-theme .widget-main-slider__actions { justify-content: center; }
  .ilmarimed-theme .widget-main-slider__image { position: relative !important; inset: auto !important; flex: 0 0 620px !important; width: 100% !important; max-width: none !important; height: 620px !important; }
}
@media (max-width: 767.98px) {
  .ilmarimed-theme .widget-main-slider__item, .ilmarimed-theme .widget-main-slider__item > .container, .ilmarimed-theme .widget-main-slider__item .row { min-height: 0 !important; height: auto !important; }
  .ilmarimed-theme .widget-main-slider__item > .container { padding: 0 !important; }
  .ilmarimed-theme .widget-main-slider__item .row { flex-direction: column; }
  .ilmarimed-theme .widget-main-slider__info { flex: 0 0 auto !important; width: 100% !important; max-width: none !important; padding: 30px 15px !important; text-align: center; }
  .ilmarimed-theme .widget-main-slider__eyebrow { justify-content: center; margin-bottom: 15px; }
  .ilmarimed-theme .widget-main-slider__eyebrow span { min-height: 25px; padding: 5px 15px; font-size: 11px; line-height: 15px; font-weight: 500; }
  .ilmarimed-theme .widget-main-slider__title { max-width: none !important; margin: 0 0 25px !important; font-size: 32px !important; line-height: 35px !important; }
  .ilmarimed-theme .widget-main-slider__text { max-width: 340px; margin: 0 auto 25px; font-size: 15px; line-height: 20px; }
  .ilmarimed-theme .widget-main-slider__actions { flex-direction: column; align-items: stretch; width: 304px; max-width: 100%; margin: 0 auto; gap: 10px; }
  .ilmarimed-theme .widget-main-slider__actions .btn { width: 100%; min-height: 50px; }
  .ilmarimed-theme .widget-main-slider__actions .iforms { width: 100%; }
  .ilmarimed-theme .widget-main-slider__image { position: relative !important; inset: auto !important; flex: 0 0 300px !important; width: 100% !important; max-width: none !important; height: 300px !important; min-height: 300px !important; }
  .ilmarimed-theme .full-bottom-form__image { height: 300px; min-height: 300px; aspect-ratio: 345 / 300; }
}

.ilmarimed-theme .ilm-detail-head { padding-top: 0; }
.ilmarimed-theme .pages_item:has(.field.f_doc) .ilm-detail-layout { max-width: none; width: 100%; }
.ilmarimed-theme:has(.ilm-page--doc) .ilm-detail-head .ilm-detail-title { margin-bottom: 30px !important; }
.ilmarimed-theme .ilm-page--doc .field.f_content { margin: 0 0 40px !important; padding: 0 !important; border: 0; background: transparent; }
.ilmarimed-theme .ilm-page--doc .field.f_content .value { max-width: 674px !important; margin: 0 !important; font-size: 16px; line-height: 22px !important; }
.ilmarimed-theme .ilm-page--doc .field.f_content .value p { margin: 0 !important; }
.ilmarimed-theme .ilm-page--doc .field.f_content .value p { font-size: 16px; line-height: 22px !important; }
.ilmarimed-theme .ilm-page--doc .field.f_doc { margin: 0; padding: 0; border: 0; background: transparent; }
.ilmarimed-theme .pages_item .field.f_doc .file_list { border: 0 !important; box-shadow: none; }
.ilmarimed-theme a:focus-visible, .ilmarimed-theme button:focus-visible { outline: 2px solid var(--ilm-sand); outline-offset: 3px; }
@media (min-width: 1200px) {
  .ilmarimed-theme:has(.ilm-page--doc) .breadcrumb { padding: 37.5px 0; }
}
@media (max-width: 767.98px) {
  .ilmarimed-theme .ilm-page--doc .field.f_content { margin-bottom: 30px !important; }
  .ilmarimed-theme .ilm-page--doc .field.f_content .value { font-size: 15px; line-height: 20px; }
  .ilmarimed-theme .ilm-page--doc .field.f_content .value p { font-size: 15px; line-height: 20px !important; }
}

.ilmarimed-theme .ilm-contact-information .socials-block__list a.telegram-link, .ilmarimed-theme .ilm-contact-information .socials-block__list a.tg-link { background-image: url('../images/telegram.svg'); }
.ilmarimed-theme .ilm-contact-information .socials-block__list a.youtube-link, .ilmarimed-theme .ilm-contact-information .socials-block__list a.yt-link { background-image: url('../images/yt.svg'); }
.ilmarimed-theme .ilm-contact-information .socials-block__list a.vk-link { background-image: url('../images/vk.svg'); }

/* Reset legacy translated panels; each component owns its single gutter. */
.ilmarimed-theme .mobile-menu { scrollbar-width: none; }
.ilmarimed-theme .mobile-menu::-webkit-scrollbar { display: none; }
.ilmarimed-theme .mobile-menu > .container { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
.ilmarimed-theme .mobile-menu__wrap { position: relative !important; left: 0 !important; right: 0 !important; width: 100% !important; max-width: none !important; margin: 0 !important; transform: none !important; padding: 0 15px 90px; }
.ilmarimed-theme .modal.show .modal-dialog { position: absolute; left: calc(var(--ilm-dialog-width, 100vw) / 2); top: 50%; margin: 0 !important; transform: translate(-50%, -50%); max-height: calc(100dvh - 30px); }
.ilmarimed-theme .modal.show .modal-content { max-height: calc(100dvh - 30px); overflow-y: auto; }

.ilmarimed-theme .ilm-about-hero { position: relative; min-height: 550px; border-radius: 20px; overflow: hidden; margin-bottom: 120px; }
.ilmarimed-theme .ilm-about-hero picture { position: absolute; inset: 0; }
.ilmarimed-theme .ilm-about-hero img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ilmarimed-theme .ilm-about-hero__copy { position: relative; z-index: 1; padding: 40px; color: #fff; }
.ilmarimed-theme .ilm-about-hero h1 { max-width: 521px; margin: 0 0 30px !important; color: #fff !important; font-size: 45px; line-height: 50px; }
.ilmarimed-theme .ilm-about-hero p { max-width: 445px; margin: 0; font-size: 16px; line-height: 22px; color: #fff; }
@media (min-width: 1200px) {
  .ilmarimed-theme:has(.ilm-page--aboutus) .breadcrumb { padding: 37.5px 0; }
}
@media (min-width: 768px) and (max-width: 1199.98px) {
  .ilmarimed-theme .ilm-about-hero { min-height: 859px; }
  .ilmarimed-theme:has(.ilm-page--aboutus) .breadcrumb { padding: 30px 0; }
  .ilmarimed-theme .ilm-about-hero h1 { font-size: 43px; line-height: 47px; }
}
@media (max-width: 767.98px) {
  .ilmarimed-theme .ilm-about-hero { min-height: 500px; margin-bottom: 70px; }
  .ilmarimed-theme .ilm-about-hero__copy { padding: 30px 20px; }
  .ilmarimed-theme .ilm-about-hero h1 { margin-bottom: 15px !important; font-size: 32px; line-height: 35px; }
  .ilmarimed-theme .ilm-about-hero p { font-size: 15px; line-height: 20px; }
}
