/* Card and switch patterns adapted from Sauerteigtipps Consent. GPL-2.0-or-later. */
.pssconsent-root{--pss-ink:#12353c;--pss-muted:#45616a;--pss-accent:#087c75;--pss-line:#d6e7e4;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;color:var(--pss-ink)}
.pssconsent-root *{box-sizing:border-box}.pssconsent-root [hidden],.pss-media [hidden]{display:none!important}
.pssconsent-overlay{position:fixed;inset:0;z-index:2147483000;background:rgba(12,38,43,.45);backdrop-filter:blur(4px)}
.pssconsent-banner{position:fixed;z-index:2147483001;left:50%;bottom:24px;transform:translateX(-50%);width:min(660px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;padding:28px;background:#f8fcfb;color:var(--pss-ink);border:1px solid #d6e7e4;border-top:5px solid #18a097;border-radius:22px;box-shadow:0 28px 100px #12353c50;animation:pss-appear .2s ease-out}
.pssconsent-header,.pssconsent-brand{display:flex;align-items:center;justify-content:space-between;gap:20px}.pssconsent-brand{width:100%;justify-content:flex-start}.pssconsent-brand img{width:160px;height:auto;max-height:65px;object-fit:contain}.pssconsent-brand span{border-left:1px solid var(--pss-line);padding-left:20px;color:var(--pss-muted);font-size:13px;line-height:1.45}
.pssconsent-root .pssconsent-eyebrow{margin:22px 0 8px!important;color:var(--pss-accent)!important;font-size:10px!important;font-weight:750;letter-spacing:.16em}
.pssconsent-root h2{margin:0 0 12px!important;color:var(--pss-ink)!important;font-family:inherit!important;font-size:clamp(26px,4vw,34px)!important;font-weight:700!important;letter-spacing:-.035em!important;line-height:1.15!important}
.pssconsent-root .pssconsent-intro{margin:0 0 20px!important;color:var(--pss-muted)!important;font-size:14px!important;line-height:1.65!important}
.pssconsent-details{display:grid;gap:9px;margin:14px 0 20px}.pssconsent-choice{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid var(--pss-line);border-radius:12px;background:#fff;cursor:pointer}.pssconsent-choice>div{display:grid;gap:4px}.pssconsent-choice strong{color:var(--pss-ink);font-size:14px;font-weight:700}.pssconsent-choice small{color:var(--pss-muted);font-size:12px;line-height:1.55}.pssconsent-always{flex-shrink:0;font-size:10px;font-weight:750;color:var(--pss-accent);text-transform:uppercase;letter-spacing:.04em}.pssconsent-note{margin:4px 0 0!important;font-size:11px!important;line-height:1.5!important;color:var(--pss-muted)!important}
.pssconsent-switch{position:relative;flex:0 0 46px;width:46px;height:28px}.pssconsent-switch input{position:absolute;margin:0!important;opacity:0;width:46px;height:28px;inset:0;z-index:1;cursor:pointer}.pssconsent-switch>span{position:absolute;inset:0;border-radius:20px;background:#b7c9c6;transition:background .15s}.pssconsent-switch>span:after{content:"";position:absolute;left:4px;top:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 5px #12353c25;transition:transform .15s}.pssconsent-switch input:checked+span{background:var(--pss-accent)}.pssconsent-switch input:checked+span:after{transform:translateX(18px)}
.pssconsent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pssconsent-root button{font-family:inherit;text-transform:none;letter-spacing:normal;cursor:pointer}.pssconsent-root .pssconsent-btn{display:block;height:auto;min-height:48px;padding:12px 16px;border:1px solid var(--pss-accent);border-radius:10px;background:var(--pss-accent);color:#fff;font-size:14px;line-height:1.4;font-weight:650;text-align:center;box-shadow:none}.pssconsent-root .pssconsent-btn:hover{background:#066660;border-color:#066660;color:#fff}.pssconsent-root .pssconsent-customize{grid-column:1/-1;min-height:42px;padding:7px;border:0;background:transparent;color:var(--pss-ink);font-size:13px;text-decoration:underline;text-underline-offset:4px;box-shadow:none}.pssconsent-save{grid-column:1/-1}.pssconsent-root .pssconsent-close{flex:0 0 44px;min-width:44px;height:44px;padding:0;border:1px solid var(--pss-line);border-radius:50%;background:#fff;color:var(--pss-ink);font-size:25px;line-height:1;box-shadow:none}
.pssconsent-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:16px;margin-top:10px;border-top:1px solid var(--pss-line);font-size:11px;color:var(--pss-muted)}.pssconsent-footer>div{display:flex;gap:14px}.pssconsent-footer a{color:var(--pss-muted)!important;text-decoration:underline;text-underline-offset:3px}.pssconsent-root .pssconsent-reopen{position:fixed;left:14px;bottom:14px;z-index:2147482999;display:flex;align-items:center;gap:8px;min-height:44px;padding:9px 14px;border:1px solid var(--pss-line);border-radius:30px;background:#f8fcfb;color:var(--pss-ink);box-shadow:0 4px 22px #12353c20;font-size:12px;font-weight:600;line-height:1.5}.pssconsent-reopen span{color:var(--pss-accent);font-size:17px}
.pssconsent-root button:focus-visible,.pssconsent-root a:focus-visible,.pssconsent-switch input:focus-visible+span,.pss-media button:focus-visible{outline:3px solid #12353c;outline-offset:4px}html.pss-consent-open{overflow:hidden}
.pss-media-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:250px;padding:28px;background:#eef7f5;border:1px solid #cfe1de;border-radius:16px;text-align:center;font:14px/1.6 system-ui,sans-serif;color:#12353c}.pss-media-placeholder strong{font-size:20px;color:#12353c}.pss-media-placeholder p{max-width:430px;margin:0;color:#45616a}.pss-media-placeholder button{min-height:44px;border:0;border-radius:8px;padding:10px 18px;background:#087c75;color:#fff;font:600 14px/1.5 system-ui,sans-serif;cursor:pointer}.pss-media-icon{font-size:28px;color:#087c75}.pss-media iframe{max-width:100%}
@keyframes pss-appear{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(max-width:520px){.pssconsent-banner{bottom:12px;max-height:calc(100dvh - 24px);width:calc(100vw - 24px);padding:20px;border-radius:18px}.pssconsent-brand{gap:14px}.pssconsent-brand img{width:132px}.pssconsent-brand span{padding-left:14px;font-size:11px}.pssconsent-root h2{font-size:27px!important}.pssconsent-root .pssconsent-intro{font-size:13px!important}.pssconsent-choice{padding:12px;gap:12px}.pssconsent-always{white-space:normal;text-align:right;max-width:50px}.pssconsent-root .pssconsent-btn{padding:12px 8px;font-size:13px}.pssconsent-footer{font-size:10px}.pssconsent-root .pssconsent-eyebrow{margin-top:18px!important}}
@media(prefers-reduced-motion:reduce){.pssconsent-root *{animation:none!important;transition:none!important}}
@media print{.pssconsent-root,.pss-media-placeholder{display:none!important}}
