/* Shared chrome for the legal pages (Impressum, Datenschutz, Haftungsausschluss, Cookie-Richtlinie):
   header, footer, buttons, cookie banner — copied 1:1 from index.html's inline styles so all
   pages look identical. index.html keeps its own inline copy (self-contained landing page);
   this file exists only for the four legal pages so they don't each duplicate ~150 lines. */

/* ---------- Icon ---------- */
.qvs-icon{display:inline-block;flex:0 0 auto;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Buttons (Button.jsx) ---------- */
.qvs-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-inline);height:42px;padding-inline:var(--space-4);font:var(--fw-bold) var(--fs-sm)/1 var(--font-body);letter-spacing:var(--ls-normal);border-radius:var(--radius-control);border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:var(--transition-control),transform var(--dur-instant) var(--ease-standard)}
.qvs-btn--lg{height:52px;padding-inline:var(--space-6);font-size:var(--fs-md)}
.qvs-btn--sm{height:34px;padding-inline:var(--space-3)}
.qvs-btn--cta{background:var(--qvs-amber-400);color:var(--qvs-gray-900)}
.qvs-btn--cta:hover{background:var(--qvs-amber-500)}
.qvs-btn--secondary{background:var(--surface-card);color:var(--text-strong);border-color:var(--border-default);box-shadow:var(--shadow-xs)}
.qvs-btn--secondary:hover{background:var(--surface-hover);border-color:var(--border-strong)}
.qvs-btn--inverse{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.qvs-btn--inverse:hover{background:rgba(255,255,255,.1)}
.qvs-btn:active{transform:translateY(1px);box-shadow:none}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle)}
.site-header__inner{height:var(--header-h);display:flex;align-items:center;gap:var(--space-8)}
.site-header nav{display:flex;gap:var(--space-6);margin-left:auto}
.site-header nav a{font:var(--fw-semibold) var(--fs-sm)/1 var(--font-body);color:var(--text-muted);border:none;padding-bottom:3px}
.site-header nav a:hover,.site-header nav a.active{color:var(--brand-active)}
.site-header__logo{height:34px;width:auto;display:block}

/* ---------- Footer ---------- */
.site-footer{background:var(--surface-sunken);border-top:1px solid var(--border-default);padding-block:var(--space-16) var(--space-8)}
.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-10)}
.site-footer__brand p{font:var(--text-body-sm);color:var(--text-muted);max-width:280px;margin-top:var(--space-4)}
.site-footer h4{font:var(--fw-bold) var(--fs-sm)/1 var(--font-body);color:var(--text-strong);margin-bottom:var(--space-3)}
.site-footer__col{display:flex;flex-direction:column;gap:var(--space-2)}
.site-footer__col a{font:var(--text-body-sm);color:var(--text-muted);border:none;text-decoration:none}
.site-footer__col a:hover{color:var(--text-strong)}
.site-footer__col span{font:var(--text-body-sm);color:var(--text-muted)}
.site-footer__bottom{margin-top:var(--space-10);padding-top:var(--space-5);border-top:1px solid var(--border-default);display:flex;gap:var(--space-6);flex-wrap:wrap;align-items:center;font:var(--text-caption);color:var(--qvs-gray-400)}
.site-footer__badges{display:flex;align-items:center;gap:var(--space-4);margin-left:auto}
.site-footer__badges img{height:87.5px;width:auto}

/* ---------- Cookie consent banner ---------- */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--surface-inverse);box-shadow:var(--shadow-lg);padding:var(--space-5) var(--gutter)}
.cookie-banner__inner{max-width:var(--container-max);margin-inline:auto;display:flex;gap:var(--space-6);align-items:center;flex-wrap:wrap}
.cookie-banner__inner p{color:var(--qvs-gray-300);font:var(--text-body-sm);max-width:640px;flex:1 1 320px;margin:0}
.cookie-banner__inner a{color:#fff;border-bottom-color:rgba(255,255,255,.4)}
.cookie-banner__actions{display:flex;gap:var(--space-3);flex:0 0 auto;margin-left:auto}

/* ---------- Legal content (prose) ---------- */
.legal-hero{padding-block:var(--space-16) var(--space-10);background:var(--surface-sunken);border-bottom:1px solid var(--border-subtle)}
.legal-content{max-width:760px;margin-inline:auto;padding-block:var(--section-y-compact);display:flex;flex-direction:column;gap:var(--space-8)}
.legal-content section{display:flex;flex-direction:column;gap:var(--space-3)}
.legal-content h2{font:var(--text-h4)}
.legal-content h3{font:var(--fw-bold) var(--fs-md)/1.3 var(--font-body);color:var(--text-strong)}
.legal-content p{font:var(--text-body);color:var(--text-default);max-width:none}
.legal-content ul{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:var(--space-2)}
.legal-content li{font:var(--text-body);color:var(--text-default)}
.legal-content .legal-meta{font:var(--text-caption);color:var(--text-muted)}
.legal-content table{width:100%;border-collapse:collapse;font:var(--text-body-sm)}
.legal-content th,.legal-content td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);vertical-align:top}
.legal-content th{color:var(--text-heading);font:var(--fw-semibold) var(--fs-sm)/1.3 var(--font-body)}

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .site-header nav{display:none}
  .site-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 620px){
  .site-footer__grid{grid-template-columns:1fr}
  .site-footer__badges{margin-left:0}
  .cookie-banner__inner{flex-direction:column;align-items:stretch}
  .cookie-banner__actions{justify-content:flex-end;margin-left:0}
}
