.cookie-footer {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .6rem;
    padding: 1.25rem 1rem;
    color: #667085;
    font-size: .875rem;
}

.cookie-footer a,
.cookie-footer button {
    color: inherit;
}

.cookie-footer button {
    padding: 0;
    border: 0;
    background: none;
    text-decoration: underline;
    cursor: pointer;
}

.cc-overlay {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: grid;
    place-items: center;
    overflow: auto;
    padding: 1rem;
    background: rgb(16 24 40 / 58%);
    backdrop-filter: blur(3px);
}

.cc-modal {
    width: min(38rem, 100%);
    max-height: calc(100vh - 2rem);
    overflow: auto;
    padding: clamp(1.5rem, 4vw, 2.25rem);
    border: 1px solid #e4e7ec;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 1.5rem 4rem rgb(16 24 40 / 25%);
    color: #344054;
    font: 1rem/1.55 system-ui, sans-serif;
}

.cc-modal h2 {
    margin: 0 0 .75rem;
    color: #101828;
    font-size: clamp(1.5rem, 4vw, 2rem);
    line-height: 1.2;
}

.cc-modal p { margin: 0; }

.cc-links {
    display: flex;
    gap: .6rem;
    flex-wrap: wrap;
    margin: 1rem 0 1.25rem;
}

.cc-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.25rem;
    margin: .75rem 0;
    padding: 1rem;
    border: 1px solid #eaecf0;
    border-radius: .75rem;
    background: #f9fafb;
}

.cc-card h3 { margin: 0 0 .2rem; color: #101828; font-size: 1rem; }
.cc-card p { color: #667085; font-size: .9rem; }

.cc-switch { position: relative; flex: 0 0 3rem; width: 3rem; height: 1.75rem; }
.cc-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.cc-slider { position: absolute; inset: 0; border-radius: 99px; background: #98a2b3; cursor: pointer; transition: background .15s; }
.cc-slider::before { position: absolute; top: .2rem; left: .2rem; width: 1.35rem; height: 1.35rem; border-radius: 50%; background: white; content: ''; transition: transform .15s; }
.cc-switch input:checked + .cc-slider { background: #175cd3; }
.cc-switch input:checked + .cc-slider::before { transform: translateX(1.25rem); }
.cc-switch input:focus-visible + .cc-slider { outline: 3px solid #84caff; outline-offset: 2px; }
.cc-switch input:disabled + .cc-slider { cursor: not-allowed; opacity: .7; }

.cc-actions { display: flex; justify-content: flex-end; gap: .6rem; flex-wrap: wrap; margin-top: 1.5rem; }
.cc-button { min-height: 2.75rem; padding: .65rem 1rem; border: 1px solid #d0d5dd; border-radius: .5rem; background: #fff; color: #344054; font: 600 .95rem/1 system-ui, sans-serif; cursor: pointer; }
.cc-button:focus-visible { outline: 3px solid #84caff; outline-offset: 2px; }
.cc-button.accept, .cc-button.save { border-color: #175cd3; background: #175cd3; color: #fff; }
.cc-button.accept:hover, .cc-button.save:hover { border-color: #1849a9; background: #1849a9; }

@media (max-width: 560px) {
    .cc-actions { flex-direction: column-reverse; }
    .cc-button { width: 100%; }
}
