.consent-layer { position: relative; z-index: 10000; }
.consent-card[hidden], .consent-settings[hidden], .consent-button[hidden] { display: none !important; }
.consent-card {
    position: fixed; right: 24px; bottom: 24px; width: min(540px, calc(100vw - 32px));
    padding: 22px; overflow: hidden; color: #123a54; background: rgba(246, 252, 255, .9);
    border: 1px solid rgba(255, 255, 255, .88); border-radius: 28px;
    box-shadow: 0 28px 80px rgba(10, 41, 64, .25), inset 0 1px 0 rgba(255, 255, 255, .9);
    -webkit-backdrop-filter: blur(24px) saturate(145%); backdrop-filter: blur(24px) saturate(145%);
    opacity: 0; transform: translateY(18px) scale(.98); transition: opacity .22s ease, transform .22s ease;
    font-family: "IBM Plex Sans", Arial, sans-serif;
}
.consent-card.is-visible { opacity: 1; transform: translateY(0) scale(1); }
.consent-card__glow { position: absolute; inset: -80px auto auto -80px; width: 220px; height: 220px; border-radius: 50%; background: rgba(95, 174, 222, .2); filter: blur(26px); pointer-events: none; }
.consent-card__head { position: relative; display: grid; grid-template-columns: 48px 1fr; gap: 14px; align-items: start; }
.consent-card__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 16px; color: #fff; background: linear-gradient(145deg, #0f3a5c, #1b6fa8); box-shadow: 0 10px 24px rgba(27, 111, 168, .22); }
.consent-card h2 { margin: 1px 0 7px; color: #0f3a5c; font-size: 20px; line-height: 1.15; font-weight: 800; }
.consent-card p { margin: 0; color: #526c7d; font-size: 14px; line-height: 1.55; }
.consent-card__links { margin: 13px 0 16px 62px; font-size: 13px; }
.consent-card__links a { color: #1b6fa8; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.consent-settings { margin: 17px 0 4px; border-top: 1px solid rgba(15, 58, 92, .12); }
.consent-settings label { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 2px; border-bottom: 1px solid rgba(15, 58, 92, .1); }
.consent-settings span { display: grid; gap: 2px; }
.consent-settings strong { font-size: 14px; }
.consent-settings small { color: #678091; font-size: 12px; line-height: 1.35; }
.consent-settings input { width: 20px; height: 20px; accent-color: #1b6fa8; flex: 0 0 auto; }
.consent-card__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.consent-button { min-height: 44px; padding: 0 16px; border: 1px solid rgba(15, 58, 92, .16); border-radius: 999px; cursor: pointer; color: #0f3a5c; background: rgba(255, 255, 255, .62); font: 700 12px/1 "IBM Plex Sans", Arial, sans-serif; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.consent-button:hover { transform: translateY(-1px); box-shadow: 0 7px 18px rgba(15, 58, 92, .12); }
.consent-button:focus-visible { outline: 3px solid rgba(242, 169, 0, .45); outline-offset: 2px; }
.consent-button--accept, .consent-button--save { color: #fff; border-color: transparent; background: linear-gradient(135deg, #1b6fa8, #0f3a5c); }
@media (max-width: 640px) {
    .consent-card { right: 10px; bottom: 10px; width: calc(100vw - 20px); padding: 18px; border-radius: 24px; max-height: calc(100dvh - 20px); overflow-y: auto; }
    .consent-card__head { grid-template-columns: 42px 1fr; gap: 11px; }
    .consent-card__icon { width: 42px; height: 42px; border-radius: 14px; }
    .consent-card h2 { font-size: 18px; }
    .consent-card p { font-size: 13px; }
    .consent-card__links { margin-left: 53px; }
    .consent-card__actions { display: grid; grid-template-columns: 1fr 1fr; }
    .consent-button--accept, .consent-button--save { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { .consent-card, .consent-button { transition: none; } }
