.slay-cookie-panel[hidden], .slay-cookie-footer[hidden], #slay-cookie-close[hidden] { display: none !important; }
.slay-cookie-panel, .slay-cookie-panel *, .slay-cookie-footer { box-sizing: border-box; }
.slay-cookie-panel {
    position: fixed; z-index: 99990; bottom: 22px; left: 22px;
    width: min(530px, calc(100vw - 44px)); max-height: calc(100dvh - 44px); overflow-y: auto;
    padding: 23px 25px 18px; border: 2px solid #24142f; border-radius: 20px;
    background: #fffefb; color: #24142f; box-shadow: 6px 6px 0 #24142f;
    font: 14px/1.5 'DM Sans', sans-serif; text-align: left;
}
.slay-cookie-panel .slay-cookie-kicker { display: inline-block; background: #fa73b2; padding: 2px 9px; font-size: 10px; font-weight: 700; letter-spacing: 1.1px; transform: rotate(-2deg); }
.slay-cookie-panel h2 { color: #24142f; font: 900 31px/1.04 'Barlow Condensed', sans-serif; text-transform: uppercase; margin: 12px 0 9px; letter-spacing: -.3px; }
.slay-cookie-panel p { font: inherit; margin: 0 0 13px; }
.slay-cookie-panel a { color: #682ba5; text-decoration: underline; }
.slay-cookie-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.slay-cookie-panel button, .slay-cookie-footer button {
    appearance: none; cursor: pointer; border: 2px solid #24142f; border-radius: 11px;
    background: #fffefb; color: #24142f; padding: 10px 12px;
    font: 700 14px/1.3 'DM Sans', sans-serif; text-transform: none; letter-spacing: 0;
    min-height: 44px; box-shadow: none;
}
.slay-cookie-panel #slay-cookie-accept { background: #cff547; }
.slay-cookie-panel button:hover, .slay-cookie-footer button:hover { background: #fa73b2; color: #24142f; }
.slay-cookie-panel button:focus-visible, .slay-cookie-panel summary:focus-visible, .slay-cookie-panel a:focus-visible, .slay-cookie-footer button:focus-visible { outline: 3px solid #682ba5; outline-offset: 3px; }
.slay-cookie-panel .slay-cookie-details { margin-top: 13px; font-size: 12px; }
.slay-cookie-details summary { cursor: pointer; text-decoration: underline; width: fit-content; padding: 3px 0; }
.slay-cookie-details p { margin-top: 12px; }
.slay-cookie-panel .slay-cookie-close { margin-top: 12px; padding: 6px 18px; }
.slay-cookie-footer { background: #24142f; text-align: center; padding: 12px 20px 20px; }
.slay-cookie-footer button { background: transparent; color: #fffefb; border-color: #fffefb; min-height: 40px; padding: 8px 15px; font-size: 12px; }
@media (max-width: 600px) {
    .slay-cookie-panel { left: 12px; bottom: max(12px, env(safe-area-inset-bottom)); width: calc(100vw - 28px); padding: 18px; border-radius: 17px; max-height: calc(100dvh - 30px); box-shadow: 4px 4px 0 #24142f; font-size: 13px; }
    .slay-cookie-panel h2 { font-size: 27px; }
    .slay-cookie-panel button { font-size: 13px; padding: 10px 8px; }
}
@media print { .slay-cookie-panel, .slay-cookie-footer { display: none !important; } }
