/* ==========================================================================
   BNTIC Alerte Arnaques — rubrique publique
   --------------------------------------------------------------------------
   Direction : un guide de prévention, pas une salle d'alerte. Indigo profond
   pour la confiance, vert pour ce qui protège, ocre pour l'urgence. Jamais de
   rouge d'ambiance, de crâne ni de sirène (section 17) : un lecteur inquiet
   retient moins bien.

   Organisation du fichier
     01 Jetons (clair / sombre, alignés sur ceux du site)
     02 Fondations de la rubrique
     03 Boutons et liens d'action
     04 Bandeau d'accueil (hero)
     05 Recherche
     06 Bandeau d'urgence et renvoi ScamCheck
     07 Navigation par familles
     08 Sections, en-têtes de section
     09 Orientation : canaux et test des réflexes
     10 Vitrine des guides
     11 Cartes d'articles
     12 Page de famille : mise en page et blocs du guide
     13 Situations, idées reçues, FAQ
     14 Étapes (page victime), recours, partage
     15 Lexique
     16 Bandeau « aller plus loin »
     17 Encarts insérés dans les articles
     18 Accessibilité, mouvement réduit, impression
   ========================================================================== */

/* ---------------------------------------------------------------- 01 ---- */
.arn {
  --a-ink: var(--ink, #12151D);
  --a-ink-2: var(--ink-3, #334155);
  --a-muted: var(--ink-muted, #5C6472);
  --a-paper: var(--paper, #FFFFFF);
  --a-line: var(--border, #E2E1DA);
  --a-line-strong: var(--border-strong, #CBD0D8);

  --a-indigo: #1B2A5B;
  --a-indigo-2: #2C4191;
  --a-indigo-wash: #EEF1FA;
  --a-vert: #23694C;
  --a-vert-wash: #E9F4EE;
  --a-ocre: #8F5B00;
  --a-ocre-vif: #D98E04;
  --a-ocre-wash: #FFF5DD;
  --a-calicot: #F6F4EE;
  --a-surface: #FFFFFF;
  --a-sur-fonce: #FFFFFF;

  --a-font-titre: var(--font-display, "Playfair Display", Georgia, serif);
  --a-font: var(--font-sans, Inter, system-ui, -apple-system, "Segoe UI", sans-serif);

  --a-r-sm: 8px; --a-r: 14px; --a-r-lg: 22px; --a-r-full: 999px;
  --a-ombre: 0 1px 2px rgba(18,21,29,.05), 0 2px 8px rgba(18,21,29,.04);
  --a-ombre-haute: 0 18px 40px -18px rgba(27,42,91,.35), 0 4px 12px -4px rgba(18,21,29,.08);
  --a-ease: cubic-bezier(.16, 1, .3, 1);
  --a-gouttiere: clamp(1rem, 2.5vw, 1.75rem);

  /* Bordures teintées. Des valeurs fixes plutôt que `color-mix()` : une
     part importante du lectorat navigue sur des téléphones dont le
     navigateur ne le connaît pas, et la bordure disparaissait. */
  --a-bord-indigo: rgba(27,42,91,.22);
  --a-bord-indigo-fort: rgba(27,42,91,.40);
  --a-bord-ocre: rgba(217,142,4,.45);
  --a-bord-vert: rgba(35,105,76,.32);

  /* Échelle typographique fluide : du téléphone d'entrée de gamme à l'écran
     de bureau, sans palier brutal. */
  --a-t-xs: .78rem;
  --a-t-sm: clamp(.86rem, .83rem + .15vw, .92rem);
  --a-t-base: clamp(1rem, .96rem + .2vw, 1.06rem);
  --a-t-lg: clamp(1.1rem, 1.02rem + .4vw, 1.25rem);
  --a-t-xl: clamp(1.35rem, 1.15rem + 1vw, 1.75rem);
  --a-t-2xl: clamp(1.6rem, 1.3rem + 1.6vw, 2.2rem);
  --a-mesure: 68ch;
}

[data-bs-theme="dark"] .arn {
  --a-indigo: #A9BAF2;
  --a-indigo-2: #C7D2F8;
  --a-indigo-wash: rgba(169,186,242,.10);
  --a-vert: #7FD0AB;
  --a-vert-wash: rgba(127,208,171,.10);
  --a-ocre: #F3C76E;
  --a-ocre-vif: #F3C76E;
  --a-ocre-wash: rgba(243,199,110,.10);
  --a-calicot: rgba(255,255,255,.035);
  --a-surface: rgba(255,255,255,.045);
  --a-sur-fonce: #FFFFFF;
  --a-line: rgba(255,255,255,.10);
  --a-line-strong: rgba(255,255,255,.18);
  --a-ombre: 0 1px 2px rgba(0,0,0,.4);
  --a-ombre-haute: 0 18px 40px -18px rgba(0,0,0,.7);
  --a-bord-indigo: rgba(169,186,242,.22);
  --a-bord-indigo-fort: rgba(169,186,242,.45);
  --a-bord-ocre: rgba(243,199,110,.40);
  --a-bord-vert: rgba(127,208,171,.30);
}

/* ---------------------------------------------------------------- 02 ---- */
.arn { color: var(--a-ink); font-family: var(--a-font); }
.arn h1, .arn h2, .arn h3, .arn h4 { color: var(--a-ink); }
.arn .arn-titre-display { font-family: var(--a-font-titre); letter-spacing: -.01em;
  line-height: 1.12; font-weight: 800; }
.arn a { color: var(--a-indigo-2); text-underline-offset: .18em; }
[data-bs-theme="dark"] .arn a { color: var(--a-indigo); }
.arn a:hover { color: var(--a-indigo); }
.arn .text-secondary { color: var(--a-muted) !important; }
.arn-mut { color: var(--a-muted); }
.arn-petit { font-size: .88rem; }

.arn-ariane ol { list-style: none; padding: 0; margin: 0 0 1rem; display: flex;
  flex-wrap: wrap; gap: .3rem; font-size: .82rem; color: var(--a-muted); }
.arn-ariane li + li::before { content: "›"; margin-right: .3rem; opacity: .6; }
.arn-ariane a { color: inherit; text-decoration: none; }
.arn-ariane a:hover { text-decoration: underline; }

.arn-pile > * + * { margin-top: var(--a-gouttiere); }

/* ---------------------------------------------------------------- 03 ---- */
.arn-btn { display: inline-flex; align-items: center; gap: .5rem;
  padding: .7rem 1.15rem; border-radius: var(--a-r-full); font-weight: 600;
  font-size: .95rem; line-height: 1.1; text-decoration: none; border: 1px solid transparent;
  transition: transform .2s var(--a-ease), box-shadow .2s var(--a-ease),
              background-color .2s ease, color .2s ease; cursor: pointer; }
.arn-btn:hover { transform: translateY(-1px); }
.arn-btn--clair { background: #FFFFFF; color: #1B2A5B !important; box-shadow: var(--a-ombre); }
.arn-btn--clair:hover { box-shadow: var(--a-ombre-haute); }
.arn-btn--contour { border-color: rgba(255,255,255,.45); color: #FFFFFF !important;
  background: rgba(255,255,255,.06); }
.arn-btn--contour:hover { background: rgba(255,255,255,.14); }
.arn-btn--indigo { background: #1B2A5B; color: #FFFFFF !important; }
.arn-btn--indigo:hover { background: #2C4191; }
.arn-btn--leger { background: var(--a-surface); border-color: var(--a-line-strong);
  color: var(--a-ink) !important; }
.arn-btn--leger:hover { border-color: var(--a-indigo); }
.arn-btn--wa { background: #1E7A4C; color: #FFFFFF !important; }
.arn-btn--wa:hover { background: #17613C; }
.arn-btn--petit { padding: .45rem .85rem; font-size: .86rem; }

.arn-lien-fleche { font-weight: 600; text-decoration: none; display: inline-flex;
  align-items: center; gap: .35rem; }
.arn-lien-fleche i { transition: transform .2s var(--a-ease); }
.arn-lien-fleche:hover i { transform: translateX(3px); }

/* ---------------------------------------------------------------- 04 ---- */
.arn-hero { position: relative; overflow: hidden; isolation: isolate;
  border-radius: var(--a-r-lg); color: #FFFFFF;
  padding: clamp(1.6rem, 4.5vw, 3.4rem) clamp(1.25rem, 4.5vw, 3.4rem);
  background:
    radial-gradient(circle at 88% 12%, rgba(127,208,171,.30), transparent 38%),
    radial-gradient(circle at 8% 110%, rgba(217,142,4,.22), transparent 42%),
    linear-gradient(135deg, #0F1834 0%, #1B2A5B 55%, #1F4A63 100%);
  box-shadow: var(--a-ombre-haute); }
.arn-hero::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background-image: radial-gradient(rgba(255,255,255,.09) 1px, transparent 1.2px);
  background-size: 20px 20px;
  -webkit-mask-image: linear-gradient(90deg, transparent 20%, #000 90%);
          mask-image: linear-gradient(90deg, transparent 20%, #000 90%); }
.arn-hero__embleme { position: absolute; right: clamp(-2rem, -1vw, 0rem);
  bottom: -2.2rem; font-size: clamp(9rem, 22vw, 16rem); line-height: 1;
  color: rgba(255,255,255,.06); z-index: -1; pointer-events: none; }
.arn-hero__surtitre { display: inline-flex; align-items: center; gap: .45rem;
  font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: .35rem .75rem; border-radius: var(--a-r-full);
  background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.18); margin: 0 0 1rem; }
.arn .arn-hero h1, .arn-hero__titre { color: #FFFFFF; font-family: var(--a-font-titre);
  font-weight: 800; font-size: clamp(2rem, 5.2vw, 3.4rem); line-height: 1.05;
  letter-spacing: -.015em; margin: 0 0 .8rem; max-width: 18ch; }
.arn-hero--compact .arn-hero__titre { font-size: clamp(1.8rem, 4.2vw, 2.7rem); max-width: 24ch; }
.arn-hero__lead { font-size: clamp(1.02rem, 1.7vw, 1.2rem); line-height: 1.55;
  color: rgba(255,255,255,.86); max-width: 60ch; margin: 0 0 1.4rem; }
.arn-hero__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.2rem; }
.arn-hero__chiffres { display: flex; flex-wrap: wrap; gap: .5rem 1.6rem; list-style: none;
  padding: 1.2rem 0 0; margin: 1.5rem 0 0; border-top: 1px solid rgba(255,255,255,.14);
  font-size: .9rem; color: rgba(255,255,255,.78); }
.arn-hero__chiffres b { display: block; font-size: 1.45rem; color: #FFFFFF;
  font-family: var(--a-font-titre); line-height: 1.1; }
.arn-hero__icone { display: inline-grid; place-items: center; width: 3.2rem; height: 3.2rem;
  border-radius: 16px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2);
  font-size: 1.5rem; margin-bottom: 1rem; }
.arn-hero a:not(.arn-btn) { color: #FFFFFF; }

/* ---------------------------------------------------------------- 05 ---- */
.arn-recherche { position: relative; display: flex; align-items: center;
  max-width: 40rem; background: #FFFFFF; border-radius: var(--a-r-full);
  box-shadow: 0 10px 30px -12px rgba(0,0,0,.45); padding: .3rem; }
.arn-recherche > i { position: absolute; left: 1.1rem; color: #5C6472; font-size: 1.05rem;
  pointer-events: none; }
.arn .arn-recherche input { flex: 1; min-width: 0; border: 0; background: transparent;
  padding: .75rem .9rem .75rem 2.7rem; font-size: 1rem; color: #12151D; outline: none;
  box-shadow: none; }
.arn-recherche input::placeholder { color: #7A8291; }
.arn-recherche button { flex: none; border: 0; border-radius: var(--a-r-full);
  background: #1B2A5B; color: #FFFFFF; font-weight: 600; padding: .7rem 1.25rem; }
.arn-recherche button:hover { background: #2C4191; }
.arn-recherche:focus-within { box-shadow: 0 0 0 4px rgba(127,208,171,.45),
  0 10px 30px -12px rgba(0,0,0,.45); }
.arn-recherche--claire { box-shadow: none; border: 1px solid var(--a-line-strong);
  background: var(--a-paper); }
.arn-recherche--claire input { color: var(--a-ink) !important; }
.arn-suggestions-rapides { display: flex; flex-wrap: wrap; gap: .4rem; margin: .8rem 0 0;
  font-size: .85rem; color: rgba(255,255,255,.75); align-items: center; }
.arn-suggestions-rapides a { color: #FFFFFF; text-decoration: none; padding: .2rem .65rem;
  border-radius: var(--a-r-full); background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16); }
.arn-suggestions-rapides a:hover { background: rgba(255,255,255,.2); }

.arn-resultat-info { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: baseline;
  margin: 0 0 1rem; color: var(--a-muted); }
.arn-suggestions { border-radius: var(--a-r); padding: 1rem 1.2rem; margin: 0 0 1.4rem;
  background: var(--a-indigo-wash); border: 1px solid var(--a-bord-indigo); }
.arn-suggestions ul { list-style: none; padding: 0; margin: .5rem 0 0; display: grid; gap: .35rem; }

/* ---------------------------------------------------------------- 06 ---- */
.arn-urgence { display: flex; align-items: center; gap: .9rem; padding: .95rem 1.2rem;
  border-radius: var(--a-r); text-decoration: none; color: var(--a-ink) !important;
  background: var(--a-ocre-wash); border: 1px solid var(--a-bord-ocre);
  transition: transform .2s var(--a-ease), box-shadow .2s var(--a-ease); }
.arn-urgence:hover { transform: translateY(-1px); box-shadow: var(--a-ombre-haute); }
.arn-urgence__icone { flex: none; display: grid; place-items: center; width: 2.6rem; height: 2.6rem;
  border-radius: 50%; background: var(--a-ocre-vif); color: #1A1200; font-size: 1.2rem; }
.arn-urgence strong { display: block; }
.arn-urgence strong { color: var(--a-ink); }
.arn-urgence strong + span { display: block; color: var(--a-muted); font-size: .92rem; }
.arn-urgence .bi-arrow-right { margin-left: auto; font-size: 1.2rem; color: var(--a-ocre); }

.arn-verif { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem 1.2rem;
  padding: 1.1rem 1.25rem; border-radius: var(--a-r); background: var(--a-vert-wash);
  border: 1px solid var(--a-bord-vert); }
.arn-verif__icone { flex: none; display: grid; place-items: center; width: 2.8rem; height: 2.8rem;
  border-radius: 14px; background: var(--a-vert); color: #FFFFFF; font-size: 1.3rem; }
[data-bs-theme="dark"] .arn-verif__icone { color: #0B1F16; }
.arn-verif__texte { flex: 1 1 18rem; }
.arn-verif-titre { margin: 0 0 .15rem; }
.arn-verif p { margin: 0; }

/* ---------------------------------------------------------------- 07 ---- */
.arn-familles-bloc { margin: 0; }
.arn-familles { display: flex; flex-wrap: wrap; gap: .45rem; }
.arn-famille { display: inline-flex; align-items: center; gap: .35rem; padding: .42rem .85rem;
  border-radius: var(--a-r-full); border: 1px solid var(--a-line-strong);
  background: var(--a-surface); text-decoration: none; color: var(--a-ink) !important;
  font-size: .88rem; font-weight: 500;
  transition: border-color .2s ease, background-color .2s ease, transform .2s var(--a-ease); }
.arn-famille:hover { border-color: var(--a-indigo); transform: translateY(-1px); }
.arn-actif, .arn-famille[aria-current="page"] { background: #1B2A5B; border-color: #1B2A5B;
  color: #FFFFFF !important; }
[data-bs-theme="dark"] .arn-actif,
[data-bs-theme="dark"] .arn-famille[aria-current="page"] { background: var(--a-indigo);
  border-color: var(--a-indigo); color: #0E1530 !important; }
.arn-compte { display: inline-grid; place-items: center; min-width: 1.35rem; height: 1.35rem;
  padding: 0 .3rem; border-radius: var(--a-r-full); font-size: .72rem; font-weight: 700;
  background: var(--a-indigo-wash); color: var(--a-indigo); }
.arn-actif .arn-compte { background: rgba(255,255,255,.2); color: inherit; }
.arn-familles-sous { font-size: .74rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .08em; color: var(--a-muted); margin: 1rem 0 .5rem; }
.arn-familles--autres .arn-famille { font-size: .82rem; padding: .34rem .75rem; }

@media (max-width: 640px) {
  /* Sur téléphone, une rangée qui défile plutôt qu'un mur de pastilles. */
  .arn-familles { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity;
    padding-bottom: .4rem; margin-inline: calc(-1 * var(--a-gouttiere));
    padding-inline: var(--a-gouttiere); scrollbar-width: thin; }
  .arn-famille { scroll-snap-align: start; white-space: nowrap; }
}

/* ---------------------------------------------------------------- 08 ---- */
.arn-section { margin-top: clamp(2.2rem, 5vw, 3.6rem); }
.arn-section__tete { max-width: 46rem; margin-bottom: 1.3rem; }
.arn-surtitre { display: inline-flex; align-items: center; gap: .4rem; font-size: .76rem;
  font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--a-vert);
  margin: 0 0 .45rem; }
.arn-section__titre { font-family: var(--a-font-titre); font-weight: 800;
  font-size: clamp(1.5rem, 3vw, 2.05rem); line-height: 1.15; letter-spacing: -.01em; margin: 0 0 .5rem; }
.arn-section__intro { color: var(--a-muted); font-size: 1.02rem; margin: 0; }
.arn-section__pied { display: flex; justify-content: flex-end; margin-top: 1rem; }

.arn-carte-surface { background: var(--a-surface); border: 1px solid var(--a-line);
  border-radius: var(--a-r); box-shadow: var(--a-ombre); }

/* ---------------------------------------------------------------- 09 ---- */
.arn-orientation { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: var(--a-gouttiere); align-items: start; }
@media (max-width: 900px) { .arn-orientation { grid-template-columns: 1fr; } }
.arn-canaux, .arn-reflexes { padding: clamp(1.1rem, 2.5vw, 1.6rem); }
.arn-canaux__grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  gap: .6rem; }
.arn-canal { border: 1px solid var(--a-line); border-radius: var(--a-r-sm);
  background: var(--a-paper); transition: border-color .2s ease, box-shadow .2s ease; }
.arn-canal summary { list-style: none; display: flex; align-items: center; gap: .7rem;
  padding: .75rem .9rem; cursor: pointer; font-weight: 600; font-size: .95rem; }
.arn-canal summary::-webkit-details-marker { display: none; }
.arn-canal summary::after { content: "+"; margin-left: auto; font-weight: 400; font-size: 1.2rem;
  color: var(--a-muted); transition: transform .2s var(--a-ease); }
.arn-canal[open] summary::after { transform: rotate(45deg); }
.arn-canal__icone { display: grid; place-items: center; width: 2.1rem; height: 2.1rem;
  border-radius: 10px; background: var(--a-indigo-wash); color: var(--a-indigo); flex: none; }
.arn-canal[open] { border-color: var(--a-indigo); box-shadow: var(--a-ombre); }
.arn-canal ul { list-style: none; margin: 0; padding: 0 .9rem .8rem 3.7rem; display: grid; gap: .3rem; }
.arn-canal li a { text-decoration: none; font-size: .92rem; }
.arn-canal li a::before { content: "→ "; opacity: .55; }

.arn-reflexes { position: relative; background:
  linear-gradient(180deg, var(--a-indigo-wash), transparent 60%), var(--a-surface); }
.arn-reflexes__liste { list-style: none; padding: 0; margin: 0 0 1rem; display: grid; gap: .5rem; }
.arn-reflexes__liste label { display: flex; gap: .75rem; align-items: flex-start; cursor: pointer;
  padding: .7rem .85rem; border-radius: var(--a-r-sm); border: 1px solid var(--a-line);
  background: var(--a-paper); transition: border-color .2s ease, background-color .2s ease; }
.arn-reflexes__liste label:hover { border-color: var(--a-line-strong); }
.arn-reflexes__liste label.est-coche,
.arn-reflexes__liste label:has(input:checked) { border-color: var(--a-ocre-vif);
  background: var(--a-ocre-wash); }
.arn-reflexes__liste input { flex: none; width: 1.2rem; height: 1.2rem; margin-top: .15rem;
  accent-color: #D98E04; }
.arn-verdict { display: flex; gap: .7rem; align-items: flex-start; border-radius: var(--a-r-sm);
  padding: .85rem 1rem; margin: 0; font-weight: 600; }
.arn-verdict--stop { background: var(--a-ocre-wash); border: 1px solid var(--a-ocre-vif); }
.arn-verdict--ok { background: var(--a-vert-wash); border: 1px solid var(--a-vert); }

/* ---------------------------------------------------------------- 10 ---- */
.arn-vitrine { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
  gap: 1rem; container-type: inline-size; }
.arn-fiche { position: relative; display: flex; flex-direction: column; gap: .55rem;
  padding: 1.2rem 1.25rem 1.1rem; border-radius: var(--a-r); background: var(--a-surface);
  border: 1px solid var(--a-line); box-shadow: var(--a-ombre); text-decoration: none;
  color: var(--a-ink) !important;
  transition: transform .25s var(--a-ease), box-shadow .25s var(--a-ease), border-color .2s ease; }
.arn-fiche:hover { transform: translateY(-3px); box-shadow: var(--a-ombre-haute);
  border-color: var(--a-bord-indigo-fort); }
.arn-fiche__icone { display: grid; place-items: center; width: 2.7rem; height: 2.7rem;
  border-radius: 13px; font-size: 1.25rem; color: #FFFFFF;
  background: linear-gradient(135deg, #1B2A5B, #2F5A8A); }
[data-bs-theme="dark"] .arn-fiche__icone { background: linear-gradient(135deg, #3A4F96, #2D6A86); }
.arn-fiche__titre { font-weight: 700; font-size: 1.05rem; line-height: 1.25; margin: .15rem 0 0; }
.arn-fiche__texte { color: var(--a-muted); font-size: .92rem; line-height: 1.5; margin: 0; flex: 1; }
.arn-fiche__lien { font-size: .88rem; font-weight: 600; color: var(--a-indigo-2); display: inline-flex;
  gap: .3rem; align-items: center; }
[data-bs-theme="dark"] .arn-fiche__lien { color: var(--a-indigo); }
.arn-fiche--secondaire .arn-fiche__icone { background: var(--a-indigo-wash); color: var(--a-indigo); }
.arn-fiche__compte { position: absolute; top: 1rem; right: 1rem; font-size: .72rem; font-weight: 700;
  padding: .15rem .5rem; border-radius: var(--a-r-full); background: var(--a-vert-wash); color: var(--a-vert); }

.arn-vitrine--compacte { grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: .6rem; }
.arn-vitrine--compacte .arn-fiche { padding: .85rem .95rem; gap: .3rem; }
.arn-vitrine--compacte .arn-fiche__titre { font-size: .95rem; }
@media (max-width: 520px) {
  .arn-vitrine--compacte { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .arn-vitrine--compacte .arn-fiche__titre { font-size: .86rem; }
  .arn-vitrine--compacte .arn-fiche__lien { font-size: .78rem; }
}

/* ---------------------------------------------------------------- 11 ---- */
.arn-articles { display: grid; grid-template-columns: repeat(auto-fill, minmax(20rem, 1fr)); gap: 1rem; }
.arn-carte { position: relative; display: flex; flex-direction: column; gap: .45rem; height: 100%;
  padding: 1.2rem 1.3rem; border-radius: var(--a-r); background: var(--a-surface);
  border: 1px solid var(--a-line); box-shadow: var(--a-ombre);
  transition: transform .25s var(--a-ease), box-shadow .25s var(--a-ease); }
.arn-carte:hover { transform: translateY(-2px); box-shadow: var(--a-ombre-haute); }
.arn-carte h3 { font-family: var(--a-font-titre); font-size: 1.22rem; line-height: 1.25; margin: 0; }
.arn-carte h3 a { color: var(--a-ink) !important; text-decoration: none; }
.arn-carte h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.arn-carte h3 a:hover { text-decoration: underline; }
.arn-carte p { margin: 0; color: var(--a-ink-2); }
[data-bs-theme="dark"] .arn-carte p { color: var(--a-muted); }
.arn-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .5rem;
  color: var(--a-muted); font-size: .8rem; margin: 0; }
.arn-meta__famille { position: relative; z-index: 1; color: var(--a-vert) !important; font-weight: 600;
  text-decoration: none; }
.arn-badge-recent { display: inline-flex; align-items: center; gap: .3rem; font-size: .68rem;
  font-weight: 800; text-transform: uppercase; letter-spacing: .06em; padding: .18rem .5rem;
  border-radius: var(--a-r-full); background: var(--a-ocre-wash); color: var(--a-ocre);
  border: 1px solid var(--a-bord-ocre); }
.arn-badge-recent::before { content: ""; width: .42rem; height: .42rem; border-radius: 50%;
  background: var(--a-ocre-vif); }
.arn-plateformes { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: auto !important; padding-top: .3rem; }
.arn-plateforme { font-size: .72rem; font-weight: 600; padding: .12rem .55rem; border-radius: var(--a-r-full);
  background: var(--a-calicot); border: 1px solid var(--a-line); color: var(--a-muted); }
.arn-vide { padding: 1.4rem 1.5rem; border-radius: var(--a-r); border: 1px dashed var(--a-line-strong);
  color: var(--a-muted); background: var(--a-calicot); }
.arn-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: .6rem; margin-top: 1.6rem; }
.arn-pagination span { color: var(--a-muted); font-size: .9rem; }

/* ---------------------------------------------------------------- 12 ---- */
.arn-page-guide { display: grid; grid-template-columns: minmax(0, 1fr) 20rem;
  gap: clamp(1.5rem, 3.5vw, 2.8rem); align-items: start; margin-top: var(--a-gouttiere); }
@media (max-width: 1080px) { .arn-page-guide { grid-template-columns: 1fr; } }
.arn-aside { position: sticky; top: 5.5rem; display: grid; gap: 1rem; }
@media (max-width: 1080px) { .arn-aside { position: static; } }

.arn-retenir { padding: 1.2rem 1.25rem; border-radius: var(--a-r); color: #FFFFFF;
  background: linear-gradient(145deg, #1B2A5B, #23536B); box-shadow: var(--a-ombre-haute); }
.arn-retenir p { margin: 0; font-size: 1.02rem; line-height: 1.5; }
.arn-retenir__etiquette { display: inline-flex; gap: .4rem; align-items: center; font-size: .74rem;
  font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .8; margin-bottom: .5rem !important; }

.arn-sommaire { padding: 1rem 1.1rem; }
.arn-sommaire p { font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--a-muted); margin: 0 0 .5rem; }
.arn-sommaire ol { list-style: none; counter-reset: s; padding: 0; margin: 0; display: grid; gap: .15rem; }
.arn-sommaire li { counter-increment: s; }
.arn-sommaire a { display: flex; gap: .55rem; padding: .35rem .45rem; border-radius: 8px;
  text-decoration: none; color: var(--a-ink) !important; font-size: .9rem; }
.arn-sommaire a::before { content: counter(s, decimal-leading-zero); color: var(--a-muted);
  font-variant-numeric: tabular-nums; font-size: .8rem; padding-top: .1rem; }
.arn-sommaire a:hover { background: var(--a-indigo-wash); }
.arn-sommaire a.arn-sommaire--urgent { color: var(--a-ocre) !important; font-weight: 600; }

.arn-bloc { scroll-margin-top: 6rem; }
.arn-bloc + .arn-bloc { margin-top: clamp(1.8rem, 4vw, 2.6rem); }
.arn-bloc__titre { display: flex; align-items: center; gap: .65rem; font-family: var(--a-font-titre);
  font-weight: 800; font-size: clamp(1.3rem, 2.4vw, 1.6rem); margin: 0 0 .9rem; }
.arn-bloc__titre i { display: grid; place-items: center; width: 2.3rem; height: 2.3rem; flex: none;
  border-radius: 11px; font-size: 1.1rem; background: var(--a-indigo-wash); color: var(--a-indigo); }
.arn-bloc--signes .arn-bloc__titre i { background: var(--a-ocre-wash); color: var(--a-ocre); }
.arn-bloc--gestes .arn-bloc__titre i, .arn-bloc--apres .arn-bloc__titre i {
  background: var(--a-vert-wash); color: var(--a-vert); }
.arn-guide__quoi { font-size: clamp(1.08rem, 1.8vw, 1.22rem); line-height: 1.6; margin: 0 0 .9rem; }
.arn-guide__ici, .arn-guide__vises { color: var(--a-ink-2); line-height: 1.65; }
[data-bs-theme="dark"] .arn-guide__ici, [data-bs-theme="dark"] .arn-guide__vises { color: var(--a-muted); }
.arn-guide__vises { padding: .9rem 1.1rem; border-radius: var(--a-r-sm); background: var(--a-calicot);
  border: 1px solid var(--a-line); }

.arn-liste-signes, .arn-liste-gestes { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.arn-liste-signes li, .arn-liste-gestes li { display: grid; grid-template-columns: 1.9rem 1fr;
  gap: .6rem; align-items: start; padding: .85rem 1rem; border-radius: var(--a-r-sm);
  background: var(--a-surface); border: 1px solid var(--a-line); line-height: 1.55; }
.arn-liste-signes li::before, .arn-liste-gestes li::before { font-family: "bootstrap-icons";
  display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; font-size: .95rem; }
.arn-liste-signes li { border-left: 3px solid var(--a-ocre-vif); }
.arn-liste-signes li::before { content: "\F333"; background: var(--a-ocre-wash); color: var(--a-ocre); }
.arn-liste-gestes li { border-left: 3px solid var(--a-vert); }
.arn-liste-gestes li::before { content: "\F26B"; background: var(--a-vert-wash); color: var(--a-vert); }

.arn-apres { padding: clamp(1.1rem, 2.5vw, 1.5rem); border-radius: var(--a-r);
  background: var(--a-vert-wash); border: 1px solid var(--a-bord-vert); }
.arn-apres__vite { display: inline-flex; gap: .4rem; align-items: center; font-weight: 600;
  color: var(--a-vert); margin: 0 0 .9rem; }
.arn-apres ol { list-style: none; counter-reset: e; padding: 0; margin: 0; display: grid; gap: .55rem; }
.arn-apres ol li { counter-increment: e; display: grid; grid-template-columns: 2rem 1fr; gap: .7rem;
  align-items: start; line-height: 1.55; }
.arn-apres ol li::before { content: counter(e); display: grid; place-items: center; width: 2rem; height: 2rem;
  border-radius: 50%; background: var(--a-vert); color: #FFFFFF; font-weight: 800; font-size: .9rem; }
[data-bs-theme="dark"] .arn-apres ol li::before { color: #0B1F16; }
.arn-apres__plus { margin: 1rem 0 0; font-size: .92rem; }

.arn-guide__note { color: var(--a-muted); font-size: .84rem; margin: 2rem 0 0;
  padding-top: 1rem; border-top: 1px solid var(--a-line); }

/* ---------------------------------------------------------------- 13 ---- */
.arn-situations { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1rem; }
.arn-situation { position: relative; margin: 0; padding: 1.3rem 1.3rem 1.2rem 1.3rem;
  border-radius: var(--a-r); background: var(--a-surface); border: 1px solid var(--a-line);
  line-height: 1.6; box-shadow: var(--a-ombre); }
.arn-situation::before { content: "\201C"; position: absolute; top: -.35rem; right: 1rem;
  font-family: var(--a-font-titre); font-size: 4.2rem; line-height: 1; color: var(--a-indigo-wash); }
[data-bs-theme="dark"] .arn-situation::before { color: rgba(169,186,242,.18); }
.arn-situation__etiquette { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--a-muted); margin-bottom: .45rem; }
.arn-avertissement-fiction { font-size: .82rem; color: var(--a-muted); margin: .7rem 0 0; }

.arn-idees { display: grid; gap: .8rem; }
.arn-idee { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
  border-radius: var(--a-r); overflow: hidden; border: 1px solid var(--a-line); background: var(--a-surface); }
@media (max-width: 720px) { .arn-idee { grid-template-columns: 1fr; } }
.arn-idee > div { padding: 1rem 1.15rem; line-height: 1.55; }
.arn-idee__faux { background: var(--a-calicot); }
.arn-idee__faux p, .arn-idee__vrai p { margin: 0; }
.arn-idee__etiquette { display: inline-flex; align-items: center; gap: .35rem; font-size: .72rem;
  font-weight: 800; letter-spacing: .07em; text-transform: uppercase; margin-bottom: .35rem; }
.arn-idee__faux .arn-idee__etiquette { color: var(--a-ocre); }
.arn-idee__faux p { font-style: italic; }
.arn-idee__vrai .arn-idee__etiquette { color: var(--a-vert); }

.arn-faq { display: grid; gap: .55rem; }
.arn-faq details { border: 1px solid var(--a-line); border-radius: var(--a-r-sm);
  background: var(--a-surface); transition: border-color .2s ease, box-shadow .2s ease; }
.arn-faq details[open] { border-color: var(--a-bord-indigo-fort);
  box-shadow: var(--a-ombre); }
.arn-faq summary { list-style: none; display: flex; gap: .8rem; align-items: center; cursor: pointer;
  padding: .95rem 1.1rem; font-weight: 600; }
.arn-faq summary::-webkit-details-marker { display: none; }
.arn-faq summary::after { content: "\F282"; font-family: "bootstrap-icons"; margin-left: auto;
  color: var(--a-muted); transition: transform .25s var(--a-ease); }
.arn-faq details[open] summary::after { transform: rotate(180deg); }
.arn-faq__reponse { padding: 0 1.1rem 1.05rem; line-height: 1.65; color: var(--a-ink-2); }
[data-bs-theme="dark"] .arn-faq__reponse { color: var(--a-muted); }

/* ---------------------------------------------------------------- 14 ---- */
.arn-etapes { list-style: none; counter-reset: etape; padding: 0; margin: 0; position: relative; }
.arn-etapes::before { content: ""; position: absolute; left: 1.2rem; top: 1rem; bottom: 1rem;
  width: 2px; background: linear-gradient(var(--a-ocre-vif), var(--a-vert)); opacity: .5; }
.arn-etape { counter-increment: etape; position: relative; padding: 1rem 1.2rem 1rem 3.6rem;
  margin: 0 0 .75rem; border-radius: var(--a-r); background: var(--a-surface);
  border: 1px solid var(--a-line); box-shadow: var(--a-ombre); scroll-margin-top: 6rem; }
.arn-etape::before { content: counter(etape); position: absolute; left: .45rem; top: 1rem;
  display: grid; place-items: center; width: 1.55rem; height: 1.55rem; border-radius: 50%;
  font-weight: 800; font-size: .85rem; background: var(--a-paper); color: var(--a-ink);
  box-shadow: 0 0 0 3px var(--a-ocre-vif); }
.arn-etape:nth-child(n+3)::before { box-shadow: 0 0 0 3px var(--a-vert); }
.arn-etape h2 { font-size: 1.08rem; font-weight: 700; margin: 0 0 .3rem; }
.arn-etape p { margin: 0; line-height: 1.6; color: var(--a-ink-2); }
[data-bs-theme="dark"] .arn-etape p { color: var(--a-muted); }

.arn-recours { padding: 1.1rem 1.2rem; border-radius: var(--a-r); background: var(--a-surface);
  border: 1px solid var(--a-line); }
.arn-recours h2 { display: flex; gap: .5rem; align-items: center; font-size: 1rem; font-weight: 700; }
.arn-recours__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: .7rem; }
.arn-recours__liste li { padding-bottom: .7rem; border-bottom: 1px solid var(--a-line); }
.arn-recours__liste li:last-child { border-bottom: 0; padding-bottom: 0; }
.arn-recours__date { display: block; font-size: .76rem; color: var(--a-muted); margin-top: .15rem; }
.arn-recours p { font-size: .92rem; line-height: 1.55; }

.arn-partage { padding: 1.1rem 1.2rem; border-radius: var(--a-r); background: var(--a-surface);
  border: 1px solid var(--a-line); }
.arn-partage__titre { display: block; font-weight: 700; margin-bottom: .65rem; }
.arn-partage__boutons { display: flex; flex-wrap: wrap; gap: .45rem; }
.arn-partage__retour { display: block; font-size: .85rem; color: var(--a-vert); margin-top: .4rem; min-height: 1.2em; }

.arn-voisines { padding: 1.1rem 1.2rem; }
.arn-voisines p { font-weight: 700; margin: 0 0 .6rem; }
.arn-voisines ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.arn-voisines a { display: flex; gap: .6rem; align-items: center; padding: .45rem .55rem; border-radius: 9px;
  text-decoration: none; color: var(--a-ink) !important; font-size: .92rem; }
.arn-voisines a:hover { background: var(--a-indigo-wash); }
.arn-voisines i { color: var(--a-indigo); }

/* ---------------------------------------------------------------- 15 ---- */
.arn-alphabet { display: flex; flex-wrap: wrap; gap: .3rem; margin: 0 0 1.4rem; padding: 0; list-style: none; }
.arn-alphabet a { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 9px;
  border: 1px solid var(--a-line-strong); text-decoration: none; font-weight: 700;
  color: var(--a-ink) !important; background: var(--a-surface); }
.arn-alphabet a:hover { background: #1B2A5B; color: #FFFFFF !important; border-color: #1B2A5B; }
.arn-lexique { display: grid; grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr)); gap: .9rem; margin: 0; }
.arn-terme { padding: 1.1rem 1.2rem; border-radius: var(--a-r); background: var(--a-surface);
  border: 1px solid var(--a-line); box-shadow: var(--a-ombre); scroll-margin-top: 6rem; }
.arn-terme:target { border-color: var(--a-ocre-vif); box-shadow: 0 0 0 3px var(--a-ocre-wash); }
.arn-terme dt { font-family: var(--a-font-titre); font-weight: 800; font-size: 1.15rem; margin-bottom: .35rem; }
.arn-terme dd { margin: 0; line-height: 1.6; color: var(--a-ink-2); }
[data-bs-theme="dark"] .arn-terme dd { color: var(--a-muted); }
.arn-terme__lien { display: inline-flex; margin-top: .6rem; font-size: .86rem; font-weight: 600; text-decoration: none; }

/* ---------------------------------------------------------------- 16 ---- */
.arn-plus { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; }
.arn-plus a { display: flex; flex-direction: column; gap: .45rem; padding: 1.3rem; border-radius: var(--a-r);
  background: var(--a-calicot); border: 1px solid var(--a-line); text-decoration: none;
  color: var(--a-ink) !important; transition: transform .25s var(--a-ease), box-shadow .25s var(--a-ease); }
.arn-plus a:hover { transform: translateY(-2px); box-shadow: var(--a-ombre-haute); }
.arn-plus i { font-size: 1.5rem; color: var(--a-indigo); }
.arn-plus strong { font-size: 1.05rem; }
.arn-plus span { color: var(--a-muted); font-size: .92rem; }

/* ---------------------------------------------------------------- 17 ---- */
/* Les encarts insérés dans le contenu des articles portent aussi leur style
   en ligne (voir services/redaction.py). Ces règles les affinent lorsque la
   feuille de la rubrique est chargée, par exemple dans l'aperçu interne. */
.scamcheck-cta, .sa-essentiel, .sa-fiche-pratique, .sa-lexique { line-height: 1.6; }
.scamcheck-cta p:last-child, .sa-essentiel ul, .sa-lexique dl { margin-bottom: 0; }
.sa-fiche-pratique h2 { font-size: 1.2rem; margin-top: 0; }
.sa-fiche-pratique h3 { font-size: 1rem; margin: 1rem 0 .4rem; }
.sa-lexique dt { font-weight: 700; margin-top: .5rem; }
.sa-lexique dd { margin: 0; }

/* --------------------------------------------------------------- 17b ---- */
/* AFFINAGES TYPOGRAPHIQUES ET DE MISE EN PAGE
   Titres équilibrés sur leurs lignes, paragraphes sans mot orphelin, mesure
   de lecture bornée : un texte de prévention se lit jusqu'au bout seulement
   s'il ne fatigue pas. `text-wrap` est ignoré sans dommage par les
   navigateurs qui ne le connaissent pas. */
.arn h1, .arn h2, .arn h3, .arn-fiche__titre, .arn-une__titre { text-wrap: balance; }
.arn p, .arn li, .arn dd { text-wrap: pretty; }
.arn ::selection { background: rgba(217,142,4,.28); }
.arn-guide p, .arn-guide li, .arn-etape p, .arn-faq__reponse, .arn-situation p { max-width: var(--a-mesure); }
.arn-guide { font-size: var(--a-t-base); }
.arn-section__intro, .arn-guide__quoi { max-width: var(--a-mesure); }
.arn hr { border-color: var(--a-line); opacity: 1; }

/* Bandeau d'accueil en deux colonnes quand une alerte récente existe. */
.arn-hero--avec-une { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(17rem, 1fr);
  gap: clamp(1.5rem, 3.5vw, 3rem); align-items: center; }
@media (max-width: 960px) { .arn-hero--avec-une { grid-template-columns: minmax(0, 1fr); } }
/* `min-width: 0` : sans lui, un enfant de grille ne descend jamais sous la
   largeur de son contenu, et le bandeau débordait sur téléphone. */
.arn-hero__texte, .arn-une, .arn-recherche { min-width: 0; }
.arn-hero__mention { font-size: var(--a-t-xs); color: rgba(255,255,255,.62); margin: 1rem 0 0; }
.arn-une { position: relative; border-radius: var(--a-r); padding: 1.3rem 1.35rem;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.arn-une__etiquette { display: inline-flex; align-items: center; gap: .5rem; margin: 0 0 .8rem;
  font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #F3C76E; }
.arn-pulsation { position: relative; width: .6rem; height: .6rem; border-radius: 50%; background: #F3C76E; }
.arn-une__famille { font-size: .82rem; color: rgba(255,255,255,.78); margin: 0 0 .35rem; }
.arn .arn-une__titre { font-family: var(--a-font-titre); font-size: clamp(1.2rem, 1rem + .8vw, 1.5rem);
  line-height: 1.22; margin: 0 0 .6rem; color: #FFFFFF; }
.arn-une__titre a { color: #FFFFFF !important; text-decoration: none; }
.arn-une__titre a:hover { text-decoration: underline; }
.arn-une__texte { font-size: .92rem; color: rgba(255,255,255,.8); margin: 0 0 1rem; }
.arn-une__pied { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem;
  font-size: .82rem; color: rgba(255,255,255,.7); margin: 0; padding-top: .8rem;
  border-top: 1px solid rgba(255,255,255,.14); }
.arn-une__pied a { color: #FFFFFF !important; font-weight: 600; text-decoration: none; }

/* Pastilles de famille : un fondu sur les bords signale, sur téléphone, que
   la rangée défile. */
@media (max-width: 640px) {
  .arn-familles { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 1rem, #000 calc(100% - 2rem), transparent);
          mask-image: linear-gradient(90deg, transparent 0, #000 1rem, #000 calc(100% - 2rem), transparent); }
  .arn-hero { border-radius: var(--a-r); }
  .arn-hero__actions .arn-btn { flex: 1 1 100%; justify-content: center; }
  .arn-recherche button { padding: .7rem .95rem; }
  .arn-urgence { align-items: flex-start; }
  .arn-urgence .bi-arrow-right { display: none; }
  .arn-verif .arn-btn { width: 100%; justify-content: center; }
  /* Les guides secondaires deviennent une grille de raccourcis : dix-sept
     cartes pleine largeur faisaient défiler l'accueil sans fin. */
  .arn-vitrine--autres .arn-fiche__texte, .arn-vitrine--autres .arn-fiche__icone,
  .arn-vitrine--autres .arn-fiche__compte { display: none; }
  /* Les guides principaux passent en fiches horizontales : icône à gauche,
     texte à droite. Même information, un tiers de hauteur en moins. */
  .arn-vitrine:not(.arn-vitrine--autres) .arn-fiche { display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr); column-gap: .9rem; row-gap: .3rem; padding: 1rem; }
  .arn-vitrine:not(.arn-vitrine--autres) .arn-fiche__icone { grid-row: 1 / span 3; width: 2.5rem; height: 2.5rem; }
  .arn-vitrine:not(.arn-vitrine--autres) .arn-fiche > :not(.arn-fiche__icone):not(.arn-fiche__compte) { grid-column: 2; }
  .arn-vitrine:not(.arn-vitrine--autres) .arn-fiche__compte { position: static; grid-column: 2; justify-self: start; order: -1; }
  .arn-hero__chiffres { gap: .5rem 1.2rem; }
  .arn-hero__chiffres li { flex: 1 1 5.5rem; }
  .arn-page-guide { gap: 1.2rem; }
  .arn-liste-signes li, .arn-liste-gestes li { padding: .75rem .8rem; }
}

/* Cartes : l'icône de famille dans la méta, et un filet de couleur au survol
   qui relie visuellement la carte à sa famille. */
.arn-meta__famille i { margin-right: .15rem; }
.arn-carte::before { content: ""; position: absolute; left: 1.3rem; right: 1.3rem; top: 0; height: 3px;
  border-radius: 0 0 3px 3px; background: linear-gradient(90deg, #1B2A5B, #23694C);
  transform: scaleX(0); transform-origin: left; transition: transform .35s var(--a-ease); }
.arn-carte:hover::before, .arn-carte:focus-within::before { transform: scaleX(1); }

/* Progression de lecture sur les pages longues (guides, victime, lexique).
   Animation pilotée par le défilement : aucun JavaScript, et rien du tout
   là où le navigateur ne la connaît pas. */
.arn-progression { display: none; }
@supports (animation-timeline: scroll()) {
  .arn-progression { display: block; position: fixed; inset: 0 0 auto 0; height: 3px; z-index: 1050;
    background: linear-gradient(90deg, #D98E04, #23694C); transform-origin: 0 50%;
    transform: scaleX(0); animation: arn-progresse linear both; animation-timeline: scroll(root); }
  @keyframes arn-progresse { to { transform: scaleX(1); } }
}

/* Ancres : le titre visé n'est pas masqué par l'en-tête fixe du site, et il
   s'éclaire brièvement pour qu'on le repère. */
.arn [id] { scroll-margin-top: 6rem; }
@media (prefers-reduced-motion: no-preference) {
  html:has(.arn) { scroll-behavior: smooth; }
  .arn-bloc:target .arn-bloc__titre { animation: arn-repere 1.6s var(--a-ease); }
  @keyframes arn-repere { 0% { background: var(--a-ocre-wash); } 100% { background: transparent; } }
  .arn-pulsation::after { content: ""; position: absolute; inset: 0; border-radius: 50%;
    background: inherit; animation: arn-pulse 2.2s ease-out infinite; }
  @keyframes arn-pulse { 0% { transform: scale(1); opacity: .7; } 100% { transform: scale(2.8); opacity: 0; } }
}

/* Contraste renforcé à la demande du système (Windows, Android). */
@media (prefers-contrast: more) {
  .arn { --a-muted: var(--a-ink); --a-line: currentColor; }
  .arn-fiche, .arn-carte, .arn-canal, .arn-faq details { border-width: 2px; }
}

/* ---------------------------------------------------------------- 18 ---- */
.arn a:focus-visible, .arn button:focus-visible, .arn summary:focus-visible,
.arn input:focus-visible, .arn label:focus-within {
  outline: 3px solid #D98E04; outline-offset: 2px; border-radius: 6px; }
.arn .visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

@media (prefers-reduced-motion: reduce) {
  .arn *, .arn *::before, .arn *::after { transition: none !important; animation: none !important;
    scroll-behavior: auto !important; }
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes arn-monte { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
  .arn-hero, .arn-vitrine > *, .arn-articles > * { animation: arn-monte .5s var(--a-ease) both; }
  .arn-vitrine > *:nth-child(2), .arn-articles > *:nth-child(2) { animation-delay: .04s; }
  .arn-vitrine > *:nth-child(3), .arn-articles > *:nth-child(3) { animation-delay: .08s; }
  .arn-vitrine > *:nth-child(4), .arn-articles > *:nth-child(4) { animation-delay: .12s; }
  .arn-vitrine > *:nth-child(n+5) { animation-delay: .16s; }
}

/* Impression : la fiche d'une famille (ou la page victime) doit tenir sur
   papier, pour être affichée dans une agence, une classe, une association. */
@media print {
  header, footer, nav, .arn-verif, .arn-recherche, .arn-partage, .arn-urgence,
  .arn-orientation, .arn-familles-bloc, .arn-pagination, .arn-articles, .arn-vide,
  #arn-articles, .arn-suggestions, .arn-plus, .arn-sommaire, .arn-voisines,
  .arn-hero__actions, .arn-hero__chiffres, .arn-hero__embleme, .arn-section--articles { display: none !important; }
  .arn, .arn * { color: #000 !important; background: #fff !important; box-shadow: none !important; }
  .arn-hero { padding: 0 !important; border-radius: 0; }
  .arn-page-guide { display: block; }
  .arn-liste-signes li, .arn-liste-gestes li, .arn-etape, .arn-situation, .arn-idee,
  .arn-faq details { break-inside: avoid; border: 1px solid #999 !important; }
  .arn-faq details > * { display: block !important; }
  a { text-decoration: none !important; }
}

/* ==========================================================================
   Refonte du 07/10/2026 : pages par canal, situations, repères de relecture
   ========================================================================== */
.arn-hero__releve { display: block; margin: .2rem 0 1rem; color: rgba(255,255,255,.82); font-size: .86rem; line-height: 1.45; }
.arn-hero__releve .bi { margin-right: .35rem; }
.arn-hero__releve time { white-space: nowrap; }
.arn-hero__titre--question { max-width: 30ch; font-size: clamp(1.6rem, 3.6vw, 2.35rem); line-height: 1.18; }

/* Liste de questions « Est-ce une arnaque ? » */
.arn-questions { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); }
.arn-questions a { display: flex; align-items: center; gap: .75rem; height: 100%;
  padding: .85rem 1rem; border: 1px solid var(--a-line); border-radius: var(--a-r);
  background: var(--a-surface); color: var(--a-ink) !important; text-decoration: none;
  font-weight: 600; line-height: 1.35; box-shadow: var(--a-ombre);
  transition: border-color .2s var(--a-ease), transform .2s var(--a-ease); }
.arn-questions a:hover { border-color: var(--a-bord-indigo-fort); transform: translateY(-1px); }
.arn-questions a:focus-visible { outline: 3px solid var(--a-ocre-vif); outline-offset: 2px; }
.arn-questions a > .bi:first-child { flex: 0 0 auto; display: grid; place-items: center; width: 2.1rem; height: 2.1rem;
  border-radius: 10px; background: var(--a-indigo-wash); color: var(--a-indigo); }
.arn-questions span { flex: 1; }
.arn-questions__fleche { color: var(--a-muted); }

/* Réponse courte, en tête de page de situation */
.arn-reponse { margin: 0 0 1.6rem; padding: 1.2rem 1.3rem; border-radius: var(--a-r);
  border: 1px solid var(--a-bord-vert); border-left: 5px solid var(--a-vert); background: var(--a-vert-wash); }
.arn-reponse__titre { display: flex; align-items: center; gap: .5rem; margin: 0 0 .5rem;
  font-family: var(--a-font); font-size: .8rem; font-weight: 800; letter-spacing: .08em;
  text-transform: uppercase; color: var(--a-vert); }
.arn-reponse__texte { margin: 0; font-size: clamp(1.05rem, 1.8vw, 1.2rem); line-height: 1.55;
  font-weight: 600; color: var(--a-ink); }

/* Renvoi vers le guide complet */
.arn-renvoi-guide { display: flex; align-items: center; gap: 1rem; margin-top: 1.5rem; padding: 1rem 1.2rem;
  border-radius: var(--a-r); background: var(--a-indigo); color: #FFFFFF !important; text-decoration: none;
  box-shadow: var(--a-ombre-haute); }
.arn-renvoi-guide small { display: block; opacity: .8; font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; }
.arn-renvoi-guide strong { display: block; line-height: 1.35; }
.arn-renvoi-guide > span:nth-child(2) { flex: 1; }
.arn-renvoi-guide__icone { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 12px;
  background: rgba(255,255,255,.14); font-size: 1.2rem; }
.arn-renvoi-guide:focus-visible { outline: 3px solid var(--a-ocre-vif); outline-offset: 3px; }

/* Liste des canaux dans la colonne */
.arn-canaux-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: .1rem; }
.arn-canaux-liste a { display: flex; gap: .55rem; align-items: center; padding: .4rem .45rem; border-radius: 8px;
  color: var(--a-ink) !important; text-decoration: none; font-size: .92rem; }
.arn-canaux-liste a:hover { background: var(--a-indigo-wash); }
.arn-canaux-liste i { color: var(--a-indigo); }

/* Canaux et situations sur l'accueil et les familles */
.arn-canaux-pages { display: grid; gap: .55rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); }
.arn-canaux-pages a { display: flex; align-items: center; gap: .6rem; padding: .75rem .9rem; border-radius: var(--a-r);
  border: 1px solid var(--a-line); background: var(--a-surface); color: var(--a-ink) !important;
  text-decoration: none; font-weight: 600; box-shadow: var(--a-ombre); }
.arn-canaux-pages a:hover { border-color: var(--a-bord-indigo-fort); }
.arn-canaux-pages i { color: var(--a-indigo); font-size: 1.1rem; }
.arn-section--serree { padding-top: 1.6rem; }
.arn-section__titre--petit { display: flex; align-items: center; gap: .55rem; font-size: clamp(1.2rem, 2.2vw, 1.45rem); }
.arn-section__titre--petit i { color: var(--a-indigo); }

/* Page de famille : la navigation entre familles passe en bas de page, et la
   barre de familles du haut devient une bande horizontale défilante. */
.arn-familles-bande { display: flex; gap: .4rem; overflow-x: auto; padding: .2rem 0 .6rem;
  scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.arn-familles-bande .arn-famille { flex: 0 0 auto; white-space: nowrap; }

/* Sommaire des situations : une carte par famille */
.arn-hub { display: grid; gap: 1rem; margin-top: 1.6rem;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); align-items: start; }
.arn-hub__groupe { padding: 1.1rem 1.2rem; display: grid; gap: .6rem; }
.arn-hub__titre { display: flex; align-items: center; gap: .55rem; margin: 0;
  font-family: var(--a-font-titre); font-size: 1.15rem; font-weight: 800; color: var(--a-ink); }
.arn-hub__titre i { color: var(--a-indigo); }
.arn-hub__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: .25rem; }
.arn-hub__liste a { display: block; padding: .5rem .6rem; border-radius: 9px; font-weight: 600;
  line-height: 1.35; color: var(--a-ink) !important; text-decoration: none; border-left: 3px solid var(--a-bord-indigo); }
.arn-hub__liste a:hover { background: var(--a-indigo-wash); border-left-color: var(--a-indigo); }

@media print {
  .arn-hub, .arn-questions, .arn-canaux-pages, .arn-renvoi-guide, .arn-familles-bande { display: none !important; }
}
