/* ═══════════════════════════════════════════════════════════════
   GLOBAL RESPONSIVE CSS — Spondias Website
   ═══════════════════════════════════════════════════════════════ */

/* ── Extra Large (≤1400px) ── */
@media (max-width: 1400px) {
  .container { max-width: 1140px; }
}

/* ── Large (≤1200px) ── */
@media (max-width: 1200px) {
  .container { max-width: 960px; }
  .sec-title { font-size: 1.75rem; }
}

/* ── Medium / Tablet (≤992px) ── */
@media (max-width: 992px) {
  .container { max-width: 720px; }
  .sec-title { font-size: 1.5rem; }

  /* ── Mega menu → hide on tablet, offcanvas handles nav ── */
  .mega-menu { display: none !important; }

  /* Counter cards */
  .counter-card { padding: 15px 10px; }

  /* Team cards: force 2 per row */
  .team-card-wrapper { flex: 0 0 50%; max-width: 50%; }
  .team-card { height: 280px; }

  /* Office cards: stack to 1 per row */
  .office-card,
  .contact-card { margin-bottom: 20px; }

  /* Form section */
  .form-section .row { flex-direction: column; }
}

/* ── Small / Mobile Landscape (≤768px) ── */
@media (max-width: 768px) {
  .container { max-width: 540px; }

  /* Typography */
  .sec-title { font-size: 1.35rem; }
  .sec-sub { font-size: 0.88rem; }
  h1 { font-size: 1.8rem; }
  h2 { font-size: 1.5rem; }
  h3 { font-size: 1.25rem; }

  /* Sections padding */
  .team-section { padding: 50px 0 60px; }
  .cta-section { padding: 40px 0; }

  /* Hide custom cursor on touch devices */
  #cursor, #cursor-ring { display: none !important; }

  /* Team cards */
  .team-card { margin-bottom: 20px; }

  /* Service cards */
  .service-card { margin-bottom: 15px; }

  /* Testimonials */
  .testimonial-card { padding: 20px; }

  /* Career page */
  .career-card { padding: 20px; }

  /* Contact page */
  .office-card { padding: 20px; }

  /* Page header */
  .page-header-section { padding: 80px 0 40px !important; }
  .page-header-section h1 { font-size: 1.6rem; }

  /* Footer: stack columns */
  .footer-main .col-lg-3,
  .footer-main .col-lg-4,
  .footer-main .col-md-6 { flex: 0 0 100%; max-width: 100%; margin-bottom: 24px; }
}

/* ── Extra Small / Mobile Portrait (≤576px) ── */
@media (max-width: 576px) {
  .container { padding-left: 15px; padding-right: 15px; }

  /* Typography */
  .sec-title { font-size: 1.2rem; }
  h1 { font-size: 1.5rem; }
  h2 { font-size: 1.3rem; }

  /* Team cards: full width single column */
  .team-card-wrapper { flex: 0 0 100%; max-width: 100%; }
  .team-card { height: 300px; }

  /* Counters */
  .stat-number,
  .counter-num { font-size: 1.5rem; }
  .stat-label,
  .counter-label { font-size: 0.75rem; }

  /* Buttons */
  .btn { padding: 8px 16px; font-size: 0.85rem; }

  /* Cards */
  .service-card,
  .team-card,
  .testimonial-card,
  .office-card,
  .career-card { padding: 15px; }

  /* Forms */
  .form-control { font-size: 0.9rem; }

  /* Footer */
  .footer-main { padding: 30px 0; }
  .footer-socials { justify-content: center; }
  .footer-bottom-inner { flex-direction: column; text-align: center; gap: 10px; }
  .footer-legal-links { justify-content: center; }

  /* Scroll to top */
  #scrollTop { bottom: 15px; right: 15px; width: 36px; height: 36px; }

  /* Team section header */
  .team-cat-header { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* ── Very Small (≤400px) ── */
@media (max-width: 400px) {
  .sec-title { font-size: 1.1rem; }
  .team-card { height: 260px; }
  .counter-card,
  .stat-card { padding: 10px 5px; }
}

/* ── Touch devices: disable custom cursor ── */
@media (hover: none) and (pointer: coarse) {
  #cursor, #cursor-ring { display: none !important; }
  body { cursor: auto !important; }
}
