/* =============================================
   TAHOD — RESPONSIVE STYLESHEET
   Breakpoints: sm 576 | md 768 | lg 992 | xl 1200
   ============================================= */

/* ============ LARGE (1200px+) ============ */
@media (min-width: 1200px) {
  .container { max-width: 1200px; }
}

/* ============ MEDIUM-LARGE (992–1199px) ============ */
@media (max-width: 1199.98px) {
  :root { --section-py: 75px; }

  .hero-title { font-size: 2.8rem; }
  .hero-stats { gap: 28px; }
  .hero-float-badge.badge-2 { right: -10px; }

  .home-hero { padding: 80px 0 70px; }

  .navbar-tahod .navbar-nav .nav-link { padding: 6px 10px !important; font-size: 0.84rem; }
}

/* ============ TABLET (768–991px) ============ */
@media (max-width: 991.98px) {
  :root { --section-py: 65px; }

  /* Navbar */
  .navbar-tahod {
    height: auto;
    padding: 12px 0;
  }

  .navbar-tahod .navbar-collapse {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: 16px;
    margin-top: 12px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
    border: 1px solid var(--border);
  }

  .navbar-tahod .navbar-nav .nav-link {
    padding: 10px 14px !important;
    border-radius: var(--radius-sm);
  }

  .navbar-tahod .navbar-actions {
    padding: 10px 14px;
    border-top: 1px solid var(--border);
    margin-top: 10px;
    justify-content: flex-start;
  }

  /* Hero */
  .home-hero {
    min-height: auto;
    padding: 70px 0 60px;
    text-align: center;
  }

  .hero-desc { margin-left: auto; margin-right: auto; }
  .hero-actions { justify-content: center; }
  .hero-stats { justify-content: center; }

  .hero-float-badge.badge-1,
  .hero-float-badge.badge-2 { display: none; }

  .hero-image-wrapper { margin-top: 40px; }

  /* Page hero */
  .page-hero { padding: 55px 0 45px; }
  .page-hero-title { font-size: 2.2rem; }

  /* Sections */
  .section-py { padding: 65px 0; }

  /* CTA */
  .cta-section { padding: 50px 30px; margin: 0; border-radius: var(--radius-lg); }
  .cta-section-dark { padding: 40px 30px; margin: 0; border-radius: var(--radius-lg); flex-direction: column; }

  /* Pricing */
  .pricing-card.featured { transform: translateY(0); }
  .pricing-card.featured:hover { transform: translateY(-8px); }

  /* Vision / Mission */
  .vision-card, .mission-card { margin-bottom: 20px; }

  /* Form */
  .form-card { padding: 28px 20px; }

  /* Footer */
  .footer-tahod { padding: 55px 0 0; }
  .footer-brand-desc { max-width: 100%; }
}

/* ============ MOBILE (576–767px) ============ */
@media (max-width: 767.98px) {
  :root { --section-py: 55px; }

  /* Typography */
  h1 { font-size: 2rem; }
  h2 { font-size: 1.65rem; }
  h3 { font-size: 1.3rem; }

  .section-title { font-size: 1.65rem; }

  /* Hero */
  .home-hero { padding: 55px 0 50px; }
  .hero-title { font-size: 2rem; }
  .hero-desc { font-size: 0.95rem; }
  .hero-actions { gap: 12px; }
  .hero-stats { gap: 22px; }
  .hero-stat-item .stat-number { font-size: 1.5rem; }

  /* Cards */
  .card-tahod { padding: 24px 20px; }
  .pricing-card { padding: 28px 22px; }

  /* CTA */
  .cta-section { padding: 40px 22px; }
  .cta-section-dark { padding: 32px 22px; }

  /* Partners */
  .partners-strip .partner-logos { gap: 24px; justify-content: center; }
  .partners-strip .partner-label { text-align: center; width: 100%; }

  /* FAQ */
  .accordion-tahod .accordion-button { font-size: 0.875rem; padding: 14px 16px; }

  /* Tables */
  .table-responsive { border-radius: var(--radius-md); overflow: hidden; }

  /* Form */
  .form-card { padding: 22px 16px; }
  .radio-btn-group { flex-wrap: wrap; }

  /* Stats */
  .stat-card .stat-number { font-size: 2rem; }

  /* Footer */
  .footer-col-title { margin-top: 30px; }
  .footer-bottom { text-align: center; }
  .footer-bottom-links { justify-content: center; }

  /* Back to top */
  #backToTop { bottom: 20px; right: 20px; }

  /* Page hero */
  .page-hero { padding: 45px 0 35px; }
  .page-hero-title { font-size: 1.85rem; }

  /* Media center */
  .sticky-sidebar { position: relative; top: 0; margin-top: 30px; }
}

/* ============ SMALL MOBILE (< 576px) ============ */
@media (max-width: 575.98px) {
  :root { --section-py: 48px; }

  .container { padding-left: 18px; padding-right: 18px; }

  .hero-title { font-size: 1.8rem; }
  .hero-stats { flex-direction: column; align-items: center; gap: 16px; }
  .hero-actions .btn { width: 100%; justify-content: center; }

  .section-title { font-size: 1.5rem; }
  .section-desc { font-size: 0.88rem; }

  .card-tahod { padding: 20px 16px; }

  .cta-section .cta-title { font-size: 1.5rem; }
  .cta-section-dark .cta-content .cta-title { font-size: 1.3rem; }

  .btn-lg-custom { padding: 12px 26px; font-size: 0.9rem; }

  .home-hero { min-height: auto; }

  .pricing-card.featured { transform: none; }

  .service-group-tag { font-size: 0.8rem; padding: 8px 16px; }

  .stat-card .stat-number { font-size: 1.75rem; }
  .stat-card .stat-label { font-size: 0.8rem; }

  /* Why items */
  .why-item .why-icon { width: 38px; height: 38px; font-size: 1rem; }
}

/* ============ PRINT ============ */
@media print {
  .navbar-tahod, .footer-tahod, #backToTop, .cta-section, .cta-section-dark { display: none !important; }
  body { font-size: 12pt; }
  a::after { content: " (" attr(href) ")"; }
}

/* ============ REDUCED MOTION ============ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  [data-aos] { opacity: 1 !important; transform: none !important; }
}
