/* 54ka cookie consent banner – self-contained, works on the WordPress theme and on 54ka.org */
.ffc {
    --ffc-bg: #17171b;
    --ffc-line: rgba(255, 255, 255, .14);
    --ffc-text: #efeff1;
    --ffc-text-2: #bdbdc4;
    --ffc-accent: #e8ac43;
    --ffc-accent-2: #f4c470;
    --ffc-ink: #1b1305;
    position: fixed;
    z-index: 2147483000;
    left: 1rem;
    bottom: 1rem;
    width: min(26rem, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    overflow: auto;
    box-sizing: border-box;
    padding: 1.25rem 1.25rem 1.1rem;
    background: var(--ffc-bg);
    color: var(--ffc-text);
    border: 1px solid var(--ffc-line);
    border-radius: 14px;
    box-shadow: 0 18px 50px rgba(0, 0, 0, .55);
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.55;
    text-align: left;
    animation: ffc-in .28s ease-out both;
}
.ffc[hidden] { display: none; }
.ffc *, .ffc *::before, .ffc *::after { box-sizing: border-box; }

.ffc__title {
    margin: 0 2rem .45rem 0;
    padding: 0;
    font-family: inherit;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: .01em;
    color: var(--ffc-text);
    text-transform: none;
    border: 0;
}
.ffc__title::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin: 0 .55rem 1px 0;
    border-radius: 50%;
    background: var(--ffc-accent);
    vertical-align: middle;
}
.ffc__body,
.ffc__state { margin: 0 0 .6rem; color: var(--ffc-text-2); font-size: 14px; }
.ffc__state { color: var(--ffc-text); font-weight: 500; }
.ffc__state[hidden] { display: none; }

.ffc__policy {
    display: inline-block;
    margin: 0 0 1rem;
    color: var(--ffc-accent-2);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-size: 13px;
}
.ffc__policy:hover { color: var(--ffc-accent); }

/* both buttons equally visible – rejecting must be as easy as accepting */
.ffc__actions { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.ffc__btn {
    appearance: none;
    margin: 0;
    min-height: 42px;
    padding: .55rem 1rem;
    border: 1px solid transparent;
    border-radius: 999px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color .15s, color .15s, transform .15s;
}
.ffc__btn--reject { background: var(--ffc-text); color: #111114; }
.ffc__btn--reject:hover { background: #fff; }
.ffc__btn--accept { background: var(--ffc-accent); color: var(--ffc-ink); }
.ffc__btn--accept:hover { background: var(--ffc-accent-2); }
.ffc__btn:active { transform: translateY(1px); }

.ffc__close {
    position: absolute;
    top: .7rem;
    right: .7rem;
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--ffc-text-2);
    cursor: pointer;
}
.ffc__close:hover { background: rgba(255, 255, 255, .08); color: var(--ffc-text); }
.ffc__close[hidden] { display: none; }

.ffc button:focus-visible,
.ffc a:focus-visible,
.ffc-float:focus-visible { outline: 2px solid var(--ffc-accent-2, #f4c470); outline-offset: 2px; }

/* small round "cookie settings" button (only where floating: true) */
.ffc-float {
    position: fixed;
    z-index: 2147482999;
    left: 1rem;
    bottom: 1rem;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 50%;
    background: rgba(23, 23, 27, .85);
    color: #e8ac43;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .35);
    cursor: pointer;
    opacity: .7;
    transition: opacity .15s;
}
.ffc-float:hover { opacity: 1; }
.ffc-float[hidden] { display: none; }

@media (max-width: 520px) {
    .ffc { left: 16px; right: 16px; bottom: 16px; width: auto; }
    .ffc-float { left: 16px; bottom: 16px; }
}

@keyframes ffc-in {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .ffc { animation: none; }
}
@media print {
    .ffc, .ffc-float { display: none !important; }
}
