/* Aperture Math (07/11/2026) : style complet du site, remplace gabarits/style.css. DA : theme/DA.md.
   Nuit : bandeaux bleu nuit à grille de carte céleste ; papier clair pour lire ; ambre pour l'action ; rouge « lampe frontale » pour les repères. */
:root{
 --nuit:#0b1230;--nuit2:#16214d;--nuit3:#24346f;--etoile:#dfe5ff;
 --ambre:#f2b33d;--ambre2:#d99312;--rouge:#d64545;
 --fond:#f6f7fb;--papier:#ffffff;--texte:#141a33;--doux:#545c78;--ligne:#dde1ee;--aff:#fff6df;
 --accent:#24346f;--accent-texte:#2741a3;--cta:#f2b33d;--cta-texte:#1c1405;
 --titre:"Space Grotesk","Avenir Next","Segoe UI",system-ui,sans-serif;
 --corps:"Source Serif 4","Iowan Old Style",Georgia,"Times New Roman",serif;
 --chiffre:"Space Grotesk",ui-monospace,"SF Mono",Menlo,monospace;
 color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--fond:#080c20;--papier:#111833;--texte:#e6e9f7;--doux:#a4acc9;--ligne:#25305a;--aff:#2a220e;--accent-texte:#a9b8ff;--rouge:#ff7a7a}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fond);color:var(--texte);font:18px/1.62 var(--corps);overflow-x:hidden}
a{color:var(--accent-texte);text-underline-offset:.15em}img{max-width:100%;height:auto}
h1,h2,h3,h4,summary,.logo,th,.prod__nom,.cta,.btn{font-family:var(--titre)}
h1{font-size:clamp(1.85rem,5vw,2.9rem);line-height:1.1;letter-spacing:-.02em;margin:.2em 0 .25em;font-weight:700}
h2{font-size:clamp(1.3rem,3.2vw,1.65rem);line-height:1.2;letter-spacing:-.01em;margin:2.1em 0 .6em;font-weight:700}
h2::before{content:"";display:inline-block;width:.42em;height:.42em;margin-right:.45em;border-radius:50%;background:var(--rouge);vertical-align:.12em}
h3{font-size:1.12rem;margin:1.6em 0 .4em}
.evitement{position:absolute;left:-999px}.evitement:focus{left:8px;top:8px;z-index:99;background:var(--papier);padding:8px 12px}
.cont{max-width:880px;margin:0 auto;padding:0 16px}
/* En-tête */
.ent{background:var(--nuit);border-bottom:1px solid #ffffff1a}
.ent__l{max-width:1180px;margin:0 auto;padding:10px 16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 18px}
.logo{display:inline-flex;align-items:center;gap:.45em;text-decoration:none;color:#fff;font-weight:500;font-size:1.22rem;letter-spacing:-.01em}
.logo b{font-weight:700;color:var(--ambre);margin-left:.08em}
.logo svg{width:1.6em;height:1.6em;fill:none;stroke:var(--etoile);stroke-width:1.6}.logo .logo__etoile{fill:var(--ambre);stroke:none}
.ent ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 16px}
.ent nav a{color:#c9d1f2;text-decoration:none;font:500 .9rem/1.9 var(--titre)}.ent nav a:hover{color:#fff}
.ent nav a[aria-current]{color:var(--ambre)}
/* Ciel : grille de carte céleste + étoiles */
.heros,.bandeau{position:relative;color:#eef1ff;background:
 radial-gradient(1.4px 1.4px at 8% 22%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 23% 68%,#ffffffb0 50%,transparent 52%),
 radial-gradient(1.8px 1.8px at 41% 15%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 57% 80%,#ffffffa0 50%,transparent 52%),
 radial-gradient(1.2px 1.2px at 73% 35%,#fff 50%,transparent 52%),radial-gradient(1px 1px at 88% 72%,#ffffffb0 50%,transparent 52%),
 radial-gradient(1.6px 1.6px at 95% 12%,#ffe7b0 50%,transparent 52%),
 repeating-linear-gradient(90deg,#ffffff0d 0 1px,transparent 1px 96px),repeating-linear-gradient(0deg,#ffffff0d 0 1px,transparent 1px 96px),
 radial-gradient(120% 140% at 85% 0%,var(--nuit3) 0%,var(--nuit2) 38%,var(--nuit) 75%)}
.heros a,.bandeau a{color:#fff}
.bandeau__l{max-width:880px;margin:0 auto;padding:18px 16px 26px}
.bandeau h1{color:#fff}.bandeau__chapo{font-size:1.08rem;color:#d5dbf6;margin:.3em 0 .8em;max-width:42em}
.bandeau__meta,.heros__meta{display:flex;flex-wrap:wrap;gap:4px 16px;font:500 .82rem/1.4 var(--titre);color:#b7c0e6}
.bandeau .fil,.bandeau .fil a{color:#aeb8e3}
.fil{font:500 .8rem/1.5 var(--titre);margin:0 0 8px}.fil a{color:var(--doux)}
.signature,.maj{margin:0;font:500 .82rem/1.4 var(--titre);color:var(--doux)}
.bandeau .signature,.bandeau .maj,.heros .signature,.heros .maj{color:#b7c0e6}
.heros__l{max-width:1180px;margin:0 auto;padding:28px 16px 36px;display:grid;gap:26px;grid-template-columns:minmax(0,1fr)}
@media (min-width:980px){.heros__l{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;padding-top:44px;padding-bottom:52px}}
.surtitre{display:inline-flex;align-items:center;gap:.5em;margin:0 0 .4em;font:700 .76rem/1 var(--titre);text-transform:uppercase;letter-spacing:.12em;color:var(--ambre)}
.surtitre .point{width:.55em;height:.55em;border-radius:50%;background:var(--rouge);box-shadow:0 0 10px var(--rouge)}
.heros h1{color:#fff;font-size:clamp(2rem,6vw,3.3rem)}
.heros__chapo{font-size:1.12rem;color:#d5dbf6;max-width:34em}
.puces{list-style:none;padding:0;margin:18px 0;display:flex;flex-wrap:wrap;gap:10px}
.puces li{border:1px solid #ffffff2e;border-radius:6px;padding:8px 12px;min-width:96px;background:#ffffff0a}
.puces strong{display:block;font:700 1.35rem/1.1 var(--chiffre);color:#fff}.puces span{font:500 .74rem/1.3 var(--titre);color:#b7c0e6;text-transform:uppercase;letter-spacing:.06em}
/* Oculaire : l'outil sur l'accueil */
.oculaire{background:#0a1029e6;border:1px solid #ffffff26;border-radius:14px;padding:16px;box-shadow:0 20px 60px #0008, inset 0 0 0 1px #ffffff08;color:var(--etoile)}
.oculaire__tete{display:flex;align-items:center;gap:10px}.oculaire__tete h2{margin:0;color:#fff;font-size:1.3rem}.oculaire__tete h2::before{display:none}
.oculaire__mire{width:22px;height:22px;border-radius:50%;border:2px solid var(--ambre);box-shadow:inset 0 0 0 4px #0a1029,inset 0 0 0 6px var(--rouge)}
.oculaire__txt{font-size:.95rem;color:#c3cbee;margin:.4em 0 .6em}
.oculaire__pied{margin:.8em 0 0;font:500 .85rem var(--titre)}.oculaire__pied a{color:var(--ambre)}
.oculaire .outil{margin:0;background:transparent;border:0;padding:0;color:var(--etoile)}
.oculaire .outil label{color:#dfe5ff}.oculaire .outil input,.oculaire .outil select{background:#121a3d;color:#fff;border-color:#33407a}
.oculaire .res{background:#ffffff0d;border-color:#ffffff1f;color:#eef1ff}.oculaire .res a{color:var(--ambre)}
.oculaire .chiffres div{background:#ffffff0a;border-color:#ffffff1f}.oculaire .chiffres span{color:#aeb8e3}.oculaire .gros{color:var(--ambre)}
.oculaire .res table td,.oculaire .res table th{border-color:#ffffff22}.oculaire .res th{background:#ffffff10}
/* Entrées de l'accueil */
.entrees{max-width:1180px;margin:0 auto;padding:26px 16px 4px}
.entrees__titre{margin:0 0 12px}
.entrees ul{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.entrees a{display:block;height:100%;background:var(--papier);border:1px solid var(--ligne);border-radius:10px;padding:14px;text-decoration:none;color:var(--texte);transition:border-color .15s}
.entrees a:hover{border-color:var(--accent-texte)}
.entrees__ic{display:inline-flex;width:38px;height:38px;border-radius:50%;background:var(--nuit);align-items:center;justify-content:center;margin-bottom:8px}
.entrees__ic svg{width:22px;height:22px;fill:none;stroke:var(--ambre);stroke-width:1.7;stroke-linecap:round}
.entrees strong{display:block;font:700 1.02rem/1.25 var(--titre)}.entrees span{display:block;color:var(--doux);font-size:.9rem;margin-top:4px}
/* Corps */
.art{padding:6px 0 10px}.art>p:first-child{margin-top:1.2em}
.aff{margin:18px 0;background:var(--aff);border:1px solid var(--ligne);border-left:4px solid var(--ambre);border-radius:8px;padding:10px 14px;font:400 .86rem/1.5 var(--titre)}
.encadre{background:var(--papier);border:1px solid var(--ligne);border-left:4px solid var(--rouge);border-radius:8px;padding:12px 16px;margin:1.3em 0}
.formule{font:500 1rem/1.5 var(--chiffre);background:var(--nuit);color:#eef1ff;border-radius:8px;padding:12px 14px;margin:.8em 0;overflow-x:auto}
.formule small{display:block;color:#aeb8e3;font:400 .8rem/1.4 var(--titre);margin-top:4px}.formule a{color:var(--ambre)}
.petit{font-size:.8rem}
.btn{display:inline-block;background:var(--cta);color:var(--cta-texte);text-decoration:none;padding:10px 16px;border-radius:8px;font-weight:700}
.cartes{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.cartes a{display:block;height:100%;background:var(--papier);border:1px solid var(--ligne);border-radius:10px;padding:14px;text-decoration:none;color:var(--texte)}
.cartes strong{font-family:var(--titre)}.cartes span{display:block;color:var(--doux);font-size:.9rem;margin-top:4px}
.illu{margin:0 0 1.5rem}.illu img{display:block;width:100%;border-radius:10px}.illu figcaption{font-size:.8rem;opacity:.7}
.mois{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;align-items:end;height:160px}
.mois span{display:block;width:100%;background:var(--accent);border-radius:4px 4px 0 0}
/* Tableaux : défilement interne, puis cartes sous 600 px */
table{width:100%;border-collapse:collapse;margin:1.1em 0 .3em;font:400 .9rem/1.45 var(--titre);display:block;overflow-x:auto;font-variant-numeric:tabular-nums}
th,td{border-bottom:1px solid var(--ligne);padding:9px 10px;text-align:left;vertical-align:top}
th{background:var(--nuit);color:#fff;font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0}
tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--papier) 70%,var(--fond))}
td:first-child{font-weight:700}
td a{font-weight:600}
@media (max-width:600px){
 table.cartes-m{display:block;overflow:visible}
 table.cartes-m thead{display:none}
 table.cartes-m tbody,table.cartes-m tr,table.cartes-m td{display:block;width:100%}
 table.cartes-m tr{background:var(--papier);border:1px solid var(--ligne);border-top:3px solid var(--nuit3);border-radius:8px;margin:0 0 10px;padding:6px 12px}
 table.cartes-m tbody tr:nth-child(even) td{background:transparent}
 table.cartes-m td{border:0;padding:4px 0;display:flex;justify-content:space-between;gap:12px;text-align:right}
 table.cartes-m td::before{content:attr(data-l);font-weight:500;color:var(--doux);text-align:left;flex:0 0 44%;font-size:.8rem}
 table.cartes-m td:first-child{display:block;text-align:left;font-size:1.02rem;padding-top:6px}
 table.cartes-m td:first-child::before{content:none}
}
.methode-lien{margin:.2em 0 1.4em;font:500 .82rem/1.4 var(--titre)}.methode-lien a::before{content:"\2139\FE0E  ";}
details{border-bottom:1px solid var(--ligne);padding:10px 0}summary{cursor:pointer;font-weight:700}
.faq details p{margin:.5em 0 .2em}
.sommaire{background:var(--papier);border:1px solid var(--ligne);border-radius:10px;padding:8px 14px;margin:1.2em 0}
.sommaire ol{margin:.5em 0 .2em;padding-left:1.3em;font:500 .92rem/1.6 var(--titre)}
h2[id]{scroll-margin-top:12px}
.suite h2{font-size:1.2rem}
/* Outils */
.outil{background:var(--papier);border:1px solid var(--ligne);border-top:4px solid var(--nuit3);border-radius:12px;padding:16px;margin:1.3em 0}
.outil .grille{display:grid;gap:0 14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.outil .grille>div{min-width:0}.outil .large{grid-column:1/-1}
@media (max-width:420px){.outil .grille{grid-template-columns:minmax(0,1fr)}}
.outil label{display:block;font:500 .85rem/1.3 var(--titre);margin:.7em 0 .25em}
.outil select,.outil input{width:100%;padding:10px;font:500 1rem var(--titre);border:1px solid var(--ligne);border-radius:8px;background:var(--fond);color:var(--texte)}
.outil fieldset{border:0;padding:0;margin:0}.outil legend{font:700 .78rem/1 var(--titre);text-transform:uppercase;letter-spacing:.1em;color:var(--rouge);margin:1em 0 0}
.res{margin-top:1em;font:400 .98rem/1.55 var(--titre);background:var(--fond);border:1px solid var(--ligne);border-radius:10px;padding:12px}
.res h3{margin:.4em 0 .3em;font-size:1rem}.res ul{padding-left:1.1em;margin:.3em 0}.res li{margin:.25em 0}
.res table{font-size:.85rem}
.gros{font:700 1.7rem/1.1 var(--chiffre);color:var(--accent-texte)}
.chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;margin:.5em 0}
.chiffres div{background:var(--papier);border:1px solid var(--ligne);border-radius:8px;padding:8px 10px;min-width:0}
.chiffres span{display:block;font:500 .72rem/1.3 var(--titre);color:var(--doux);text-transform:uppercase;letter-spacing:.04em}
.chiffres strong{display:block;font:700 1.15rem/1.25 var(--chiffre);overflow-wrap:anywhere}.chiffres em{display:block;font-style:normal;font-size:.75rem;color:var(--doux)}
.alerte{color:var(--rouge);font-weight:600}
.res .cta{display:inline-block;margin:.4em 0}
/* Sélection « Our picks in 30 seconds » */
.selection{background:var(--papier);border:1px solid var(--ligne);border-radius:14px;padding:16px;margin:1.4em 0 1.8em;box-shadow:0 1px 0 var(--ligne),0 12px 30px #0b12300f}
.selection__sur{display:flex;align-items:center;gap:6px;margin:0;font:700 .74rem/1 var(--titre);text-transform:uppercase;letter-spacing:.12em;color:var(--rouge)}
.selection__sur svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.selection__titre{margin:.25em 0 .2em;font-size:1.4rem}.selection__titre::before{display:none}
.selection__intro{margin:0 0 .9em;color:var(--doux);font-size:.95rem}
.selection__grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.selection__pied{margin:.9em 0 0;color:var(--doux);font:400 .8rem/1.5 var(--titre)}
/* Encart produit */
.prod{display:flex;flex-direction:column;min-width:0;background:var(--papier);border:1px solid var(--ligne);border-radius:10px;padding:14px;margin:1.2em 0;position:relative}
.selection .prod{margin:0}.prod--un{border:2px solid var(--ambre)}
.prod__tete{min-height:0}
.prod__badge{display:inline-flex;gap:6px;align-items:center;margin:0 0 .6em;background:var(--nuit);color:#fff;font:700 .74rem/1.3 var(--titre);padding:4px 9px;border-radius:5px}
.prod__badge span{color:var(--ambre)}
.prod__nom{margin:0 0 .2em;font-size:1.06rem;font-weight:700;line-height:1.25}.prod__nom span{display:block;font-size:.74rem;font-weight:500;color:var(--doux);text-transform:uppercase;letter-spacing:.08em}
.prod__ouv{margin:.2em 0 .5em;font:700 1.35rem/1.1 var(--chiffre);color:var(--accent-texte)}.prod__ouv small{display:block;font:500 .7rem var(--titre);color:var(--doux);text-transform:uppercase;letter-spacing:.06em}
.prod__pourquoi{margin:0 0 .6em;font-size:.92rem}
.prod__caracs{margin:0 0 .6em;display:grid;grid-template-columns:1fr;gap:4px;font:400 .84rem/1.35 var(--titre)}
.prod__caracs div{display:flex;justify-content:space-between;gap:10px;border-top:1px dashed var(--ligne);padding-top:4px}
.prod__caracs dt{color:var(--doux)}.prod__caracs dd{margin:0;text-align:right;font-weight:500;overflow-wrap:anywhere}
.prod__pm{display:grid;gap:3px;margin:0 0 .7em;font:400 .86rem/1.4 var(--titre)}.prod__pm ul{list-style:none;margin:0;padding:0}
.prod__pm li{position:relative;padding-left:1.25em;margin:.12em 0}.prod__pm li::before{position:absolute;left:0;font-weight:700}
.prod__plus li::before{content:"+";color:#1f8a4c}.prod__moins li::before{content:"\2212";color:var(--rouge)}
@media (prefers-color-scheme:dark){.prod__plus li::before{color:#5fd08f}}
.prod__achat{margin-top:auto}
.prod__prix{margin:0 0 .5em;line-height:1.3;font-family:var(--titre)}.prod__prix strong{font:700 1.4rem var(--chiffre)}.prod__prix s{color:var(--doux);margin-left:.35em}
.prod__prix span{display:block;color:var(--doux);font-size:.74rem}
.cta{display:block;background:var(--cta);color:var(--cta-texte);text-align:center;text-decoration:none;font-weight:700;font-size:1rem;line-height:1.25;padding:13px 16px;border-radius:9px;min-height:48px;box-shadow:0 2px 0 var(--ambre2)}
.cta::after{content:" \203A"}.cta:hover,.cta:focus-visible{background:#ffc455;color:var(--cta-texte)}
.cta--petit{display:inline-block;font-size:.86rem;padding:8px 12px;min-height:0;white-space:nowrap}
/* Verdict */
.verdict{background:var(--papier);border:1px solid var(--ligne);border-left:4px solid var(--ambre);border-radius:10px;padding:4px 16px 14px;margin:2em 0 1em}
.verdict__liste{list-style:none;margin:0;padding:0}.verdict__liste li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--ligne)}
/* Barre collante, discrète */
.collant{display:none}
@media (max-width:760px){
.collant.vu{display:flex;align-items:center;gap:10px;position:fixed;left:8px;right:8px;bottom:8px;z-index:50;background:var(--nuit);color:#fff;border:1px solid #ffffff22;border-radius:12px;box-shadow:0 8px 24px #0006;padding:8px 8px 8px 12px;margin-bottom:env(safe-area-inset-bottom)}
.collant__txt{flex:1;min-width:0;line-height:1.25;font-family:var(--titre)}.collant__txt strong,.collant__txt span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.collant__txt strong{font-size:.88rem}.collant__txt span{font-size:.74rem;color:#b7c0e6}
.cta--collant{flex:none;font-size:.9rem;padding:10px 12px;min-height:42px}
.collant__x{flex:none;background:none;border:0;color:#b7c0e6;font-size:1.3rem;line-height:1;padding:4px 6px;cursor:pointer}
body.a-collant{padding-bottom:84px}}
/* Pied */
.pied{margin-top:56px;background:var(--nuit);color:#b7c0e6;font:400 .88rem/1.55 var(--titre)}
.pied__l{max-width:1180px;margin:0 auto;padding:26px 16px 34px;display:grid;gap:14px}
.pied a{color:#dfe5ff}.pied__marque p{margin:.4em 0 0;max-width:40em}
.pied__nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 16px}
.pied__legal{margin:0}.pied .petit{color:#8f99c4;margin:0}
/* Garde-fous de largeur (rendu 375 px du 07/11) : listes déroulantes à options longues, cellules et codes longs */
.outil select,.outil input{min-width:0;max-width:100%}
.outil .grille>div,.art,.cont{min-width:0}
td,th,code,.formule,.res,.res li{overflow-wrap:anywhere}
code{font:500 .85em var(--chiffre);word-break:break-all}
@media (max-width:600px){table.cartes-m td>*,table.cartes-m td{min-width:0}table.cartes-m td{flex-wrap:wrap}table.cartes-m td::before{flex:0 1 44%}}
.res .cta--petit{white-space:normal;max-width:100%}
.oculaire .res a.cta,.res a.cta{color:var(--cta-texte)}
