/* ============================================================
   KUARS – Responsive
   Breakpoints: 1024px (tablet), 768px (mobile), 480px (small)
   ============================================================ */

/* ── Tablet (≤ 1024px) ── */
@media (max-width: 1024px) {
  :root { --container-pad: 5%; }

  .hero-content { gap: 40px; }
  .hero-right { flex: 0 0 300px; }

  .srv-top-grid,
  .srv-bot-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-8);
  }
}

/* ── Mobile (≤ 768px) ── */
@media (max-width: 768px) {
  :root { --container-pad: 5%; }

  /* Navbar — hide links, show hamburger */
  .nav-links { display: none !important; }
  .nav-cta   { display: none !important; }
  .hamburger { display: flex !important; }

  /* Hero */
  .hero {
    padding: 70px var(--container-pad) 60px;
  }
  .hero-content {
    flex-direction: column;
    gap: var(--sp-10);
  }
  .hero-right { display: none; }

  .hero-title {
    font-size: clamp(2rem, 8vw, 2.8rem);
  }

  /* Sections */
  .section { padding-block: var(--sp-16); }

  /* Grids → 1 column */
  .srv-top-grid,
  .srv-bot-grid,
  .how-grid,
  .pricing-grid {
    grid-template-columns: 1fr;
  }

  /* Trust strip */
  .trust-list { gap: var(--sp-5); justify-content: flex-start; }

  /* CTA */
  .cta-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .cta-actions .btn { text-align: center; justify-content: center; }

  /* Footer */
  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--sp-8);
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  /* Cookie banner */
  .cookie-banner {
    bottom: 0;
    left: 0;
    right: 0;
    transform: none;
    width: 100%;
    border-radius: var(--r-xl) var(--r-xl) 0 0;
  }

  .cookie-banner__content {
    flex-direction: column;
    gap: var(--sp-4);
  }

  .cookie-banner__actions {
    width: 100%;
    justify-content: flex-end;
  }
}

/* ── Small (≤ 480px) ── */
@media (max-width: 480px) {
  .hero-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .hero-actions .btn { text-align: center; justify-content: center; }

  .trust-list { flex-direction: column; align-items: flex-start; gap: var(--sp-3); }

  .section-title {
    font-size: var(--fs-2xl);
  }
}

/* ── Print ── */
@media print {
  .navbar,
  .cookie-banner,
  .hamburger,
  .mobile-menu,
  .hero-orb,
  .cta-orb {
    display: none !important;
  }
  body { font-size: 12pt; }
  a[href]::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;
  }
}

/* ── Extra responsive fixes ── */

/* Hero text wrapping on tablets */
@media (max-width: 1024px) {
  .hero-title { font-size: clamp(2rem, 5vw, 3rem); }
  .hero-desc  { font-size: 1rem; }
  .how-grid   { grid-template-columns: repeat(2, 1fr); }
}

/* Navbar: prevent logo overflow */
@media (max-width: 768px) {
  .nav-container {
    padding-inline: 4%;
  }
  .logo-img {
    height: 30px;
    max-width: 110px;
  }
  .hero { padding-inline: 5%; }
  .trust-list {
    justify-content: flex-start;
    gap: var(--sp-4);
  }
  .how-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  /* Pricing stacks nicely */
  .pricing-card--featured { order: -1; }
}

/* Very small phones */
@media (max-width: 380px) {
  .logo-img { height: 26px; max-width: 95px; }
  .hero-title { font-size: 1.9rem; }
  .section-title { font-size: 1.6rem; }
  .btn-lg { padding: 13px 24px; font-size: 0.9rem; }
}
