/* Brand colors, .site-header/.site-footer, language switcher, and
   app-switcher rules now all live in css/chrome.css (loaded alongside this
   file on faq.html/legal.html - see templates/faq.hbs/templates/legal.hbs)
   since they're shared byte-for-byte with every index.html's (both sites)
   css/landing.css. Only this page type's own legacy/static-page-only rules
   stay here. */

/* Top/bottom full-width blue bars - legacy, dead code: js/siteconfig.js's
   legacyChromeEnabled is false everywhere now, so main.js never injects
   these #referencelink/#sitefooter elements. Left in place rather than
   deleted in case that ever needs reviving. */
#referencelink {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    column-gap: 8px;
    text-align: center;
    background-color: var(--brand-dark-blue);
    color: var(--brand-light-blue);
    font-family: sans-serif;
    font-size: 13px;
    line-height: 16px;
    padding: 3px 10px;
    white-space: normal;
    box-sizing: border-box;
}

#referencelink .ref-spacer {
    min-width: 0;
}

#referencelink a {
    color: var(--brand-light-blue);
    text-decoration: underline;
}

#referencelink a:hover {
    color: #fff;
}

/* Solar site theme override for the legacy bars above (the live
   .site-header/.site-footer solar override lives in css/chrome.css) -
   static pages have no JS site-config plumbing, so body.site-solar is
   hardcoded directly on <body> in those files instead. */
body.site-solar #referencelink a:hover,
body.site-solar #sitefooter a:hover {
    color: #000;
}

#sitefooter {
    text-align: center;
    background-color: var(--brand-dark-blue);
    color: var(--brand-light-blue);
    font-family: sans-serif;
    font-size: 13px;
    line-height: 16px;
    padding: 3px 10px;
    box-sizing: border-box;
}

#sitefooter a {
    color: var(--brand-light-blue);
    text-decoration: underline;
}

#sitefooter a:hover {
    color: #fff;
}

.footer-links-nowrap {
    white-space: nowrap;
}

html,
body {
    height: 100%;
    width: 100%;
}

/* Same sticky-chrome layout as the map pages (see css/landing.css's
   .page-content comment): body is a column flex container filling the
   viewport, with .site-header/.site-footer (flex: 0 0 auto, css/chrome.css)
   as fixed-height siblings and .static-page as the flexible middle region
   that scrolls its own overflow - so the footer stays always visible at the
   bottom of the viewport instead of scrolling away with long FAQ/legal
   content. */
body {
    margin: 0;
    padding: 0;
    font-family: sans-serif;
    color: #222;
    background-color: #fff;
    display: flex;
    flex-direction: column;
}

.static-page {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    /* Full-bleed scroll container (no max-width/margin:auto) so its
       scrollbar sits flush against the viewport's right edge, matching
       index/map. The 700px-wide reading column is instead emulated via
       horizontal padding, which keeps the same visual content width/position
       as before without making this element itself narrower than the
       viewport. */
    padding: 24px max(20px, calc(50% - 330px)) 60px;
    line-height: 1.6;
}

/* All content links within a static page (FAQ/legal prose, back link, etc.) */
.static-page a {
    color: var(--brand-dark-blue);
    text-decoration: none;
    font-weight: 550;
}

.static-page a:hover {
    text-decoration: underline;
}

/* "← Back to map" link: keep slightly smaller font */
.static-back a {
    font-size: 14px;
}

/* Localized legal-binding note shown near the top of each non-German
   legal page (/xx/legal.html and /solar/xx/legal.html). */
.legal-banner {
    background: #fff8e1;
    border: 1px solid #e0c46c;
    border-radius: 4px;
    padding: 12px 16px;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.5;
}

.static-og-image {
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    margin: 12px 0 24px;
}

.faq-table caption {
    font-size: 0.9em;
    margin-bottom: 0.4em;
}

.faq-table-wrapper {
    overflow-x: auto;
    margin: 1em 0;
}
.faq-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}
.faq-table col:nth-child(1) { width: 27%; }
.faq-table col:nth-child(2) { width: 26%; }
.faq-table col:nth-child(3) { width: 15%; }
.faq-table col:nth-child(4) { width: 33%; }
.faq-table th, .faq-table td {
    border: 1px solid #ccc;
    padding: 0.4em 0.6em;
    text-align: left;
    vertical-align: top;
    word-break: break-word;
    font-size: 0.8em;
}
.faq-table td:nth-child(3) { text-align: center; }

h1 {
    color: var(--brand-dark-blue);
}

section {
    margin-top: 32px;
    padding-top: 8px;
    border-top: 1px solid #e0e0e0;
}

section h2 {
    color: var(--brand-dark-blue);
}
