/* ============================================
   RAJAKAPAL88 - Responsive Stylesheet
   Mobile-first responsive breakpoints
   ============================================ */

/* ============================================
   Large Desktop (max-width: 1280px)
   ============================================ */
@media (max-width: 1280px) {
  .nav-desktop a {
    padding: 0.5rem 0.65rem;
    font-size: 0.85rem;
  }

  .hero h1 { font-size: 3rem; }
  .section-title { font-size: 2rem; }
}

/* ============================================
   Desktop (max-width: 1024px)
   ============================================ */
@media (max-width: 1024px) {
  :root {
    --header-height: 64px;
  }

  .nav-desktop {
    display: none;
  }

  .hamburger {
    display: flex;
  }

  .hero h1 { font-size: 2.5rem; }
  .hero p { font-size: 1.1rem; }

  .hero-page h1 { font-size: 2.25rem; }

  .grid-4 { grid-template-columns: repeat(3, 1fr); }

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

  .footer-brand {
    grid-column: 1 / -1;
    max-width: 100%;
  }

  .stats-bar {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }

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

/* ============================================
   Tablet (max-width: 768px)
   ============================================ */
@media (max-width: 768px) {
  :root {
    --header-height: 60px;
  }

  .section { padding: 2.5rem 0; }
  .section-lg { padding: 4rem 0; }

  .hero {
    min-height: 90vh;
  }

  .hero h1 { font-size: 2rem; }
  .hero p { font-size: 1rem; }

  .hero-stats {
    gap: 1.5rem;
    margin-top: 2rem;
  }

  .hero-stat-num { font-size: 1.75rem; }

  .hero-actions {
    flex-direction: column;
  }

  .hero-actions .btn {
    width: 100%;
    text-align: center;
  }

  .hero-page {
    padding-top: calc(var(--header-height) + 2rem);
    padding-bottom: 3rem;
  }

  .hero-page h1 { font-size: 1.75rem; }
  .hero-page p { font-size: 1rem; }

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

  .grid-2,
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr;
  }

  .grid-2 { gap: 1rem; }

  .cta-content h2 { font-size: 1.75rem; }
  .cta-content p { font-size: 1rem; }

  .cta-actions {
    flex-direction: column;
  }

  .cta-actions .btn {
    width: 100%;
  }

  .stats-bar {
    grid-template-columns: 1fr 1fr;
    padding: 1.5rem;
    gap: 1rem;
  }

  .stat-num { font-size: 1.75rem; }

  .contact-info {
    grid-template-columns: 1fr;
  }

  .contact-form {
    padding: 1.5rem;
  }

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

  .promo-popup {
    max-width: 100%;
  }

  .promo-popup img {
    height: 200px;
  }

  .promo-popup-content {
    padding: 1.5rem;
  }

  .promo-popup-content h2 {
    font-size: 1.35rem;
  }

  .area-cities {
    gap: 0.5rem;
  }

  .area-city-btn {
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
  }

  .service-map iframe {
    height: 280px;
  }

  .back-to-top {
    bottom: 1rem;
    right: 1rem;
    width: 40px;
    height: 40px;
    font-size: 1rem;
  }

  .card-image { height: 180px; }

  .breadcrumb {
    font-size: 0.8rem;
    flex-wrap: wrap;
  }

  h1 { font-size: 1.75rem; }
  h2 { font-size: 1.5rem; }
  h3 { font-size: 1.25rem; }
}

/* ============================================
   Mobile (max-width: 480px)
   ============================================ */
@media (max-width: 480px) {
  .container { padding: 0 1rem; }
  .section { padding: 2rem 0; }

  .hero h1 { font-size: 1.65rem; }
  .hero p { font-size: 0.95rem; }

  .hero-badge { font-size: 0.75rem; }

  .hero-stats {
    flex-direction: column;
    gap: 1rem;
  }

  .hero-stat-num { font-size: 1.5rem; }

  .section-title { font-size: 1.4rem; }
  .section-subtitle { font-size: 0.95rem; }

  .stats-bar {
    grid-template-columns: 1fr;
    padding: 1.25rem;
  }

  .stat-num { font-size: 1.5rem; }

  .feature-card,
  .card,
  .info-card {
    padding: 1.25rem;
  }

  .cta-content h2 { font-size: 1.4rem; }

  .faq-question {
    font-size: 0.95rem;
    padding: 1rem 1.25rem;
  }

  .faq-answer { padding: 0 1.25rem; }

  .faq-item.active .faq-answer {
    padding: 0 1.25rem 1rem;
  }

  .promo-popup-content h2 { font-size: 1.15rem; }
  .promo-popup-content p { font-size: 0.9rem; }

  .footer-disclaimer {
    font-size: 0.75rem;
    padding: 0.5rem 0.75rem;
  }

  .logo img { height: 32px; }
  .logo-text { font-size: 1.1rem; }

  .btn { padding: 0.75rem 1.5rem; font-size: 0.9rem; }
  .btn-lg { padding: 0.875rem 2rem; font-size: 1rem; }
}
