/* ============================================================
   TerraTrack — pages /app/… (écrans de l'app, encyclopédie, fiches)
   Nocturne : fond #060E0A, surfaces #09110D / #121D17, lime avec
   parcimonie, titres condensés en capitales (Archivo 900).
   ============================================================ */
.app-links-page{background:var(--tt-ink)}
.al-main{display:block;min-height:70vh;padding-top:clamp(6.5rem,12vw,8.5rem);outline:none;position:relative;isolation:isolate}
.al-main::before{content:"";position:absolute;inset:0 0 auto 0;height:620px;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 70% at 85% 0%,rgba(14,57,43,.75),transparent 70%),radial-gradient(40% 50% at 10% 10%,rgba(173,255,77,.06),transparent 70%)}

/* ── En-tête de page ───────────────────────────────────────── */
.al-hero{padding-bottom:clamp(2rem,5vw,3.5rem)}
.al-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.al-copy{display:flex;flex-direction:column;gap:1.1rem;min-width:0}
.al-hero h1.display{font-size:clamp(2.8rem,8vw,7rem);line-height:.92;max-width:12ch}
.al-hero-compact h1.display{max-width:none}
.al-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;margin-top:.4rem}
.al-cta .btn{gap:.55rem}
.al-fine{font-size:.88rem;color:var(--text-tertiary);max-width:62ch}
.al-device{justify-self:center;max-width:min(300px,62vw)}
.al-device .screen{border-radius:34px;overflow:hidden;box-shadow:var(--shadow-mockup)}
.al-icon{justify-self:center;display:grid;place-items:center;width:min(260px,56vw);aspect-ratio:1;border-radius:var(--radius-xl);
  background:radial-gradient(circle at 50% 40%,rgba(173,255,77,.12),transparent 65%),var(--tt-surface);border:1px solid var(--tt-hairline)}
.al-icon img{width:56%;height:auto;border-radius:24%}

/* ── Offre et signature ────────────────────────────────────── */
.al-after{padding-bottom:clamp(3rem,7vw,5rem)}
.al-offer{display:flex;flex-direction:column;gap:.7rem;padding:clamp(1.4rem,3vw,2rem);border-radius:var(--radius-card);max-width:760px}
.al-offer p{color:var(--text-secondary)}
.al-offer .link-underline{align-self:flex-start}
.al-signature{font-family:var(--font-display);font-weight:900;font-stretch:80%;text-transform:uppercase;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1;color:var(--tt-sand)!important}

/* ── Langue ───────────────────────────────────────────────── */
.nav-links .al-lang{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;border:1px solid var(--tt-white-14);border-radius:var(--radius-pill);padding:.35rem .8rem}

/* ── Encyclopédie ──────────────────────────────────────────── */
.al-list{display:flex;flex-direction:column;gap:1rem;padding-bottom:2.5rem}
.al-tools{display:flex;flex-direction:column;gap:.9rem}
.al-tools input[type=search]{width:100%;max-width:520px;padding:.85rem 1.1rem;border-radius:var(--radius-pill);border:1px solid var(--tt-white-14);
  background:var(--tt-surface);color:var(--text-primary);font-size:1rem}
.al-tools input[type=search]::placeholder{color:var(--text-tertiary)}
.al-tools input[type=search]:focus-visible{outline:3px solid var(--tt-leaf);outline-offset:2px}
.al-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.al-chips .chip{cursor:pointer;min-height:40px}
.al-chips .chip.is-on{background:var(--tt-leaf);color:var(--tt-forest-deep);border-color:var(--tt-leaf)}
.al-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:clamp(.8rem,1.6vw,1.2rem)}
.al-card{display:flex;flex-direction:column;height:100%;border-radius:var(--radius-card);overflow:hidden;background:var(--tt-surface);
  border:1px solid var(--tt-white-08);transition:transform var(--dur-snappy) var(--ease-snappy),border-color var(--dur-snappy)}
.al-card:hover{transform:translateY(-3px);border-color:var(--tt-hairline)}
.al-card img,.al-card-ph{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:linear-gradient(135deg,#5C946B33,var(--tt-forest-deep))}
.al-card-body{display:flex;flex-direction:column;gap:.15rem;padding:.85rem 1rem 1rem}
.al-card-body strong{font-weight:700;line-height:1.25}
.al-card-body em{font-size:.86rem;color:var(--text-secondary)}
.al-card-meta{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--text-tertiary);margin-top:.35rem;text-transform:uppercase}
.al-notice{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 1.2rem;padding:1rem 1.2rem;border-radius:var(--radius-tile);margin:.6rem 0}
.al-notice p{color:var(--text-secondary)}

/* ── Fiche espèce ──────────────────────────────────────────── */
.al-sheet{display:flex;flex-direction:column;gap:1.4rem;padding-bottom:clamp(3rem,7vw,5rem)}
.al-back{align-self:flex-start;font-size:.95rem}
.al-sheet-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(1.4rem,4vw,3rem);align-items:end}
.al-sheet-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-photo);box-shadow:var(--shadow-float)}
.al-sheet-head{display:flex;flex-direction:column;gap:.8rem;min-width:0}
.al-sheet-title{font-size:clamp(2.4rem,6vw,5.2rem);line-height:.92}
.al-sci{font-style:italic;color:var(--text-secondary);font-size:1.1rem}
.al-tags{display:flex;flex-wrap:wrap;gap:.45rem}
.badge-danger{background:rgba(219,56,41,.22);color:#ffb3aa;border:1px solid rgba(219,56,41,.45)}
.al-sheet-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.9rem,2vw,1.3rem);align-items:start}
.al-card-block{display:flex;flex-direction:column;gap:.8rem;padding:clamp(1.2rem,2.6vw,1.7rem);border-radius:var(--radius-card);min-width:0}
.al-card-block p{color:var(--text-secondary)}
.al-h2{font-family:var(--font-display);font-weight:900;font-stretch:80%;text-transform:uppercase;font-size:clamp(1.3rem,2.2vw,1.7rem);line-height:1;letter-spacing:-.005em;color:var(--text-primary)}
.al-note{font-size:.95rem}
.al-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.al-stats-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.al-stat{display:flex;flex-direction:column;gap:.25rem;padding:.8rem .9rem;border-radius:var(--radius-tile);background:var(--tt-white-08);min-width:0}
.al-stat.wide{grid-column:1/-1}
.al-stat-k{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary)}
.al-stat-v{font-weight:650;color:var(--text-primary);line-height:1.3}
.al-sheet-body > .al-card-block:has(.al-stats-4){grid-column:1/-1}
.al-segment{display:inline-flex;flex-wrap:wrap;gap:.3rem;padding:.25rem;border-radius:var(--radius-pill);background:var(--tt-white-08);align-self:flex-start}
.al-segment button{padding:.45rem .9rem;border-radius:var(--radius-pill);font-size:.9rem;color:var(--text-secondary);min-height:40px}
.al-segment button[aria-pressed="true"]{background:var(--tt-leaf);color:var(--tt-forest-deep);font-weight:700}
.al-care-rows{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1rem;margin:0}
.al-care-rows dt{color:var(--text-secondary)}
.al-care-rows dd{margin:0;text-align:right;font-weight:650;font-variant-numeric:tabular-nums}
.al-sources{display:flex;flex-direction:column;gap:.6rem}
.al-sources li{display:flex;flex-direction:column;gap:.1rem}
.al-sources a{color:var(--text-primary);text-decoration:underline;text-decoration-color:var(--tt-hairline);text-underline-offset:3px;overflow-wrap:anywhere}
.al-sources a:hover{text-decoration-color:var(--tt-leaf)}
.al-sources small{color:var(--text-tertiary)}
.al-safety{background:rgba(219,56,41,.12);border:1.5px solid rgba(219,56,41,.55)}
.al-safety p{color:var(--text-primary);font-weight:500}
.al-vet{grid-column:1/-1;background:rgba(14,57,43,.55);border:1px solid var(--tt-hairline)}

/* ── Pied de page court ────────────────────────────────────── */
.al-footer{padding-top:2rem}
.al-footer .footer-bottom{display:flex;flex-wrap:wrap;gap:.8rem 2rem;justify-content:space-between;color:var(--text-tertiary);font-size:.9rem}
.al-footer a{color:var(--text-secondary);text-decoration:underline;text-underline-offset:3px}

@media (max-width:860px){
  .al-hero-grid,.al-sheet-hero{grid-template-columns:1fr}
  .al-device{max-width:min(240px,64vw)}
  .al-sheet-body{grid-template-columns:1fr}
  .al-stats-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Sur téléphone, la barre du site masque ses liens : la langue passe sous l'en-tête. */
.al-langbar{display:none}
@media (max-width:740px){
  .al-langbar{display:flex;justify-content:flex-end;margin:-1.5rem 0 1rem}
  .al-langbar .al-lang{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;border:1px solid var(--tt-white-14);border-radius:var(--radius-pill);padding:.6rem 1rem;min-height:44px;display:inline-flex;align-items:center}
}
@media (prefers-reduced-motion:reduce){
  .al-card{transition:none}
  .al-card:hover{transform:none}
}
