/* =====================================================================
   LUNIVA SDRC — responsive.css
   Breakpoints: large desktop, laptop, tablet, mobile — no overflow
   ===================================================================== */

/* ---------- Large desktop (<= 1399px) ---------- */
@media (max-width: 1399.98px) {
  .nav-list > li > a { padding: .55rem .6rem; font-size: .92rem; }
}

/* ---------- Laptop (<= 1199px): collapse nav to drawer ---------- */
@media (max-width: 1199.98px) {
  .nav-list { display: none; }
  .hamburger { display: block; }
  .nav-cta-desktop { display: none; }
  .hero { padding: 90px 0 70px; }
  .stat-band { padding: 2.2rem 1.4rem; }
}

/* ---------- Tablet landscape (<= 991.98px) ---------- */
@media (max-width: 991.98px) {
  .section { padding: 72px 0; }
  .hero-visual { margin-top: 3rem; }
  .float-card { display: none; }
  .gallery-grid { grid-template-columns: repeat(3, 1fr); }
  .cta-band { padding: 2.4rem; text-align: center; }
  .testi-card { padding: 1.6rem; }
  .dash-mockup { transform: none; }
}

/* ---------- Tablet portrait / small (<= 767.98px) ---------- */
@media (max-width: 767.98px) {
  body { font-size: 15px; }
  .section { padding: 56px 0; }
  .hero { padding: 40px 0 50px; min-height: auto; }
  .topbar .d-none { display: none !important; }
  .page-header { padding: 110px 0 56px; }
  .stat-band { border-radius: 20px; padding: 2rem 1rem; }
  .stat-item { margin-bottom: 1.5rem; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); gap: .6rem; }
  .gallery-item.wide { grid-column: span 2; }
  .gallery-item.tall { grid-row: auto; aspect-ratio: 1/1; }
  .form-card { padding: 1.4rem; }
  .cta-band { border-radius: 20px; padding: 2rem 1.2rem; }
  .back-to-top { right: 1rem; bottom: 1rem; width: 44px; height: 44px; }
  .hero-pills { justify-content: flex-start; }
  .footer-news .input-group { flex-wrap: wrap; }
}

/* ---------- Mobile (<= 575.98px) ---------- */
@media (max-width: 575.98px) {
  .section { padding: 48px 0; }
  .hero { padding: 30px 0 40px; min-height: auto; }
  .hero h1 { font-size: 2.2rem; text-align: center; }
  .hero .hero-sub { text-align: center; margin-inline: auto; }
  .hero-image svg, .hero-image .rounded-media { max-height: 230px; }
  .btn-lg { width: 100%; }
  .hero .d-flex.gap-3 { flex-direction: column; align-items: center; }
  .hero h1 { font-size: 2rem; }
  .hero .hero-sub { font-size: 1.02rem; }
  .btn-lg { width: 100%; padding: .85rem 1rem; }
  .hero .d-flex.gap-2 { flex-direction: column; }
  .gallery-grid { grid-template-columns: 1fr; }
  .gallery-item.wide { grid-column: auto; }
  .stat-num { font-size: 1.9rem; }
  .card-luniva { padding: 1.4rem; }
  .mobile-panel { width: 92vw; }
  .dash-kpis { grid-template-columns: repeat(3, 1fr); gap: .35rem; }
  .dash-kpi b { font-size: .85rem; }
  .testi-author { flex-wrap: wrap; }
  .breadcrumb-luniva { font-size: .8rem; }
}

/* ---------- Extra small heights ---------- */
@media (max-height: 640px) and (max-width: 1199.98px) {
  .mobile-panel { padding-top: 1rem; }
  .mobile-panel a.m-link { padding: .65rem .5rem; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  [data-aos] { opacity: 1 !important; transform: none !important; }
}

/* ---------- Print ---------- */
@media print {
  .nav-wrap, .site-footer, .back-to-top, .scroll-progress, #pageLoader, .search-overlay { display: none !important; }
  body { background: #fff; }
}
