/* Project-owned skin; the framework provides behavior and structure. */
.c-consent { background:var(--site-purple); color:var(--site-white); border:2px solid var(--site-yellow); border-radius:28px; font-family:var(--site-font-body); }
.c-consent::backdrop { background:color-mix(in srgb,var(--site-purple) 55%,transparent); }
.c-consent h2 { font-family:var(--site-font-heading); font-weight:400; }
.c-consent button,.c-cookie-policy button { background:var(--site-yellow); color:var(--site-purple); border-color:var(--site-yellow); font-family:var(--site-font-heading); transition:background .2s ease; }
.c-consent button:hover,.c-cookie-policy button:hover { background:var(--site-beige); }
.c-consent a { color:var(--site-yellow); }
.c-consent input { accent-color:var(--site-yellow); }
.c-consent__choice { border-top:1px solid #ffffff30; }
.c-cookie-policy__service { background:var(--site-beige); border-color:var(--site-yellow); }
@media(prefers-reduced-motion:reduce) { .c-consent button,.c-cookie-policy button { transition:none; } }

/* Match project buttons without changing the framework's generic skin. */
.c-consent button:not(.c-consent__close),.c-cookie-policy button {
    display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
    width:auto;max-width:100%;min-height:54px;padding:15px 25px;border:0;border-radius:999px;
    font-family:var(--site-font-heading);font-size:16px;font-weight:400;line-height:1.5;
}
.c-consent .c-consent__actions { justify-content:center;gap:12px; }
.c-consent .c-consent__actions button { flex:0 1 auto; }
.c-consent button.c-consent__close,
.c-consent button.c-consent__close:hover,
.c-consent button.c-consent__close:focus-visible {
    position:relative;width:fit-content;min-height:44px;padding:10px 0;
    background:transparent;color:var(--site-yellow);border:0;border-radius:0;box-shadow:none;
    font-family:var(--site-font-heading);font-size:16px;font-weight:400;line-height:1.5;
    text-decoration:none;
}
.c-consent button.c-consent__close::after {
    content:'';position:absolute;inset-inline:0;bottom:calc(10px - .35em);
    height:2px;border-radius:999px;background:currentColor;pointer-events:none;
    transform:scaleX(0);transform-origin:left center;transition:transform .25s ease;
}
.c-consent button.c-consent__close:is(:hover,:focus-visible)::after { transform:scaleX(1); }
@media(prefers-reduced-motion:reduce) { .c-consent button.c-consent__close::after { transition:none; } }
