/**
 * Artisteeq Insu Cookie - neutrale (grijze) popup.
 *
 * Alles is gescoped op #artisteeq-insu-cookie-popup en de visuele eigenschappen
 * staan op !important, zodat thema-stijlen (knoppen, linkkleuren, uppercase,
 * afgeronde hoeken...) de popup niet overschrijven. Zo ziet de popup er op elke
 * site hetzelfde uit.
 *
 * Toch per site aanpassen? Overschrijf enkel de variabelen, bv.:
 *   #artisteeq-insu-cookie-popup { --insu-btn-primary-bg: #333; }
 *
 * Let op: geen !important op display/bottom, want de JS stuurt die inline aan.
 */

#artisteeq-insu-cookie-popup {
    --insu-bg: #ffffff;
    --insu-text: #111111;
    --insu-text-soft: #444444;
    --insu-border: #d6d6d6;
    --insu-panel-bg: #f5f5f5;

    --insu-btn-bg: #ececec;
    --insu-btn-bg-hover: #dedede;
    --insu-btn-primary-bg: #c8c8c8;
    --insu-btn-primary-bg-hover: #b6b6b6;
    --insu-btn-save-bg: #dadada;
    --insu-btn-text: #111111;
    --insu-btn-border: #bdbdbd;

    --insu-toggle-off: #cfcfcf;
    --insu-toggle-on: #4a4a4a;
    --insu-toggle-knob: #ffffff;

    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    max-height: 100vh;
    overflow-y: auto;
    margin: 0;
    padding: 20px 18px !important;
    background: var(--insu-bg) !important;
    color: var(--insu-text) !important;
    border: 0 !important;
    border-top: 1px solid var(--insu-border) !important;
    border-radius: 0 !important;
    box-shadow: 0 -4px 24px rgba(0, 0, 0, .12) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    text-align: left !important;
}

#artisteeq-insu-cookie-popup *,
#artisteeq-insu-cookie-popup *::before,
#artisteeq-insu-cookie-popup *::after {
    box-sizing: border-box;
}

#artisteeq-insu-cookie-popup .main-cookies {
    max-width: none;
    margin: 0;
}

/* ---------- Tekst ---------- */

#artisteeq-insu-cookie-popup p {
    margin: 0 0 12px !important;
    padding: 0 !important;
    color: var(--insu-text) !important;
    font-size: inherit !important;
    font-weight: 400 !important;
    line-height: inherit !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

#artisteeq-insu-cookie-popup p.title {
    margin-bottom: 6px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

#artisteeq-insu-cookie-popup a,
#artisteeq-insu-cookie-popup a:visited,
#artisteeq-insu-cookie-popup a.primary-color {
    color: var(--insu-text) !important;
    text-decoration: underline !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    font-weight: inherit !important;
    text-transform: none !important;
}

#artisteeq-insu-cookie-popup a:hover,
#artisteeq-insu-cookie-popup a:focus {
    color: var(--insu-text-soft) !important;
}

#artisteeq-insu-cookie-popup .main-cookie-window {
    display: block;
}

/* ---------- Voorkeuren-paneel ---------- */

#artisteeq-insu-cookie-popup .cookie-preferences {
    overflow: visible;
}

/* Verborgen tot "Voorkeuren aanpassen" (JS: slideDown / .vb-show). */
#artisteeq-insu-cookie-popup .cookie-preferences .content {
    display: none;
}

#artisteeq-insu-cookie-popup .cookie-preferences .content.vb-show {
    display: block;
}

#artisteeq-insu-cookie-popup .cookie-preferences .content ul {
    display: flex !important;
    flex-direction: column;
    gap: 12px;
    list-style: none !important;
    margin: 4px 0 16px !important;
    padding: 14px 16px !important;
    background: var(--insu-panel-bg) !important;
    border: 1px solid var(--insu-border) !important;
    border-radius: 0 !important;
}

#artisteeq-insu-cookie-popup .cookie-preferences .content li {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--insu-text) !important;
    background: none !important;
    list-style: none !important;
}

#artisteeq-insu-cookie-popup .cookie-preferences .content li::before {
    content: none !important;
    display: none !important;
}

#artisteeq-insu-cookie-popup .cookie-preferences .input-type {
    display: inline-flex;
    float: none;
    margin-left: 8px;
}

/* Toggle-schakelaar */
#artisteeq-insu-cookie-popup .css-checkbox {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    position: relative;
    flex: 0 0 auto;
    width: 40px !important;
    height: 22px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--insu-toggle-off) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: background .2s ease-in-out;
}

#artisteeq-insu-cookie-popup .css-checkbox::before {
    content: none !important;
}

#artisteeq-insu-cookie-popup .css-checkbox::after {
    content: "" !important;
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    background: var(--insu-toggle-knob) !important;
    border-radius: 0 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .25);
    transition: left .2s ease-in-out;
}

#artisteeq-insu-cookie-popup .css-checkbox:checked {
    background: var(--insu-toggle-on) !important;
}

#artisteeq-insu-cookie-popup .css-checkbox:checked::after {
    left: 21px;
}

#artisteeq-insu-cookie-popup .css-checkbox:focus-visible {
    outline: 2px solid var(--insu-text) !important;
    outline-offset: 2px;
}

#artisteeq-insu-cookie-popup #insu-functional {
    cursor: default;
}

/* ---------- Knoppen ---------- */

#artisteeq-insu-cookie-popup .save-cookies {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin: 0 !important;
}

#artisteeq-insu-cookie-popup .save-cookies > p {
    order: 10;
    flex: 1 1 100%;
    margin: 2px 0 0 !important;
    text-align: center !important;
}

#artisteeq-insu-cookie-popup #insu-cookies-accept-all { order: 1; }
#artisteeq-insu-cookie-popup #insu-cookies-save { order: 2; }
#artisteeq-insu-cookie-popup #insu-cookies-accept-none { order: 3; }

#artisteeq-insu-cookie-popup #insu-cookies-accept-all,
#artisteeq-insu-cookie-popup #insu-cookies-accept-none,
#artisteeq-insu-cookie-popup #insu-cookies-save {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 0;
    min-height: 44px;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 11px 22px !important;
    background: var(--insu-btn-bg) !important;
    color: var(--insu-btn-text) !important;
    border: 1px solid var(--insu-btn-border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    text-shadow: none !important;
    cursor: pointer;
    transition: background .15s ease-in-out;
}

#artisteeq-insu-cookie-popup #insu-cookies-accept-none:hover,
#artisteeq-insu-cookie-popup #insu-cookies-accept-none:focus {
    background: var(--insu-btn-bg-hover) !important;
}

#artisteeq-insu-cookie-popup #insu-cookies-accept-all {
    background: var(--insu-btn-primary-bg) !important;
    border-color: var(--insu-btn-primary-bg-hover) !important;
}

#artisteeq-insu-cookie-popup #insu-cookies-accept-all:hover,
#artisteeq-insu-cookie-popup #insu-cookies-accept-all:focus {
    background: var(--insu-btn-primary-bg-hover) !important;
}

#artisteeq-insu-cookie-popup #insu-cookies-save {
    background: var(--insu-btn-save-bg) !important;
}

#artisteeq-insu-cookie-popup #insu-cookies-save:hover,
#artisteeq-insu-cookie-popup #insu-cookies-save:focus {
    background: var(--insu-btn-bg-hover) !important;
}

#artisteeq-insu-cookie-popup #insu-cookies-accept-all:focus-visible,
#artisteeq-insu-cookie-popup #insu-cookies-accept-none:focus-visible,
#artisteeq-insu-cookie-popup #insu-cookies-save:focus-visible {
    outline: 2px solid var(--insu-text) !important;
    outline-offset: 2px;
}

/* "Mijn voorkeur bewaren" enkel tonen als het voorkeurenpaneel open is. */
#artisteeq-insu-cookie-popup #insu-cookies-save:not(.vb-show) {
    display: none;
}

/* ---------- Desktop: zelfde layout als mobiel, als kaart rechtsonder ---------- */

@media (min-width: 641px) {
    #artisteeq-insu-cookie-popup {
        left: auto;
        right: 24px;
        bottom: 24px;
        width: 440px;
        max-height: calc(100vh - 48px);
        padding: 24px !important;
        border: 1px solid var(--insu-border) !important;
        box-shadow: 0 8px 32px rgba(0, 0, 0, .18) !important;
    }
}

/* ---------- Losse knop "Cookievoorkeuren aanpassen" ----------
 * Te gebruiken overal op de site (cookiebeleid, footer, ...):
 *   <a href="#cookievoorkeuren" class="artisteeq-cookie-preferences-button open-cookie-preferences">Cookievoorkeuren aanpassen</a>
 * Het blok "Cookievoorkeuren knop" en de shortcode geven deze classes standaard mee.
 */
.artisteeq-cookie-preferences-button,
a.artisteeq-cookie-preferences-button,
a.artisteeq-cookie-preferences-button:visited {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 44px;
    margin: 0;
    padding: 11px 22px !important;
    background: #ececec !important;
    color: #111111 !important;
    border: 1px solid #bdbdbd !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: normal !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    text-shadow: none !important;
    cursor: pointer;
    transition: background .15s ease-in-out;
}

.artisteeq-cookie-preferences-button:hover,
.artisteeq-cookie-preferences-button:focus {
    background: #dedede !important;
    color: #111111 !important;
}

.artisteeq-cookie-preferences-button:focus-visible {
    outline: 2px solid #111111 !important;
    outline-offset: 2px;
}
