/* Cookie consent banner – owainj.co.uk */
.cookie-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10001;
    background: var(--surface, #ffffff);
    color: var(--ink, #1e293b);
    border-top: 4px solid var(--accent, #3f51b5);
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.15);
    font-family: Arial, sans-serif;
    line-height: 1.5;
}
.cookie-banner[hidden] {
    display: none !important;
}
.cookie-banner__inner {
    max-width: 800px;
    margin: 0 auto;
    padding: 1rem;
}
.cookie-banner__title {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 0.25rem 0;
    color: var(--ink, #1e293b);
}
.cookie-banner__text {
    margin: 0 0 0.75rem 0;
    color: var(--ink, #1e293b);
}
.cookie-banner__text:focus {
    outline: 3px solid var(--focus, #1e293b);
    outline-offset: 2px;
}
.cookie-banner a {
    color: var(--link, #3f51b5);
    text-decoration: underline;
}
.cookie-banner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
/* Accept and Reject look identical so neither is "nudged" (ICO guidance) */
.cookie-banner__btn {
    background: var(--accent, #3f51b5);
    color: var(--on-accent, #ffffff);
    border: 2px solid var(--accent, #3f51b5);
    border-radius: 6px;
    padding: 0.6rem 1.1rem;
    min-height: 44px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
}
.cookie-banner__btn:hover {
    background: var(--accent-hover, #303f9f);
    border-color: var(--accent-hover, #303f9f);
}
.cookie-banner a:focus-visible,
.cookie-banner__btn:focus-visible {
    outline: 3px solid var(--focus, #1e293b);
    outline-offset: 2px;
}

/* Footer "Cookie settings" button styled as a link */
.cookie-settings-link {
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    color: var(--link, #3f51b5);
    text-decoration: underline;
    cursor: pointer;
}
.cookie-settings-link:focus-visible {
    outline: 3px solid var(--focus, #1e293b);
    outline-offset: 2px;
}

@media (max-width: 480px) {
    .cookie-banner__btn {
        flex: 1 1 100%;
    }
}
