/* GO v48: Homepage mobile stability and readability fixes. */
@media (max-width: 780px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  body.home:not(.wp-admin) .go-ds-home {
    padding: 10px 0 42px !important;
    overflow-x: hidden !important;
  }

  body.home:not(.wp-admin) .go-ds-wrap {
    width: calc(100vw - 22px) !important;
    max-width: calc(100vw - 22px) !important;
    margin-inline: auto !important;
  }

  /* Hero: stable one-column mobile layout, no desktop grid compression. */
  body.home:not(.wp-admin) .go-ds-hero {
    margin-top: 14px !important;
    margin-bottom: 18px !important;
  }

  body.home:not(.wp-admin) .go-ds-hero::before {
    top: -14px !important;
    bottom: -14px !important;
  }

  body.home:not(.wp-admin) .go-ds-hero-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  body.home:not(.wp-admin) .go-ds-hero-card,
  body.home:not(.wp-admin) .go-ds-hero-card--main,
  body.home:not(.wp-admin) .go-ds-hero-card--small {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    min-width: 0 !important;
    width: 100% !important;
    min-height: 0 !important;
    height: clamp(168px, 52vw, 236px) !important;
    border-radius: 11px !important;
    overflow: hidden !important;
  }

  body.home:not(.wp-admin) .go-ds-hero-card--main {
    height: clamp(260px, 88vw, 360px) !important;
  }

  body.home:not(.wp-admin) .go-ds-hero-copy {
    inset: auto 14px 14px 14px !important;
    gap: 6px !important;
    max-width: calc(100% - 28px) !important;
  }

  body.home:not(.wp-admin) .go-ds-hero-card--main .go-ds-hero-copy strong {
    font-size: clamp(27px, 9.4vw, 38px) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
    -webkit-line-clamp: 4 !important;
  }

  body.home:not(.wp-admin) .go-ds-hero-card--small .go-ds-hero-copy strong,
  body.home:not(.wp-admin) .go-ds-hero-card:not(.go-ds-hero-card--main) .go-ds-hero-copy strong {
    font-size: clamp(17px, 5.4vw, 24px) !important;
    line-height: 1.02 !important;
    -webkit-line-clamp: 3 !important;
  }

  body.home:not(.wp-admin) .go-ds-hero-copy em {
    font-size: 13px !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
  }

  /* Top latest strip: stop the five-column desktop strip from becoming unreadable. */
  body.home:not(.wp-admin) .go-ds-latest-strip {
    margin: 18px 0 22px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }

  body.home:not(.wp-admin) .go-ds-latest-strip-head {
    padding: 13px 14px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  body.home:not(.wp-admin) .go-ds-latest-strip-head strong {
    font-size: 16px !important;
    line-height: 1 !important;
  }

  body.home:not(.wp-admin) .go-ds-latest-strip-grid {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(218px, 78vw) !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  body.home:not(.wp-admin) .go-ds-latest-strip-grid::-webkit-scrollbar {
    display: none !important;
  }

  body.home:not(.wp-admin) .go-ds-latest-strip-grid a {
    min-height: 96px !important;
    padding: 14px !important;
    scroll-snap-align: start !important;
    border-right: 1px solid rgba(255,255,255,.12) !important;
  }

  body.home:not(.wp-admin) .go-ds-latest-strip-grid strong {
    font-size: 16px !important;
    line-height: 1.08 !important;
    -webkit-line-clamp: 3 !important;
  }

  body.home:not(.wp-admin) .go-ds-latest-strip-grid span {
    font-size: 11px !important;
    line-height: 1.25 !important;
  }

  /* Explore shortcuts. */
  body.home:not(.wp-admin) .go-ds-anchor {
    margin: 22px 0 28px !important;
  }

  body.home:not(.wp-admin) .go-ds-anchor-head {
    margin-bottom: 12px !important;
    text-align: left !important;
  }

  body.home:not(.wp-admin) .go-ds-anchor-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  body.home:not(.wp-admin) .go-ds-anchor-card {
    min-height: 82px !important;
    border-radius: 10px !important;
  }

  body.home:not(.wp-admin) .go-ds-anchor-label {
    left: 9px !important;
    bottom: 9px !important;
    font-size: 10px !important;
    padding: 6px 8px !important;
  }

  /* Section layouts: no side-by-side desktop grids on mobile. */
  body.home:not(.wp-admin) .go-ds-duo,
  body.home:not(.wp-admin) .go-ds-duo--editorias,
  body.home:not(.wp-admin) .go-ds-content-band,
  body.home:not(.wp-admin) .go-ds-bottom-layout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.home:not(.wp-admin) .go-ds-panel,
  body.home:not(.wp-admin) .go-ds-section,
  body.home:not(.wp-admin) .go-ds-latest-feed,
  body.home:not(.wp-admin) .go-ds-rightbar,
  body.home:not(.wp-admin) .go-ds-side-rail {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.home:not(.wp-admin) .go-ds-section-head {
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
    padding-bottom: 9px !important;
  }

  body.home:not(.wp-admin) .go-ds-section-title {
    font-size: clamp(21px, 7vw, 28px) !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
  }

  body.home:not(.wp-admin) .go-ds-see-more {
    font-size: 10px !important;
    gap: 5px !important;
  }

  /* General card grids and carousels. */
  body.home:not(.wp-admin) .go-ds-games-grid,
  body.home:not(.wp-admin) .go-ds-platform-grid,
  body.home:not(.wp-admin) .go-ds-promo-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  body.home:not(.wp-admin) .go-ds-news-stack,
  body.home:not(.wp-admin) .go-ds-mini-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  body.home:not(.wp-admin) .go-ds-carousel {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  body.home:not(.wp-admin) .go-ds-carousel-track {
    grid-auto-columns: minmax(235px, 82vw) !important;
    gap: 12px !important;
    padding-bottom: 4px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
  }

  body.home:not(.wp-admin) .go-ds-carousel-btn {
    display: none !important;
  }

  body.home:not(.wp-admin) .go-ds-card-link {
    min-width: 0 !important;
  }

  body.home:not(.wp-admin) .go-ds-card-title {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body.home:not(.wp-admin) .go-ds-card--standard .go-ds-card-title,
  body.home:not(.wp-admin) .go-ds-card--wide .go-ds-card-title {
    font-size: clamp(17px, 5.2vw, 23px) !important;
    line-height: 1.05 !important;
  }

  body.home:not(.wp-admin) .go-ds-card--mini .go-ds-card-link,
  body.home:not(.wp-admin) .go-ds-card--list .go-ds-card-link {
    grid-template-columns: 104px minmax(0, 1fr) !important;
    gap: 11px !important;
    align-items: center !important;
  }

  body.home:not(.wp-admin) .go-ds-card--mini .go-ds-card-media,
  body.home:not(.wp-admin) .go-ds-card--list .go-ds-card-media {
    width: 104px !important;
    min-width: 104px !important;
    min-height: 62px !important;
  }

  body.home:not(.wp-admin) .go-ds-card--mini .go-ds-card-title,
  body.home:not(.wp-admin) .go-ds-card--list .go-ds-card-title {
    font-size: 14px !important;
    line-height: 1.08 !important;
    -webkit-line-clamp: 3 !important;
  }

  body.home:not(.wp-admin) .go-ds-card-meta,
  body.home:not(.wp-admin) .go-ds-latest-strip-grid span {
    overflow: visible !important;
    line-height: 1.35 !important;
    min-height: 1.35em !important;
  }

  /* Latest publications block: keep the intended format but make it mobile-safe. */
  body.home:not(.wp-admin) .go-ds-bottom-layout {
    margin-top: 34px !important;
  }

  body.home:not(.wp-admin) .go-ds-latest-feed {
    padding: 16px !important;
    border-radius: 12px !important;
  }

  body.home:not(.wp-admin) .go-ds-latest-feed .go-ds-section-title {
    font-size: clamp(24px, 8vw, 32px) !important;
  }

  body.home:not(.wp-admin) .go-ds-latest-feed .go-ds-latest-item {
    padding: 15px 0 !important;
  }

  body.home:not(.wp-admin) .go-ds-latest-feed .go-ds-card--latest .go-ds-card-link {
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
  }

  body.home:not(.wp-admin) .go-ds-latest-feed .go-ds-card--latest .go-ds-card-media {
    min-height: 72px !important;
    width: 112px !important;
  }

  body.home:not(.wp-admin) .go-ds-latest-feed .go-ds-card--latest .go-ds-card-title {
    font-size: clamp(17px, 5.2vw, 21px) !important;
    line-height: 1.06 !important;
    -webkit-line-clamp: 3 !important;
  }

  body.home:not(.wp-admin) .go-ds-latest-feed .go-ds-card-excerpt {
    display: none !important;
  }

  body.home:not(.wp-admin) .go-ds-rightbar .go-ds-ranking {
    gap: 12px !important;
  }

  body.home:not(.wp-admin) .go-ds-rightbar .go-ds-ranking li a {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body.home:not(.wp-admin) .go-ds-rightbar .go-ds-ranking strong {
    font-size: 14px !important;
    line-height: 1.13 !important;
  }

  body.home:not(.wp-admin) .go-ds-ad {
    min-height: 54px !important;
    margin: 16px 0 !important;
  }
}

@media (max-width: 420px) {
  body.home:not(.wp-admin) .go-ds-wrap {
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
  }

  body.home:not(.wp-admin) .go-ds-hero-card--main {
    height: clamp(245px, 92vw, 330px) !important;
  }

  body.home:not(.wp-admin) .go-ds-hero-card,
  body.home:not(.wp-admin) .go-ds-hero-card--small {
    height: clamp(155px, 51vw, 210px) !important;
  }

  body.home:not(.wp-admin) .go-ds-anchor-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  body.home:not(.wp-admin) .go-ds-card--mini .go-ds-card-link,
  body.home:not(.wp-admin) .go-ds-card--list .go-ds-card-link,
  body.home:not(.wp-admin) .go-ds-latest-feed .go-ds-card--latest .go-ds-card-link {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body.home:not(.wp-admin) .go-ds-card--mini .go-ds-card-media,
  body.home:not(.wp-admin) .go-ds-card--list .go-ds-card-media,
  body.home:not(.wp-admin) .go-ds-latest-feed .go-ds-card--latest .go-ds-card-media {
    width: 96px !important;
    min-width: 96px !important;
    min-height: 58px !important;
  }
}
