.om-cookie-panel.fw-cookie-panel {
    position: fixed;
    z-index: 10000;
    inset: auto 16px 16px;
    width: calc(100% - 32px);
    max-width: 600px;
    max-height: calc(100vh - 32px);
    max-height: calc(100dvh - 32px);
    margin: 0 auto;
    padding: 24px;
    box-sizing: border-box;
    background: #fff;
    color: #242424;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgb(0 0 0 / 16%);
    text-align: left;
    font: 16px/1.5 system-ui, sans-serif;
    letter-spacing: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(24px);
    transition: opacity 150ms ease, transform 150ms ease, visibility 150ms;
    overflow: hidden;
}
.om-cookie-panel.fw-cookie-panel.active { opacity: 1; visibility: visible; transform: none; }
.fw-cookie-panel [hidden], .fw-cookie-reopen[hidden] { display: none !important; }
.fw-cookie-panel .fw-cookie-view { display: flex; flex-direction: column; max-height: calc(100vh - 132px); max-height: calc(100dvh - 132px); }
.fw-cookie-panel .fw-cookie-copy { overflow-y: auto; min-height: 0; overscroll-behavior: contain; }
.fw-cookie-panel .fw-cookie-heading { margin: 0 0 16px; padding: 0; color: inherit; font: 700 23px/1.3 system-ui, sans-serif; letter-spacing: 0; text-align: left; }
.fw-cookie-panel .fw-cookie-copy p { margin: 0 0 12px; padding: 0; color: inherit; font-size: 16px; line-height: 1.5; }
.fw-cookie-panel .fw-cookie-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding-top: 16px; flex: 0 0 auto; }
.fw-cookie-panel .fw-cookie-action { display: block; box-sizing: border-box; min-height: 48px; width: 100%; padding: 10px 12px; border: 2px solid var(--fw-cookie-accent, #333); border-radius: 6px; background: #fff; color: var(--fw-cookie-link, #333); font: 600 15px/1.35 system-ui, sans-serif; letter-spacing: 0; text-align: center; cursor: pointer; overflow-wrap: anywhere; }
.fw-cookie-panel .fw-cookie-action--accept { background: var(--fw-cookie-accent, #333); color: var(--fw-cookie-on-accent, #fff); }
.fw-cookie-panel .fw-cookie-action--necessary { border-color: var(--fw-cookie-outline, #333); }
.fw-cookie-panel .fw-cookie-action--settings { grid-column: 1 / -1; border-color: transparent; min-height: 44px; text-decoration: underline; }
.fw-cookie-panel .fw-cookie-action:hover { text-decoration: underline; }
.fw-cookie-panel :focus-visible, .fw-cookie-reopen:focus-visible { outline: 3px solid var(--fw-cookie-outline, #333); outline-offset: 3px; }
.fw-cookie-panel .fw-cookie-category { margin-top: 14px; padding: 16px 0; border-top: 1px solid #ddd; }
.fw-cookie-panel .fw-cookie-category__label { display: flex; align-items: center; gap: 10px; color: inherit; cursor: pointer; }
.fw-cookie-panel input[type="checkbox"] { display: inline-block; flex: 0 0 22px; width: 22px; height: 22px; margin: 0; accent-color: var(--fw-cookie-accent, #333); }
.fw-cookie-panel .fw-cookie-category p { margin: 8px 0 0; }
.fw-cookie-panel .fw-cookie-note, .fw-cookie-panel .fw-cookie-services { font-size: 14px; }
.fw-cookie-panel .fw-cookie-services { margin-top: 10px; }
.fw-cookie-panel .fw-cookie-services summary { cursor: pointer; text-decoration: underline; }
.fw-cookie-panel .fw-cookie-services ul { padding-left: 20px; }
.fw-cookie-panel .fw-cookie-links { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 12px; font-size: 14px; }
.fw-cookie-panel .fw-cookie-links a { color: var(--fw-cookie-link, #333); text-decoration: underline; }
.fw-cookie-panel .fw-cookie-provider { font-size: 11px; }
.fw-cookie-reopen { position: fixed; inset: auto auto 8px 8px; z-index: 9998; padding: 8px 12px; border: 1px solid #777; border-radius: 4px; background: #fff; color: #242424; font: 14px/1.4 system-ui, sans-serif; cursor: pointer; }
@media (max-width: 480px) {
    .om-cookie-panel.fw-cookie-panel { padding: 18px; inset: auto 8px 8px; width: calc(100% - 16px); max-height: calc(100dvh - 16px); }
    .fw-cookie-panel .fw-cookie-view { max-height: calc(100dvh - 116px); }
    .fw-cookie-panel .fw-cookie-actions { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .fw-cookie-panel .fw-cookie-heading { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) { .om-cookie-panel.fw-cookie-panel { transition: none; } }
