/**
 * Cookie consent banner
 */
.consent {
    position: fixed;
    left: var(--space-md);
    right: var(--space-md);
    bottom: var(--space-md);
    z-index: 2000;
    background: var(--color-white);
    color: var(--color-text);
    border: 1px solid var(--color-border);
    border-top: 3px solid var(--color-primary);
    border-radius: 10px;
    box-shadow: 0 10px 40px rgba(44, 36, 32, 0.25);
    max-width: 960px;
    margin: 0 auto;
}

.consent__inner {
    display: flex;
    gap: var(--space-lg);
    align-items: flex-end;
    padding: var(--space-lg);
}

.consent__text {
    flex: 1;
    font-size: var(--text-sm);
    line-height: 1.6;
}

.consent__title {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    color: var(--color-primary);
    margin-bottom: var(--space-xs);
}

.consent__text p {
    margin-bottom: var(--space-xs);
}

.consent__text a {
    color: var(--color-primary);
    text-decoration: underline;
}

.consent__options {
    display: grid;
    gap: var(--space-xs);
    margin-top: var(--space-md);
    padding-top: var(--space-md);
    border-top: 1px solid var(--color-border);
}

.consent__options[hidden] {
    display: none;
}

.consent__option {
    display: flex;
    gap: var(--space-sm);
    align-items: center;
    cursor: pointer;
}

.consent__option input {
    accent-color: var(--color-primary);
    width: 1.1em;
    height: 1.1em;
}

.consent__option input:disabled + span {
    color: var(--color-text-muted);
}

.consent__buttons {
    display: flex;
    gap: var(--space-sm);
    flex-shrink: 0;
}

/* Accept and reject look the same on purpose: neither choice is pushed. */
.consent__btn {
    font: inherit;
    font-size: var(--text-sm);
    font-weight: 600;
    padding: 0.65rem 1.2rem;
    border-radius: 8px;
    border: 1.5px solid var(--color-primary);
    background: var(--color-primary);
    color: var(--color-white);
    cursor: pointer;
    white-space: nowrap;
}

.consent__btn:hover {
    background: var(--color-primary-light);
}

.consent__btn--link {
    background: transparent;
    color: var(--color-primary);
}

.consent__btn--link:hover {
    background: var(--color-ivory);
}

.consent__btn:focus-visible {
    outline: 2px solid var(--color-gold);
    outline-offset: 2px;
}

@media (max-width: 760px) {
    .consent {
        left: var(--space-sm);
        right: var(--space-sm);
        bottom: var(--space-sm);
    }

    .consent__inner {
        flex-direction: column;
        align-items: stretch;
        padding: var(--space-md);
    }

    .consent__buttons {
        flex-wrap: wrap;
    }

    .consent__btn {
        flex: 1;
    }
}
