/* Genielo — overrides de marque */

/* Taille du logo dans le header (l'image PNG est haute résolution :
   on plafonne la hauteur pour qu'elle ne soit pas géante). */
.site-logo img,
header .site-logo img {
    height: 40px !important;
    width: auto !important;
    max-width: 100% !important;
}

@media (max-width: 1024px) {
    .site-logo img,
    header .site-logo img {
        height: 34px !important;
    }
}

/* Logo du footer (version dégradée) — taille + alignement */
.genielo-footer-logo {
    height: 40px !important;
    width: auto !important;
    max-width: 100% !important;
    display: block;
    object-fit: contain;
}

/* ============================================================
   Pages légales / documents (.legal-doc) — mise en page pro
   (Confidentialité, CGU, Mentions Légales, Cookies — FR/EN/ES)
   ============================================================ */
.legal-doc{
    --lg-accent:#7c3aed;
    --lg-accent-soft:#f4effe;
    --lg-ink:#0f1729;
    --lg-body:#3f4657;
    --lg-muted:#6b7280;
    --lg-border:#e8e9ef;
    color:var(--lg-body);
    font-size:16px;
    line-height:1.75;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}
.legal-doc .page-content{max-width:none !important;margin:0 !important;line-height:inherit !important;}
html:has(.legal-doc){scroll-behavior:smooth;}

/* Language switcher -> pills (top right) */
.legal-doc .lang-switch{
    display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end;
    margin:0 0 1.6rem !important;padding:0 !important;opacity:1 !important;
    font-size:0 !important;
}
.legal-doc .lang-switch a{
    font-size:.78rem;font-weight:600;text-decoration:none;color:var(--lg-muted);
    padding:.3rem .85rem;border:1px solid var(--lg-border);border-radius:999px;
    transition:border-color .15s,color .15s,background .15s;
}
.legal-doc .lang-switch a:hover{border-color:var(--lg-accent);color:var(--lg-accent);background:var(--lg-accent-soft);}

/* Title + "last updated" caption */
.legal-doc h1{
    font-size:clamp(1.95rem,4vw,2.6rem);line-height:1.12;font-weight:800;
    letter-spacing:-.025em;color:var(--lg-ink);margin:0 0 .6rem;
}
.legal-doc h1 + p{margin:0 0 2.2rem;font-size:.9rem;}
.legal-doc h1 + p em{
    font-style:normal;display:inline-flex;align-items:center;gap:.45rem;
    background:var(--lg-accent-soft);color:var(--lg-accent);font-weight:600;
    padding:.3rem .8rem;border-radius:999px;font-size:.8rem;
}
.legal-doc h1 + p em::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;}

/* Section headings */
.legal-doc h2{
    font-size:1.32rem;font-weight:750;color:var(--lg-ink);letter-spacing:-.01em;
    line-height:1.3;margin:2.7rem 0 .95rem;padding-top:1.7rem;
    border-top:1px solid var(--lg-border);scroll-margin-top:96px;
}
.legal-doc h2:first-of-type{border-top:0;padding-top:0;margin-top:1.2rem;}
.legal-doc h3{font-size:1.05rem;font-weight:700;color:var(--lg-ink);margin:1.7rem 0 .6rem;}

.legal-doc p{margin:0 0 1.1rem;}
.legal-doc strong{color:var(--lg-ink);font-weight:650;}
.legal-doc a:not(.lang-switch a){
    color:var(--lg-accent);text-decoration:underline;text-underline-offset:2px;
    text-decoration-thickness:1px;font-weight:500;
}
.legal-doc a:hover{text-decoration-thickness:2px;}

/* Lists */
.legal-doc ul,.legal-doc ol{margin:0 0 1.25rem;padding:0;list-style:none;}
.legal-doc li{margin:0 0 .55rem;}
.legal-doc ul li{position:relative;padding-left:1.5rem;}
.legal-doc ul li::before{content:"";position:absolute;left:.2rem;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--lg-accent);}
.legal-doc ol{counter-reset:lgi;}
.legal-doc ol li{position:relative;padding-left:2rem;counter-increment:lgi;}
.legal-doc ol li::before{
    content:counter(lgi);position:absolute;left:0;top:.08em;
    width:1.4rem;height:1.4rem;display:flex;align-items:center;justify-content:center;
    background:var(--lg-accent-soft);color:var(--lg-accent);border-radius:50%;
    font-size:.72rem;font-weight:700;
}

/* Tables */
.legal-doc table{
    width:100%;border-collapse:separate;border-spacing:0;margin:.4rem 0 1.7rem;
    border:1px solid var(--lg-border);border-radius:14px;overflow:hidden;font-size:.94rem;
}
.legal-doc table td{
    padding:.75rem 1.05rem !important;border:0 !important;
    border-bottom:1px solid var(--lg-border) !important;vertical-align:top;line-height:1.55;
}
.legal-doc table tr:last-child td{border-bottom:0 !important;}
.legal-doc table tr:first-child td{
    background:var(--lg-accent-soft);color:var(--lg-ink);font-weight:700;
    font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;
}
.legal-doc table tr:nth-child(2n):not(:first-child) td{background:#fafafb;}

/* Table of contents card (injected by JS) */
.legal-toc{
    background:linear-gradient(180deg,#fbfbfd,#f7f7fb);border:1px solid var(--lg-border);
    border-radius:18px;padding:1.4rem 1.6rem;margin:0 0 2.6rem;
}
.legal-toc__title{
    font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;
    color:var(--lg-muted);margin:0 0 .9rem;
}
.legal-toc ol{columns:2;column-gap:2.2rem;list-style:none;counter-reset:toc;margin:0;padding:0;}
.legal-toc li{counter-increment:toc;margin:0 0 .55rem;break-inside:avoid;padding:0;}
.legal-toc li::before{content:none;}
.legal-toc a{
    display:block;color:var(--lg-body);text-decoration:none;font-size:.9rem;font-weight:500;
    padding-left:1.9rem;position:relative;line-height:1.4;transition:color .15s;
}
.legal-toc a::before{
    content:counter(toc,decimal-leading-zero);position:absolute;left:0;top:.05em;
    font-size:.72rem;font-weight:700;color:var(--lg-accent);letter-spacing:.02em;
}
.legal-toc a:hover{color:var(--lg-accent);}
@media (max-width:640px){
    .legal-toc ol{columns:1;}
    .legal-doc .lang-switch{justify-content:flex-start;}
}

/* Fix : le sommaire est dans .legal-doc, il héritait du compteur des <ol> du document.
   On rétablit son propre compteur et on masque la puce ronde générale. */
.legal-doc .legal-toc ol{counter-reset:toc;}
.legal-doc .legal-toc li{counter-increment:toc;}
.legal-doc .legal-toc li::before{content:none !important;}
.legal-doc .legal-toc a::before{content:counter(toc,decimal-leading-zero);}
