/* R66: UI-, Barrierefreiheits- und Sprachkorrekturen. Nur Korrekturen, keine Palette-/Typo-Änderungen.
   Hohe Spezifität (html body …) ist beabsichtigt: style.css arbeitet mit !important und
   sprachabhängigen Regeln (.swf-lang-en), die hier für beide Sprachen vereinheitlicht werden. */

/* ===== 3. Navigation: Burger bis 1100 px, Desktop-Navigation ab 1101 px – in beiden Sprachen ===== */
@media (max-width:1100px){
  html body header.nav nav.links,
  html body header.nav .nav-actions,
  html body.swf-lang-en header.nav nav.links,
  html body.swf-lang-en header.nav .nav-actions,
  html body.swf-lang-de header.nav nav.links,
  html body.swf-lang-de header.nav .nav-actions{display:none!important}
  html body header.nav .burger,
  html body.swf-lang-en header.nav .burger,
  html body.swf-lang-de header.nav .burger{display:flex!important;margin-left:auto!important}
  html body header.nav .nav-inner{display:flex!important;align-items:center!important;height:auto!important;min-height:64px}
}
@media (min-width:1101px){
  html body header.nav nav.links,
  html body.swf-lang-en header.nav nav.links,
  html body.swf-lang-de header.nav nav.links{display:flex!important}
  html body header.nav .nav-actions,
  html body.swf-lang-en header.nav .nav-actions,
  html body.swf-lang-de header.nav .nav-actions{display:flex!important}
  html body header.nav .burger,
  html body.swf-lang-en header.nav .burger,
  html body.swf-lang-de header.nav .burger{display:none!important}
  html body header.nav .mobile-menu,
  html body header.nav .mobile-menu.open{display:none!important}
  html body .swf-menu-backdrop{display:none!important}
}

/* ===== 3. Mobiles Menü: über allen Anzeigen, Backdrop, kein Scrollen im Hintergrund ===== */
/* Body-Lock: position:fixed wirkt auch auf iOS (overflow:hidden allein nicht); Scrollposition setzt r66-ui.js. */
html body.swf-menu-open{overflow:hidden!important;position:fixed!important;left:0!important;right:0!important;width:100%!important}
/* z-index: höher als 2147483000 geht nicht sinnvoll (Google-Anchor nutzt 2147483647). Das Werbemodul rendert keine Anchor-/Vignette-Formate; Auto Ads bleiben im AdSense-Konto aus (DEPLOY-R66 §3). */
html body.swf-menu-open header.nav{z-index:2147483000!important}
html body #mm.open{position:relative;z-index:2147483000;max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);overflow-y:auto;-webkit-overflow-scrolling:touch}
html body .swf-menu-backdrop{position:fixed;inset:0;z-index:2147482999;background:rgba(23,53,38,.45);border:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;-webkit-tap-highlight-color:transparent}
html body .swf-menu-backdrop:focus-visible{outline:3px solid #fff;outline-offset:-6px}
@media (prefers-reduced-motion:no-preference){
  html body .swf-menu-backdrop{animation:swfR66Fade .18s ease-out}
  @keyframes swfR66Fade{from{opacity:0}to{opacity:1}}
}

/* ===== 4. CCM19-Floating-Icon: mobil unten rechts, Start-CTA-Bereich schützen ===== */
@media (max-width:767px){
  /* R66-Review FX-07: nur das Floating-Icon (Summoner) positionieren – nie den Dialog-Container (#ccm-widget). */
  html body .ccm-settings-summoner,
  html body .ccm-settings-summoner--link,
  html body a.ccm-settings-summoner--link{bottom:12px!important;right:12px!important;left:auto!important;top:auto!important;max-width:56px;max-height:56px}
  html body .swf-home-page>section:first-of-type,
  html body .swf-home-page>section:first-child{padding-bottom:88px!important}
}

/* ===== 1. Tools: Abschnittstitel + Untertitel, Statusbereiche ===== */
html body .tool-head p.lead{margin:6px 0 0;font-size:1.02rem;line-height:1.5;opacity:.94}
html body .tool-result [role="status"]:empty{min-height:0}
html body .tool-result .tr-big[role="alert"]{color:inherit}

/* ===== 6./7. KI-Bild-Badge an Kopfbildern und Rezeptbildern ===== */
html body figure.kopfbild{position:relative}
html body figure.kopfbild .swf-ai-image-badge,
html body .rez-bild .swf-ai-image-badge{position:absolute;top:10px;right:10px;z-index:2;pointer-events:none}
html body figure.kopfbild figcaption.swf-hero-credit{font-size:.78rem!important;line-height:1.45!important;color:#53685C!important;text-align:right!important;padding:6px 10px 8px!important;margin:0!important;font-style:normal!important;border-top:0!important;background:transparent!important}

/* ===== 6. Rezept-Archiv: Kategoriechips ===== */
html body .swf-recipes-r36 .swf-filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}
html body .swf-recipes-r36 .swf-filter-chip{display:inline-flex!important;align-items:center!important;gap:6px;min-height:44px!important;padding:8px 14px!important;border-radius:999px;border:1px solid #CFD9D2;background:#fff;color:#173526;font:600 .92rem/1.2 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;cursor:pointer}
html body .swf-recipes-r36 .swf-filter-chip[aria-pressed="true"],
html body .swf-recipes-r36 .swf-filter-chip.is-on{background:#178049;border-color:#178049;color:#fff}
html body .swf-recipes-r36 .swf-filter-chip-count{font-size:.78rem;opacity:.8}
html body .swf-recipes-r36 .rez-card.swf-hidden{display:none!important}
html body .swf-recipes-r36 .swf-filter-empty{margin:14px 0 0;color:#53685C}

/* ===== 1. Mahlzeiten-Baukasten: Leer-Zustand der Zutatensuche ===== */
html body .mz-keine-treffer{margin:6px 0 0;padding:10px 12px;border:1px dashed #CFD9D2;border-radius:10px;color:#53685C;font-size:.92rem}
html body .mz-keine-treffer[hidden]{display:none!important}

/* ===== 8. Honeypot: nie sichtbar, nie fokussierbar ===== */
html body .swf-form-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* ===== 11. Touch-Ziele ===== */
html body sup.source-ref a,
html body sup a[href^="#"],
html body .sources a,
html body .crossrefs a{display:inline-block;min-height:24px;padding:2px 0;line-height:20px;vertical-align:baseline}
html body sup.source-ref,
html body sup{line-height:0}
html body .nl-consent input[type="checkbox"],
html body input[name="nl_consent"]{width:24px!important;height:24px!important;min-width:24px!important;min-height:24px!important;margin:0 2px 0 0!important;flex:none;accent-color:#178049}
html body .nl-consent{align-items:center!important}
@media (max-width:767px){
  html body article table,
  html body .wrap table,
  html body figure table,
  html body article table th,
  html body article table td,
  html body .wrap table th,
  html body .wrap table td{font-size:14px!important;line-height:1.45}
}

/* ===== 2. Suche: Überschrift einzeilig, Pagination ===== */
html body .swf-search-title{white-space:normal;word-break:break-word}

/* ===== R66-Review FX-18: Touch-Ziele 44px auch dort, wo v61-clean.css mit !important kleiner setzt ===== */
html body .swf-tools-page .swf-filter-chip{min-height:44px!important;padding:10px 14px!important;font-size:13px!important}
html body .swf-filter-chip,html body .swf-chip{min-height:44px!important}
html body .nem-tab{min-height:44px!important}
html body .ti[aria-invalid="true"]{border-color:#B3261E!important;box-shadow:0 0 0 3px rgba(179,38,30,.15)!important}

/* ===== R66-Review FX-15: Footer-Hinweis zur KI-Unterstützung ===== */
html body footer .foot-ai-hint{margin:18px 0 6px;padding:10px 0 0;border-top:1px solid rgba(255,255,255,.12);font-size:.82rem;line-height:1.5;color:rgba(255,255,255,.72)}
html body footer .foot-ai-hint a{color:inherit;text-decoration:underline}
@media (min-width:1100px){html body footer .foot-grid{grid-template-columns:1.6fr 1fr 1fr 1fr 1fr}}
