
/* TeachMeMore Cookie Manager v1.1.0 */
.tmmcm{
    position:relative;
    z-index:2147483000;
    font-family:Figtree,Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.tmmcm [hidden]{display:none!important}
.tmmcm-backdrop{
    position:fixed;
    inset:0;
    background:rgba(2,6,23,.72);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    z-index:2147483000;
}

/* Base cards */
#tmm-cookie-manager .tmmcm-banner,
#tmm-cookie-manager .tmmcm-modal{
    color:#e8eef8!important;
    background:
        radial-gradient(circle at 12% 0%,rgba(124,58,237,.16),transparent 34%),
        radial-gradient(circle at 100% 100%,rgba(8,145,178,.12),transparent 36%),
        #07111f!important;
    border:1px solid rgba(148,163,184,.18)!important;
    box-shadow:0 28px 90px rgba(2,6,23,.48)!important;
}

/* Banner */
#tmm-cookie-manager .tmmcm-banner{
    position:fixed;
    left:24px;
    right:24px;
    bottom:24px;
    z-index:2147483001;
    max-width:1180px;
    margin:0 auto;
    padding:22px;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
}
#tmm-cookie-manager .tmmcm-copy{max-width:720px}
#tmm-cookie-manager .tmmcm-kicker{
    margin-bottom:6px;
    color:#9aa8ff!important;
    font-size:12px;
    line-height:1.2;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.13em;
}
#tmm-cookie-manager h2,
#tmm-cookie-manager h3,
#tmm-cookie-manager p{margin-top:0}
#tmm-cookie-manager h2{
    margin-bottom:8px;
    color:#fff!important;
    font-size:clamp(20px,2vw,28px)!important;
    line-height:1.1;
}
#tmm-cookie-manager h3{
    margin-bottom:5px;
    color:#fff!important;
    font-size:16px!important;
}
#tmm-cookie-manager p{
    margin-bottom:0;
    color:#b8c5d6!important;
    font-size:14px!important;
    line-height:1.65;
}
#tmm-cookie-manager a{
    color:#aab6ff!important;
    text-decoration:underline!important;
    text-underline-offset:2px;
}

/* Actions */
#tmm-cookie-manager .tmmcm-actions,
#tmm-cookie-manager .tmmcm-modal-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
}
#tmm-cookie-manager .tmmcm-btn{
    appearance:none!important;
    -webkit-appearance:none!important;
    border:0!important;
    border-radius:12px!important;
    padding:12px 16px!important;
    min-height:44px;
    cursor:pointer;
    font:inherit!important;
    font-size:14px!important;
    font-weight:800!important;
    line-height:1!important;
    text-decoration:none!important;
    box-shadow:none!important;
    transition:transform .16s ease,background .16s ease,border-color .16s ease!important;
}
#tmm-cookie-manager .tmmcm-btn:hover{transform:translateY(-1px)}
#tmm-cookie-manager .tmmcm-btn:focus-visible,
#tmm-cookie-manager .tmmcm-close:focus-visible,
#tmm-cookie-manager .tmmcm-open-settings:focus-visible,
#tmm-cookie-manager .tmmcm-switch input:focus-visible + span{
    outline:3px solid rgba(129,140,248,.45)!important;
    outline-offset:3px!important;
}

/* Primary = TeachMeMore violet -> blue -> cyan */
#tmm-cookie-manager .tmmcm-btn-primary{
    color:#fff!important;
    background:linear-gradient(135deg,#7c3aed 0%,#4f46e5 45%,#0284c7 100%)!important;
    border:1px solid rgba(255,255,255,.06)!important;
}

/* Secondary */
#tmm-cookie-manager .tmmcm-btn-secondary{
    color:#eaf1ff!important;
    background:#162235!important;
    border:1px solid rgba(148,163,184,.20)!important;
}

/* Reject = neutral dark, no green */
#tmm-cookie-manager .tmmcm-btn-ghost{
    color:#dbe7f7!important;
    background:#101a2a!important;
    border:1px solid rgba(148,163,184,.22)!important;
}
#tmm-cookie-manager .tmmcm-btn-ghost:hover{
    background:#172337!important;
    border-color:rgba(148,163,184,.34)!important;
}

/* Modal */
#tmm-cookie-manager .tmmcm-modal{
    position:fixed;
    z-index:2147483002;
    width:min(620px,calc(100vw - 32px));
    max-height:min(760px,calc(100vh - 32px));
    overflow:auto;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    border-radius:24px;
    padding:24px;
}
#tmm-cookie-manager .tmmcm-modal-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:16px;
}

/* Close button — fully isolated from theme button styles */
#tmm-cookie-manager button.tmmcm-close{
    appearance:none!important;
    -webkit-appearance:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    margin:0!important;
    padding:0!important;
    flex:0 0 40px!important;
    border:1px solid rgba(148,163,184,.20)!important;
    border-radius:12px!important;
    color:#dce7f7!important;
    background:#101a2a!important;
    box-shadow:none!important;
    cursor:pointer!important;
    font-family:Arial,sans-serif!important;
    font-size:24px!important;
    font-weight:600!important;
    line-height:1!important;
    text-align:center!important;
    text-transform:none!important;
}
#tmm-cookie-manager button.tmmcm-close:hover{
    color:#fff!important;
    background:#18253a!important;
    border-color:rgba(129,140,248,.38)!important;
}
#tmm-cookie-manager button.tmmcm-close::before,
#tmm-cookie-manager button.tmmcm-close::after{
    content:none!important;
    display:none!important;
}

/* Categories */
#tmm-cookie-manager .tmmcm-category{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:22px;
    padding:18px 0;
    border-top:1px solid rgba(148,163,184,.12);
}
#tmm-cookie-manager .tmmcm-required{
    flex:0 0 auto;
    color:#7dd3fc!important;
    font-size:12px!important;
    font-weight:800!important;
}
#tmm-cookie-manager .tmmcm-modal-actions{
    justify-content:flex-end;
    padding-top:18px;
    border-top:1px solid rgba(148,163,184,.12);
}

/* Switch */
#tmm-cookie-manager .tmmcm-switch{
    position:relative;
    display:inline-flex;
    flex:0 0 auto;
}
#tmm-cookie-manager .tmmcm-switch input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
#tmm-cookie-manager .tmmcm-switch>span:first-of-type{
    position:relative;
    display:block;
    width:48px;
    height:28px;
    border-radius:999px;
    background:#334155!important;
    border:1px solid rgba(148,163,184,.14);
    cursor:pointer;
    transition:background .18s ease,border-color .18s ease;
}
#tmm-cookie-manager .tmmcm-switch>span:first-of-type::after{
    content:"";
    position:absolute;
    width:20px;
    height:20px;
    left:3px;
    top:3px;
    border-radius:50%;
    background:#fff!important;
    box-shadow:0 2px 8px rgba(0,0,0,.24);
    transition:transform .18s ease;
}
#tmm-cookie-manager .tmmcm-switch input:checked + span{
    background:linear-gradient(135deg,#7c3aed,#2563eb)!important;
    border-color:transparent!important;
}
#tmm-cookie-manager .tmmcm-switch input:checked + span::after{
    transform:translateX(20px);
}

/* Footer link */
#tmm-cookie-manager .tmmcm-open-settings,
.tmmcm-open-settings{
    appearance:none!important;
    border:0!important;
    padding:0!important;
    color:inherit!important;
    background:transparent!important;
    cursor:pointer!important;
    font:inherit!important;
    text-decoration:underline!important;
    text-underline-offset:3px;
    box-shadow:none!important;
}

html.tmmcm-lock{overflow:hidden}

.screen-reader-text{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}

@media(max-width:760px){
    #tmm-cookie-manager .tmmcm-banner{
        left:12px;
        right:12px;
        bottom:12px;
        padding:18px;
        border-radius:18px;
        align-items:stretch;
        flex-direction:column;
        gap:18px;
    }
    #tmm-cookie-manager .tmmcm-actions,
    #tmm-cookie-manager .tmmcm-modal-actions{
        display:grid;
        grid-template-columns:1fr;
    }
    #tmm-cookie-manager .tmmcm-btn{
        width:100%!important;
        min-height:44px!important;
    }
    #tmm-cookie-manager .tmmcm-modal{
        padding:20px;
        border-radius:20px;
    }
    #tmm-cookie-manager .tmmcm-category{
        align-items:flex-start;
    }
}

@media(prefers-reduced-motion:reduce){
    .tmmcm *,
    .tmmcm *::before,
    .tmmcm *::after{
        transition:none!important;
        scroll-behavior:auto!important;
    }
}


/* ===== TMM Cookie Manager v1.2 RGPD renforcé ===== */
#tmm-cookie-manager .tmmcm-consent-meta{
    padding:14px 0 4px;
    border-top:1px solid rgba(148,163,184,.12);
}
#tmm-cookie-manager .tmmcm-consent-meta p{
    margin:0 0 6px!important;
    color:#94a3b8!important;
    font-size:12px!important;
}
#tmm-cookie-manager .tmmcm-consent-status{
    color:#cbd5e1!important;
}
#tmm-cookie-manager .tmmcm-btn-danger{
    color:#fecaca!important;
    background:#1f1320!important;
    border:1px solid rgba(248,113,113,.24)!important;
}
#tmm-cookie-manager .tmmcm-btn-danger:hover{
    color:#fff!important;
    background:#2a1724!important;
    border-color:rgba(248,113,113,.40)!important;
}


/* ===== TMM Cookie Manager v1.4 Diagnostics ===== */
#tmm-cookie-manager .tmmcm-debug{
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:2147483005;
    width:min(380px,calc(100vw - 40px));
    padding:16px;
    border:1px solid rgba(148,163,184,.22);
    border-radius:16px;
    color:#e2e8f0;
    background:#07111f;
    box-shadow:0 20px 70px rgba(2,6,23,.45);
}
#tmm-cookie-manager .tmmcm-debug-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
#tmm-cookie-manager .tmmcm-debug-head strong{
    color:#fff;
    font-size:14px;
}
#tmm-cookie-manager .tmmcm-debug-close{
    appearance:none!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    padding:0!important;
    border:1px solid rgba(148,163,184,.18)!important;
    border-radius:9px!important;
    color:#e2e8f0!important;
    background:#101a2a!important;
    cursor:pointer!important;
    font-size:19px!important;
    line-height:1!important;
}
#tmm-cookie-manager .tmmcm-debug-body{
    display:grid;
    gap:8px;
    margin-bottom:12px;
}
#tmm-cookie-manager .tmmcm-debug-body>div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:8px 10px;
    border-radius:10px;
    background:rgba(255,255,255,.035);
}
#tmm-cookie-manager .tmmcm-debug-body span{
    color:#94a3b8;
    font-size:12px;
}
#tmm-cookie-manager .tmmcm-debug-body strong{
    color:#e2e8f0;
    font-size:12px;
    text-align:right;
}
