/* css/responsive.css
   ============================================================
   Responsive overrides — mobile-last (desktop default above)
   ============================================================ */

/* ── Tablet (768–1199px) ────────────────────────────────────── */
@media (max-width: 1199px) {
  .container,
  .layout-main,
  .site-header__inner,
  .site-footer__grid,
  .site-footer__bottom {
    padding-left: var(--space-md);
    padding-right: var(--space-md);
  }

  .site-footer__grid {
    grid-template-columns: 1fr 1fr;
  }

  .layout-main--with-sidebar {
    grid-template-columns: 1fr 260px;
    gap: var(--space-lg);
  }
}

/* ── Mobile (< 768px) ───────────────────────────────────────── */
@media (max-width: 767px) {
  :root {
    --header-height: 64px;
    --space-xl: 2.5rem;
    --space-xxl: 3.5rem;
  }

  .container,
  .layout-main,
  .site-header__inner,
  .site-footer__grid,
  .site-footer__bottom {
    padding-left: var(--space-sm);
    padding-right: var(--space-sm);
  }

  /* Stack footer columns */
  .site-footer__grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  /* Stack sidebar below content */
  .layout-main--with-sidebar {
    grid-template-columns: 1fr;
  }

  /* Hero adjustments */
  .site-hero {
    padding: var(--space-xl) 0;
    text-align: center;
  }
  .site-hero__subtitle { margin: 0 auto var(--space-lg); }
  .site-hero__inner .btn { width: 100%; justify-content: center; margin-bottom: var(--space-xs); }

  /* Practice areas — single column on small mobile */
  .practice-areas {
    grid-template-columns: 1fr;
  }

  /* Team grid — two columns on mobile */
  .team-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Why grid — single column */
  .why-grid {
    grid-template-columns: 1fr;
  }

  /* CTA buttons stack */
  .cta-section .btn {
    display: block;
    margin: 0 auto var(--space-xs);
    max-width: 280px;
  }

  /* Footer bottom stack */
  .site-footer__bottom {
    flex-direction: column;
    text-align: center;
  }

  /* Logo scale down */
  .site-header__logo img,
  .site-header__logo svg {
    height: 34px;
  }
}

/* ── Very small screens (< 380px) ────────────────────────────── */
@media (max-width: 379px) {
  .team-grid {
    grid-template-columns: 1fr;
  }
}

/* ── Reduced motion ─────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ── Print ──────────────────────────────────────────────────── */
@media print {
  .site-header,
  .site-nav,
  .nav-toggle,
  .site-footer,
  .cta-section { display: none; }
  body { font-size: 12pt; color: #000; }
  a::after { content: " (" attr(href) ")"; font-size: 10pt; }
}
