/* responsive.css — mobile / tablet polish (load last, after page-specific CSS) */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

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

pre,
code {
  overflow-x: auto;
  max-width: 100%;
  word-break: break-word;
}

/* Fixed background + parallax often jank on mobile */
@media (max-width: 768px) {
  body {
    background-attachment: scroll, scroll !important;
  }

  .container {
    padding-left: max(16px, env(safe-area-inset-left, 0px));
    padding-right: max(16px, env(safe-area-inset-right, 0px));
  }

  #main-footer {
    padding-top: 48px;
    padding-bottom: max(24px, env(safe-area-inset-bottom, 0px) + 12px);
  }

  .page-hero {
    padding: 42px 0 40px;
    min-height: min(20rem, 48vh);
  }

  .terms-content-panel {
    padding: 22px 18px !important;
  }

  .terms-layout {
    padding-top: 28px !important;
    padding-bottom: 52px !important;
    gap: 24px !important;
  }

  body.page-ranking .ranking-pagination {
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    padding-inline: 4px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  body.page-ranking .page-hero-title {
    font-size: clamp(1.5rem, 7vw, 2.4rem);
  }

  body.page-ranking .page-hero-sub {
    font-size: 0.92rem;
    padding-inline: 4px;
  }

  /* START ADVENTURE mutat în drawer — vezi layout.css + shared.js */
  #header-cta {
    display: none !important;
  }
}

@supports (padding: max(0px)) {
  .mobile-menu-inner {
    padding-top: max(0px, env(safe-area-inset-top, 0px));
    padding-bottom: max(32px, env(safe-area-inset-bottom, 0px) + 16px);
  }

  #main-header .header-inner.header-container.container {
    padding-left: max(12px, env(safe-area-inset-left, 0px));
    padding-right: max(12px, env(safe-area-inset-right, 0px));
  }
}

@media (max-width: 480px) {
  .modal-content {
    margin-left: max(12px, env(safe-area-inset-left, 0px));
    margin-right: max(12px, env(safe-area-inset-right, 0px));
    padding: 26px 18px 22px;
  }

  .donation-card {
    padding: 32px 18px !important;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    margin-left: max(12px, env(safe-area-inset-left, 0px)) !important;
    margin-right: max(12px, env(safe-area-inset-right, 0px)) !important;
    max-width: min(520px, 100%) !important;
    box-sizing: border-box;
  }

  body.page-dashboard .db-stats-row {
    grid-template-columns: 1fr;
  }

  body.page-dashboard .db-section-title {
    font-size: 1.35rem;
  }

  body.page-dashboard .db-content {
    padding: 18px 14px 40px;
  }

  body.page-dashboard .db-sidebar {
    width: calc(100% - 24px);
    margin-left: 12px;
    margin-right: 12px;
  }
}

@media (max-width: 400px) {
  .theme-globe-btn {
    width: 36px;
    height: 36px;
  }

  .theme-globe-visual {
    width: 28px;
    height: 28px;
  }

  #header-server-dd .header-dd-btn,
  #header-lang-dd .header-dd-btn {
    max-width: min(118px, 30vw);
    padding-inline: 6px 8px;
    font-size: 0.78rem;
  }
}

/* Home: full-width primary actions on small phones */
@media (max-width: 520px) {
  body.page-home .hero-actions {
    flex-direction: column;
    width: 100%;
    max-width: min(300px, 100%);
    margin-left: auto;
    margin-right: auto;
    gap: 12px;
  }

  body.page-home .hero-actions .btn {
    width: 100%;
    justify-content: center;
  }

  body.page-home .hero-desc {
    font-size: 0.92rem;
    padding-inline: 2px;
  }

  body.page-home .hero-stat {
    padding: 14px 12px;
  }

  body.page-home .stat-num {
    font-size: 1.35rem;
  }

  body.page-home .hero-title {
    font-size: clamp(1.65rem, 9vw, 2.4rem);
  }
}

@media (max-width: 640px) {
  body.page-server-info .page-hero-title {
    font-size: clamp(1.35rem, 6.5vw, 2rem);
  }

  body.page-server-info .si-wrap {
    padding-bottom: 64px;
  }
}

/* Auth: extra breathing room on short viewports */
@media (max-width: 520px) {
  body.page-auth .auth-shell {
    padding-left: max(12px, env(safe-area-inset-left, 0px));
    padding-right: max(12px, env(safe-area-inset-right, 0px));
  }
}

/* donation-status.html (no body class) */
@media (max-width: 480px) {
  .status-hero {
    padding: 96px max(12px, env(safe-area-inset-left, 0px)) 56px !important;
  }

  .status-card {
    padding: 26px 16px !important;
    width: 100% !important;
    max-width: min(760px, calc(100vw - 2 * max(12px, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px)))) !important;
    box-sizing: border-box;
  }
}

/* Downloads: card text doesn’t touch edges */
@media (max-width: 480px) {
  body.page-downloads .dl-main-card,
  body.page-downloads .dl-section {
    padding-left: 18px;
    padding-right: 18px;
  }
}
