.hilo-consent-open { overflow: hidden; }

.hilo-cookie-consent {
    box-sizing: border-box;
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    align-items: end;
    padding: 20px;
    background: rgba(5, 25, 37, .38);
    backdrop-filter: blur(3px);
    max-width: 100vw;
}

.hilo-cookie-consent[hidden],
.hilo-cookie-preferences[hidden],
.hilo-cookie-button[hidden] { display: none !important; }

.hilo-cookie-card {
    box-sizing: border-box;
    width: 100%;
    max-width: 940px;
    min-width: 0;
    margin: 0 auto;
    padding: 24px;
    border: 1px solid #c8ddd8;
    border-radius: 20px;
    background: #fff;
    color: #082538;
    box-shadow: 0 22px 70px rgba(5, 35, 47, .24);
}

.hilo-cookie-copy { max-width: 760px; }
.hilo-cookie-kicker {
    color: #008d63;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .1em;
}
.hilo-cookie-copy h2 { margin: 5px 0 8px; font-size: clamp(24px, 3vw, 31px); line-height: 1.15; }
.hilo-cookie-copy p { margin: 0; color: #435f6d; font-size: 17px; line-height: 1.55; }
.hilo-cookie-copy a { display: inline-block; margin-top: 10px; color: #007d5a; font-size: 16px; font-weight: 700; }

.hilo-cookie-preferences { display: grid; gap: 10px; margin-top: 18px; }
.hilo-cookie-preferences > div,
.hilo-cookie-preferences > label {
    display: flex;
    min-height: 64px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 16px;
    border: 1px solid #d5e3df;
    border-radius: 14px;
    background: #f5faf8;
}
.hilo-cookie-preferences span { display: grid; gap: 2px; }
.hilo-cookie-preferences strong { font-size: 16px; }
.hilo-cookie-preferences small { color: #536d78; font-size: 15px; line-height: 1.35; }
.hilo-cookie-preferences b { color: #007f5b; font-size: 15px; }
.hilo-cookie-preferences input {
    width: 52px;
    height: 30px;
    flex: 0 0 auto;
    accent-color: #00a873;
    cursor: pointer;
}

.hilo-cookie-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.hilo-cookie-button {
    box-sizing: border-box;
    min-width: 0;
    min-height: 50px;
    padding: 12px 20px;
    border: 1px solid #bcd4ce;
    border-radius: 12px;
    font: inherit;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    touch-action: manipulation;
}
.hilo-cookie-button.secondary { background: #f2f7f5; color: #173e49; }
.hilo-cookie-button.primary { border-color: #00a873; background: #00a873; color: #fff; }
.hilo-cookie-button:focus-visible { outline: 3px solid #4ab7ff; outline-offset: 3px; }

.hilo-cookie-settings {
    appearance: none;
    border: 0;
    padding: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
}

@media (max-width: 640px) {
    .hilo-cookie-consent { padding: 10px; }
    .hilo-cookie-card { max-height: calc(100dvh - 20px); overflow-y: auto; padding: 20px; border-radius: 18px; }
    .hilo-cookie-copy { overflow-wrap: anywhere; }
    .hilo-cookie-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .hilo-cookie-button { width: 100%; }
    .hilo-cookie-button.primary { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
    .hilo-cookie-consent { backdrop-filter: none; }
}
