/* ============================
   JRcare – Responsive v2
   Mobile-First
   ============================ */

/* Tablet: ab 768px */
@media (min-width: 768px) {
  .container { padding-inline: var(--space-8); }
}
/* Desktop: ab 1024px */
@media (min-width: 1024px) {
  .container { padding-inline: var(--space-10); }
}

/* ── Mobile (bis 767px) ── */
@media (max-width: 767px) {

  /* Topbar */
  .topbar-left { display: none; }
  .topbar .container { justify-content: center; }

  /* Navigation */
  .nav-toggle { display: flex; }
  nav { padding: var(--space-3) var(--space-4); }

  .nav-links {
    display: none;
    position: absolute;
    top: 100%;
    left: 0; right: 0;
    flex-direction: column;
    background: white;
    border-bottom: 2px solid var(--color-border);
    padding: var(--space-4);
    gap: var(--space-1);
    box-shadow: var(--shadow-md);
    align-items: flex-start;
  }
  .nav-links.is-open { display: flex; }
  .nav-links a { width: 100%; padding: var(--space-3) var(--space-4); }
  .nav-cta { width: 100%; justify-content: center; }

  /* Hero */
  .hero .container { grid-template-columns: 1fr; padding-top: var(--space-12); padding-bottom: var(--space-12); }
  .hero-visual { display: none; }
  .hero h1 { font-size: 2rem; }
  .hero-trust { gap: var(--space-4); }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: 100%; justify-content: center; }

  /* Sections */
  .section { padding: var(--space-12) 0; }

  /* Kassen Box */
  .kassen-box { grid-template-columns: 1fr; padding: var(--space-6); }

  /* Pflegestufen – 2 Spalten auf Mobile */
  .pflegestufen-grid { grid-template-columns: repeat(2, 1fr); }

  /* Kontakt */
  .contact-grid { grid-template-columns: 1fr; }

  /* Form Row */
  .form-row { grid-template-columns: 1fr; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom .container { flex-direction: column; text-align: center; }
  .footer-legal { justify-content: center; }

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

  /* Cert Strip */
  .cert-strip .container { gap: var(--space-5); }
}

/* ── Tablet (768px–1023px) ── */
@media (min-width: 768px) and (max-width: 1023px) {
  .hero .container { grid-template-columns: 1fr; }
  .hero-visual { display: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .pflegestufen-grid { grid-template-columns: repeat(3, 1fr); }
  .kassen-box { grid-template-columns: 1fr; padding: var(--space-8); }
}

/* ── Sehr kleine Screens (bis 380px) ── */
@media (max-width: 380px) {
  .pflegestufen-grid { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: 1fr; }
  .hero-trust { flex-direction: column; gap: var(--space-3); }
}

/* ── Print ── */
@media print {
  .topbar, header, .hero, footer, .btn, .info-banner,
  .stats-bar, .cert-strip, nav { display: none; }
  body { color: black; background: white; font-size: 11pt; }
  .section { padding: 16pt 0; break-inside: avoid; }
  .service-card, .value-card, .pflegestufe-card { break-inside: avoid; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 8pt; color: gray; }
}
