/*
 * SCH responsive additions
 * Loaded separately from the theme styles. Desktop styles stay untouched.
 */

@media (max-width: 1100px) {
  :root {
    --sch-mobile-edge: clamp(16px, 4vw, 36px);
  }

  html,
  body {
    overflow-x: clip;
  }

  .wp-site-blocks {
    max-width: 100%;
    overflow-x: clip;
  }

  .wp-block-group.alignfull,
  .wp-block-cover.alignfull,
  .wp-block-query.alignfull,
  .alignfull {
    max-width: 100vw;
  }

  .wp-block-group[style*="padding-right:160px"],
  .wp-block-buttons[style*="padding-right:160px"],
  .news-all {
    padding-right: var(--sch-mobile-edge) !important;
    padding-left: var(--sch-mobile-edge) !important;
  }

  .wp-block-spacer {
    max-height: clamp(42px, 10vw, 105px);
  }
}

@media (max-width: 900px) {
  .wp-block-columns,
  .wp-block-columns.is-not-stacked-on-mobile {
    flex-wrap: wrap !important;
  }

  .wp-block-columns > .wp-block-column,
  .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
    flex-basis: 100% !important;
    min-width: 0;
  }

  .wp-block-navigation__container {
    row-gap: 8px;
  }

  .hero-section,
  .section-blue-army .wp-block-cover {
    min-height: clamp(420px, 70vh, 620px) !important;
  }

  .hero-section h1,
  .team-cover h1,
  .team-cover h2,
  .section-blue-army h1,
  .section-highlights h1 {
    font-size: clamp(2rem, 9vw, 4rem) !important;
    line-height: 1.02 !important;
    overflow-wrap: anywhere;
  }

  .match-carousel {
    padding-inline: 0;
  }

  .match-track {
    gap: 14px;
    padding-inline: var(--sch-mobile-edge);
    scroll-padding-inline: var(--sch-mobile-edge);
  }

  .match-card {
    flex-basis: min(78vw, 20rem);
    min-width: 0;
  }

  .match-nav {
    width: 40px;
    height: 40px;
  }

  .news-track {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
    padding-right: var(--sch-mobile-edge) !important;
    padding-left: var(--sch-mobile-edge) !important;
  }

  .news-card,
  .news-track > * {
    min-width: 0;
  }

  .news-media img,
  .wp-block-post-featured-image img {
    width: 100%;
    height: auto;
  }

  .highlights-track {
    display: grid !important;
    grid-auto-flow: column;
    grid-auto-columns: minmax(240px, 72vw);
    gap: 16px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    padding-inline: var(--sch-mobile-edge) !important;
    -webkit-overflow-scrolling: touch;
  }

  .highlights-track > * {
    scroll-snap-align: start;
  }

  .highlights-track img {
    width: 100% !important;
    height: auto !important;
  }
}

@media (max-width: 782px) {
  body {
    word-break: normal;
  }

  .wp-block-post-content > :where(p, h1, h2, h3, h4, ul, ol, figure, table),
  main.wp-block-group > .wp-block-group:not(.alignfull) {
    max-width: 100%;
  }

  .wp-block-cover__inner-container {
    width: min(100%, 100vw - 32px) !important;
  }

  .wp-block-cover,
  .wp-block-group {
    box-sizing: border-box;
  }

  .site-header,
  .site-footer {
    padding-right: var(--sch-mobile-edge) !important;
    padding-left: var(--sch-mobile-edge) !important;
  }

  .site-footer .wp-block-group,
  .site-footer .wp-block-navigation__container {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 18px !important;
  }

  .site-footer .wp-block-navigation,
  .site-footer .wp-block-navigation__container,
  .site-footer .wp-block-navigation-item {
    width: 100%;
  }

  .site-footer .wp-block-navigation-item__content {
    white-space: normal !important;
  }

  .sch-filters {
    padding-inline: var(--sch-mobile-edge);
  }

  .sch-filter-select {
    width: 100%;
    max-width: 100%;
    min-height: 44px;
  }

  .sch-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding-inline: var(--sch-mobile-edge);
  }

  .sch-tabs br {
    display: none;
  }

  .sch-tab {
    width: 100%;
    min-height: 44px;
    padding-inline: 10px;
    white-space: normal;
  }

  .sch-spielplan,
  .sch-section,
  .sch-tabpanel {
    max-width: 100%;
    overflow-x: hidden;
  }

  #sch-match-list,
  #sch-results-list,
  .sch-list {
    display: grid;
    gap: 14px;
  }

  .match-team,
  .match-team__name,
  .sch-sb-team {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  #sch-section-tabelle,
  .sch-table-wrap,
  .wp-block-table {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  #sch-section-tabelle table,
  .wp-block-table table {
    min-width: 620px;
  }
}

@media (max-width: 600px) {
  :root {
    --sch-mobile-edge: 16px;
  }

  .wp-block-spacer {
    max-height: 56px;
  }

  .hero-section,
  .section-blue-army .wp-block-cover {
    min-height: 72svh !important;
  }

  .hero-section h1,
  .team-cover h1,
  .team-cover h2,
  .section-blue-army h1,
  .section-highlights h1 {
    font-size: clamp(1.9rem, 12vw, 3rem) !important;
    letter-spacing: 0 !important;
  }

  .wp-block-button,
  .wp-block-button.has-custom-width,
  .wp-block-button__width-25,
  .wp-block-button__width-50,
  .wp-block-button__width-75 {
    width: 100% !important;
  }

  .wp-block-button__link {
    width: 100%;
    min-height: 46px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    white-space: normal;
  }

  .news-track {
    grid-template-columns: 1fr !important;
  }

  .news-title {
    font-size: clamp(1.2rem, 7vw, 1.7rem) !important;
    line-height: 1.12 !important;
  }

  .match-card {
    flex-basis: calc(100vw - 48px);
    padding: 16px;
  }

  .match-card .match-score {
    font-size: 1.35rem;
  }

  .match-card .match-teams,
  .match-card .match-date,
  .match-card .match-meta {
    overflow-wrap: anywhere;
  }

  .sch-tabs {
    grid-template-columns: 1fr;
  }

  .sch-sb-modal {
    width: calc(100vw - 24px) !important;
    max-height: calc(100svh - 24px) !important;
    margin: 12px;
  }

  .sch-sb-header,
  .sch-sb-score-block {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 8px;
    text-align: center;
  }

  .sch-sb-score {
    font-size: clamp(1.8rem, 12vw, 2.5rem) !important;
  }
}

@media (max-width: 420px) {
  .wp-block-cover {
    padding-right: var(--sch-mobile-edge) !important;
    padding-left: var(--sch-mobile-edge) !important;
  }

  .site-header .wp-block-navigation,
  .site-header .wp-block-navigation__responsive-container-content,
  .site-header .wp-block-navigation__container {
    width: 100%;
  }

  .match-track {
    padding-inline: 12px;
    scroll-padding-inline: 12px;
  }

  .match-card {
    flex-basis: calc(100vw - 24px);
  }

  .sch-filter-label {
    display: block;
    margin-bottom: 8px;
  }
}

/* -------------------------------------------------------------------------
   Wider mobile polish for SCH plugins and FSE blocks
   ------------------------------------------------------------------------- */

:root {
  --sch-mobile-edge: clamp(16px, 4vw, 40px);
  --sch-sponsor-banner-height: 63px;
}

img,
video,
iframe {
  max-width: 100%;
}

.wp-site-blocks *,
.wp-site-blocks *::before,
.wp-site-blocks *::after {
  box-sizing: border-box;
}

.sch-club,
.squad-widget,
.sch-eisw,
.sch-eis-pg__hero,
.sch-eis-pg__djbanner,
.sch-to,
.sch-gallery,
.sch-contact,
.sch-kant-card,
.sch-ki-card,
.sch-ss-grid,
.sch-tabelle-grid,
.sch-related {
  max-width: 100%;
}

@supports selector(body:has(#rotating-sponsors-banner)) {
  body:has(#rotating-sponsors-banner) {
    padding-bottom: var(--sch-sponsor-banner-height);
  }

  body:has(#rotating-sponsors-banner) footer.wp-block-template-part,
  body:has(#rotating-sponsors-banner) .site-footer {
    padding-bottom: calc(var(--sch-sponsor-banner-height) + 24px) !important;
  }
}

@media (max-width: 1100px) {
  .hero-section {
    margin-bottom: 0 !important;
  }

  .sch-eisw,
  .sch-eis-pg__hero,
  .sch-eis-pg__djbanner,
  .squad-widget {
    max-width: 100vw !important;
  }

  .sch-related__track,
  .sch-np-bar__inner,
  .sch-club__nav,
  .highlights-track,
  .match-track {
    overscroll-behavior-inline: contain;
  }
}

@media (max-width: 900px) {
  .hero-section {
    margin-top: calc(var(--sch-header-height, 84px) * -1) !important;
    min-height: min(78svh, 720px) !important;
  }

  .section-termine,
  .section-news,
  .section-blue-army,
  .section-highlights,
  .section-white,
  .section-blue {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}

/* Fans/Club cards on the start page and fans overview. */
.sch-fans-club-cols,
body.page-id-11 .wp-block-post-content,
.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) {
  box-sizing: border-box !important;
  position: relative !important;
  right: auto !important;
  left: auto !important;
  width: min(calc(100vw - 40px), 1500px) !important;
  max-width: min(calc(100vw - 40px), 1500px) !important;
  margin-right: max(calc(50% - 750px), calc(50% - 50vw + 20px)) !important;
  margin-left: max(calc(50% - 750px), calc(50% - 50vw + 20px)) !important;
  transform: none !important;
  gap: clamp(14px, 2vw, 24px) !important;
  align-items: stretch !important;
}

body.page-id-11 .wp-block-post-content,
.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.sch-fans-club-cols > .wp-block-column {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  display: flex !important;
}

.sch-fans-club-cols .section-blue-army {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.sch-fans-club-cols .wp-block-cover,
body.page-id-11 .wp-block-post-content > .wp-block-cover,
.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover {
  box-sizing: border-box !important;
  position: relative !important;
  isolation: isolate !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  transform: none !important;
  min-height: clamp(340px, 32vw, 520px) !important;
  aspect-ratio: 4 / 3 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 18px 46px rgba(0, 0, 60, 0.14) !important;
}

.sch-fans-club-cols .wp-block-cover__image-background,
body.page-id-11 .wp-block-post-content > .wp-block-cover .wp-block-cover__image-background,
.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover .wp-block-cover__image-background {
  transform: scale(1.02) !important;
}

.sch-fans-club-cols .wp-block-cover__background,
body.page-id-11 .wp-block-post-content > .wp-block-cover .wp-block-cover__background,
.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover .wp-block-cover__background {
  opacity: 1 !important;
  background:
    linear-gradient(180deg, rgba(0, 0, 30, 0.08) 0%, rgba(0, 0, 45, 0.4) 50%, rgba(0, 0, 62, 0.72) 100%),
    linear-gradient(90deg, rgba(0, 0, 107, 0.42), rgba(0, 0, 0, 0.04)) !important;
}

.sch-fans-club-cols .wp-block-cover__inner-container,
body.page-id-11 .wp-block-post-content > .wp-block-cover .wp-block-cover__inner-container,
.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover .wp-block-cover__inner-container {
  display: flex !important;
  width: 100% !important;
  min-height: inherit !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  padding: clamp(22px, 3vw, 42px) !important;
}

.sch-fans-club-cols .wp-block-cover h1,
.sch-fans-club-cols .wp-block-cover p,
body.page-id-11 .wp-block-post-content > .wp-block-cover p,
.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover p {
  max-width: 9ch !important;
  margin: 0 !important;
  font-family: "Anton", system-ui, sans-serif !important;
  font-size: clamp(3.2rem, 5.5vw, 5.6rem) !important;
  font-weight: 400 !important;
  line-height: 0.92 !important;
  text-align: left !important;
  text-wrap: balance;
}

.sch-fans-club-cols .wp-block-cover h1 a,
.sch-fans-club-cols .wp-block-cover p a,
body.page-id-11 .wp-block-post-content > .wp-block-cover p a,
.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover p a {
  color: #fff !important;
  text-decoration: none !important;
  text-shadow: 0 2px 18px rgba(0, 0, 35, 0.36) !important;
}

.sch-fans-club-cols .wp-block-cover strong,
body.page-id-11 .wp-block-post-content > .wp-block-cover strong,
.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover strong {
  font-weight: 400 !important;
}

.sch-fan-card--linked {
  cursor: pointer;
}

.sch-fan-card__cover-link {
  position: absolute;
  inset: 0;
  z-index: 4;
  border-radius: inherit;
}

.sch-fan-card__cover-link:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -7px;
}

@media (max-width: 782px) {
  .sch-fans-club-cols,
  body.page-id-11 .wp-block-post-content,
  .wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) {
    width: min(calc(100vw - 28px), 600px) !important;
    max-width: min(calc(100vw - 28px), 600px) !important;
    margin-right: max(calc(50% - 300px), calc(50% - 50vw + 14px)) !important;
    margin-left: max(calc(50% - 300px), calc(50% - 50vw + 14px)) !important;
    gap: 16px !important;
  }

  .sch-fans-club-cols {
    flex-direction: column !important;
  }

  body.page-id-11 .wp-block-post-content,
  .wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) {
    grid-template-columns: 1fr !important;
  }

  .sch-fans-club-cols .wp-block-cover,
  body.page-id-11 .wp-block-post-content > .wp-block-cover,
  .wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover {
    min-height: clamp(280px, 70vw, 380px) !important;
    aspect-ratio: 1 / 0.82 !important;
  }

  .sch-fans-club-cols .wp-block-cover__inner-container,
  body.page-id-11 .wp-block-post-content > .wp-block-cover .wp-block-cover__inner-container,
  .wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover .wp-block-cover__inner-container {
    padding: clamp(20px, 6vw, 30px) !important;
  }

  .sch-fans-club-cols .wp-block-cover h1,
  .sch-fans-club-cols .wp-block-cover p,
  body.page-id-11 .wp-block-post-content > .wp-block-cover p,
  .wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover p {
    font-size: clamp(2.55rem, 12vw, 4rem) !important;
    line-height: 0.94 !important;
  }
}

@media (max-width: 430px) {
  .sch-fans-club-cols,
  body.page-id-11 .wp-block-post-content,
  .wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    margin-right: calc(50% - 50vw + 12px) !important;
    margin-left: calc(50% - 50vw + 12px) !important;
  }

  .sch-fans-club-cols .wp-block-cover,
  body.page-id-11 .wp-block-post-content > .wp-block-cover,
  .wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover {
    min-height: 300px !important;
    aspect-ratio: auto !important;
  }

  .sch-fans-club-cols .wp-block-cover h1,
  .sch-fans-club-cols .wp-block-cover p,
  body.page-id-11 .wp-block-post-content > .wp-block-cover p,
  .wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover p {
    font-size: clamp(2.3rem, 12.5vw, 3.25rem) !important;
  }
}

/* Footer and sticky sponsor banner */
footer.wp-block-template-part .site-footer .sch-footer-credit,
footer.wp-block-template-part > .sch-footer-credit,
.site-footer .sch-footer-credit {
  --sch-footer-credit-logo-width: clamp(138px, 12vw, 178px);
  --sch-footer-credit-badge-width: clamp(92px, 8vw, 122px);
  --sch-footer-credit-badge-gap: clamp(9px, 1.2vw, 14px);
  width: min(100%, 280px) !important;
  max-width: calc(100vw - 32px) !important;
  flex: 0 0 100% !important;
  order: 999 !important;
  clear: both !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  margin: clamp(28px, 3.6vw, 42px) auto 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

footer.wp-block-template-part .site-footer .sch-footer-credit__label,
footer.wp-block-template-part > .sch-footer-credit .sch-footer-credit__label,
.site-footer .sch-footer-credit__label {
  width: var(--sch-footer-credit-logo-width) !important;
  max-width: min(70vw, var(--sch-footer-credit-logo-width)) !important;
  margin: 0 !important;
  color: currentColor !important;
  font-size: clamp(13px, 1.05vw, 15px) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  text-align: center !important;
  opacity: 0.78 !important;
}

footer.wp-block-template-part .site-footer .sch-footer-credit__badges,
footer.wp-block-template-part > .sch-footer-credit .sch-footer-credit__badges,
.site-footer .sch-footer-credit__badges {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--sch-footer-credit-badge-gap) !important;
  margin: 0 auto !important;
}

footer.wp-block-template-part .site-footer .sch-footer-credit__logo,
footer.wp-block-template-part > .sch-footer-credit .sch-footer-credit__logo,
.site-footer .sch-footer-credit__logo {
  width: var(--sch-footer-credit-logo-width) !important;
  max-width: min(70vw, 178px) !important;
  height: auto !important;
  display: block !important;
  margin: 0 !important;
  object-fit: contain !important;
}

footer.wp-block-template-part .site-footer .sch-footer-credit__badge-link,
footer.wp-block-template-part > .sch-footer-credit .sch-footer-credit__badge-link,
.site-footer .sch-footer-credit__badge-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;
}

footer.wp-block-template-part .site-footer .sch-footer-credit__badge,
footer.wp-block-template-part > .sch-footer-credit .sch-footer-credit__badge,
.site-footer .sch-footer-credit__badge {
  width: var(--sch-footer-credit-badge-width) !important;
  max-width: min(48vw, 122px) !important;
  height: auto !important;
  display: block !important;
  margin: 0 !important;
  object-fit: contain !important;
}

@media (min-width: 783px) {
  footer.wp-block-template-part .site-footer .sch-footer-credit,
  .site-footer .sch-footer-credit {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    align-self: center !important;
  }

  footer.wp-block-template-part .site-footer > .wp-block-columns,
  .site-footer > .wp-block-columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 0.86fr) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: clamp(28px, 4vw, 72px) !important;
    width: min(100%, 1180px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  footer.wp-block-template-part .site-footer > .wp-block-columns > .wp-block-column,
  .site-footer > .wp-block-columns > .wp-block-column {
    min-width: 0 !important;
  }

  footer.wp-block-template-part .site-footer > .wp-block-columns > .wp-block-column:has(.wp-block-site-logo),
  .site-footer > .wp-block-columns > .wp-block-column:has(.wp-block-site-logo) {
    justify-self: center !important;
    text-align: center !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-site-logo,
  footer.wp-block-template-part .site-footer .wp-block-site-title,
  footer.wp-block-template-part .site-footer .wp-block-site-tagline,
  .site-footer .wp-block-site-logo,
  .site-footer .wp-block-site-title,
  .site-footer .wp-block-site-tagline {
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-site-logo img,
  .site-footer .wp-block-site-logo img {
    display: block !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

@media (max-width: 782px) {
  :root {
    --sch-sponsor-banner-height: 55px;
  }

  footer.wp-block-template-part .site-footer .sch-footer-credit,
  footer.wp-block-template-part > .sch-footer-credit,
  .site-footer .sch-footer-credit {
    --sch-footer-credit-logo-width: clamp(118px, 34vw, 146px);
    --sch-footer-credit-badge-width: clamp(88px, 28vw, 112px);
    --sch-footer-credit-badge-gap: 10px;
    width: min(100%, 260px) !important;
    max-width: calc(100vw - (var(--sch-mobile-edge, 18px) * 2)) !important;
    gap: 8px !important;
    margin-top: 2px !important;
  }

  footer.wp-block-template-part .site-footer .sch-footer-credit__badges,
  footer.wp-block-template-part > .sch-footer-credit .sch-footer-credit__badges,
  .site-footer .sch-footer-credit__badges {
    gap: var(--sch-footer-credit-badge-gap) !important;
  }

  footer.wp-block-template-part .site-footer .sch-footer-credit__logo,
  footer.wp-block-template-part > .sch-footer-credit .sch-footer-credit__logo,
  .site-footer .sch-footer-credit__logo {
    max-width: 52vw !important;
  }

  footer.wp-block-template-part .site-footer .sch-footer-credit__badge,
  footer.wp-block-template-part > .sch-footer-credit .sch-footer-credit__badge,
  .site-footer .sch-footer-credit__badge {
    max-width: 44vw !important;
  }

  #rotating-sponsors-banner {
    height: var(--sch-sponsor-banner-height) !important;
  }

  #rotating-sponsors-banner .sponsor-item {
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  #rotating-sponsors-banner .sponsor-item a,
  #rotating-sponsors-banner .sponsor-item img {
    height: 30px !important;
  }

  #rotating-sponsors-banner .sponsor-item img {
    max-width: 116px !important;
  }

  footer.wp-block-template-part,
  .site-footer {
    width: 100%;
    overflow-x: hidden;
  }

  footer.wp-block-template-part > .wp-block-group,
  footer.wp-block-template-part .wp-block-group.alignwide,
  footer.wp-block-template-part .wp-block-group.alignfull,
  .site-footer > .wp-block-group,
  .site-footer .wp-block-group.alignwide,
  .site-footer .wp-block-group.alignfull {
    width: 100% !important;
    max-width: 100% !important;
  }

  footer.wp-block-template-part .wp-block-group.alignfull,
  footer.wp-block-template-part .wp-block-columns,
  .site-footer .wp-block-group.alignfull,
  .site-footer .wp-block-columns {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 22px !important;
  }

  footer.wp-block-template-part .wp-block-column,
  footer.wp-block-template-part .wp-block-navigation,
  footer.wp-block-template-part .wp-block-navigation__container,
  footer.wp-block-template-part .wp-block-navigation-item,
  .site-footer .wp-block-column,
  .site-footer .wp-block-navigation,
  .site-footer .wp-block-navigation__container,
  .site-footer .wp-block-navigation-item {
    width: 100% !important;
    flex-basis: auto !important;
  }

  footer.wp-block-template-part .wp-block-navigation-item__content,
  .site-footer .wp-block-navigation-item__content {
    width: 100%;
    min-height: 44px;
    display: flex !important;
    align-items: center;
    white-space: normal !important;
  }
}

@media (max-width: 420px) {
  :root {
    --sch-sponsor-banner-height: 50px;
  }

  #rotating-sponsors-banner .sponsor-item {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  #rotating-sponsors-banner .sponsor-item a,
  #rotating-sponsors-banner .sponsor-item img {
    height: 26px !important;
  }

  #rotating-sponsors-banner .sponsor-item img {
    max-width: 96px !important;
  }
}

/* Squad widget */
@media (max-width: 900px) {
  .squad-widget {
    padding-top: 32px !important;
    padding-bottom: 64px !important;
  }

  .squad-section {
    margin-bottom: 48px !important;
  }

  .squad-section__grid,
  .sq-skeleton {
    grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)) !important;
    gap: 8px !important;
    padding-right: var(--sch-mobile-edge) !important;
    padding-left: var(--sch-mobile-edge) !important;
  }

  .squad-section__watermark {
    max-width: 100%;
    overflow: hidden;
    text-overflow: clip;
  }

  .sq-card__stats {
    flex-wrap: wrap;
    justify-content: flex-start !important;
    gap: 8px !important;
  }

  .sq-stat {
    flex: 1 1 68px;
    min-width: 0;
    padding-right: 10px !important;
    padding-left: 10px !important;
  }

  .sq-card__hover-overlay {
    bottom: 58px;
  }

  .sq-card__info {
    min-height: 58px;
  }
}

@media (max-width: 720px) {
  .sq-back-btn {
    top: calc(var(--sch-header-height, 84px) + 12px) !important;
    left: 12px !important;
    width: 42px !important;
    height: 42px !important;
    background: rgba(13, 26, 46, 0.72) !important;
    color: #fff !important;
  }

  .squad-section__grid,
  .sq-skeleton {
    padding-top: 96px !important;
  }

  .sq-card__number {
    bottom: 66px !important;
  }
}

@media (max-width: 480px) {
  .squad-section__grid,
  .sq-skeleton {
    grid-template-columns: 1fr !important;
    width: min(100%, 360px);
    margin-right: auto;
    margin-left: auto;
    padding-top: 76px !important;
  }

  .sq-card__img-wrap {
    padding-top: 132% !important;
  }

  .sq-card__hover-overlay {
    bottom: 64px;
  }

  .sq-card__nachname {
    font-size: clamp(15px, 5.8vw, 21px) !important;
  }

  .sq-stat-num {
    font-size: 20px !important;
  }
}

/* Club page */
@media (max-width: 782px) {
  .sch-club {
    --sch-club-nav-lift: 16px;
    overflow-x: clip;
  }

  .sch-club__nav {
    top: var(--sch-header-height, 84px) !important;
    gap: 8px !important;
    padding: 8px var(--sch-mobile-edge) !important;
    scroll-padding-inline: var(--sch-mobile-edge);
  }

  .sch-club__nav-link {
    min-height: 40px;
    padding: 10px 12px !important;
    border: 1px solid rgba(0, 0, 107, 0.14) !important;
    border-radius: 999px;
    font-size: 11px !important;
    letter-spacing: 0.06em !important;
  }

  .sch-club__nav-link.active {
    background: var(--sch-blue, #00006b);
    color: #fff !important;
  }

  .sch-club__section {
    padding: 46px var(--sch-mobile-edge) !important;
  }

  .sch-club__title {
    font-size: clamp(30px, 10vw, 46px) !important;
    margin-bottom: 28px !important;
    overflow-wrap: anywhere;
  }

  .sch-club__vorstand-grid,
  .sch-club__mitglied-grid,
  .sch-club__form-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .sch-club__sponsor-grid {
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
    gap: 12px !important;
  }

  .sch-sp {
    min-height: 92px !important;
    padding: 16px 12px !important;
  }

  .sch-sp__img {
    max-width: 108px !important;
    max-height: 42px !important;
  }

  .sch-club__ballspende-cta {
    align-items: stretch !important;
    padding: 24px 20px !important;
  }

  .sch-club__btn {
    min-height: 44px;
  }

  .sch-tr {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 16px !important;
  }

  .sch-tr__tag {
    grid-column: 2 !important;
    justify-self: start !important;
    white-space: normal !important;
  }
}

@media (max-width: 520px) {
  .sch-club__section {
    padding-top: 38px !important;
    padding-bottom: 38px !important;
  }

  .sch-vc,
  .sch-mc,
  .sch-fc {
    padding: 22px 18px !important;
    border-radius: 14px !important;
  }

  .sch-mc__price {
    font-size: clamp(38px, 14vw, 50px) !important;
  }

  .sch-tr {
    grid-template-columns: 1fr !important;
  }

  .sch-tr__date {
    display: flex;
    align-items: baseline;
    gap: 8px;
    text-align: left !important;
  }

  .sch-tr__tag {
    grid-column: auto !important;
  }

  .sch-club__btn {
    width: 100% !important;
  }
}

/* Eislauf */
@media (max-width: 900px) {
  /* Reset full-width breakout to prevent horizontal scroll on mobile. */
  .sch-eisw,
  .sch-eis-pg__hero,
  .sch-eis-pg__djbanner {
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    transform: none !important;
  }

  .sch-eisw,
  .sch-eis-pg__hero,
  .sch-eis-pg__djbanner {
    overflow-x: hidden !important;
  }

  .sch-eis-section {
    width: 100%;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  .sch-eis-inner {
    grid-template-columns: 1fr !important;
  }

  .sch-eis-bild img {
    min-height: 220px;
    max-height: 420px;
  }

  .sch-eis-pg__body {
    width: 100%;
    max-width: 100% !important;
  }
}

@media (max-width: 680px) {
  .sch-eisw {
    min-height: min(76svh, 560px) !important;
  }

  .sch-eisw__panel {
    padding: 20px var(--sch-mobile-edge) 24px !important;
  }

  .sch-eis-w__row {
    align-items: flex-start !important;
    gap: 4px !important;
  }

  .sch-eisw__maps {
    min-height: 40px;
    flex-wrap: wrap;
  }

  .sch-eis-pg__djbanner {
    flex-wrap: wrap;
    align-items: flex-start !important;
  }

  .sch-eis-kal-wrap {
    max-width: 100%;
    overflow-x: auto;
  }

  .sch-eis-kal {
    min-width: 460px !important;
  }
}

@media (max-width: 480px) {
  .sch-eis-hero {
    aspect-ratio: 4 / 3 !important;
    border-radius: 10px !important;
  }

  .sch-eis-hero__overlay {
    padding: 18px var(--sch-mobile-edge) !important;
  }

  .sch-eis-content {
    padding: 20px var(--sch-mobile-edge) !important;
  }

  .sch-eis-zeiten__row {
    flex-direction: column;
    gap: 3px;
  }

  .sch-eis-events__item {
    align-items: flex-start;
  }

  .sch-eis-pg__body {
    padding-right: var(--sch-mobile-edge) !important;
    padding-left: var(--sch-mobile-edge) !important;
  }

  .sch-eis-preis-grid {
    flex-direction: column !important;
  }
}

/* Contact, venue, kantine, tables, gallery and related content */
@media (max-width: 782px) {
  .sch-contact,
  .sch-ki-card,
  .sch-kant-card {
    width: 100%;
    max-width: 100% !important;
  }

  .sch-contact__input,
  .sch-contact__textarea,
  .sch-contact__submit {
    width: 100%;
  }

  .sch-contact__submit {
    min-height: 46px;
  }

  .sch-ki-inline {
    align-items: flex-start !important;
    gap: 8px 10px !important;
  }

  .sch-ki-inline__item {
    min-height: 32px;
  }

  .sch-ss-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .sch-ss-card__maps,
  .sch-ki-card__maps-btn {
    min-height: 44px;
  }

  .sch-tabelle-grid {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  }

  .sch-gallery__grid {
    gap: 6px !important;
  }

  .sch-related {
    padding-right: var(--sch-mobile-edge) !important;
    padding-left: var(--sch-mobile-edge) !important;
  }

  .sch-related__track {
    scroll-padding-inline: var(--sch-mobile-edge);
  }

  .sch-related__card {
    flex-basis: min(76vw, 280px) !important;
  }

  .sch-np-bar {
    margin-bottom: 24px !important;
  }

  .sch-np-bar__inner {
    padding-inline: var(--sch-mobile-edge) !important;
    scroll-padding-inline: var(--sch-mobile-edge);
  }
}

@media (max-width: 520px) {
  .sch-kant-week thead {
    display: none;
  }

  .sch-kant-week,
  .sch-kant-week tbody,
  .sch-kant-week tr,
  .sch-kant-week td {
    display: block;
    width: 100%;
  }

  .sch-kant-week tbody tr {
    padding: 10px 0;
  }

  .sch-kant-week__time {
    text-align: left !important;
    padding-top: 2px !important;
  }

  .sch-ki-card__row,
  .sch-ss-card__adresse {
    overflow-wrap: anywhere;
  }

  .sch-ki-inline__sep {
    display: none;
  }

  .sch-ki-inline {
    flex-direction: column;
  }

  .sch-gallery__grid {
    grid-template-columns: 1fr !important;
  }

  .sch-gallery__thumb {
    aspect-ratio: 16 / 10 !important;
  }

  .sch-gallery__lb-img,
  .sch-np-lb__img {
    max-height: 68svh !important;
  }

  .sch-gallery__lb-prev,
  .sch-gallery__lb-next,
  .sch-np-lb__nav {
    top: auto !important;
    bottom: 18px !important;
    transform: none !important;
  }

  .sch-related__card {
    flex-basis: calc(100vw - 48px) !important;
  }
}

/* Teams overview */
@media (max-width: 600px) {
  .sch-to__section {
    padding-top: 32px !important;
  }

  .sch-to__header {
    padding-right: var(--sch-mobile-edge) !important;
    padding-left: var(--sch-mobile-edge) !important;
  }

  .sch-to__card-body {
    padding: 14px var(--sch-mobile-edge) !important;
  }

  .sch-to__card-name {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 420px) {
  .sch-to__grid--youth {
    grid-template-columns: 1fr !important;
  }

  .sch-to__card,
  .sch-to__grid--youth .sch-to__card {
    aspect-ratio: 16 / 9 !important;
  }
}

/* Matchcenter and match/table rows */
@media (max-width: 600px) {
  .sch-mc__bar {
    gap: 12px !important;
  }

  .sch-mc__tabs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible !important;
  }

  .sch-mc__tab {
    width: 100%;
    min-height: 44px;
    padding-right: 8px !important;
    padding-left: 8px !important;
    white-space: normal !important;
  }

  .sch-mc__team {
    min-width: 0;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 420px) {
  .sch-mc__tabs {
    grid-template-columns: 1fr;
  }

  .sch-mc__row-match {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 6px !important;
  }

  .sch-mc__team,
  .sch-mc__team:last-child {
    text-align: left !important;
  }

  .sch-mc__score,
  .sch-mc__score-empty {
    justify-self: start;
  }

  .sch-tabelle-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (hover: none) {
  .sq-card:hover .sq-card__img-main,
  .sq-card:hover .sq-card__img-hover,
  .sch-vc:hover,
  .sch-mc:hover,
  .sch-fc:hover,
  .sch-sp:hover,
  .sch-tr:hover,
  .sch-to__card:hover .sch-to__card-bg,
  .sch-related__card:hover {
    transform: none !important;
  }
}

/* -------------------------------------------------------------------------
   Screenshot fixes: highlights, eislauf widget, footer
   ------------------------------------------------------------------------- */

@media (max-width: 782px) {
  .section-highlights {
    overflow: hidden;
  }

  .section-highlights > .wp-block-group:first-child {
    display: block !important;
    width: 100%;
  }

  .section-highlights h1,
  .section-highlights .wp-block-heading {
    margin-right: var(--sch-mobile-edge) !important;
    margin-left: var(--sch-mobile-edge) !important;
    font-size: clamp(34px, 9vw, 56px) !important;
    line-height: 0.98 !important;
    letter-spacing: 0 !important;
  }

  .section-highlights .wp-block-spacer {
    max-height: 22px;
  }

  .section-highlights .highlights-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 var(--sch-mobile-edge) 14px !important;
    margin: 0 !important;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--sch-mobile-edge);
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }

  .section-highlights .highlights-track::-webkit-scrollbar {
    display: none;
  }

  .section-highlights .highlights-track > .wp-block-image,
  .section-highlights .highlights-track > figure {
    flex: 0 0 min(76vw, 330px) !important;
    width: min(76vw, 330px) !important;
    max-width: min(76vw, 330px) !important;
    min-width: 0 !important;
    margin: 0 !important;
    border-radius: 14px;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    scroll-snap-align: start;
    background: #050535;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
  }

  .section-highlights .highlights-track > .wp-block-image a,
  .section-highlights .highlights-track > figure a {
    display: block;
    width: 100%;
    height: 100%;
  }

  /* Thumbnail vollständig zeigen statt anschneiden.
     "contain" statt "cover": passt das Seitenverhältnis nicht exakt zur Karte,
     entstehen symmetrische Balken auf dem navy Kartenhintergrund – statt eines
     einseitigen Anschnitts. min-height muss dabei zwingend auf 0, sonst zwingt
     die min-height: 320px aus den Global Styles das Bild über die Kartenhöhe
     hinaus und der Überhang wird unten abgeschnitten. */
  .section-highlights .highlights-track img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block;
  }
}

@media (max-width: 480px) {
  .section-highlights h1,
  .section-highlights .wp-block-heading {
    font-size: clamp(30px, 10.5vw, 42px) !important;
  }

  .section-highlights .highlights-track {
    gap: 12px !important;
  }

  .section-highlights .highlights-track > .wp-block-image,
  .section-highlights .highlights-track > figure {
    flex-basis: calc(100vw - 48px) !important;
    width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
  }
}

@media (max-width: 680px) {
  .sch-eisw {
    aspect-ratio: auto !important;
    min-height: 0 !important;
    display: block !important;
  }

  .sch-eisw::after {
    background: linear-gradient(180deg, rgba(0, 0, 40, 0.22) 0%, rgba(0, 0, 80, 0.94) 48%, rgba(0, 0, 90, 0.98) 100%) !important;
  }

  .sch-eisw__panel {
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 28px var(--sch-mobile-edge) 30px !important;
    justify-content: flex-start !important;
    background: rgba(0, 0, 107, 0.82) !important;
  }

  .sch-eisw__eyebrow {
    font-size: 12px !important;
    letter-spacing: 0.14em !important;
  }

  .sch-eisw__heading {
    font-size: clamp(24px, 7.4vw, 34px) !important;
    line-height: 1 !important;
    margin-bottom: 8px !important;
  }

  .sch-eisw__zeiten {
    gap: 0 !important;
  }

  .sch-eis-w__row {
    display: grid !important;
    grid-template-columns: minmax(84px, 1fr) auto;
    align-items: center !important;
    gap: 12px !important;
    min-height: 0 !important;
    padding: 10px 0 !important;
    font-size: 15px !important;
    border-bottom-color: rgba(255, 255, 255, 0.12) !important;
  }

  .sch-eis-w__day,
  .sch-eis-w__time {
    min-width: 0;
  }

  .sch-eis-w__day {
    white-space: nowrap;
  }

  .sch-eis-w__time {
    text-align: right;
    white-space: nowrap;
    font-weight: 700;
  }

  .sch-eisw__maps {
    margin-top: 22px !important;
    min-height: 40px;
    font-size: 14px !important;
  }

  .sch-eisw__btn {
    width: 100% !important;
    min-height: 52px;
    margin-top: 12px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 12px !important;
    font-size: 13px !important;
    text-align: center;
  }
}

@media (max-width: 400px) {
  .sch-eisw__panel {
    padding-top: 24px !important;
    padding-bottom: 26px !important;
  }

  .sch-eis-w__row {
    grid-template-columns: minmax(72px, 1fr) auto;
    gap: 8px !important;
    font-size: 14px !important;
  }

  .sch-eisw__maps {
    font-size: 13px !important;
  }
}

@media (max-width: 782px) {
  footer.wp-block-template-part,
  .site-footer {
    padding: 44px var(--sch-mobile-edge) 72px !important;
  }

  footer.wp-block-template-part .wp-block-site-logo,
  footer.wp-block-template-part .wp-block-site-logo img,
  .site-footer .wp-block-site-logo,
  .site-footer .wp-block-site-logo img {
    max-width: min(180px, 48vw) !important;
    height: auto !important;
    margin-right: auto;
    margin-left: auto;
  }

  footer.wp-block-template-part .wp-block-site-title,
  footer.wp-block-template-part .wp-block-site-tagline,
  .site-footer .wp-block-site-title,
  .site-footer .wp-block-site-tagline {
    width: 100%;
    text-align: center;
  }

  footer.wp-block-template-part .wp-block-site-title,
  .site-footer .wp-block-site-title {
    margin-top: 28px !important;
    font-size: clamp(24px, 7vw, 32px) !important;
  }

  footer.wp-block-template-part .wp-block-site-tagline,
  .site-footer .wp-block-site-tagline {
    margin-top: 10px !important;
    font-size: clamp(18px, 5.4vw, 24px) !important;
  }

  footer.wp-block-template-part .is-content-justification-space-between.wp-block-group:has(.wp-block-navigation),
  .site-footer .is-content-justification-space-between.wp-block-group:has(.wp-block-navigation) {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 22px 18px !important;
    width: 100% !important;
  }

  footer.wp-block-template-part .wp-block-navigation,
  .site-footer .wp-block-navigation {
    width: 100% !important;
    min-width: 0 !important;
  }

  footer.wp-block-template-part .wp-block-navigation__container,
  .site-footer .wp-block-navigation__container {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
  }

  footer.wp-block-template-part .wp-block-navigation-item,
  .site-footer .wp-block-navigation-item {
    width: 100% !important;
    min-width: 0 !important;
  }

  footer.wp-block-template-part .wp-block-navigation-item__content,
  footer.wp-block-template-part .wp-block-navigation-item__label,
  .site-footer .wp-block-navigation-item__content,
  .site-footer .wp-block-navigation-item__label {
    width: 100%;
    min-height: 34px;
    display: flex !important;
    align-items: center;
    font-size: clamp(16px, 4.2vw, 20px) !important;
    line-height: 1.14 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  footer.wp-block-template-part .wp-block-social-links,
  footer.wp-block-template-part .wp-block-social-links.is-layout-flex,
  .site-footer .wp-block-social-links,
  .site-footer .wp-block-social-links.is-layout-flex {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 18px !important;
    justify-content: center !important;
    width: 100%;
    margin-top: 34px !important;
  }

  footer.wp-block-template-part .wp-social-link,
  .site-footer .wp-social-link {
    margin: 0 !important;
  }

  footer.wp-block-template-part .wp-social-link a,
  .site-footer .wp-social-link a {
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
  }

  footer.wp-block-template-part .wp-social-link svg,
  .site-footer .wp-social-link svg {
    width: 28px !important;
    height: 28px !important;
  }
}

@media (max-width: 680px) {
  footer.wp-block-template-part .is-content-justification-space-between.wp-block-group:has(.wp-block-navigation),
  .site-footer .is-content-justification-space-between.wp-block-group:has(.wp-block-navigation) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px 18px !important;
  }
}

/* -------------------------------------------------------------------------
   Final responsive hardening for core blocks and remaining plugins
   ------------------------------------------------------------------------- */

@media (max-width: 782px) {
  body:not(.wp-admin),
  .wp-site-blocks,
  main,
  main > *,
  .wp-block-post-content,
  .wp-block-template-part,
  .wp-block-group,
  .wp-block-cover,
  .wp-block-columns,
  .wp-block-column,
  .wp-block-query,
  .wp-block-post-template,
  .wp-block-media-text,
  .wp-block-table,
  .wp-block-embed {
    min-width: 0;
  }

  body:not(.wp-admin) {
    overflow-x: clip;
  }

  .alignwide,
  .alignfull,
  .wp-block-group.alignwide,
  .wp-block-group.alignfull,
  .wp-block-cover.alignwide,
  .wp-block-cover.alignfull {
    max-width: 100vw !important;
  }

  .wp-block-media-text,
  .wp-block-media-text.is-stacked-on-mobile {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .wp-block-media-text .wp-block-media-text__media,
  .wp-block-media-text .wp-block-media-text__content {
    grid-column: 1 !important;
    grid-row: auto !important;
    padding-right: var(--sch-mobile-edge) !important;
    padding-left: var(--sch-mobile-edge) !important;
  }

  .wp-block-cover__inner-container > *,
  .wp-block-group > *,
  .wp-block-column > * {
    max-width: 100%;
  }

  .wp-block-embed,
  .wp-block-embed__wrapper,
  .wp-block-video,
  .wp-block-image {
    overflow: hidden;
  }

  .wp-block-embed iframe,
  iframe[src*="youtube"],
  iframe[src*="youtu.be"],
  iframe[src*="google.com/maps"],
  iframe[src*="openstreetmap"] {
    width: 100% !important;
    max-width: 100% !important;
  }

  .wp-block-gallery.has-nested-images {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }

  .wp-block-gallery.has-nested-images figure.wp-block-image {
    width: 100% !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open {
    padding: 22px var(--sch-mobile-edge) !important;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    align-items: stretch !important;
    gap: 6px !important;
    width: 100%;
  }

  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    min-height: 44px;
    width: 100%;
    display: flex !important;
    align-items: center;
  }

  .sch-club input,
  .sch-club select,
  .sch-club textarea,
  .sch-contact input,
  .sch-contact select,
  .sch-contact textarea {
    max-width: 100%;
    min-height: 44px;
    font-size: 16px;
  }

  .sch-club__mitglied-card,
  .sch-club__formular-card,
  .sch-vc,
  .sch-mc,
  .sch-fc,
  .sch-contact,
  .sch-ki-card,
  .sch-kant-card,
  .sch-ss-card {
    overflow-wrap: anywhere;
  }

  .sch-kant-w,
  .sch-kant-pg__hero {
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    transform: none !important;
  }

  .sch-kant-w__panel {
    width: 100% !important;
    min-height: 0 !important;
  }

  .sch-kant-w__row {
    display: grid !important;
    grid-template-columns: minmax(92px, 1fr) auto;
    align-items: center;
    gap: 12px !important;
  }

  .sch-kant-w__time {
    text-align: right;
    white-space: nowrap;
  }

  .sch-kant-w__maps {
    min-height: 36px;
    flex-wrap: wrap;
  }

  .sch-kant-pg__body {
    width: 100%;
    max-width: 100% !important;
  }

  .sch-kant-pg__week {
    table-layout: fixed;
  }

  .sch-kant-pg__maps-btn,
  .sch-mc__table-btn,
  .sch-mc__mehr,
  .sch-ss-card__maps,
  .sch-ki-card__maps-btn,
  .sch-contact__submit {
    min-height: 44px;
  }

  .sch-tabelle-list {
    width: 100%;
  }

  .sch-tabelle-list__link {
    min-height: 48px;
    gap: 12px;
    overflow-wrap: anywhere;
  }

  .sch-np-tab {
    min-height: 44px;
    align-items: center;
  }

  .sch-np-lb__top {
    gap: 12px;
  }

  .sch-np-lb__title {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .sch-np-lb__thumbs {
    justify-content: flex-start;
    padding-right: var(--sch-mobile-edge) !important;
    padding-left: var(--sch-mobile-edge) !important;
  }

  .sch-gallery__lb {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}

@media (max-width: 520px) {
  .wp-block-gallery.has-nested-images {
    grid-template-columns: 1fr !important;
  }

  .wp-block-post-template,
  .wp-block-query .wp-block-post-template {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .sch-club__nav-link {
    flex: 0 0 auto;
  }

  .sch-kant-w__row {
    grid-template-columns: minmax(76px, 1fr) auto;
    gap: 8px !important;
    font-size: 13px !important;
  }

  .sch-kant-pg__week,
  .sch-kant-pg__week tbody,
  .sch-kant-pg__week tr,
  .sch-kant-pg__week td {
    display: block;
    width: 100%;
  }

  .sch-kant-pg__week tr {
    padding: 10px 0;
  }

  .sch-kant-pg__day,
  .sch-kant-pg__time {
    width: 100% !important;
    text-align: left !important;
    padding: 3px 0 !important;
  }

  .sch-mc__filters {
    display: grid !important;
    grid-template-columns: 1fr;
  }

  .sch-mc__row {
    border-radius: 12px !important;
  }

  .sch-mc__bericht-hint {
    text-align: left !important;
  }

  .sch-np-lb {
    justify-content: center;
    padding-top: 62px;
    padding-bottom: 92px;
  }

  .sch-np-lb__top {
    padding: 10px 12px !important;
  }

  .sch-np-lb__title {
    font-size: 13px !important;
  }

  .sch-np-lb__close {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px;
  }

  .sch-np-lb__img-wrap,
  .sch-np-lb__img {
    max-width: calc(100vw - 24px) !important;
    max-height: 62svh !important;
  }

  .sch-np-lb__nav {
    width: 44px !important;
    height: 44px !important;
    top: auto !important;
    bottom: 20px !important;
    transform: none !important;
  }

  .sch-np-lb__nav--prev {
    left: 12px !important;
  }

  .sch-np-lb__nav--next {
    right: 12px !important;
  }
}

@media (max-width: 380px) {
  .wp-block-button__link,
  .sch-club__btn,
  .sch-kant-w__btn,
  .sch-eisw__btn,
  .sch-mc__tab,
  .sch-np-tab {
    font-size: 13px !important;
  }

  .squad-section__grid,
  .sq-skeleton {
    width: 100% !important;
  }

  .sq-card__stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sq-stat {
    min-width: 0 !important;
  }
}

@supports not selector(.site-footer:has(.wp-block-navigation)) {
  @media (max-width: 782px) {
    footer.wp-block-template-part .wp-block-navigation,
    .site-footer .wp-block-navigation {
      max-width: 100% !important;
    }

    footer.wp-block-template-part .wp-block-navigation + .wp-block-navigation,
    .site-footer .wp-block-navigation + .wp-block-navigation {
      margin-top: 10px !important;
    }
  }
}

@media (max-width: 380px) {
  footer.wp-block-template-part .is-content-justification-space-between.wp-block-group:has(.wp-block-navigation),
  .site-footer .is-content-justification-space-between.wp-block-group:has(.wp-block-navigation) {
    grid-template-columns: 1fr !important;
  }

  footer.wp-block-template-part .wp-block-navigation__container,
  .site-footer .wp-block-navigation__container {
    align-items: center !important;
  }

  footer.wp-block-template-part .wp-block-navigation-item__content,
  footer.wp-block-template-part .wp-block-navigation-item__label,
  .site-footer .wp-block-navigation-item__content,
  .site-footer .wp-block-navigation-item__label {
    justify-content: center;
    text-align: center;
  }
}

/* -------------------------------------------------------------------------
   Club title scaling and mobile homepage hero crop
   ------------------------------------------------------------------------- */

@media (max-width: 782px) {
  .sch-club__title {
    max-width: 100%;
    font-size: clamp(23px, 7.25vw, 46px) !important;
    line-height: 0.98 !important;
    letter-spacing: 0.01em !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  .sch-club__ballspende-title,
  .sch-tr__title,
  .sch-fc__title,
  .sch-vc__name {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  .sch-club__ballspende-title {
    font-size: clamp(20px, 6.2vw, 26px) !important;
    line-height: 1.05 !important;
  }

  .home .hero-section,
  body.home .hero-section,
  .front-page .hero-section,
  body.front-page .hero-section {
    min-height: 88svh !important;
    height: auto !important;
  }

  .home .hero-section .wp-block-cover__image-background,
  body.home .hero-section .wp-block-cover__image-background,
  .front-page .hero-section .wp-block-cover__image-background,
  body.front-page .hero-section .wp-block-cover__image-background {
    object-fit: cover !important;
    object-position: center center !important;
  }
}

@media (max-width: 600px) {
  .sch-club__title {
    font-size: clamp(21px, 6.7vw, 32px) !important;
  }

  .home .hero-section,
  body.home .hero-section,
  .front-page .hero-section,
  body.front-page .hero-section {
    min-height: 94svh !important;
  }

  .home .hero-section .wp-block-cover__inner-container,
  body.home .hero-section .wp-block-cover__inner-container,
  .front-page .hero-section .wp-block-cover__inner-container,
  body.front-page .hero-section .wp-block-cover__inner-container {
    min-height: calc(94svh - 48px);
    display: flex;
    align-items: flex-end;
  }
}

@media (max-width: 420px) {
  .sch-club__title {
    font-size: clamp(20px, 6.05vw, 28px) !important;
    letter-spacing: 0 !important;
  }

  .home .hero-section,
  body.home .hero-section,
  .front-page .hero-section,
  body.front-page .hero-section {
    min-height: 96svh !important;
  }
}

/* -------------------------------------------------------------------------
   Footer order, hero social links and non-sticky club filter
   ------------------------------------------------------------------------- */

@media (max-width: 782px) {
  footer.wp-block-template-part,
  .site-footer {
    text-align: center;
  }

  footer.wp-block-template-part > .wp-block-group,
  footer.wp-block-template-part .wp-block-group,
  .site-footer > .wp-block-group,
  .site-footer .wp-block-group {
    align-items: center !important;
    justify-content: center !important;
    text-align: center;
  }

  footer.wp-block-template-part .wp-block-site-logo,
  footer.wp-block-template-part .wp-block-site-title,
  footer.wp-block-template-part .wp-block-site-tagline,
  .site-footer .wp-block-site-logo,
  .site-footer .wp-block-site-title,
  .site-footer .wp-block-site-tagline {
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
  }

  footer.wp-block-template-part .is-content-justification-space-between.wp-block-group:has(.wp-block-navigation),
  .site-footer .is-content-justification-space-between.wp-block-group:has(.wp-block-navigation) {
    justify-items: center !important;
    align-items: start !important;
    max-width: min(100%, 560px);
    margin-right: auto !important;
    margin-left: auto !important;
  }

  footer.wp-block-template-part .wp-block-navigation,
  .site-footer .wp-block-navigation {
    justify-content: center !important;
    text-align: center !important;
  }

  footer.wp-block-template-part .wp-block-navigation__container,
  .site-footer .wp-block-navigation__container {
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
  }

  footer.wp-block-template-part .wp-block-navigation-item__content,
  footer.wp-block-template-part .wp-block-navigation-item__label,
  .site-footer .wp-block-navigation-item__content,
  .site-footer .wp-block-navigation-item__label {
    justify-content: center !important;
    text-align: center !important;
  }

  footer.wp-block-template-part ul.wp-block-social-links,
  footer.wp-block-template-part .wp-block-social-links,
  footer.wp-block-template-part .wp-block-social-links.is-layout-flex,
  .site-footer ul.wp-block-social-links,
  .site-footer .wp-block-social-links,
  .site-footer .wp-block-social-links.is-layout-flex {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    width: auto !important;
    max-width: 100%;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-left: 0 !important;
  }

  footer.wp-block-template-part .wp-social-link,
  footer.wp-block-template-part .wp-block-social-link,
  .site-footer .wp-social-link,
  .site-footer .wp-block-social-link {
    width: auto !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
  }

  .hero-section {
    position: relative;
  }

  .hero-section .wp-block-social-links {
    position: absolute !important;
    right: var(--sch-mobile-edge) !important;
    top: 50% !important;
    z-index: 5;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%);
  }

  .hero-section .wp-social-link,
  .hero-section .wp-block-social-link {
    width: auto !important;
    flex: 0 0 auto !important;
  }

  .hero-section .wp-social-link a,
  .hero-section .wp-block-social-link a {
    width: 42px !important;
    height: 42px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
  }

  .sch-club__nav {
    position: relative !important;
    top: auto !important;
    z-index: 1 !important;
  }
}

@media (max-width: 420px) {
  footer.wp-block-template-part .is-content-justification-space-between.wp-block-group:has(.wp-block-navigation),
  .site-footer .is-content-justification-space-between.wp-block-group:has(.wp-block-navigation) {
    max-width: min(100%, 360px);
  }

  footer.wp-block-template-part ul.wp-block-social-links,
  footer.wp-block-template-part .wp-block-social-links,
  .site-footer ul.wp-block-social-links,
  .site-footer .wp-block-social-links {
    gap: 14px !important;
  }

  .hero-section .wp-block-social-links {
    right: 12px !important;
    gap: 10px !important;
  }

  .hero-section .wp-social-link a,
  .hero-section .wp-block-social-link a {
    width: 38px !important;
    height: 38px !important;
  }
}

/* Hero uses outermost icon blocks, not the core social-links block. */
@media (max-width: 782px) {
  .hero-section .wp-block-cover__inner-container > .wp-block-group:has(.wp-block-outermost-icon-block) {
    position: absolute !important;
    top: 50% !important;
    right: max(18px, var(--sch-mobile-edge)) !important;
    left: auto !important;
    z-index: 6;
    width: auto !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
  }

  .hero-section .wp-block-outermost-icon-block,
  .hero-section .wp-block-outermost-icon-block.alignfull,
  .hero-section .wp-block-outermost-icon-block.items-justified-right {
    width: auto !important;
    max-width: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .hero-section .wp-block-outermost-icon-block .icon-container {
    width: 38px !important;
    height: 38px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
  }

  .hero-section .wp-block-outermost-icon-block svg {
    width: 100% !important;
    height: 100% !important;
    display: block;
  }
}

@media (max-width: 420px) {
  .hero-section .wp-block-cover__inner-container > .wp-block-group:has(.wp-block-outermost-icon-block) {
    right: 16px !important;
    gap: 12px !important;
  }

  .hero-section .wp-block-outermost-icon-block .icon-container {
    width: 34px !important;
    height: 34px !important;
  }
}

@media (max-width: 782px) {
  .sch-club__nav {
    z-index: 20 !important;
    width: 100%;
  }
}

@media (max-width: 520px) {
  .sch-club__nav {
    padding-right: var(--sch-mobile-edge) !important;
    padding-left: var(--sch-mobile-edge) !important;
  }
}

/* Mobile squad cards and teams overview spacing */
@media (max-width: 720px) {
  .squad-section {
    margin-bottom: 34px !important;
  }

  .squad-section__watermark {
    width: 100% !important;
    max-width: 100vw !important;
    padding-right: 8px !important;
    padding-left: 8px !important;
    overflow: visible !important;
    font-size: clamp(30px, 8.4vw, 68px) !important;
    letter-spacing: 0.015em !important;
    text-align: center !important;
  }

  .squad-section__grid,
  .sq-skeleton {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px !important;
    padding-right: 5px !important;
    padding-left: 5px !important;
    padding-top: clamp(70px, 18vw, 104px) !important;
  }

  .sq-card {
    min-width: 0;
  }

  .sq-card__img-wrap {
    padding-top: 136% !important;
  }

  .sq-card__img-main {
    object-fit: contain !important;
    object-position: center bottom !important;
    background: #122035 !important;
  }

  .sq-card__img-hover {
    object-fit: cover !important;
    object-position: center center !important;
    background: #122035 !important;
  }

  .sq-card__info {
    min-height: 52px !important;
    padding: 10px 10px 12px !important;
  }

  .sq-card__vorname {
    font-size: clamp(8px, 2.2vw, 10px) !important;
  }

  .sq-card__nachname {
    font-size: clamp(12px, 3.6vw, 17px) !important;
    letter-spacing: 0.035em !important;
  }

  .sq-card__number {
    bottom: 54px !important;
    left: 10px !important;
    font-size: clamp(26px, 8vw, 42px) !important;
  }

  .sq-card__hover-overlay {
    bottom: 0 !important;
    padding: 10px !important;
    opacity: 0 !important;
    transform: translateY(18px) !important;
  }

  .sq-card:is(:hover, :focus-within, :active) .sq-card__img-main {
    opacity: 0 !important;
    transform: scale(1.02) !important;
  }

  .sq-card:is(:hover, :focus-within, :active) .sq-card__img-hover {
    opacity: 1 !important;
    transform: scale(1) !important;
  }

  .sq-card:is(:hover, :focus-within, :active) .sq-card__gradient {
    opacity: 0.72 !important;
  }

  .sq-card:is(:hover, :focus-within, :active) .sq-card__number {
    opacity: 0.32 !important;
  }

  .sq-card:is(:hover, :focus-within, :active) .sq-card__info {
    opacity: 0 !important;
    transform: translateY(10px) !important;
  }

  .sq-card:is(:hover, :focus-within, :active) .sq-card__hover-overlay {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }

  .sq-card__stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px !important;
  }

  .sq-stat {
    min-width: 0 !important;
    padding: 6px 4px !important;
  }

  .sq-stat-num {
    font-size: clamp(15px, 4.6vw, 20px) !important;
  }

  .sq-stat-label {
    font-size: 7px !important;
    letter-spacing: 0.08em !important;
  }
}

@media (max-width: 420px) {
  .squad-widget {
    padding-top: 18px !important;
    padding-bottom: 42px !important;
  }

  .squad-section__watermark {
    font-size: clamp(28px, 8vw, 38px) !important;
    letter-spacing: 0 !important;
  }

  .squad-section__grid,
  .sq-skeleton {
    gap: 4px !important;
    padding-right: 4px !important;
    padding-left: 4px !important;
  }
}

@media (max-width: 600px) {
  .sch-to__section {
    padding-top: 24px !important;
  }

  .sch-to__section:first-child {
    padding-top: 22px !important;
  }

  .sch-to__section--dark {
    padding-bottom: 4px !important;
  }

  .sch-to__header {
    padding-right: var(--sch-mobile-edge) !important;
    padding-left: var(--sch-mobile-edge) !important;
    margin-bottom: 12px !important;
  }

  .sch-to__grid,
  .sch-to__grid--adults,
  .sch-to__grid--youth {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 4px !important;
  }

  .sch-to__card,
  .sch-to__grid--adults .sch-to__card,
  .sch-to__grid--youth .sch-to__card {
    aspect-ratio: 4 / 3 !important;
  }

  .sch-to__card-body {
    padding: 10px 9px !important;
  }

  .sch-to__card-name {
    font-size: clamp(13px, 4.2vw, 18px) !important;
    letter-spacing: 0.015em !important;
    overflow-wrap: normal !important;
  }

  .sch-to__card-label {
    font-size: 8px !important;
  }

  .sch-to__card:is(:hover, :focus-within, :active) .sch-to__card-bg {
    transform: scale(1.04) !important;
  }

  .sch-to__card:is(:hover, :focus-within, :active)::after {
    transform: scaleX(1) !important;
  }
}

/* Team overview cards should stay large enough to show the team photo. */
@media (max-width: 600px) {
  .sch-to__grid,
  .sch-to__grid--adults,
  .sch-to__grid--youth {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }

  .sch-to__card,
  .sch-to__grid--adults .sch-to__card,
  .sch-to__grid--youth .sch-to__card {
    aspect-ratio: 16 / 8 !important;
  }
}

@media (max-width: 420px) {
  .sch-to__card,
  .sch-to__grid--adults .sch-to__card,
  .sch-to__grid--youth .sch-to__card {
    aspect-ratio: 16 / 9 !important;
  }
}

/* Final club nav fix: JS owns sticky/fixed positioning. */
.sch-club__nav:not(.sch-club__nav--fixed) {
  position: relative !important;
  top: auto !important;
}

.sch-club__nav.sch-club__nav--fixed {
  position: fixed !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  max-width: 100vw !important;
  transform: translateZ(0);
}

.sch-club__nav-placeholder.sch-club__nav-placeholder--active {
  display: block !important;
}

/* -------------------------------------------------------------------------
   Mobile polish pass: hero, swipe cues, widgets, match rows and lightboxes
   ------------------------------------------------------------------------- */

@media (max-width: 782px) {
  .wp-block-spacer {
    max-height: clamp(28px, 8vw, 54px) !important;
  }

  .section-news + .wp-block-spacer,
  .section-highlights + .wp-block-spacer,
  .section-blue-army + .wp-block-spacer {
    max-height: 34px !important;
  }

  .home .hero-section,
  body.home .hero-section,
  .front-page .hero-section,
  body.front-page .hero-section {
    min-height: min(96svh, 760px) !important;
    padding-right: clamp(18px, 5vw, 32px) !important;
    padding-left: clamp(18px, 5vw, 32px) !important;
  }

  .home .hero-section .wp-block-cover__image-background,
  body.home .hero-section .wp-block-cover__image-background,
  .front-page .hero-section .wp-block-cover__image-background,
  body.front-page .hero-section .wp-block-cover__image-background {
    object-position: 56% 50% !important;
  }

  .hero-section .wp-block-cover__inner-container > .wp-block-group:has(.wp-block-outermost-icon-block) {
    right: clamp(14px, 4vw, 26px) !important;
  }

  .section-highlights .highlights-track {
    padding-right: calc(var(--sch-mobile-edge) + 52px) !important;
    scroll-padding-inline: var(--sch-mobile-edge);
  }

  .section-highlights .highlights-track > .wp-block-image,
  .section-highlights .highlights-track > figure {
    flex-basis: min(72vw, 320px) !important;
    width: min(72vw, 320px) !important;
    max-width: min(72vw, 320px) !important;
  }

  .section-highlights::after {
    content: "";
    display: block;
    width: 58px;
    height: 3px;
    margin: -4px auto 0;
    border-radius: 999px;
    background: rgba(0, 0, 107, 0.22);
  }

  .sch-eisw {
    border-radius: 0 !important;
  }

  .sch-eisw__img {
    max-height: 210px !important;
    object-position: center 46% !important;
  }

  .sch-eisw__panel {
    gap: 10px !important;
  }

  .sch-eis-w__row {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .sch-eisw__maps {
    margin-top: 12px !important;
  }

  .sch-eisw__btn {
    margin-top: 8px !important;
  }

  .match-track {
    gap: 10px !important;
  }

  .match-card {
    flex-basis: min(82vw, 340px) !important;
    border-radius: 12px;
  }

  .sch-mc__bar {
    align-items: stretch !important;
  }

  .sch-mc__tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 8px !important;
    scrollbar-width: none;
  }

  .sch-mc__tabs::-webkit-scrollbar {
    display: none;
  }

  .sch-mc__tab {
    flex: 1 0 auto;
    min-width: max-content;
  }

  .sch-mc__row-match {
    align-items: center !important;
  }

  .sch-mc__team {
    line-height: 1.2;
  }

  .sch-mc__score,
  .sch-mc__score-empty {
    min-width: 48px;
    text-align: center;
  }

  .sch-sb-overlay {
    padding: 0 !important;
    align-items: flex-end !important;
  }

  .sch-sb-modal {
    width: 100% !important;
    max-height: min(92svh, 720px) !important;
    border-radius: 18px 18px 0 0 !important;
  }

  .sch-sb-close,
  .sch-gallery__lb-close,
  .sch-np-lb__close {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  .sch-gallery__lb-inner {
    width: 100%;
    max-width: calc(100vw - 24px) !important;
  }

  .sch-gallery__lb-img,
  .sch-np-lb__img {
    max-width: calc(100vw - 24px) !important;
    max-height: 62svh !important;
  }
}

@media (max-width: 520px) {
  .home .hero-section,
  body.home .hero-section,
  .front-page .hero-section,
  body.front-page .hero-section {
    min-height: 92svh !important;
  }

  .home .hero-section .wp-block-cover__image-background,
  body.home .hero-section .wp-block-cover__image-background,
  .front-page .hero-section .wp-block-cover__image-background,
  body.front-page .hero-section .wp-block-cover__image-background {
    object-position: 58% 50% !important;
  }

  .section-highlights .highlights-track {
    gap: 12px !important;
    padding-right: 54px !important;
  }

  .section-highlights .highlights-track > .wp-block-image,
  .section-highlights .highlights-track > figure {
    flex-basis: calc(100vw - 76px) !important;
    width: calc(100vw - 76px) !important;
    max-width: calc(100vw - 76px) !important;
  }

  .sch-eisw__img {
    max-height: 190px !important;
  }

  .sch-eisw__panel {
    padding-top: 22px !important;
    padding-bottom: 24px !important;
  }

  .sch-mc__row-match {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr;
    gap: 8px !important;
  }

  .sch-mc__team,
  .sch-mc__team:last-child {
    text-align: left !important;
  }

  .sch-mc__team:last-child {
    text-align: right !important;
  }

  .sch-sb-score-block {
    grid-template-columns: 1fr !important;
    text-align: center;
  }

  .sch-sb-team,
  .sch-sb-team:last-child {
    text-align: center !important;
  }
}

@media (max-width: 390px) {
  .wp-block-spacer {
    max-height: 38px !important;
  }

  .section-highlights .highlights-track > .wp-block-image,
  .section-highlights .highlights-track > figure {
    flex-basis: calc(100vw - 62px) !important;
    width: calc(100vw - 62px) !important;
    max-width: calc(100vw - 62px) !important;
  }

  .sch-eis-w__row {
    font-size: 13px !important;
  }
}

/* Eislauf page mobile centering and crop fixes */
@media (max-width: 900px) {
  .page-id-1255 .wp-site-blocks,
  .page-id-1255 main,
  .page-id-1255 .wp-block-post-content,
  .page-id-1255 .entry-content,
  .page-id-1255 .is-layout-constrained,
  .page-id-1255 .wp-block-group {
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .sch-eisw,
  .sch-eis-hero,
  .sch-eis-section,
  .sch-eis-pg__hero,
  .sch-eis-pg__djbanner,
  .sch-eis-pg__body {
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    right: auto !important;
    margin-right: auto !important;
    margin-left: auto !important;
    transform: none !important;
    box-sizing: border-box;
  }

  .sch-eis-pg__hero {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
  }

  .sch-eis-hero {
    width: min(100%, 760px) !important;
    max-width: calc(100vw - (var(--sch-mobile-edge) * 2)) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    aspect-ratio: 4 / 3 !important;
    border-radius: 12px !important;
  }

  .sch-eis-hero__img {
    object-fit: cover !important;
    object-position: center center !important;
  }

  .sch-eis-section {
    max-width: calc(100vw - (var(--sch-mobile-edge) * 2)) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }

  .sch-eis-inner {
    width: 100%;
    justify-items: center;
  }

  .sch-eis-bild,
  .sch-eis-content {
    width: 100%;
  }

  .sch-eis-bild img {
    width: 100%;
    max-height: 320px !important;
    object-fit: cover;
    object-position: center center;
  }

  .sch-eis-content {
    text-align: center;
  }

  .sch-eis-zeiten__row,
  .sch-eis-events__item {
    justify-content: center;
  }

  .sch-eis-pg__hero-overlay {
    align-items: center !important;
    justify-content: flex-end !important;
    text-align: center !important;
    padding: 44px var(--sch-mobile-edge) 34px !important;
  }

  .sch-eis-pg__hero-title {
    max-width: 100%;
    font-size: clamp(36px, 13vw, 70px) !important;
    font-weight: 900 !important;
    line-height: 0.92 !important;
    letter-spacing: 0 !important;
    overflow-wrap: normal !important;
  }

  .sch-eis-pg__hero-sub {
    margin-top: 10px !important;
    text-align: center !important;
  }

  .sch-eis-pg__djbanner {
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 18px var(--sch-mobile-edge) !important;
  }

  .sch-eis-pg__djbanner > div {
    min-width: 0;
  }

  .sch-eis-pg__body {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    padding: 34px var(--sch-mobile-edge) 42px !important;
  }

  .sch-eis-pg__kalender,
  .sch-eis-pg__preise {
    width: 100%;
    max-width: 680px;
    margin-right: auto;
    margin-left: auto;
  }

  .sch-eis-pg__section-title {
    text-align: center !important;
    font-size: clamp(32px, 9vw, 48px) !important;
    font-weight: 900 !important;
    line-height: 0.95 !important;
    letter-spacing: 0 !important;
    margin-bottom: 20px !important;
  }

  .sch-eis-kal-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: auto;
    margin-left: auto;
    overflow-x: auto !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 28px rgba(0, 0, 107, 0.08);
  }

  .sch-eis-kal {
    width: 100% !important;
    min-width: min(520px, 100%) !important;
  }

  .sch-eis-preis-grid {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .sch-eis-preis-card {
    min-width: 0;
    padding: 18px 12px !important;
  }
}

@media (max-width: 560px) {
  .sch-eis-pg__hero {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
  }

  .sch-eis-pg__hero-overlay {
    padding-bottom: 38px !important;
  }

  .sch-eis-pg__body {
    padding: 28px var(--sch-mobile-edge) 36px !important;
    gap: 24px !important;
  }

  .sch-eis-kal {
    min-width: 0 !important;
    table-layout: fixed;
  }

  .sch-eis-kal thead th,
  .sch-eis-kal td {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }

  .sch-eis-kal thead th {
    font-size: 10px !important;
  }

  .sch-eis-kal td {
    font-size: 12px !important;
  }

  .sch-eis-kal__date strong {
    font-size: 13px !important;
  }

  .sch-eis-kal__disco-badge {
    display: inline-flex;
    max-width: 100%;
    white-space: normal !important;
    line-height: 1.15;
  }

  .sch-eis-preis-grid {
    grid-template-columns: 1fr !important;
    max-width: 360px;
    margin-right: auto;
    margin-left: auto;
  }

  .sch-eis-preis-card__price {
    font-size: 34px !important;
  }
}

@media (max-width: 420px) {
  .sch-eis-pg__hero {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
  }

  .sch-eis-pg__hero-title {
    font-size: clamp(34px, 14vw, 52px) !important;
  }

  .sch-eis-pg__djbanner {
    flex-direction: column !important;
    gap: 8px !important;
  }

  .sch-eis-dj__img {
    margin-right: auto;
    margin-left: auto;
  }
}

/* Restore the Eislauf page hero to the original wide banner behavior. */
@media (max-width: 900px) {
  .page-id-1255 .wp-block-post-content,
  .page-id-1255 .entry-content,
  .page-id-1255 .wp-block-group,
  .page-id-1255 .is-layout-constrained {
    overflow: visible !important;
  }

  .sch-eis-pg__hero {
    width: 100vw !important;
    max-width: 100vw !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    position: relative !important;
    left: 50% !important;
    right: auto !important;
    margin-top: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    transform: translateX(-50%) !important;
    overflow: hidden !important;
    border-radius: 0 !important;
  }

  .sch-eis-pg__hero-overlay {
    align-items: flex-start !important;
    justify-content: flex-end !important;
    text-align: left !important;
    padding: 40px 6vw !important;
  }

  .sch-eis-pg__hero-title {
    max-width: 100% !important;
    font-size: clamp(34px, 8.5vw, 76px) !important;
    font-weight: 900 !important;
    line-height: 0.92 !important;
    letter-spacing: 0 !important;
  }

  .sch-eis-pg__hero-sub {
    text-align: left !important;
    margin-top: 8px !important;
  }
}

@media (max-width: 480px) {
  .sch-eis-pg__hero {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
  }

  .sch-eis-pg__hero-overlay {
    padding: 24px 5vw !important;
  }

  .sch-eis-pg__hero-title {
    font-size: clamp(30px, 10vw, 46px) !important;
  }

  .sch-eis-pg__hero-sub {
    font-size: 12px !important;
  }
}

/* Eislauf page: keep the DJ banner full width and give the calendar room. */
@media (max-width: 900px) {
  .sch-eis-pg__djbanner {
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: auto !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    transform: translateX(-50%) !important;
    box-sizing: border-box;
  }

  .sch-eis-pg__kalender {
    width: min(720px, calc(100vw - 24px)) !important;
    max-width: none !important;
    position: relative;
    left: 50%;
    margin-right: 0 !important;
    margin-left: 0 !important;
    transform: translateX(-50%);
  }

  .sch-eis-kal-wrap {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .sch-eis-kal {
    min-width: 520px !important;
    table-layout: auto !important;
  }

  .sch-eis-kal thead th,
  .sch-eis-kal td {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }
}

@media (max-width: 560px) {
  .sch-eis-pg__kalender {
    width: calc(100vw - 16px) !important;
  }

  .sch-eis-kal {
    min-width: 460px !important;
  }

  .sch-eis-kal thead th,
  .sch-eis-kal td {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }
}

/* Eislauf calendar: use more mobile width without clipping the table. */
@media (max-width: 560px) {
  .sch-eis-pg__body {
    padding-right: 6px !important;
    padding-left: 6px !important;
  }

  .sch-eis-pg__kalender {
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    margin-right: auto !important;
    margin-left: auto !important;
    transform: none !important;
  }

  .sch-eis-kal-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .sch-eis-kal {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
  }

  .sch-eis-kal thead th,
  .sch-eis-kal td {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }

  .sch-eis-kal thead th:nth-child(1),
  .sch-eis-kal td:nth-child(1) {
    width: 32%;
  }

  .sch-eis-kal thead th:nth-child(2),
  .sch-eis-kal td:nth-child(2) {
    width: 31%;
  }

  .sch-eis-kal thead th:nth-child(3),
  .sch-eis-kal td:nth-child(3) {
    width: 37%;
  }

  .sch-eis-kal__disco-badge {
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 390px) {
  .sch-eis-pg__body {
    padding-right: 4px !important;
    padding-left: 4px !important;
  }

  .sch-eis-kal thead th,
  .sch-eis-kal td {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }
}

/* Final mobile footer composition. */
@media (max-width: 782px) {
  footer.wp-block-template-part {
    width: 100% !important;
    overflow-x: clip !important;
    text-align: center !important;
  }

  footer.wp-block-template-part .site-footer {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 30px !important;
    padding: 42px var(--sch-mobile-edge) calc(var(--sch-sponsor-banner-height) + 76px) !important;
    margin: 0 auto !important;
    text-align: center !important;
  }

  footer.wp-block-template-part .site-footer > .wp-block-columns {
    width: 100% !important;
    max-width: 360px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    margin: 0 auto !important;
  }

  footer.wp-block-template-part .site-footer > .wp-block-columns > .wp-block-column {
    display: none !important;
  }

  footer.wp-block-template-part .site-footer > .wp-block-columns > .wp-block-column:has(.wp-block-site-logo) {
    display: flex !important;
    flex-basis: auto !important;
    width: auto !important;
    justify-content: center !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-site-logo,
  footer.wp-block-template-part .site-footer .wp-block-site-logo img {
    width: clamp(116px, 34vw, 160px) !important;
    max-width: clamp(116px, 34vw, 160px) !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-site-title,
  footer.wp-block-template-part .site-footer .wp-block-site-tagline {
    width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-site-title {
    margin-top: 6px !important;
    font-size: clamp(25px, 7vw, 34px) !important;
    line-height: 1.05 !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-site-title a {
    text-decoration: none !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-site-tagline {
    margin-top: 4px !important;
    font-size: clamp(17px, 5vw, 22px) !important;
    line-height: 1.25 !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-group.alignwide {
    width: 100% !important;
    max-width: 680px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 28px !important;
    margin: 0 auto !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-group:has(> .wp-block-navigation) {
    width: 100% !important;
    max-width: 620px !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: start !important;
    justify-items: center !important;
    gap: 20px !important;
    margin: 0 auto !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-navigation {
    width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    text-align: center !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-navigation__container {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-navigation-item {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-navigation-item__content,
  footer.wp-block-template-part .site-footer .wp-block-navigation-item__label {
    width: auto !important;
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 2px 0 !important;
    font-size: clamp(15px, 3.8vw, 18px) !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-group:has(> .wp-block-outermost-icon-block) {
    width: 100% !important;
    max-width: 320px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important;
    margin: 4px auto 0 !important;
    padding: 0 !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-outermost-icon-block,
  footer.wp-block-template-part .site-footer .wp-block-outermost-icon-block.alignfull,
  footer.wp-block-template-part .site-footer .wp-block-outermost-icon-block.items-justified-center {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-outermost-icon-block .icon-container {
    width: 44px !important;
    height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-outermost-icon-block svg {
    width: 30px !important;
    height: 30px !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-spacer {
    height: 10px !important;
    max-height: 10px !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-group:has(> p) {
    width: 100% !important;
    max-width: 560px !important;
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px 18px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
  }

  footer.wp-block-template-part .site-footer p {
    margin: 0 !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 560px) {
  footer.wp-block-template-part .site-footer {
    gap: 26px !important;
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-group:has(> .wp-block-navigation) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 420px !important;
    gap: 14px 22px !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-navigation:nth-child(3) {
    grid-column: 1 / -1;
    max-width: 220px !important;
  }
}

@media (max-width: 380px) {
  footer.wp-block-template-part .site-footer {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-group:has(> .wp-block-navigation) {
    gap: 12px 14px !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-navigation-item__content,
  footer.wp-block-template-part .site-footer .wp-block-navigation-item__label {
    font-size: 14px !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-group:has(> .wp-block-outermost-icon-block) {
    gap: 14px !important;
  }
}

/* Team single pages: consistent mobile hero image and headline placement */
@media (max-width: 782px) {
  .wp-block-cover.team-cover {
    display: flex !important;
    align-items: flex-end !important;
    min-height: clamp(300px, 72vw, 430px) !important;
    padding: 0 !important;
    background-color: #00006b !important;
    overflow: hidden !important;
  }

  .wp-block-cover.team-cover .wp-block-cover__image-background {
    object-fit: contain !important;
    object-position: center top !important;
    background: #00006b !important;
  }

  .wp-block-cover.team-cover .wp-block-cover__background {
    background: linear-gradient(
      to top,
      rgba(0,0,40,0.9) 0%,
      rgba(0,0,40,0.56) 30%,
      rgba(0,0,40,0.12) 68%,
      transparent 100%
    ) !important;
    opacity: 1 !important;
  }

  .wp-block-cover.team-cover .wp-block-cover__inner-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 var(--sch-mobile-edge, 18px) 18px !important;
    text-align: left !important;
    align-self: flex-end !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
  }

  .wp-block-cover.team-cover .team-cover__season,
  .wp-block-cover.team-cover .wp-block-cover__inner-container > p {
    margin: 0 0 6px !important;
    font-size: clamp(10px, 2.8vw, 12px) !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    color: rgba(255,255,255,0.78) !important;
    order: 1 !important;
  }

  .wp-block-cover.team-cover h1,
  .wp-block-cover.team-cover h2 {
    max-width: min(100%, 13ch) !important;
    margin: 0 !important;
    font-size: clamp(34px, 12vw, 52px) !important;
    line-height: .96 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    padding: 0 !important;
    order: 2 !important;
  }
}

/* Footer: keep all columns and link groups centered. */
footer.wp-block-template-part,
footer.wp-block-template-part .site-footer {
  text-align: center !important;
}

footer.wp-block-template-part .site-footer > .wp-block-columns,
footer.wp-block-template-part .site-footer > .wp-block-group,
footer.wp-block-template-part .site-footer .wp-block-group.alignwide,
footer.wp-block-template-part .site-footer .wp-block-group.alignfull,
footer.wp-block-template-part .site-footer .wp-block-column {
  align-items: center !important;
  justify-content: center !important;
  justify-items: center !important;
  text-align: center !important;
}

footer.wp-block-template-part .site-footer .wp-block-column > *,
footer.wp-block-template-part .site-footer .wp-block-group > *,
footer.wp-block-template-part .site-footer p {
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

footer.wp-block-template-part .site-footer .wp-block-navigation,
footer.wp-block-template-part .site-footer .wp-block-navigation__container,
footer.wp-block-template-part .site-footer .wp-block-navigation-item {
  width: 100% !important;
  align-items: center !important;
  justify-content: center !important;
  justify-items: center !important;
  text-align: center !important;
}

footer.wp-block-template-part .site-footer .wp-block-navigation-item__content,
footer.wp-block-template-part .site-footer .wp-block-navigation-item__label {
  width: auto !important;
  justify-content: center !important;
  text-align: center !important;
}

@media (min-width: 783px) {
  footer.wp-block-template-part .site-footer > .wp-block-columns {
    justify-items: center !important;
  }

  footer.wp-block-template-part .site-footer > .wp-block-columns > .wp-block-column {
    justify-self: center !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-group:has(> .wp-block-navigation) {
    width: min(100%, 1180px) !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: start !important;
    justify-items: center !important;
    gap: clamp(44px, 7vw, 120px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
  }
}

@media (max-width: 782px) {
  footer.wp-block-template-part .site-footer .wp-block-columns,
  footer.wp-block-template-part .site-footer .wp-block-group.alignwide,
  footer.wp-block-template-part .site-footer .wp-block-group.alignfull {
    align-items: center !important;
  }

  footer.wp-block-template-part .site-footer .wp-block-navigation__container {
    align-items: center !important;
  }
}

/* P0: Homepage news cards must not collapse on small mobile widths. */
@media (max-width: 600px) {
  body.home .wp-block-query .wp-block-post-template,
  body.front-page .wp-block-query .wp-block-post-template {
    width: min(100%, calc(100vw - 32px)) !important;
    height: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    margin-inline: auto !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.home .wp-block-query .wp-block-post-template > .wp-block-post,
  body.front-page .wp-block-query .wp-block-post-template > .wp-block-post {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: clamp(340px, 86vw, 460px) !important;
    max-width: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(0, 0, 50, .12) !important;
  }

  body.home .wp-block-post .wp-block-post-featured-image,
  body.front-page .wp-block-post .wp-block-post-featured-image {
    position: relative !important;
    width: 100% !important;
    height: clamp(190px, 52vw, 290px) !important;
    min-height: 190px !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    display: block !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #05050a !important;
  }

  body.home .wp-block-post .wp-block-post-featured-image a,
  body.front-page .wp-block-post .wp-block-post-featured-image a,
  body.home .wp-block-post .wp-block-post-featured-image img,
  body.front-page .wp-block-post .wp-block-post-featured-image img {
    position: static !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    display: block !important;
  }

  body.home .wp-block-post .wp-block-post-featured-image img,
  body.front-page .wp-block-post .wp-block-post-featured-image img {
    object-fit: cover !important;
    object-position: center !important;
  }

  body.home .wp-block-post .wp-block-post-title,
  body.front-page .wp-block-post .wp-block-post-title,
  body.home .wp-block-post .wp-block-post-excerpt,
  body.front-page .wp-block-post .wp-block-post-excerpt,
  body.home .wp-block-post .wp-block-read-more,
  body.front-page .wp-block-post .wp-block-read-more,
  body.home .wp-block-post .wp-block-post-excerpt__more-link,
  body.front-page .wp-block-post .wp-block-post-excerpt__more-link {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
  }

  body.home .wp-block-post .wp-block-post-title,
  body.front-page .wp-block-post .wp-block-post-title {
    margin: 16px 16px 8px !important;
    font-size: clamp(22px, 7vw, 30px) !important;
    line-height: 1.05 !important;
  }

  body.home .wp-block-post .wp-block-post-title a,
  body.front-page .wp-block-post .wp-block-post-title a {
    display: block !important;
    color: inherit !important;
  }

  body.home .wp-block-post .wp-block-post-excerpt,
  body.front-page .wp-block-post .wp-block-post-excerpt {
    margin: 0 16px 16px !important;
    flex: 1 1 auto !important;
  }

  body.home .wp-block-post .wp-block-read-more,
  body.front-page .wp-block-post .wp-block-read-more,
  body.home .wp-block-post .wp-block-post-excerpt__more-link,
  body.front-page .wp-block-post .wp-block-post-excerpt__more-link {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;
    margin: auto 16px 16px !important;
    padding: 10px 16px !important;
    border-radius: 6px !important;
    background: #00006b !important;
    color: #fff !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
  }
}

@media (min-width: 380px) and (max-width: 600px) {
  body.home .wp-block-query .wp-block-post-template,
  body.front-page .wp-block-query .wp-block-post-template {
    width: min(100%, calc(100vw - 36px)) !important;
  }
}

/* Visible injected page headings for pages that otherwise render no H1. */
.sch-page-title {
  width: min(1120px, calc(100vw - 40px));
  margin: clamp(28px, 5vw, 56px) auto clamp(18px, 3vw, 34px);
  font-family: "Anton", system-ui, sans-serif;
  font-size: clamp(38px, 7vw, 82px);
  line-height: .98;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #00006b;
}

body.home .sch-page-title,
body.front-page .sch-page-title {
  margin-top: clamp(18px, 3vw, 34px);
  margin-bottom: clamp(14px, 2vw, 24px);
}

/* Keep the fixed sponsor strip from covering the open mobile menu. */
@supports selector(body:has(.wp-block-navigation__responsive-container.is-menu-open)) {
  body:has(.wp-block-navigation__responsive-container.is-menu-open) #rotating-sponsors-banner {
    transform: translateY(100%) !important;
    pointer-events: none !important;
  }
}
