/* ═══════════════════════════════════════
   RESPONSIVE — HumanitAID
   Breakpoints: 480, 768, 900, 1024, 1280
   ═══════════════════════════════════════ */

/* ── 1280px and up: full layout ── */

@media (min-width: 1280px) {
  section {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ── 1024px: minor tightening ── */

@media (max-width: 1024px) {
  section {
    padding: 80px 40px;
  }

  .hero-content {
    left: 40px;
    right: 40px;
  }

  .hero-dots {
    right: 40px;
  }

  .hero-counter {
    right: 40px;
  }

  .temoignages-grid {
    gap: 20px;
  }

  .footer-grid {
    gap: 30px;
  }
}

/* ── 900px: tablet breakpoint ── */

@media (max-width: 900px) {
  section {
    padding: var(--space-section-mobile) var(--section-padding-x-mobile);
  }

  .main-nav {
    padding: 0 var(--section-padding-x-mobile);
  }

  .nav-logo {
    margin-right: auto;
  }

  .nav-links {
    display: none;
  }

  .hamburger {
    display: flex;
  }

  .mobile-menu {
    display: flex;
  }

  .main-nav > .theme-switcher {
    display: none;
  }

  .theme-switcher-mobile {
    display: flex;
  }

  .hero-content {
    left: var(--section-padding-x-mobile);
    right: var(--section-padding-x-mobile);
    bottom: 60px;
  }

  .hero-dots {
    right: var(--section-padding-x-mobile);
    bottom: 20px;
  }

  .hero-counter {
    right: var(--section-padding-x-mobile);
    top: 20px;
  }

  .stats-strip {
    grid-template-columns: repeat(2, 1fr);
  }

  .stat-item:nth-child(2) {
    border-right: none;
  }

  .progress-grid {
    grid-template-columns: 1fr;
  }

  .causes-grid {
    grid-template-columns: 1fr;
  }

  .cause-card--featured {
    grid-column: auto;
  }

  .temoignages-grid {
    grid-template-columns: 1fr;
  }

  .news-layout {
    grid-template-columns: 1fr;
  }

  .don-layout {
    grid-template-columns: 1fr;
  }

  #donner::before {
    display: none;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  footer {
    padding: 50px var(--section-padding-x-mobile) 24px;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 14px;
    text-align: center;
  }

  .amount-btns {
    grid-template-columns: repeat(2, 1fr);
  }

  .citations {
    padding: 50px var(--section-padding-x-mobile);
  }

  .cta-section {
    padding: 60px var(--section-padding-x-mobile);
  }

  .story-card {
    min-width: 300px;
  }
}

/* ── 768px: small tablet ── */

@media (max-width: 768px) {
  .hero-title {
    font-size: clamp(28px, 6vw, 36px);
  }

  .hero-caption {
    font-size: 16px;
  }

  .hero-btns {
    flex-direction: column;
    gap: 12px;
  }

  .hero-btns .btn-primary,
  .hero-btns .btn-outline {
    text-align: center;
  }

  .stat-num {
    font-size: 24px;
  }

  .don-form {
    padding: 28px;
  }

  .mobile-providers {
    grid-template-columns: 1fr 1fr;
  }

  .partners-grid {
    gap: 20px;
  }

  .partner-item {
    font-size: var(--text-xs);
    padding: 12px 16px;
  }
}

/* ── 480px: mobile ── */

@media (max-width: 480px) {
  body {
    font-size: 16px;
  }

  section {
    padding: 50px 16px;
  }

  .main-nav {
    padding: 0 16px;
  }

  .lang-switcher {
    margin-left: 8px;
    padding: 5px 6px;
  }

  .nav-logo .logo-symbol {
    width: 26px;
    height: 26px;
  }

  .logo-word {
    font-size: 17px;
  }

  .hero-content {
    left: 16px;
    right: 16px;
    bottom: 40px;
  }

  .hero-badge {
    font-size: 11px;
    padding: 4px 10px;
  }

  .hero-caption {
    font-size: 15px;
    padding-left: 12px;
  }

  .stat-item {
    padding: 20px 16px;
  }

  .stat-num {
    font-size: 22px;
  }

  .stat-label {
    font-size: 11px;
  }

  .progress-card {
    padding: 24px;
  }

  .amount-btns {
    grid-template-columns: repeat(2, 1fr);
  }

  .cause-name {
    font-size: 20px;
  }

  .temoignage-card {
    padding: 24px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer-bottom {
    font-size: 11px;
  }

  .footer-bottom-links {
    flex-wrap: wrap;
    gap: 10px 16px;
    justify-content: center;
  }

  .cta-title {
    font-size: clamp(22px, 5.5vw, 30px);
  }

  .don-form {
    padding: 20px;
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  .payment-tab {
    font-size: var(--text-xs);
    padding: 10px 4px;
  }

  .story-card {
    min-width: 260px;
  }
}

/* ── 360px: small phones ── */

@media (max-width: 360px) {
  .payment-tabs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }

  .payment-tab {
    border-right: 1px solid var(--border-default);
    border-bottom: 1px solid var(--border-default);
  }

  .payment-tab:nth-child(3) {
    grid-column: span 2;
  }

  .payment-tab:last-child {
    border-right: none;
    border-bottom: none;
  }
}
