/* =============================================================
   Ride & Rise — responsive.css
   Mobile-first breakpoints and layout overrides
   ============================================================= */

/* --- Tablet: ≤1100px -------------------------------------- */
@media (max-width: 1100px) {
  .card-grid    { grid-template-columns: repeat(2, 1fr); }
  .post-grid    { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .article-wrap { grid-template-columns: 1fr; }
  .article-wrap .article-sidebar { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
  .gear-review__header { grid-template-columns: 260px 1fr; }
}

/* --- Small tablet / large mobile: ≤900px ------------------ */
@media (max-width: 900px) {
  .country-block {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .country-block--reverse .country-block__img-wrap,
  .country-block--reverse .country-block__text-wrap { order: unset; }

  .gear-review__header { grid-template-columns: 1fr; }
  .contact-wrap         { grid-template-columns: 1fr; }
  .team-grid            { grid-template-columns: repeat(2, 1fr); }
  .bilingual-intro {
    grid-template-columns: 1fr;
  }
  .bilingual-intro__divider { display: none; }
}

/* --- Mobile nav + layout: ≤768px -------------------------- */
@media (max-width: 768px) {
  /* Nav collapse */
  .nav__links {
    display: none;
    position: fixed;
    top: var(--nav-height);
    left: 0; right: 0;
    background: rgba(23, 24, 28, 0.98);
    flex-direction: column;
    align-items: flex-start;
    padding: 1.5rem var(--container-padding);
    border-top: 1px solid var(--color-border);
    gap: 1.1rem;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
  }
  .nav__links.open { display: flex; }
  .nav__links a { font-size: 1rem; }
  .nav__hamburger { display: flex; }

  /* Hero */
  .hero__ctas { flex-direction: column; align-items: center; }
  .hero__ctas .btn { width: 100%; max-width: 320px; justify-content: center; }

  /* Cards */
  .card-grid  { grid-template-columns: 1fr; }
  .post-grid  { grid-template-columns: 1fr; }

  /* Itinerary */
  .day-card {
    grid-template-columns: 1fr;
    padding: 1.5rem;
  }
  .day-card--reverse .day-card__img-wrap,
  .day-card--reverse .day-card__content { order: unset; }

  /* Gear */
  .pros-cons { grid-template-columns: 1fr; }

  /* Gallery */
  .gallery-grid { columns: 2; }

  /* Footer */
  .footer__grid { grid-template-columns: 1fr; }

  /* Article */
  .article-wrap .article-sidebar { grid-template-columns: 1fr; }

  /* GPX CTA */
  .gpx-cta { flex-direction: column; text-align: center; }
  .gpx-cta__icon { margin: 0 auto; }

  /* Team */
  .team-grid { grid-template-columns: repeat(2, 1fr); }

  /* Mission */
  .mission-block { padding: 2.5rem 1.5rem; }
}

/* --- Small mobile: ≤480px --------------------------------- */
@media (max-width: 480px) {
  :root { --container-padding: 1rem; }

  .hero__title { font-size: 2.6rem; }
  .hero__title-route { font-size: 1.5rem; }
  .section { padding: 3rem 0; }
  .section__header { margin-bottom: 2.5rem; }

  .gallery-grid { columns: 1; }
  .team-grid    { grid-template-columns: 1fr; }

  .page-header { padding: 7rem 0 3rem; }
  .page-header__title { font-size: 2.2rem; }

  .day-card__num { font-size: 3rem; }

  .article-meta { flex-direction: column; align-items: flex-start; gap: 0.75rem; }

  .footer__bottom { flex-direction: column; align-items: flex-start; }

  .bilingual-intro { padding: 1.5rem; }
}

/* --- Print ------------------------------------------------ */
@media print {
  .nav, .footer, .hero__ctas, .gpx-cta, .scroll-indicator { display: none !important; }
  body { background: #fff; color: #000; }
  a { color: #000; }
}
