/*
 * Client-journey UX contract.
 * Presentation-only changes: structured BreadcrumbList JSON-LD remains intact.
 */

/* Visible breadcrumb trails duplicate the primary navigation and consume the
 * most valuable space above the page hero. Keep schema breadcrumbs for search,
 * but do not render the visual trail. */
.breadcrumbs,
nav.breadcrumbs,
nav[aria-label="Навигационная цепочка"],
nav[aria-label="Навигациялық тізбек"],
nav[aria-label="Breadcrumb"],
nav[aria-label="Breadcrumbs"] {
  display: none !important;
}

/* With the redundant trail removed, keep service introductions close to the
 * primary navigation instead of leaving an artificial blank band. */
.service-hero,
.intro-section {
  padding-top: clamp(26px, 3.6vw, 46px) !important;
}

/* The expandable "one visit" card belongs to the left hero column. Expansion
 * may reflow that column, but must never vertically recenter/move the visual
 * column on the right. */
.home-hero-grid {
  align-items: start !important;
}
.home-hero-grid > :last-child {
  align-self: start !important;
}

/* Locale choices that do not have a real reciprocal route are removed from
 * interaction rather than advertising a dead destination. */
.lang-switcher .is-unavailable,
.site-shell-lang .is-unavailable,
.mobile-menu .is-unavailable {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  opacity: .38;
  cursor: not-allowed;
  pointer-events: none;
  filter: saturate(.45);
}
.mobile-menu .is-unavailable {
  display: block !important;
}

/* Footer: do not fake a desktop page with transform:scale(). That produces
 * unreadable text and undersized tap targets. Preserve the desktop information
 * architecture as a compact two-column grid on phones instead. */
@media (max-width: 720px) {
  .site-footer-v2__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px 18px !important;
  }
  .site-footer-v2__grid > :first-child,
  .site-footer-v2__grid > :last-child {
    grid-column: 1 / -1;
  }
  .site-footer-v2__heading {
    margin-bottom: 12px !important;
  }
  .site-footer-v2__links {
    gap: 8px !important;
  }
}

@media (max-width: 420px) {
  .site-footer-v2__grid {
    gap: 22px 14px !important;
  }
  .site-footer-v2__links a,
  .site-footer-v2__contact-row,
  .site-footer-v2__summary {
    font-size: 12px !important;
  }
}

/* Recovery prompt for the rare case where the booking widget fails to become
 * available. It stays on-page; WhatsApp is an explicit secondary user choice. */
.surdolog-booking-recovery {
  position: fixed;
  inset: 0;
  z-index: 100100;
  display: none;
  place-items: center;
  padding: 18px;
  background: rgba(44, 36, 22, .68);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.surdolog-booking-recovery.is-open { display: grid; }
.surdolog-booking-recovery__card {
  width: min(440px, 100%);
  border: 1px solid var(--border-soft, #e8dfca);
  border-radius: 18px;
  padding: 24px;
  background: var(--bg-ivory, #faf7f2);
  color: var(--text-deep, #2c2416);
  box-shadow: 0 20px 60px rgba(44, 36, 22, .3);
}
.surdolog-booking-recovery__card h2 {
  margin: 0 0 8px;
  font-family: var(--serif, Georgia, serif);
  font-size: 25px;
  font-weight: 500;
}
.surdolog-booking-recovery__card p {
  margin: 0 0 18px;
  line-height: 1.6;
  color: var(--text-body, #5a4e3c);
}
.surdolog-booking-recovery__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.surdolog-booking-recovery__actions button,
.surdolog-booking-recovery__actions a {
  min-height: 44px;
}
