/* ================================================================
   AVON Writing Solutions — Responsive CSS
   ================================================================ */

/* ---- XL 1400px+ ---- */
@media (min-width: 1400px) {
  .hero-h1       { font-size: 3.5rem; }
  .section-title { font-size: 2.5rem; }
}

/* ---- LG breakpoint (992-1199) ---- */
@media (max-width: 1199px) {
  .hero-h1   { font-size: 2.6rem; }
  .mega-menu-panel { left: 0; right: 0; }
}

/* ---- MD breakpoint (768-991) ---- */
@media (max-width: 991px) {
  /* Navbar */
  #mainNav .container { flex-wrap: wrap; min-height: auto; padding: 14px 16px; }
  .navbar-collapse {
    background: var(--white); border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg); padding: 16px;
    margin-top: 10px; border: 1px solid var(--border);
  }
  .mega-menu-panel {
    position: static !important; box-shadow: none; border-top: none;
    border-radius: var(--radius); background: var(--bg);
    padding: 0; margin-top: 8px;
  }
  .mega-menu-inner { padding: 14px; }
  .mega-col { padding: 0 0 14px; }
  .nav-actions { flex-direction: column; width: 100%; margin-top: 12px; }
  .nav-actions .btn-wa-nav, .nav-actions .btn-primary-nav { width: 100%; text-align: center; }

  /* Hero */
  .hero-section { min-height: auto; padding: 80px 0 60px; text-align: center; }
  .hero-h1  { font-size: 2.2rem; }
  .hero-sub { margin: 0 auto 34px; }
  .hero-btns, .hero-features { justify-content: center; }
  .hero-visual  { margin-top: 50px; }
  .hfc1, .hfc2, .hfc3 { display: none; }
  .hero-svg-container { max-width: 320px; }

  /* Sections */
  .section-padding { padding: 70px 0; }
  .section-title   { font-size: 1.9rem; }

  /* About */
  .about-exp-badge { right: 10px; bottom: 10px; }
  .about-img-box img { height: 340px; }

  /* Process grid */
  .process-grid { grid-template-columns: repeat(4, 1fr); row-gap: 30px; }
  .process-grid::before { display: none; }

  /* Stats */
  .stat-sep { display: none; }
  .stat-item { padding: 20px 0; }

  /* Testimonial carousel controls */
  .t-carousel .carousel-control-prev { left: calc(50% - 52px); }
  .t-carousel .carousel-control-next { right: calc(50% - 52px); left: auto; }

  /* Pricing */
  .pricing-card.popular { transform: none; }
  .pricing-card.popular:hover { transform: translateY(-6px); }

  /* Footer */
  .footer-cta-band { text-align: center; }
  .footer-cta-band .text-lg-end { text-align: center !important; }
  .footer-legal    { justify-content: center; }
}

/* ---- SM breakpoint (576-767) ---- */
@media (max-width: 767px) {
  .topbar { display: none !important; }

  /* Hero */
  .hero-h1     { font-size: 1.95rem; }
  .hero-btns   { flex-direction: column; align-items: center; }
  .hero-btns .btn { width: 100%; max-width: 320px; }

  /* Sections */
  .section-padding { padding: 56px 0; }
  .section-title   { font-size: 1.65rem; }
  .section-subtitle { font-size: .96rem; }

  /* Process */
  .process-grid { grid-template-columns: repeat(2, 1fr); }

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

  /* Services */
  .service-card { padding: 24px 20px; }

  /* Pricing */
  .pricing-card { padding: 28px 22px; }
  .p-amount     { font-size: 2.6rem; }

  /* Contact */
  .contact-form-card { padding: 28px; }

  /* Testimonials */
  .t-carousel { padding-bottom: 60px; }

  /* Legal */
  .legal-content { padding: 28px; }

  /* About */
  .about-img-box img { height: 280px; }
  .about-exp-badge { position: static; margin-top: 12px; display: inline-block; }

  /* Footer CTA */
  .footer-cta-band .btn-lg { width: 100%; max-width: 280px; margin-bottom: 8px; }

  /* Back to top / WA */
  .back-to-top { bottom: 82px; right: 14px; }
  .wa-float    { bottom: 20px; right: 14px; width: 48px; height: 48px; font-size: 1.4rem; }

  /* Page hero */
  .page-hero-title { font-size: 1.85rem; }
}

/* ---- XS breakpoint (< 576) ---- */
@media (max-width: 575px) {
  .hero-h1    { font-size: 1.65rem; }
  .section-title { font-size: 1.45rem; }
  .process-grid  { grid-template-columns: 1fr 1fr; gap: 20px; }
  .trusted-pill  { font-size: .8rem; padding: 9px 16px; }
  .industry-tag  { font-size: .82rem; padding: 8px 14px; }
  .testimonial-card { padding: 24px 18px; }
  .sidebar-widget { padding: 20px; }
  .service-detail-sidebar { position: static; }
  .contact-form-card { padding: 18px; }
  .legal-content { padding: 18px; }
  .footer-cta-headline { font-size: 1.25rem; }
}

/* ---- Print ---- */
@media print {
  #preloader, .back-to-top, .wa-float,
  #mainNav, .topbar, .site-footer, .footer-cta-band { display: none !important; }
  body { background: white; color: black; font-size: 12pt; }
  .hero-section, .cta-section, .stats-section, .process-section { background: white !important; }
}

/* ---- Reduced Motion ---- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  html { scroll-behavior: auto; }
}
