/* usa-chrome.css — consolidated chrome CSS for the Astro rebuild.
   Replaces the WordPress inline <style> blocks (aa-critical-css, aa-slim-bc-css, aa-a11y-fixes,
   aa-faq-css) + a clean logo header, content wrapper and slim footer that no longer depend on
   the7-core.css. (.aa-content-page, .aa-grounding, .aa-related-links, .aa-main-nav stay styled by
   main-nav-v3.css.) */

/* --- base reset / typography (was aa-critical-css) --- */
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
*, *::before, *::after { box-sizing: inherit; }
body { margin: 0; font-family: Roboto, Arial, sans-serif; color: #333; background: #fff; line-height: 1.55; }
img { max-width: 100%; height: auto; }
h1, h2, h3 { font-family: 'Roboto Condensed', Arial, sans-serif; color: #222; line-height: 1.25; margin: 0 0 .65em; }
a { color: #0649d1; text-decoration: none; transition: text-decoration-color .15s, color .15s; }
a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
a:focus-visible { outline: 2px solid #0649d1; outline-offset: 2px; border-radius: 2px; }

/* --- skip link (was aa-a11y-fixes) --- */
.aa-skip-link { position: absolute; top: -40px; left: 8px; padding: 8px 16px; background: #0c1628; color: #fff !important; text-decoration: none; border-radius: 4px; font-weight: 600; z-index: 9999; transition: top .15s ease; }
.aa-skip-link:focus, .aa-skip-link:focus-visible { top: 8px; outline: 3px solid #ffd700; outline-offset: 2px; }

/* --- logo header (clean replacement for the The7 masthead) --- */
.aa-site-header { background: #fff; border-bottom: 1px solid #ececec; padding: 16px 24px; text-align: center; }
.aa-site-header .aa-logo-link { display: inline-block; }
.aa-site-header img { width: auto; height: auto; max-height: 60px; max-width: 100%; display: block; }
/* ≤900px: Floating-Hamburger (fixed, right 16px, 48px) braucht Platz — Logo links, rechts 76px reserviert */
@media (max-width: 900px) {
  .aa-site-header { text-align: left; padding-right: 76px; }
}

/* --- slim breadcrumb bar (was aa-slim-bc-css) --- */
.aa-slim-bc { background: #fafafa; border-bottom: 1px solid #ececec; padding: 14px 0; font-size: .93em; font-family: Roboto, Arial, sans-serif; }
.aa-slim-bc-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; color: #666; }
.aa-slim-bc ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.aa-slim-bc li { display: inline-flex; align-items: center; gap: 6px; }
.aa-slim-bc a { color: #0649d1; text-decoration: none; }
.aa-slim-bc a:hover { text-decoration: underline; }
.aa-slim-bc .aa-bc-sep { color: #bbb; user-select: none; }
.aa-slim-bc .aa-bc-current { color: #222; font-weight: 500; }

/* --- centered content wrapper (was the data-aa-centered inline style) --- */
.aa-content-wrap { max-width: 880px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.aa-content-page > h1 { margin-top: .8em; }

/* --- slim footer (was the inline-styled footer + aa-a11y footer-contrast fixes) --- */
.aa-slim-footer { background: #1a2230; color: #c0c8d4; padding: 18px 24px; text-align: center; font-size: .92em; line-height: 1.6; margin-top: 48px; }
.aa-footer-inner { max-width: 1180px; margin: 0 auto; }
.aa-slim-footer a { color: #e8edf5; text-decoration: none; }
.aa-slim-footer a:hover, .aa-slim-footer a:focus { color: #fff; text-decoration: underline; }
.aa-footer-brand { color: #fff !important; font-weight: 600; }
.aa-footer-links { margin-top: 6px; }
.aa-footer-links a { margin: 0 8px; }
.aa-footer-note { margin-top: 10px; font-size: .78em; color: #a3acb9; line-height: 1.5; max-width: 880px; margin-left: auto; margin-right: auto; }

/* --- FAQ accordion (was aa-faq-css) — legal pages --- */
.aa-faq { font-family: inherit; }
.aa-faq-item { border-bottom: 1px solid #e3eaf5; padding: 0; }
.aa-faq-item:first-of-type { border-top: 1px solid #e3eaf5; }
.aa-faq-item summary { padding: 18px 40px 18px 4px; cursor: pointer; font-weight: 600; font-size: 1.05em; color: #0c1628; list-style: none; position: relative; outline: none; transition: color .15s; }
.aa-faq-item summary:hover { color: #0649d1; }
.aa-faq-item summary::-webkit-details-marker { display: none; }
.aa-faq-item summary::after { content: "+"; position: absolute; right: 8px; top: 50%; transform: translateY(-50%); font-size: 1.7em; font-weight: 300; color: #0649d1; transition: transform .25s; line-height: 1; }
.aa-faq-item[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.aa-faq-answer { padding: 0 4px 18px; }
