/* ============================================================
   LISTOOLAI — ALTERNATIVES PREMIUM V204
   Fichier : /assets/css/alternatives.css
   Objectif : page /alternatives/ premium SEO + responsive
============================================================ */

:root{
    --alt-bg:#020617;
    --alt-bg-2:#050816;
    --alt-card:rgba(15,23,42,.76);
    --alt-card-2:rgba(8,15,30,.88);
    --alt-border:rgba(148,163,184,.16);
    --alt-border-strong:rgba(103,232,249,.30);
    --alt-text:#f8fafc;
    --alt-soft:#dbeafe;
    --alt-muted:#94a3b8;
    --alt-cyan:#67e8f9;
    --alt-blue:#60a5fa;
    --alt-violet:#a78bfa;
    --alt-green:#34d399;
    --alt-yellow:#fde68a;
    --alt-radius:30px;
    --alt-shadow:0 32px 100px rgba(0,0,0,.38);
}

body.alternatives-template,
body.theme-dark.alternatives-template{
    background:
        radial-gradient(circle at 12% -8%,rgba(34,211,238,.22),transparent 30%),
        radial-gradient(circle at 86% 0%,rgba(139,92,246,.23),transparent 34%),
        radial-gradient(circle at 50% 48%,rgba(96,165,250,.08),transparent 34%),
        linear-gradient(180deg,var(--alt-bg) 0%,var(--alt-bg-2) 52%,var(--alt-bg) 100%) !important;
    color:var(--alt-text);
    overflow-x:hidden;
}

.alt-page{
    position:relative;
    min-height:100vh;
    padding:64px 0 112px;
    background:transparent !important;
    overflow:hidden;
}

.alt-page::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.020) 1px,transparent 1px);
    background-size:70px 70px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.88),transparent 82%);
    opacity:.72;
}

.alt-page > *{
    position:relative;
    z-index:1;
}

.alt-container{
    width:min(1360px,calc(100% - 48px));
    margin-inline:auto;
}

.alt-breadcrumb{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:9px;
    margin:0 0 26px;
    color:#8190aa;
    font-size:14px;
    font-weight:850;
}

.alt-breadcrumb a{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:0 11px;
    border-radius:999px;
    color:#cbd5e1;
    text-decoration:none;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.08);
    transition:.2s ease;
}

.alt-breadcrumb a:hover{
    color:#fff;
    background:rgba(255,255,255,.075);
    border-color:rgba(103,232,249,.24);
}

.alt-hero-card{
    position:relative;
    overflow:hidden;
    padding:clamp(34px,4.8vw,68px);
    border-radius:42px;
    border:1px solid rgba(148,163,184,.16);
    background:
        radial-gradient(circle at 0% 0%,rgba(103,232,249,.14),transparent 34%),
        radial-gradient(circle at 100% 0%,rgba(167,139,250,.16),transparent 38%),
        linear-gradient(135deg,rgba(15,23,42,.94),rgba(5,11,24,.91));
    box-shadow:var(--alt-shadow), inset 0 1px 0 rgba(255,255,255,.07);
    backdrop-filter:blur(18px);
    margin-bottom:28px;
}

.alt-hero-card::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(135deg,rgba(255,255,255,.07),transparent 28%,transparent 74%,rgba(255,255,255,.035)),
        radial-gradient(circle at 78% 50%,rgba(103,232,249,.10),transparent 32%);
    opacity:.86;
}

.alt-hero-card > *{
    position:relative;
    z-index:1;
}

.alt-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-height:38px;
    padding:0 15px;
    border-radius:999px;
    color:#cffafe;
    background:rgba(8,18,34,.72);
    border:1px solid rgba(103,232,249,.26);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
    font-size:12px;
    line-height:1;
    font-weight:950;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.alt-kicker::before{
    content:"✦";
    color:#a78bfa;
    font-size:13px;
}

.alt-title{
    max-width:1020px;
    margin:24px 0 18px;
    color:#fff;
    font-size:clamp(44px,6.4vw,92px);
    line-height:.90;
    font-weight:950;
    letter-spacing:-.078em;
}

.alt-desc{
    max-width:920px;
    margin:0;
    color:#c7d2e5;
    font-size:clamp(17px,1.5vw,21px);
    line-height:1.82;
    letter-spacing:-.015em;
}

.alt-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:13px;
    margin-top:30px;
}

.alt-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:52px;
    padding:0 22px;
    border-radius:17px;
    border:1px solid transparent;
    text-decoration:none;
    font-weight:950;
    line-height:1;
    transition:transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.alt-btn:hover{
    transform:translateY(-3px);
}

.alt-btn-primary{
    color:#04111f;
    background:linear-gradient(135deg,#67e8f9,#93c5fd 50%,#a78bfa);
    border-color:rgba(255,255,255,.24);
    box-shadow:0 20px 54px rgba(56,189,248,.24), inset 0 1px 0 rgba(255,255,255,.30);
}

.alt-btn-secondary{
    color:#dbeafe;
    background:rgba(255,255,255,.055);
    border-color:rgba(148,163,184,.16);
}

.alt-btn-secondary:hover{
    background:rgba(255,255,255,.085);
    border-color:rgba(103,232,249,.30);
}

.alt-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin:26px 0 44px;
}

.alt-stat{
    position:relative;
    overflow:hidden;
    min-height:128px;
    padding:24px;
    border-radius:30px;
    background:
        radial-gradient(circle at top right,rgba(103,232,249,.11),transparent 38%),
        linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.032));
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 22px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
}

.alt-stat strong{
    display:block;
    font-size:clamp(32px,4vw,54px);
    line-height:1;
    font-weight:950;
    letter-spacing:-.06em;
    background:linear-gradient(135deg,#67e8f9,#a78bfa);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    white-space:nowrap;
}

.alt-stat span{
    display:block;
    margin-top:9px;
    color:#aebbd3;
    font-weight:850;
}

.alt-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
}

.alt-card{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:320px;
    padding:24px;
    border-radius:30px;
    overflow:hidden;
    color:inherit;
    text-decoration:none;
    background:
        radial-gradient(circle at top right,rgba(103,232,249,.10),transparent 35%),
        linear-gradient(180deg,rgba(255,255,255,.066),rgba(255,255,255,.034));
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 22px 68px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.05);
    transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease;
}

.alt-card::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(135deg,rgba(255,255,255,.045),transparent 36%,rgba(167,139,250,.035));
    opacity:.75;
}

.alt-card > *{
    position:relative;
    z-index:1;
}

.alt-card:hover{
    transform:translateY(-8px);
    border-color:rgba(103,232,249,.32);
    box-shadow:0 34px 92px rgba(0,0,0,.40), 0 0 42px rgba(103,232,249,.08);
}

.alt-logo{
    width:76px;
    height:76px;
    border-radius:23px;
    overflow:hidden;
    background:rgba(255,255,255,.065);
    border:1px solid rgba(255,255,255,.12);
    display:grid;
    place-items:center;
    margin-bottom:20px;
    box-shadow:0 18px 48px rgba(0,0,0,.24);
}

.alt-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:10px;
    background:#fff;
}

.alt-card h2,
.alt-card h3{
    margin:0 0 12px;
    color:#fff;
    font-size:22px;
    line-height:1.12;
    font-weight:950;
    letter-spacing:-.045em;
}

.alt-card p{
    margin:0;
    color:#aebbd3;
    line-height:1.68;
    font-size:15px;
}

.alt-meta{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin:16px 0 0;
}

.alt-pill,
.alt-score,
.ai-score{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:30px;
    padding:0 11px;
    border-radius:999px;
    background:rgba(255,255,255,.060);
    border:1px solid rgba(255,255,255,.09);
    color:#cbd5e1;
    font-size:12px;
    font-weight:850;
    white-space:nowrap;
}

.alt-score,
.ai-score{
    color:#05111f;
    background:linear-gradient(135deg,#67e8f9,#93c5fd,#a78bfa);
    border-color:rgba(255,255,255,.24);
    font-weight:950;
}

.alt-actions{
    margin-top:auto;
    padding-top:24px;
    display:flex;
    gap:11px;
    flex-wrap:wrap;
}

.alt-actions .alt-btn{
    min-height:44px;
    padding:0 15px;
    border-radius:14px;
    font-size:14px;
}

.alt-bottom,
.alt-faq,
.alt-compare,
.alt-cta{
    position:relative;
    overflow:hidden;
    margin-top:58px;
    padding:clamp(28px,3.8vw,46px);
    border-radius:34px;
    background:
        radial-gradient(circle at top right,rgba(167,139,250,.11),transparent 36%),
        linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.030));
    border:1px solid rgba(255,255,255,.09);
    box-shadow:0 24px 76px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
}

.alt-bottom h2,
.alt-faq h2,
.alt-compare h2,
.alt-cta h2{
    margin:0 0 18px;
    color:#fff;
    font-size:clamp(28px,3.2vw,46px);
    line-height:1.02;
    font-weight:950;
    letter-spacing:-.055em;
}

.alt-bottom p,
.alt-faq p,
.alt-compare p,
.alt-cta p{
    color:#b9c6da;
    line-height:1.82;
}

.alt-link-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-top:22px;
}

.alt-link-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:58px;
    padding:14px 15px;
    border-radius:18px;
    background:rgba(255,255,255,.045);
    border:1px solid rgba(255,255,255,.08);
    color:#e5edff;
    text-decoration:none;
    font-weight:900;
    transition:.22s ease;
}

.alt-link-card::after{
    content:"↗";
    color:#67e8f9;
    opacity:.8;
}

.alt-link-card:hover{
    transform:translateY(-3px);
    border-color:rgba(103,232,249,.30);
    background:rgba(103,232,249,.075);
}

.alt-empty{
    max-width:860px;
    margin:70px auto;
    padding:44px;
    text-align:center;
    border-radius:34px;
    background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.035));
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 28px 80px rgba(0,0,0,.34);
}

.alt-empty h1{
    color:#fff;
    font-size:clamp(34px,5vw,62px);
    line-height:.95;
    letter-spacing:-.06em;
    margin:0 0 16px;
}

@media(max-width:1120px){
    .alt-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .alt-link-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .alt-page{
        padding:36px 0 78px;
    }

    .alt-container{
        width:min(100% - 24px,100%);
    }

    .alt-hero-card{
        padding:28px 22px;
        border-radius:30px;
    }

    .alt-title{
        font-size:clamp(40px,13vw,58px);
        letter-spacing:-.065em;
    }

    .alt-desc{
        font-size:16px;
    }

    .alt-hero-actions,
    .alt-actions{
        align-items:stretch;
    }

    .alt-btn,
    .alt-actions .alt-btn{
        width:100%;
    }

    .alt-grid,
    .alt-link-grid,
    .alt-stats{
        grid-template-columns:1fr;
    }

    .alt-card{
        min-height:0;
        padding:22px;
        border-radius:26px;
    }

    .alt-bottom,
    .alt-faq,
    .alt-compare,
    .alt-cta,
    .alt-empty{
        margin-top:34px;
        padding:26px 22px;
        border-radius:28px;
    }
}


/* ============================================================
   LISTOOLAI ALTERNATIVES HUB V206
   Correction /alternatives/ sans redirection vers /tools
============================================================ */
.alternatives-template .alt-page{
    min-height:100vh;
}
.alternatives-template .alt-card h2{
    padding-right:76px;
}
.alternatives-template .alt-empty h2{
    color:#fff;
    margin:0 0 12px;
}
@media(max-width:760px){
    .alternatives-template .alt-card h2{
        padding-right:64px;
    }
}
