.oria-cookie-banner[hidden] { display: none; }
.oria-cookie-banner {
    position: fixed;
    z-index: 100;
    right: 24px;
    bottom: 24px;
    left: auto;
    width: min(620px, calc(100% - 48px));
    margin-left: auto;
    padding: 28px 28px 24px;
    overflow: hidden;
    border: 1px solid rgba(188, 139, 61, .42);
    border-radius: 24px;
    color: var(--oria-color-ink);
    background: linear-gradient(145deg, rgba(255, 252, 249, .99), rgba(248, 237, 229, .97));
    box-shadow: 0 25px 70px rgba(61, 30, 42, .24), 0 0 0 6px rgba(255, 250, 245, .28);
    backdrop-filter: blur(18px);
}
.oria-cookie-banner::before {
    position: absolute;
    top: 0;
    right: 28px;
    left: 28px;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--oria-color-gold), transparent);
    content: '';
}
.oria-cookie-banner::after {
    position: absolute;
    z-index: 0;
    top: 8px;
    right: 12px;
    width: 112px;
    height: 112px;
    background: url('../images/logo/oria-icon.png') center / contain no-repeat;
    content: '';
    opacity: .045;
}
.oria-cookie-banner > * { position: relative; z-index: 1; }
.oria-cookie-banner__title { position: relative; margin: 0; color: var(--oria-color-title); font-family: var(--oria-font-display); font-size: clamp(22px, 3vw, 25px); font-weight: 700; letter-spacing: -.01em; line-height: 1.2; }
.oria-cookie-banner__text { max-width: 560px; margin: 11px 0 0; color: var(--oria-color-ink-message); font-size: 14px; line-height: 1.5; }
.oria-cookie-banner__text a { color: var(--oria-color-plum-deep); font-weight: 700; text-underline-offset: 3px; }
.oria-cookie-banner__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 19px; }
.oria-cookie-banner__button { min-height: var(--oria-button-height-md); padding: 0 var(--oria-button-padding-x); border: var(--oria-button-border-width) solid var(--oria-color-plum); border-radius: var(--oria-button-radius); color: var(--oria-button-primary-ink); background: var(--oria-gradient-premium); cursor: pointer; font: inherit; font-size: 13px; font-weight: 700; line-height: 1.2; text-align: center; transition: var(--oria-button-transition); }
.oria-cookie-banner__button:hover { color: var(--oria-button-primary-ink); transform: translateY(-1px); box-shadow: var(--oria-button-shadow); }
.oria-cookie-banner__button--secondary { color: var(--oria-color-plum-deep); background: var(--oria-button-secondary-bg); }
.oria-cookie-banner__button--secondary:hover { color: var(--oria-color-plum-deep); background: var(--oria-button-secondary-hover-bg); }
.oria-cookie-banner__button--quiet { border-color: transparent; color: var(--oria-color-plum-deep); background: transparent; box-shadow: none; }
.oria-cookie-banner__button--quiet:hover { color: var(--oria-color-plum-deep); background: rgba(234, 216, 211, .32); box-shadow: none; }
.oria-cookie-banner__preferences { display: grid; gap: 9px; margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(113, 48, 79, .16); color: var(--oria-color-text-muted); font-size: 13px; }
.oria-cookie-banner__preferences label, .oria-cookie-banner__necessary { display: flex; min-height: 20px; gap: 9px; align-items: center; }
.oria-cookie-banner__necessary { color: var(--oria-color-text-muted); }
.oria-cookie-banner__necessary span { color: var(--oria-color-plum); font-weight: 900; }
.oria-cookie-banner__preferences input { width: 15px; height: 15px; margin: 0; accent-color: var(--oria-color-plum); }
.oria-cookie-banner__preferences .oria-cookie-banner__button { width: 100%; margin-top: 3px; color: var(--oria-color-plum-deep); background: transparent; box-shadow: none; }
.oria-cookie-banner__preferences .oria-cookie-banner__button:hover { background: rgba(234, 216, 211, .36); }
@media (max-width: 560px) {
    .oria-cookie-banner { right: 10px; bottom: 10px; width: calc(100% - 20px); padding: 24px 18px 18px; border-radius: 20px; }
    .oria-cookie-banner::before { right: 18px; left: 18px; }
    .oria-cookie-banner__actions { gap: 8px; margin-top: 17px; }
    .oria-cookie-banner__button { flex: 1 1 calc(50% - 4px); padding: 0 12px; font-size: 12px; }
    .oria-cookie-banner__button--quiet { flex-basis: 100%; }
}
@media (max-width: 380px) {
    .oria-cookie-banner__button { flex-basis: 100%; }
}
