.hd-cookie-banner,
.hd-cookie-modal-card {
    color: #fff;
    background: #111;
    border: 1px solid rgba(188, 218, 133, .28);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .62);
    font-family: 'Roboto', sans-serif;
}
.hd-cookie-banner {
    position: fixed;
    z-index: 10020;
    right: max(1.25rem, env(safe-area-inset-right));
    bottom: max(1.25rem, env(safe-area-inset-bottom));
    left: max(1.25rem, env(safe-area-inset-left));
    max-width: 760px;
    margin-left: auto;
    padding: 1.4rem;
    border-radius: 16px;
}
.hd-cookie-banner[hidden],
.hd-cookie-modal[hidden] { display: none !important; }
.hd-cookie-eyebrow {
    margin: 0 0 .45rem;
    color: #bcda85;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.hd-cookie-title {
    margin: 0 0 .55rem;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 1.25rem;
    font-weight: 850;
    line-height: 1.2;
    text-wrap: balance;
}
.hd-cookie-copy,
.hd-cookie-signal {
    margin: 0;
    color: rgba(255, 255, 255, .7);
    font-size: .88rem;
    line-height: 1.55;
}
.hd-cookie-copy a,
.hd-cookie-modal a { color: #bcda85; text-underline-offset: 3px; }
.hd-cookie-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1rem;
}
.hd-cookie-button {
    min-height: 44px;
    padding: .7rem 1rem;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 9px;
    color: #fff;
    background: transparent;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif;
    font-size: .78rem;
    font-weight: 800;
    transition: background-color .16s, border-color .16s, color .16s, transform .16s;
    touch-action: manipulation;
}
.hd-cookie-button:hover { border-color: #bcda85; color: #bcda85; }
.hd-cookie-button:active { transform: translateY(1px); }
.hd-cookie-button--primary { border-color: #bcda85; color: #0a0a0a; background: #bcda85; }
.hd-cookie-button--primary:hover { color: #0a0a0a; background: #cbe594; }
.hd-cookie-button:disabled { opacity: .55; cursor: wait; }
.hd-cookie-modal {
    position: fixed;
    z-index: 10030;
    inset: 0;
    display: grid;
    place-items: center;
    padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    background: rgba(0, 0, 0, .78);
    overflow-y: auto;
    overscroll-behavior: contain;
}
.hd-cookie-modal-card {
    width: min(100%, 620px);
    max-height: calc(100dvh - 2rem);
    padding: 1.5rem;
    border-radius: 18px;
    overflow-y: auto;
    overscroll-behavior: contain;
}
.hd-cookie-choice {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .75rem;
    padding: 1rem 0;
    border-top: 1px solid rgba(255, 255, 255, .1);
}
.hd-cookie-choice:first-of-type { margin-top: 1rem; }
.hd-cookie-choice strong { display: block; font-family: 'Montserrat', sans-serif; font-size: .9rem; }
.hd-cookie-choice p { margin: .3rem 0 0; color: rgba(255, 255, 255, .62); font-size: .82rem; line-height: 1.5; }
.hd-cookie-toggle { width: 22px; height: 22px; accent-color: #bcda85; cursor: pointer; }
.hd-cookie-always { color: #bcda85; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.hd-cookie-signal { margin-top: .75rem; padding: .65rem .75rem; border-radius: 8px; background: rgba(188, 218, 133, .08); }
.hd-consent-open { overflow: hidden; }
.ft-cookie-settings {
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    cursor: pointer;
    font: inherit;
}
.ft-cookie-settings:hover { color: #bcda85; }
@media (max-width: 640px) {
    .hd-cookie-banner { right: .75rem; bottom: .75rem; left: .75rem; padding: 1.15rem; }
    .hd-cookie-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .hd-cookie-button--primary { grid-column: 1 / -1; }
    .hd-cookie-modal-card { padding: 1.2rem; }
}
@media (prefers-reduced-motion: reduce) {
    .hd-cookie-button { transition: none; }
}
