/* ==========================================================================
   BLICKFELD – Responsive
   ========================================================================== */

@media (max-width: 1024px) {
  :root {
    --font-size-4xl: 2.5rem;
    --font-size-3xl: 2rem;
    --font-size-2xl: 1.75rem;
  }

  .hero { min-height: auto; padding: calc(var(--header-height) + var(--spacing-3xl)) 0 var(--spacing-3xl); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .about-intro { grid-template-columns: 220px 1fr; gap: var(--spacing-2xl); }
  .service-detail__body { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  :root {
    --font-size-4xl: 2rem;
    --font-size-3xl: 1.75rem;
    --font-size-2xl: 1.5rem;
    --spacing-4xl: 4rem;
    --spacing-3xl: 3rem;
  }

  .container { padding: 0 var(--spacing-md); }

  /* Navigation */
  .nav-toggle { display: flex; }

  .site-nav {
    position: fixed;
    top: 0; right: -100%;
    width: 80%; max-width: 360px;
    height: 100vh;
    background-color: var(--color-bg);
    flex-direction: column;
    align-items: stretch;
    padding: calc(var(--header-height) + var(--spacing-xl)) var(--spacing-xl) var(--spacing-xl);
    box-shadow: -4px 0 30px rgba(0, 0, 0, 0.1);
    transition: right var(--transition-normal);
    overflow-y: auto;
    gap: var(--spacing-md);
  }

  .site-nav--open { right: 0; }

  .site-nav__list {
    flex-direction: column;
    gap: 0;
  }

  .site-nav__link {
    padding: var(--spacing-md);
    font-size: var(--font-size-base);
    border-bottom: 1px solid var(--color-border-light);
    border-radius: 0;
  }

  .site-nav__cta {
    margin-top: var(--spacing-md);
    text-align: center;
    justify-content: center;
  }

  /* Hero */
  .hero__title { font-size: var(--font-size-2xl); }
  .hero__description { font-size: var(--font-size-base); }
  .hero__actions { flex-direction: column; }
  .hero__actions .btn { width: 100%; }
  .hero__trust { flex-direction: column; gap: var(--spacing-md); }

  /* Grids */
  .card-grid,
  .card-grid--2,
  .card-grid--3,
  .card-grid--4,
  .challenges-grid,
  .process-steps,
  .trust-grid,
  .contact-methods { grid-template-columns: 1fr; }

  /* About */
  .about-intro { grid-template-columns: 1fr; gap: var(--spacing-xl); }
  .about-portrait { max-width: 250px; margin: 0 auto; }
  .about-facts { grid-template-columns: 1fr; }

  /* Form */
  .form-row { grid-template-columns: 1fr; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; gap: var(--spacing-xl); }
  .footer-bottom { flex-direction: column; text-align: center; }
  .footer-bottom__links { justify-content: center; }

  /* CTA */
  .cta-banner__actions { flex-direction: column; align-items: center; }
  .cta-banner__actions .btn { width: 100%; max-width: 320px; }

  /* WhatsApp */
  .whatsapp-float { bottom: var(--spacing-md); right: var(--spacing-md); width: 50px; height: 50px; }
  .whatsapp-float svg { width: 24px; height: 24px; }

  /* Sections */
  .section { padding: var(--spacing-3xl) 0; }
  .page-header { padding: calc(var(--header-height) + var(--spacing-2xl)) 0 var(--spacing-2xl); }
  .page-header__title { font-size: var(--font-size-2xl); }
}

@media (max-width: 480px) {
  :root {
    --font-size-4xl: 1.75rem;
    --font-size-3xl: 1.5rem;
    --font-size-2xl: 1.35rem;
  }

  .card { padding: var(--spacing-lg); }
  .error-page__code { font-size: 5rem; }
}

@media print {
  .site-header, .site-footer, .whatsapp-float, .nav-toggle, .nav-overlay, .cta-banner { display: none !important; }
  body { font-size: 12pt; color: #000; }
  a { color: #000; text-decoration: underline; }
  .hero { padding-top: 0; min-height: auto; }
}