/* Compact consent card and preferences dialog, shared across storefront layouts. */
.lf-cookie {
    --ink: #000000;
    --accent: #000000;
    box-sizing: border-box;
    color: var(--ink);
    background: #fff;
    border: 1px solid #dddddd;
    border-radius: 16px;
    box-shadow: 0 8px 36px #00000024;
    font: 15px/1.5 Arial, sans-serif;
    overscroll-behavior: contain;
}
#lf-cookie-card {
    position: fixed;
    z-index: 99999;
    right: 20px;
    bottom: 20px;
    width: min(380px, calc(100vw - 40px));
    max-height: calc(100vh - 40px);
    max-height: calc(100dvh - 40px);
    overflow: auto;
}
#lf-cookie-card[hidden], #lf-cookie-dialog:not([open]) { display: none; }
#lf-cookie-dialog {
    position: fixed;
    inset: 0;
    margin: auto;
    padding: 0;
    width: min(490px, calc(100vw - 24px));
    max-height: calc(100dvh - 24px);
    overflow: auto;
}
#lf-cookie-dialog::backdrop { background: #00000077; }
.lf-cookie .lf-copy { padding: 22px 24px 16px; }
.lf-cookie .lf-brand { color: var(--accent); font-size: 11px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.lf-cookie h2 { margin: 5px 0 10px; color: var(--ink); font: 700 22px/1.25 Georgia, serif; }
.lf-cookie p { margin: 0 0 8px; color: #484848; font: inherit; }
.lf-cookie summary, .lf-cookie a { color: var(--accent); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.lf-cookie .lf-actions { display: grid; gap: 8px; padding: 14px 20px 18px; border-top: 1px solid #e5e5e5; }
.lf-cookie button { cursor: pointer; font: 600 14px/1.4 Arial, sans-serif; }
.lf-actions button { border-radius: 9px; border: 1px solid var(--accent); background: var(--accent); color: white; min-height: 44px; }
.lf-actions button:hover { background: #272727; }
.lf-actions .lf-secondary { background: white; color: var(--accent); border-color: #cccccc; }
.lf-actions .lf-secondary:hover { background: #f3f3f3; }
.lf-cookie :focus-visible { outline: 3px solid #000000; outline-offset: 2px; }
.lf-cookie .lf-close { position: absolute; right: 12px; top: 12px; background: #f4f4f4; color: var(--ink); width: 40px; height: 40px; border: 0; border-radius: 50%; font-size: 24px; }
.lf-category { padding: 10px 0; border-top: 1px solid #e5e5e5; }
.lf-category label { display: flex; align-items: center; justify-content: space-between; min-height: 36px; margin: 0; font-weight: bold; cursor: pointer; }
.lf-category input { appearance: none; position: relative; width: 38px; height: 23px; margin: 0; border: 1px solid #888888; border-radius: 20px; background: #eeeeee; cursor: pointer; }
.lf-category input::before { content: ''; position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; background: #737373; border-radius: 50%; }
.lf-category input:checked { background: var(--accent); }
.lf-category input:checked::before { left: 18px; background: white; }
.lf-category small, .lf-category div { font-size: 13px; color: #555555; }
.lf-cookie details { font-size: 13px; margin-top: 7px; }
@media (max-width: 575px) {
    #lf-cookie-card { right: 12px; bottom: 12px; width: min(380px, calc(100vw - 24px)); }
    .lf-cookie .lf-copy { padding: 18px; }
}

