/*
 * Acil Kurum Rehberi responsive compatibility layer.
 * Loaded after the existing component styles so the desktop markup and
 * JavaScript behavior can stay unchanged.
 */

.acil-kurum-shell,
.acil-kurum-shell *,
.acil-mk-wrap,
.acil-mk-wrap *,
.acil-pro-info-card,
.acil-pro-info-card * {
  box-sizing: border-box;
}

.acil-kurum-shell img,
.acil-mk-wrap img,
.acil-pro-info-card img {
  height: auto;
  max-width: 100%;
}

.acil-kurum-shell h1,
.acil-kurum-shell h2,
.acil-kurum-shell h3,
.acil-kurum-shell h4,
.acil-kurum-shell h5,
.acil-kurum-shell p,
.acil-kurum-shell strong,
.acil-kurum-shell small,
.acil-mk-wrap,
.acil-pro-info-card {
  overflow-wrap: anywhere;
}

/* Tablet: retain the desktop hierarchy while preventing viewport overflow. */
@media (max-width: 1024px) {
  .acil-kurum-shell {
    max-width: 100% !important;
    padding-left: clamp(10px, 2vw, 18px) !important;
    padding-right: clamp(10px, 2vw, 18px) !important;
  }

  .acil-kurum-shell .acil-kurum-topbar,
  .acil-kurum-shell .acil-kurum-section-head,
  .acil-kurum-shell .acil-kurum-update-banner {
    min-width: 0;
  }

  .acil-kurum-shell .acil-kurum-filter-panel,
  .acil-kurum-shell .acil-kurum-detail-grid,
  .acil-kurum-shell .acil-kurum-update-grid,
  .acil-kurum-shell .ak-form-grid {
    max-width: 100%;
    min-width: 0;
  }
}

/* Phones and narrow tablets. */
@media (max-width: 760px) {
  .acil-kurum-shell {
    margin-bottom: 18px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    width: 100% !important;
  }

  .acil-kurum-shell .acil-kurum-topbar,
  .acil-kurum-shell .acil-kurum-section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .acil-kurum-shell .acil-kurum-brand {
    align-items: flex-start;
    width: 100%;
  }

  .acil-kurum-shell .acil-kurum-brand-text strong {
    font-size: clamp(21px, 7vw, 28px) !important;
  }

  .acil-kurum-shell .acil-kurum-hero {
    border-radius: 18px !important;
    gap: 16px !important;
    padding: 18px 14px !important;
  }

  .acil-kurum-shell .acil-kurum-hero-content h2 {
    font-size: clamp(25px, 8vw, 34px) !important;
  }

  .acil-kurum-shell .acil-kurum-hero-content p {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  .acil-kurum-shell .acil-kurum-search-panel,
  .acil-kurum-shell .acil-kurum-list-section {
    border-radius: 16px;
    padding: 12px;
  }

  .acil-kurum-shell .acil-kurum-search-box {
    min-width: 0;
    padding: 0 12px;
  }

  /* Prevent iOS Safari from zooming the page when a field receives focus. */
  .acil-kurum-shell input,
  .acil-kurum-shell select,
  .acil-kurum-shell textarea,
  .acil-mk-wrap input,
  .acil-mk-wrap select,
  .acil-mk-wrap textarea,
  .acil-pro-info-card input,
  .acil-pro-info-card select,
  .acil-pro-info-card textarea {
    font-size: 16px !important;
    max-width: 100%;
  }

  /* The last desktop rule in hastaneler-hub.css otherwise overrides mobile. */
  .acil-kurum-shell .acil-kurum-row {
    align-items: stretch !important;
    gap: 10px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 10px !important;
  }

  .acil-kurum-shell .acil-kurum-row > img {
    aspect-ratio: 16 / 8 !important;
    grid-column: 1 / -1;
    max-height: 220px;
    width: 100% !important;
  }

  .acil-kurum-shell .acil-kurum-row-main {
    grid-column: 1 / -1;
    min-width: 0;
  }

  .acil-kurum-shell .acil-kurum-row-stat,
  .acil-kurum-shell .acil-kurum-row-hip,
  .acil-kurum-shell .acil-kurum-row-score {
    align-content: center;
    min-height: 64px;
    min-width: 0 !important;
    padding: 9px !important;
    text-align: center;
  }

  .acil-kurum-shell .acil-kurum-row > button {
    grid-column: 1 / -1;
    min-height: 46px;
    width: 100%;
  }

  /* Modal uses the dynamic viewport and leaves scrolling to its body. */
  .acil-kurum-shell .acil-kurum-detail-panel {
    align-items: stretch;
    padding: 0 !important;
  }

  .acil-kurum-shell .acil-kurum-detail-card {
    border-radius: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    width: 100% !important;
  }

  .acil-kurum-shell .acil-kurum-detail-body {
    min-height: 0 !important;
    overscroll-behavior: contain;
    padding-bottom: max(16px, env(safe-area-inset-bottom));
    -webkit-overflow-scrolling: touch;
  }

  .acil-kurum-shell .acil-kurum-detail-section {
    min-height: 0 !important;
  }

  .acil-kurum-shell .acil-kurum-detail-close {
    right: max(12px, env(safe-area-inset-right));
    top: max(12px, env(safe-area-inset-top));
    z-index: 20;
  }

  .acil-kurum-shell .acil-kurum-detail-tabs,
  .acil-kurum-shell .acil-kurum-sub-tabs,
  .acil-kurum-shell .acil-kurum-update-page-tabs {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  .acil-kurum-shell .acil-kurum-detail-tabs button,
  .acil-kurum-shell .acil-kurum-sub-tabs button,
  .acil-kurum-shell .acil-kurum-update-page-tabs button {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .acil-kurum-shell .acil-kurum-detail-grid,
  .acil-kurum-shell .acil-kurum-update-grid,
  .acil-kurum-shell .acil-kurum-general-acil-grid,
  .acil-kurum-shell .ak-form-grid,
  .acil-kurum-shell .acil-kurum-area-subsection .acil-kurum-area-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .acil-kurum-shell .acil-kurum-detail-item,
  .acil-kurum-shell .acil-kurum-update-block,
  .acil-kurum-shell .acil-kurum-area-card {
    grid-column: auto !important;
    min-width: 0 !important;
  }

  .acil-kurum-shell .acil-kurum-review-submit,
  .acil-kurum-shell .acil-kurum-update-submit {
    align-items: stretch;
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
  }

  .acil-kurum-shell .acil-kurum-review-submit button,
  .acil-kurum-shell .acil-kurum-update-submit button {
    min-height: 46px;
    width: 100%;
  }

  /* Account/profession form: same markup, single readable column. */
  .acil-mk-wrap {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100%;
    width: 100%;
  }

  .acil-pro-info-card {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    padding: 16px;
  }

  .acil-pro-layout,
  .acil-mk-grid {
    gap: 14px;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .acil-mk-step,
  .acil-pro-layout > * {
    min-width: 0;
  }

  .acil-mk-button,
  .acil-pro-info-card button,
  .acil-pro-info-card .button,
  .acil-pro-hospital-card {
    min-height: 46px;
    width: 100%;
  }
}

@media (max-width: 480px) {
  .acil-kurum-shell {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .acil-kurum-shell .acil-kurum-hero-visual {
    min-height: 112px !important;
  }

  .acil-kurum-shell .acil-kurum-hospital-card {
    min-height: 104px !important;
    width: min(170px, 100%) !important;
  }

  .acil-kurum-shell .acil-kurum-category-grid {
    gap: 8px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .acil-kurum-shell .acil-kurum-category-card {
    border-radius: 14px !important;
    min-height: 112px !important;
    padding: 12px 8px !important;
  }

  .acil-kurum-shell .acil-kurum-category-icon {
    height: 44px !important;
    width: 44px !important;
  }

  .acil-kurum-shell .acil-kurum-category-card strong {
    font-size: 14px !important;
  }

  .acil-kurum-shell .acil-kurum-detail-hero {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    margin: 10px 10px 0 !important;
    padding: 14px 48px 14px 12px !important;
  }

  .acil-kurum-shell .acil-kurum-detail-logo {
    height: 58px !important;
    width: 58px !important;
  }

  .acil-kurum-shell .acil-kurum-detail-hero h2 {
    font-size: 18px !important;
  }

  .acil-kurum-shell .acil-kurum-detail-tabs {
    padding-left: 10px;
    padding-right: 10px;
  }

  .acil-kurum-shell .acil-kurum-detail-body,
  .acil-kurum-shell .acil-kurum-detail-section,
  .acil-kurum-shell .acil-kurum-update-page-card {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .acil-kurum-shell .acil-kurum-detail-section[data-detail-section="kadro"] .acil-kurum-kadro-row {
    gap: 4px !important;
    grid-template-columns: minmax(82px, 1fr) repeat(3, minmax(36px, .55fr)) !important;
    padding: 8px 6px !important;
  }

  .acil-kurum-shell .acil-kurum-detail-section[data-detail-section="kadro"] .acil-kurum-kadro-row strong {
    font-size: 11px !important;
  }

  .acil-pro-info-card,
  .acil-mk-card {
    padding: 13px !important;
  }
}

@media (max-width: 360px) {
  .acil-kurum-shell .acil-kurum-category-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .acil-kurum-shell .acil-kurum-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .acil-kurum-shell .acil-kurum-row > * {
    grid-column: 1 !important;
  }
}

/* Respect platform accessibility preferences without changing the layout. */
@media (prefers-reduced-motion: reduce) {
  .acil-kurum-shell *,
  .acil-mk-wrap *,
  .acil-pro-info-card * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
