/* Ritter Druck – responsive Ergänzungen (Mobile ≤767px, Tablet 768–1023px, Desktop ≥1024px unverändert) */
.nav-burger{display:none}
.mobile-menu{display:none}
@media (max-width:1023px){
  body{width:100%!important;max-width:100%;overflow-x:hidden}
  .max-w-\[1240px\]{padding-left:24px!important;padding-right:24px!important}
  nav[aria-label="Hauptnavigation"]{gap:20px!important;font-size:14px!important}
  nav[aria-label="Hauptnavigation"] > span,nav[aria-label="Hauptnavigation"] > a:has(.fa-phone){display:none!important}
  nav[aria-label="Hauptnavigation"] > a:last-child{padding:8px 16px!important}
  .grid-cols-12,.grid-cols-4,.grid-cols-3,[class*="grid-cols-\["]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .grid-cols-12 > [class*="col-span-"]{grid-column:auto!important}
  .grid-cols-12 > .col-span-12,.grid-cols-12 > .col-span-10,.grid-cols-12 > .col-span-2{grid-column:1/-1!important}
  .divide-x > *{padding-left:20px!important;padding-right:20px!important}
  h1{font-size:3rem!important;line-height:1.05!important}
  h2{font-size:2.25rem!important}
  .overflow-hidden[class*="h-[6"],.overflow-hidden[class*="h-[5"]{height:440px!important}
  .absolute.-left-10{left:16px!important;width:260px!important}
  .py-28{padding-top:80px!important;padding-bottom:80px!important}
  .px-16{padding-left:40px!important;padding-right:40px!important}
  aside[role="dialog"]{position:fixed!important;top:auto!important;bottom:0!important}
  aside[role="dialog"] p{max-width:none!important}
}
@media (max-width:767px){
  .max-w-\[1240px\]{padding-left:16px!important;padding-right:16px!important}
  nav[aria-label="Hauptnavigation"]{display:none!important}
  .nav-burger{display:flex}
  header:has(#nav-toggle:checked) .mobile-menu{display:block}
  header:has(#nav-toggle:checked) .burger-open{display:none}
  header:has(#nav-toggle:checked) .burger-close{display:inline-block!important}
  header .h-20{height:64px!important}
  [class*="grid-cols"]{grid-template-columns:minmax(0,1fr)!important}
  [class*="col-span-"]{grid-column:auto!important;padding-left:0!important;padding-right:0!important}
  .divide-x > *{border-left-width:0!important;padding-left:0!important;padding-right:0!important;padding-top:20px!important;padding-bottom:20px!important;border-bottom:1px solid #E4E7EA}
  h1{font-size:28px!important;line-height:1.12!important;letter-spacing:-0.02em!important}
  h2{font-size:24px!important;line-height:1.15!important}
  h3{font-size:18px!important}
  blockquote p,.text-4xl,.text-5xl{font-size:22px!important;line-height:1.3!important}
  .text-lg{font-size:16px!important}
  .whitespace-nowrap{white-space:normal!important}
  .flex.items-end.justify-between,.flex.items-center.justify-between.text-sm,.bg-sand.flex{flex-direction:column!important;align-items:flex-start!important;gap:16px!important}
  .bg-sand.flex > .ml-auto{margin-left:0!important}
  main .flex:has(> button){flex-direction:column!important;align-items:stretch!important}
  main button,form button,aside[role="dialog"] button{width:100%!important;justify-content:center!important}
  main .flex.gap-8{flex-wrap:wrap!important;gap:16px!important}
  .overflow-hidden[class*="h-["]:not(header *){height:260px!important}
  .absolute.-left-10{position:static!important;width:auto!important;margin-top:16px}
  img{width:100%;object-fit:cover}
  .py-28,.py-24{padding-top:56px!important;padding-bottom:56px!important}
  .pt-16{padding-top:32px!important}.pb-24{padding-bottom:48px!important}
  .px-16,.px-12{padding-left:24px!important;padding-right:24px!important}
  .py-16{padding-top:40px!important;padding-bottom:40px!important}
  .mt-14{margin-top:32px!important}
  input,select,textarea{width:100%!important}
  aside[role="dialog"] > div,aside[role="dialog"] .ml-auto{flex-direction:column!important;align-items:stretch!important;margin-left:0!important;gap:8px!important}
  footer nav[aria-label="Rechtliches"]{flex-wrap:wrap;gap:16px!important}
}
