
    #cookie-lightbox {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        z-index: 99999;
        display: none;
        flex-direction: column;
        align-items: center;
        justify-content: flex-end;
        padding: 0;
        box-sizing: border-box;
        pointer-events: none;
    }
    .cookie-modal {
        background: #fff;
        width: 100%;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 16px;
        padding: 10px 18px;
        box-sizing: border-box;
        border-top: 1px solid #e5e7eb;
        box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.08);
        pointer-events: auto;
    }
    .cookie-description {
        margin: 0;
        font-size: 13px;
        line-height: 1.35;
        color: #4b5563;
        text-align: center;
    }
    .cookie-description strong { color: #111827; font-weight: 700; }
    .cookie-description a { color: #111827; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
    .cookie-accept {
        border: none;
        border-radius: 999px;
        background: #111827;
        color: #fff;
        cursor: pointer;
        flex: 0 0 auto;
        padding: 8px 18px;
        font-size: 13px;
        font-weight: 700;
        line-height: 1;
        transition: background 0.2s ease, transform 0.2s ease;
    }
    .cookie-accept:hover { background: #000; }
    .cookie-accept:active { transform: scale(0.98); }
    .cookie-accept:focus { outline: 2px solid #9ca3af; outline-offset: 2px; }
    .cookie-close {
        width: 28px;
        height: 28px;
        border: 1px solid #d1d5db;
        border-radius: 999px;
        background: #fff;
        color: #111827;
        cursor: pointer;
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 18px;
        line-height: 1;
        transition: background 0.2s ease, border-color 0.2s ease;
    }
    .cookie-close:hover { background: #f9fafb; border-color: #9ca3af; }
    .cookie-close:focus { outline: 2px solid #9ca3af; outline-offset: 2px; }
    /* Reject button — equal prominence to Accept (GDPR/ePrivacy requirement) */
    .cookie-reject {
        border: 1px solid #d1d5db;
        border-radius: 999px;
        background: #fff;
        color: #111827;
        cursor: pointer;
        flex: 0 0 auto;
        padding: 8px 18px;
        font-size: 13px;
        font-weight: 700;
        line-height: 1;
        transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
    }
    .cookie-reject:hover { background: #f9fafb; border-color: #9ca3af; }
    .cookie-reject:active { transform: scale(0.98); }
    .cookie-reject:focus { outline: 2px solid #9ca3af; outline-offset: 2px; }
    .cookie-link {
        background: none; border: none; padding: 4px 6px;
        font-size: 12px; font-weight: 600; color: #6b7280;
        text-decoration: underline; text-underline-offset: 2px;
        cursor: pointer; flex: 0 0 auto;
    }
    .cookie-link:hover { color: #111827; }
    /* Preferences panel */
    #cookie-prefs {
        display: none;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 12px 18px 16px;
        box-sizing: border-box;
        text-align: left;
        background: #fff;
        border-top: 1px solid #e5e7eb;
        box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.08);
        pointer-events: auto;   /* sits outside .cookie-modal, needs its own */
        order: -1;              /* expand above the Accept/Reject bar */
    }
    #cookie-prefs > * { max-width: 640px; margin-left: auto; margin-right: auto; }
    .cookie-pref-row {
        display: flex; align-items: flex-start; gap: 10px;
        padding: 8px 0; border-top: 1px solid #f3f4f6;
    }
    .cookie-pref-row:first-child { border-top: none; }
    .cookie-pref-row label { font-size: 12px; color: #4b5563; line-height: 1.4; }
    .cookie-pref-row strong { color: #111827; font-weight: 700; display: block; }
    .cookie-pref-row input[type="checkbox"] { margin-top: 2px; width: 16px; height: 16px; flex: 0 0 auto; }
    .cookie-pref-row input[disabled] { opacity: 0.6; }
    .cookie-save {
        margin-top: 6px; border: none; border-radius: 999px;
        background: #111827; color: #fff; cursor: pointer;
        padding: 7px 16px; font-size: 12px; font-weight: 700;
    }
    .cookie-save:hover { background: #000; }
    .honeypot-trap {
        position: absolute; left: -9999px; top: auto;
        width: 1px; height: 1px; overflow: hidden;
        opacity: 0; pointer-events: auto; clip: rect(0, 0, 0, 0);
    }
    #bot-flagged-overlay {
        position: fixed; inset: 0;
        background: rgba(0,0,0,0.8);
        backdrop-filter: blur(6px);
        z-index: 9999999;
        display: none;
        align-items: center; justify-content: center;
        padding: 16px;
    }
    #bot-flagged-overlay.active { display: flex; }
    #bot-flagged-box {
        background: #fff; border-radius: 16px;
        padding: 36px 28px; max-width: 420px; width: 90%;
        text-align: center;
        box-shadow: 0 25px 60px rgba(0,0,0,0.4);
        border: 1px solid #e5e7eb;
    }
    #bot-flagged-box .flag-icon {
        width: 48px; height: 48px; margin: 0 auto 16px;
        background: #f3f4f6; border-radius: 50%;
        display: flex; align-items: center; justify-content: center;
        font-size: 24px;
    }
    #bot-flagged-box .flag-title { margin: 0 0 8px; font-size: 18px; font-weight: 700; color: #111827; }
    #bot-flagged-box p { margin: 0 0 8px; font-size: 14px; color: #6b7280; line-height: 1.6; }
    #bot-flagged-box .flag-hint {
        margin: 16px 0 0; padding: 12px 16px;
        background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 10px;
        font-size: 13px; color: #374151; line-height: 1.5;
    }
    #bot-flagged-box .flag-hint strong { color: #111827; }
    @media (max-width: 640px) {
        #cookie-lightbox {
            padding: 0 10px 10px;
        }
        .cookie-modal {
            display: grid;
            grid-template-columns: 1fr 1fr;
            justify-content: stretch;
            align-items: center;
            gap: 8px;
            padding: 12px;
            border: 1px solid #e5e7eb;
            border-radius: 18px;
            box-shadow: 0 -10px 35px rgba(15, 23, 42, 0.14);
        }
        .cookie-description {
            grid-column: 1 / -1;
            text-align: left;
            font-size: 12px;
            line-height: 1.35;
        }
        .cookie-accept,
        .cookie-reject {
            width: 100%;
            min-height: 40px;
            padding: 10px 12px;
            font-size: 12px;
        }
        .cookie-link {
            grid-column: 1 / -1;
            justify-self: center;
            padding: 2px 8px;
        }
        #cookie-prefs {
            width: calc(100% - 20px);
            margin: 0 auto;
            border: 1px solid #e5e7eb;
            border-bottom: none;
            border-radius: 18px 18px 0 0;
            padding: 12px;
        }
    }
