/* RICI Cookie Consent · automatisch erzeugt durch den Installer */
.rici-consent[hidden] { display: none !important; }
body.rici-consent-open { overflow: hidden; }
.rici-consent { position: fixed; z-index: 99999; inset: 0; display: grid; align-items: end; padding: clamp(12px, 2.5vw, 32px); font-family: var(--body, Manrope, Inter, ui-sans-serif, system-ui, sans-serif); color: #fff; }
.rici-consent__backdrop { position: absolute; inset: 0; background: rgba(1, 11, 22, .72); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.rici-consent__panel { position: relative; width: min(1180px, 100%); max-height: min(88vh, 780px); margin: 0 auto; overflow: auto; overscroll-behavior: contain; border: 1px solid rgba(121, 227, 255, .28); border-radius: 5px 48px 5px 5px; background: #06182b; box-shadow: 0 28px 90px rgba(0, 0, 0, .42); }
.rici-consent__panel::before { content: ""; position: absolute; pointer-events: none; top: -90px; right: 7%; width: 180px; height: 180px; border: 1px solid rgba(121, 227, 255, .18); border-radius: 50%; box-shadow: inset 10px 12px 35px rgba(255,255,255,.06); }
.rici-consent__main { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); gap: clamp(28px, 5vw, 76px); padding: clamp(26px, 4.5vw, 56px); }
.rici-consent__eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 13px; color: #79e3ff; font-size: .68rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.rici-consent__eyebrow::before { content: ""; width: 23px; height: 2px; background: currentColor; }
.rici-consent h2 { max-width: 720px; margin: 0; color: #fff; font-family: var(--display, "Arial Narrow", sans-serif); font-size: clamp(2.15rem, 4vw, 4rem); font-weight: 700; letter-spacing: -.035em; line-height: .96; }
.rici-consent__copy > p { max-width: 720px; margin: 20px 0 0; color: rgba(255,255,255,.72); font-size: .92rem; line-height: 1.7; }
.rici-consent__copy a { color: #79e3ff; font-weight: 750; }
.rici-consent__actions { display: grid; align-content: end; gap: 10px; }
.rici-consent__button { width: 100%; min-height: 51px; padding: 10px 18px; border: 1px solid rgba(255,255,255,.34); border-radius: 3px 16px 3px 3px; color: #fff; background: transparent; font: inherit; font-size: .82rem; font-weight: 820; cursor: pointer; transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, color 160ms ease; }
.rici-consent__button:hover { transform: translateY(-1px); border-color: #79e3ff; }
.rici-consent__button--primary { color: #06182b; border-color: #79e3ff; background: #79e3ff; }
.rici-consent__button--primary:hover { background: #b9f1ff; }
.rici-consent__button--text { min-height: 42px; border-color: transparent; color: #79e3ff; }
.rici-consent__settings { padding: 0 clamp(26px, 4.5vw, 56px) clamp(28px, 4vw, 48px); }
.rici-consent__settings[hidden] { display: none; }
.rici-consent__settings-inner { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.14); }
.rici-consent__category { display: grid; grid-template-columns: 1fr auto; gap: 14px; align-items: start; min-height: 142px; padding: 21px; background: #0a2846; }
.rici-consent__category strong { display: block; font-family: var(--display, "Arial Narrow", sans-serif); font-size: 1.28rem; line-height: 1.1; }
.rici-consent__category small { display: block; margin-top: 8px; color: rgba(255,255,255,.58); font-size: .7rem; line-height: 1.5; }
.rici-consent__switch { position: relative; display: inline-flex; flex: 0 0 auto; }
.rici-consent__switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.rici-consent__switch span { position: relative; display: block; width: 46px; height: 25px; border: 1px solid rgba(255,255,255,.34); border-radius: 20px; background: rgba(0,0,0,.22); cursor: pointer; }
.rici-consent__switch span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 17px; height: 17px; border-radius: 50%; background: #fff; transition: transform 160ms ease, background 160ms ease; }
.rici-consent__switch input:checked + span { border-color: #79e3ff; background: #0879c8; }
.rici-consent__switch input:checked + span::after { transform: translateX(21px); background: #fff; }
.rici-consent__switch input:focus-visible + span { outline: 3px solid #79e3ff; outline-offset: 3px; }
.rici-consent__switch input:disabled + span { cursor: not-allowed; opacity: .72; }
.rici-consent__save { display: flex; justify-content: flex-end; margin-top: 16px; }
.rici-consent__save .rici-consent__button { width: auto; min-width: 220px; }
.rici-cookie-settings { appearance: none; width: fit-content; padding: 5px 0; color: rgba(255,255,255,.72); border: 0; background: transparent; font: inherit; font-size: .82rem; text-align: left; cursor: pointer; }
.rici-cookie-settings:hover { color: #79e3ff; }
.rici-cookie-settings--floating { position: fixed; z-index: 90; left: 12px; bottom: 12px; padding: 9px 12px; color: #fff; border: 1px solid rgba(255,255,255,.24); border-radius: 3px 12px 3px 3px; background: #06182b; box-shadow: 0 8px 26px rgba(0,0,0,.22); }
.rici-consent :focus-visible, .rici-cookie-settings:focus-visible { outline: 3px solid #79e3ff; outline-offset: 3px; }
@media (max-width: 760px) {
  .rici-consent { padding: 10px 10px calc(10px + env(safe-area-inset-bottom)); }
  .rici-consent__panel { max-height: 92vh; border-radius: 4px 30px 4px 4px; }
  .rici-consent__main { grid-template-columns: 1fr; gap: 24px; padding: 24px 20px; }
  .rici-consent h2 { font-size: clamp(2rem, 10vw, 3.15rem); }
  .rici-consent__copy > p { font-size: .82rem; }
  .rici-consent__settings { padding: 0 20px 22px; }
  .rici-consent__settings-inner { grid-template-columns: 1fr; }
  .rici-consent__category { min-height: 0; }
  .rici-consent__save, .rici-consent__save .rici-consent__button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .rici-consent *, .rici-consent *::before, .rici-consent *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}