/* ==========================================================================
   Adiora — Responsive (responsive.css)
   ========================================================================== */

/* Large tablets / small laptops */
@media (max-width: 1024px) {
  :root { --sp-7: 5.5rem; --sp-6: 3.5rem; }
  .grid-4, .stats-grid, .process-grid { grid-template-columns: repeat(2, 1fr); }
  .testi-grid { columns: 2; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
}

/* Tablets */
@media (max-width: 860px) {
  .nav-links, .nav-cta .btn-secondary-desktop { display: none; }
  .nav-toggle { display: block; }

  /* Mobile nav panel */
  .nav-links {
    display: flex;
    position: fixed;
    inset: var(--header-h) 0 auto 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0.15rem;
    background: var(--bg-elev-2);
    border-bottom: 1px solid var(--border);
    padding: var(--sp-2);
    transform: translateY(-120%);
    transition: transform 0.4s var(--ease);
    max-height: calc(100dvh - var(--header-h));
    overflow-y: auto;
    box-shadow: var(--shadow);
  }
  body.nav-open .nav-links { transform: translateY(0); }
  .nav-links > li > a { padding: 0.9rem 1rem; font-size: 1.05rem; border-radius: 12px; }
  .dropdown {
    position: static; transform: none; opacity: 1; visibility: visible;
    min-width: 0; box-shadow: none; background: var(--surface);
    margin: 0.25rem 0 0.5rem; padding: 0.3rem;
  }
  .has-dropdown > a::after { content: " ▾"; }

  .grid-2 { grid-template-columns: 1fr; gap: var(--sp-4); }
  .grid-3 { grid-template-columns: 1fr 1fr; }
  .case-card { grid-template-columns: 1fr; }
  .case-card .case-visual { min-height: 160px; order: -1; }

  /* Sticky mobile CTA */
  .mobile-cta-bar {
    display: flex;
    position: fixed;
    inset: auto 0 0 0;
    z-index: 895;
    gap: 0.6rem;
    padding: 0.7rem 0.9rem calc(0.7rem + env(safe-area-inset-bottom));
    background: rgba(7,7,12,0.9);
    backdrop-filter: blur(14px);
    border-top: 1px solid var(--border);
  }
  .mobile-cta-bar .btn { flex: 1; padding: 0.85rem; }
  .float-actions { bottom: 84px; }
  body { padding-bottom: 72px; }
}

/* Phones */
@media (max-width: 620px) {
  :root { --sp-7: 4.5rem; --sp-6: 3rem; --header-h: 64px; }
  .grid-3, .grid-4, .stats-grid, .process-grid, .pricing-grid, .blog-grid { grid-template-columns: 1fr; }
  .testi-grid { columns: 1; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .form-grid { grid-template-columns: 1fr; }
  .hero-cta .btn, .cta-band .btn { width: 100%; }
  .hero-orb.o1, .hero-orb.o2 { width: 300px; height: 300px; }
  .stat .num { font-size: 2.4rem; }
  .price-card .price { font-size: 2.2rem; }
}

@media (max-width: 400px) {
  .footer-grid { grid-template-columns: 1fr; }
  .brand span.brand-word { display: none; }
}

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

/* Print */
@media print {
  .site-header, .float-actions, .mobile-cta-bar, .hero-bg, .site-footer { display: none !important; }
  body { color: #000; background: #fff; }
}
