/* Champion Centre v1.11.78 — deterministic mobile layout for About page. */
@media (max-width: 900px), (hover: none) and (pointer: coarse) {
  /* Foreign organization selector only. */
  .champion-foreign-org-selector,
  .champion-foreign-org-selector[hidden] {
    display: none !important;
  }

  /* Keep every About section in ordinary document flow. */
  body .about-page {
    display: block !important;
    overflow: visible !important;
  }

  body .about-page > .about-anchor-section {
    display: block !important;
    position: static !important;
    width: min(calc(100% - 28px), 720px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 28px 0 36px !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    content-visibility: visible !important;
    contain: none !important;
  }

  body .about-page > .about-anchor-section + .about-anchor-section {
    border-top: 1px solid #edf0f2 !important;
  }

  /* Directory button must scroll normally and never cover content. */
  body .about-page .structure-section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 14px !important;
  }

  body .about-page .structure-directory-link {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    display: inline-flex !important;
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Story. */
  body .about-page .about-story--expanded {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
    width: 100% !important;
    height: auto !important;
    padding: 22px 18px !important;
    overflow: visible !important;
  }

  body .about-page .about-work-tiles {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body .about-page .about-work-tile {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* Organization chart: linear mobile structure, no clipping. */
  body .about-page .org-chart {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 18px 12px !important;
    overflow: visible !important;
    contain: none !important;
  }

  body .about-page .org-chart__root,
  body .about-page .org-chart__branches,
  body .about-page .org-managements {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body .about-page .org-chart__branches,
  body .about-page .org-managements {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  body .about-page .org-chart__branches {
    margin-top: 16px !important;
  }

  body .about-page .org-chart__connector,
  body .about-page .org-chart__branches::before,
  body .about-page .org-branch::before {
    display: none !important;
  }

  body .about-page .org-branch,
  body .about-page .org-management {
    display: block !important;
    position: static !important;
    grid-column: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  body .about-page .org-branch {
    padding: 12px !important;
  }

  body .about-page .org-management {
    padding: 14px !important;
  }

  body .about-page .org-node--person,
  body .about-page .org-branch__lead--person {
    display: grid !important;
    grid-template-columns: 68px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 12px !important;
    text-align: left !important;
  }

  body .about-page .org-person__photo,
  body .about-page .org-person__photo--director,
  body .about-page .org-branch__lead--person .org-person__photo {
    display: block !important;
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
    height: 86px !important;
    object-fit: cover !important;
  }

  /* Events panel must occupy only its real content height. */
  body .about-page #events .info-panel--map-access {
    display: grid !important;
    position: static !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 20px 18px !important;
    overflow: visible !important;
  }

  body .about-page #events .page-link {
    position: static !important;
    display: inline-flex !important;
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Requisites: one column, natural height. */
  body .about-page .requisites-layout,
  body .about-page .requisites-card--detailed,
  body .about-page .requisites-list--detailed {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body .about-page .requisites-layout {
    gap: 16px !important;
  }

  body .about-page .requisites-card--detailed,
  body .about-page .requisites-download-card {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 18px !important;
    overflow: visible !important;
  }

  body .about-page .requisites-group--bank {
    margin-top: 18px !important;
    padding: 18px 0 0 !important;
    border-left: 0 !important;
    border-top: 1px solid #e1e7ea !important;
  }

  body .about-page .requisites-list--detailed > div {
    display: block !important;
    grid-column: auto !important;
    width: 100% !important;
    padding: 12px 0 !important;
  }

  body .about-page .requisites-list--detailed dt,
  body .about-page .requisites-list--detailed dd {
    display: block !important;
    width: 100% !important;
    overflow-wrap: anywhere !important;
  }
}

/* 1.11.79 — news archive visibility and natural mobile flow. */
@media (max-width: 900px), (hover: none) and (pointer: coarse) {
  body .news-page-main,
  body .news-page-section,
  body .news-list-heading,
  body .news-grid-all,
  body .news-grid-card,
  body .news-grid-card__body {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    content-visibility: visible !important;
    contain: none !important;
  }

  body .news-grid-all {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    margin-top: 20px !important;
  }

  body .news-grid-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    padding: 14px !important;
  }

  body .news-grid-card img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
  }
}


/* 1.11.80 — federation directory must remain visible on mobile. */
@media (max-width: 900px), (hover: none) and (pointer: coarse) {
  body .federations-page,
  body .federation-directory,
  body .federation-directory__intro,
  body .federation-directory__toolbar,
  body .federation-list {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    content-visibility: visible !important;
    contain: none !important;
  }

  body .federation-list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  body .federation-card:not([hidden]) {
    display: block !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    content-visibility: visible !important;
    contain: none !important;
  }

  body .federation-card[hidden] {
    display: none !important;
  }
}


/* v1.11.82 — remove the organization selector on every mobile page. */
@media (max-width: 900px), (hover: none) and (pointer: coarse) {
  html body .champion-foreign-org-selector,
  html body .champion-foreign-org-selector[hidden],
  html body .organization-selector,
  html body .organization-switcher,
  html body [data-organization-selector],
  html body .organization-select,
  html body .org-selector,
  html body .site-selector {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }
}


/* 1.11.93 — deterministic Documents page rendering. No JS visibility repair. */
body.champion-documents-page main.page-main,
body.champion-documents-page .documents-page-section,
body.champion-documents-page .official-resource-grid,
body.champion-documents-page .documents-register-heading,
body.champion-documents-page .document-category-list {
  display: block;
  visibility: visible;
  opacity: 1;
  transform: none;
}

body.champion-documents-page .official-resource-grid,
body.champion-documents-page .document-category-list {
  display: grid;
}

@media (max-width: 900px), (hover: none) and (pointer: coarse) {
  body.champion-documents-page .documents-page-section {
    width: min(calc(100% - 28px), 720px);
    margin-inline: auto;
    padding-top: 22px;
    padding-bottom: 36px;
  }

  body.champion-documents-page .official-resource-grid,
  body.champion-documents-page .document-category-list {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  body.champion-documents-page .official-resource-card,
  body.champion-documents-page .document-category-block,
  body.champion-documents-page .document-row {
    visibility: visible;
    opacity: 1;
  }
}

/* 1.11.94 — Documents must remain part of normal layout on every mobile load. */
body.champion-documents-page .documents-page-section {
  content-visibility: visible !important;
  contain: none !important;
  min-height: 1px !important;
  overflow: visible !important;
}
body.champion-documents-page .official-resource-grid,
body.champion-documents-page .documents-register-heading,
body.champion-documents-page .document-category-list,
body.champion-documents-page .official-resource-card,
body.champion-documents-page .document-category-block {
  animation: none !important;
  transition-property: none !important;
}
