/* ZinsFelix only. Default card has no fixed height, clipped copy or internal scrollbar. */
.consent-card{position:fixed;inset:auto auto 18px 50%;transform:translateX(-50%);margin:0;width:min(720px,calc(100% - 36px));max-width:none;max-height:none;box-sizing:border-box;padding:18px 20px 15px;border:1px solid #bdcbc3;border-radius:10px;background:#fffefb;color:#123b3d;box-shadow:0 8px 36px #123b3d20;font:400 13px/1.5 'Public Sans',Arial,sans-serif;overflow:visible;z-index:1000}
.consent-card::backdrop{background:transparent}
.consent-card h2{font:600 18px/24px 'Public Sans',Arial,sans-serif;letter-spacing:-.025em;margin:0 38px 8px 0;color:#123b3d}
.consent-card p{font:inherit;line-height:1.5;margin:0;color:#3f5149;max-width:none}
.consent-card .privacy-close{position:absolute;right:10px;top:10px;display:grid;place-items:center;min-width:32px;min-height:32px;padding:0;border:0;border-radius:3px;background:transparent;color:#40574c;font:400 23px/1 Arial,sans-serif;cursor:pointer}
.consent-card .privacy-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0 8px}
.consent-card .privacy-actions button,.consent-card .privacy-save{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid #567063;border-radius:4px;background:#fffefb;color:#123b3d;font:600 13px/20px 'Public Sans',Arial,sans-serif;cursor:pointer}
.consent-card .privacy-actions button:hover,.consent-card .privacy-save:hover{background:#edf3e8}
.consent-card .privacy-actions button:disabled{opacity:.5;cursor:default}
/* Zustimmen uses the site's primary button colour (--brand #123b3d, hover --teal #17605b). */
.consent-card .privacy-actions [data-privacy-accept]{background:#123b3d;border-color:#123b3d;color:#fffefb}
.consent-card .privacy-actions [data-privacy-accept]:hover{background:#17605b;border-color:#17605b}
.consent-card .privacy-footer{display:flex;align-items:center;flex-wrap:wrap;column-gap:15px;row-gap:2px;font:400 11px/17px 'Public Sans',Arial,sans-serif;color:#526357}
.consent-card .privacy-footer a,.consent-card .privacy-details-toggle{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px}
.consent-card .privacy-details-toggle{border:0;background:transparent;padding:3px 0;min-height:23px;cursor:pointer}
.consent-card .privacy-footer>[data-privacy-state]{margin-right:auto}
.consent-card .privacy-details{margin-top:14px;padding-top:14px;border-top:1px solid #dce5dc}
.consent-card .privacy-details h3{margin:0 0 8px;font:600 14px/21px 'Public Sans',Arial,sans-serif;letter-spacing:0}
.consent-card .privacy-details p{margin:0 0 10px}
.consent-card .privacy-option{display:flex;align-items:flex-start;gap:10px;padding:4px 0 12px;font-size:12px}
.consent-card .privacy-option input{width:18px;height:18px;flex:none;margin:2px 0 0;accent-color:#123b3d}
.consent-card .privacy-option strong{display:block;font-weight:600}
.consent-card .privacy-save{width:100%;min-height:40px}
.consent-card[data-expanded]{max-height:calc(100dvh - 36px);overflow:auto}
.consent-card [hidden]{display:none!important}
.consent-card button:focus-visible,.consent-card a:focus-visible,.consent-card input:focus-visible{outline:2px solid #235d42;outline-offset:3px}
.privacy-open{font:inherit;border:0;color:inherit;background:transparent;text-decoration:underline;padding:8px 0;cursor:pointer;min-height:40px}
/* Mobile: keep the card inside 30% of the viewport while holding 44px touch targets. */
@media(max-width:600px){.consent-card{inset:auto 0 0 0;transform:none;width:100%;padding:10px 16px calc(6px + env(safe-area-inset-bottom));border-radius:10px 10px 0 0;border-bottom:0;box-shadow:0 -6px 28px #123b3d16}.consent-card h2{font-size:16px;line-height:21px;margin-bottom:4px}.consent-card p{line-height:1.4}.consent-card .privacy-actions{margin:7px 0 3px}.consent-card .privacy-actions button{min-height:44px}.consent-card .privacy-footer{column-gap:12px;font-size:10.5px;line-height:15px}.consent-card .privacy-close{right:8px;top:8px}.consent-card[data-expanded]{max-height:calc(100dvh - 20px)}}
@media(max-width:350px){.consent-card{padding-inline:12px}.consent-card .privacy-footer{column-gap:10px}}
@media(max-width:375px){.consent-card{padding-bottom:calc(5px + env(safe-area-inset-bottom))}}
