/* =========================================================
THE CAVE PROD — TOOLS.HTML
Fiche détaillée d'un logiciel
========================================================= */

:root{
    --tool-black:#050505;
    --tool-card:#151515;
    --tool-orange:#d88743;
    --tool-gold:#f6c900;
    --tool-white:#fff;
    --tool-muted:#aaa;
    --tool-border:rgba(255,255,255,.10);
}

.tool-page{
    background:var(--tool-black);
    color:#fff;
}

.tool-hero{
    min-height:650px;
    display:flex;
    align-items:flex-end;
    padding:170px 0 85px;
    background:
        radial-gradient(circle at 15% 35%,rgba(216,135,67,.17),transparent 32%),
        radial-gradient(circle at 80% 35%,rgba(246,201,0,.07),transparent 28%),
        linear-gradient(135deg,#070707,#111);
    border-bottom:1px solid rgba(255,255,255,.07);
}

.tool-hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(280px,.55fr);
    align-items:end;
    gap:70px;
}

.tool-back{
    display:inline-block;
    margin-bottom:28px;
    color:#aaa;
    font-size:.86rem;
    font-weight:700;
}

.tool-back:hover{color:#fff}

.tool-type,
.section-label{
    display:inline-block;
    color:var(--tool-orange);
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.tool-hero h1{
    margin:18px 0 20px;
    max-width:950px;
    font-family:"Bebas Neue",sans-serif;
    font-size:clamp(4.5rem,10vw,9.5rem);
    font-weight:400;
    line-height:.84;
    text-transform:none;
}

.tool-hook{
    max-width:850px;
    margin:0;
    color:#f1f1f1;
    font-size:clamp(1.2rem,2vw,1.75rem);
    line-height:1.5;
}

.tool-identity{
    padding:25px;
    border:1px solid var(--tool-border);
    border-radius:20px;
    background:rgba(18,18,18,.86);
    box-shadow:0 20px 55px rgba(0,0,0,.32);
}

.tool-identity > span{
    color:var(--tool-orange);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.tool-identity dl{margin:15px 0 0}

.tool-identity dl > div{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:15px 0;
    border-top:1px solid rgba(255,255,255,.08);
}

.tool-identity dt{color:#888}
.tool-identity dd{margin:0;font-weight:800}

.tool-navigation{
    position:sticky;
    top:0;
    z-index:80;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:rgba(7,7,7,.92);
    backdrop-filter:blur(15px);
}

.tool-navigation .container{
    display:flex;
    gap:7px;
    min-height:65px;
    align-items:center;
    overflow-x:auto;
}

.tool-navigation a{
    flex:0 0 auto;
    padding:10px 15px;
    border-radius:999px;
    color:#ccc;
    font-size:.78rem;
    font-weight:700;
    text-transform:uppercase;
}

.tool-navigation a:hover{
    color:#fff;
    background:rgba(255,255,255,.07);
}

.tool-section{
    padding:95px 0;
    background:#090909;
}

.tool-section:nth-of-type(even){
    background:#0d0d0d;
}

.tool-section h2{
    margin:12px 0 35px;
    font-family:"Bebas Neue",sans-serif;
    font-size:clamp(3rem,6vw,5.5rem);
    font-weight:400;
    line-height:.95;
}

.tool-content-grid{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(270px,.55fr);
    gap:70px;
    align-items:start;
}

.tool-description{
    color:#d0d0d0;
    font-size:1.07rem;
    line-height:1.9;
    white-space:pre-line;
}

.tool-values-card{
    position:sticky;
    top:95px;
    padding:28px;
    border:1px solid var(--tool-border);
    border-radius:20px;
    background:#151515;
}

.tool-values-card strong{
    color:#fff;
    font-size:1.1rem;
}

.tool-values-card ul{
    margin:20px 0 0;
    padding-left:20px;
    color:#aaa;
    line-height:2;
}

.tool-download-section{
    background:
        radial-gradient(circle at 50% 0%,rgba(216,135,67,.08),transparent 36%),
        #080808;
}

.tool-download-stats{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    gap:12px;
    margin:-10px 0 32px;
    color:#999;
}

.tool-download-stats strong{
    color:#fff;
    font-family:"Bebas Neue",sans-serif;
    font-size:3rem;
}

.tool-download-stats span{
    padding:6px 10px;
    border-radius:999px;
    background:#161616;
    border:1px solid rgba(255,255,255,.08);
    font-size:.8rem;
}

.tool-download-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}

.download-platform-card{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:30px;
    min-height:300px;
    padding:30px;
    border:1px solid var(--tool-border);
    border-radius:22px;
    background:linear-gradient(150deg,#171717,#0d0d0d);
}

.platform-label{
    color:var(--tool-orange);
    font-size:.74rem;
    font-weight:800;
    letter-spacing:.16em;
}

.download-platform-card h3{
    margin:9px 0 5px;
    font-family:"Bebas Neue",sans-serif;
    font-size:2.8rem;
    font-weight:400;
}

.download-platform-card p{
    margin:0;
    color:#999;
}

.download-buttons{
    display:grid;
    gap:10px;
}

.btn-tool-download,
.btn-tool-notice{
    min-height:56px;
    padding:13px 18px;
    border-radius:13px;
    font:inherit;
    font-weight:800;
    cursor:pointer;
    transition:.2s ease;
}

.btn-tool-download{
    border:0;
    color:#080808;
    background:linear-gradient(135deg,#f6c900,#ff8a00);
}

.btn-tool-notice{
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    background:#171717;
}

.btn-tool-download:hover:not(:disabled),
.btn-tool-notice:hover:not(:disabled){
    transform:translateY(-2px);
}

.btn-tool-download:disabled,
.btn-tool-notice:disabled,
.is-disabled{
    cursor:not-allowed;
    opacity:.35;
}

.download-message{
    min-height:24px;
    margin:20px 0 0;
    color:#b9b9b9;
    font-size:.9rem;
}

.download-message.is-error{color:#ff8b8b}

.tool-vote-section{
    border-top:1px solid rgba(255,255,255,.06);
}

.vote-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:60px;
    align-items:center;
}

.vote-layout p{color:#aaa}

.vote-card{
    min-width:310px;
    padding:25px;
    border:1px solid var(--tool-border);
    border-radius:20px;
    background:#151515;
}

.vote-actions{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.vote-button{
    min-height:70px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    background:#0f0f0f;
    color:#fff;
    font-size:1.35rem;
    font-weight:800;
    cursor:pointer;
}

.vote-button:hover:not(:disabled){
    border-color:rgba(216,135,67,.55);
    background:#1b1b1b;
}

.vote-button:disabled{
    cursor:not-allowed;
    opacity:.55;
}

.vote-message{
    min-height:22px;
    margin:15px 0 0;
    font-size:.86rem;
}

.tool-error{
    padding:190px 0 120px;
    text-align:center;
    background:#080808;
    min-height:70vh;
}

.tool-error h1{
    font-family:"Bebas Neue",sans-serif;
    font-size:clamp(3rem,8vw,6rem);
}

@media(max-width:900px){
    .tool-hero-grid,
    .tool-content-grid,
    .vote-layout{
        grid-template-columns:1fr;
    }

    .tool-identity,
    .tool-values-card{
        position:static;
    }

    .tool-download-grid{
        grid-template-columns:1fr;
    }

    .vote-card{
        min-width:0;
    }
}

@media(max-width:560px){
    .tool-hero{
        min-height:auto;
        padding:145px 0 70px;
    }

    .tool-section{
        padding:70px 0;
    }
}
