/*
 * Fawz News — feuille de style
 * Concept : le registre officiel de l'absurde. Un document administratif
 * impeccable, frappé d'un seul tampon rouge. Tout le reste reste sobre.
 */

@font-face {
  font-family: "Fraunces Fawz";
  src: url("fonts/fraunces-latin-full-normal.woff2") format("woff2");
  font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Fraunces Fawz";
  src: url("fonts/fraunces-latin-full-italic.woff2") format("woff2");
  font-weight: 100 900; font-style: italic; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Fraunces Fawz";
  src: url("fonts/fraunces-latin-ext-full-normal.woff2") format("woff2");
  font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Fraunces Fawz";
  src: url("fonts/fraunces-latin-ext-full-italic.woff2") format("woff2");
  font-weight: 100 900; font-style: italic; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  --fz-ink: #1b1d24;        /* encre bleu-noir */
  --fz-paper: #ffffff;
  --fz-stamp: #c4122f;      /* encre de tampon */
  --fz-prefecture: #24418a; /* bleu de préfecture : liens */
  --fz-form: #eef1f6;       /* fond des cases de formulaire */
  --fz-pencil: #5d6472;     /* mentions secondaires */
  --fz-serif: "Fraunces Fawz", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
}

/* ---------- Socle commun ---------- */

.fawz-front .page-header,
.fawz-front .entry-title { display: none; }

.fawz,
.fawz-article .site-main {
  font-family: var(--fz-serif);
  color: var(--fz-ink);
  font-optical-sizing: auto;
  font-variation-settings: "SOFT" 30, "WONK" 0;
}

.fawz a,
.fawz-article .site-main a { color: var(--fz-prefecture); text-underline-offset: .18em; text-decoration-thickness: 1px; }
.fawz a:hover,
.fawz-article .site-main a:hover { color: var(--fz-stamp); }
.fawz a:focus-visible,
.fawz-article .site-main a:focus-visible { outline: 2px solid var(--fz-stamp); outline-offset: 3px; }

/* ---------- Le tampon : l'unique élément spectaculaire ---------- */

.fawz-stamp {
  display: inline-block;
  color: var(--fz-stamp);
  border: .09em solid currentColor;
  box-shadow: inset 0 0 0 .05em var(--fz-paper), inset 0 0 0 .1em currentColor;
  padding: .06em .3em .1em;
  border-radius: .12em;
  transform: rotate(-2.5deg);
  font-weight: 800;
  font-style: italic;
  font-variation-settings: "SOFT" 100, "WONK" 1;
  line-height: 1;
  letter-spacing: -.01em;
  /* encre irrégulière, sans image externe */
  /* encre irrégulière : deux trames de micro-manques décalées, sans image externe */
  -webkit-mask-image:
    radial-gradient(circle at 30% 40%, #000 0 .45px, transparent .8px),
    radial-gradient(circle at 70% 20%, #000 0 .35px, transparent .7px),
    linear-gradient(#000, #000);
  -webkit-mask-size: 11px 13px, 17px 7px, 100% 100%;
  -webkit-mask-composite: xor, xor;
  mask-image:
    radial-gradient(circle at 30% 40%, #000 0 .45px, transparent .8px),
    radial-gradient(circle at 70% 20%, #000 0 .35px, transparent .7px),
    linear-gradient(#000, #000);
  mask-size: 11px 13px, 17px 7px, 100% 100%;
  mask-composite: exclude, exclude;
}

@media (prefers-reduced-motion: no-preference) {
  .fawz-masthead .fawz-stamp { animation: fawz-stamp .5s cubic-bezier(.2, .9, .3, 1.2) .15s both; }
}
@keyframes fawz-stamp {
  from { opacity: 0; transform: rotate(-9deg) scale(1.6); }
  to   { opacity: 1; transform: rotate(-2.5deg) scale(1); }
}

/* ---------- Une : en-tête ---------- */

.fawz { max-width: 68rem; margin: 0 auto; padding: 0 1.25rem 4rem; }

.fawz-masthead { padding: 2.5rem 0 2rem; border-bottom: 1px solid var(--fz-ink); margin-bottom: 2.5rem; }
.fawz-masthead .fawz-stamp { font-size: clamp(3rem, 9vw, 6.5rem); }
.fawz-masthead__motto {
  font-size: clamp(1.25rem, 2.4vw, 1.6rem);
  font-style: italic;
  font-weight: 400;
  margin: 1.2rem 0 .3rem;
}
.fawz-masthead__edition { font-size: .95rem; color: var(--fz-pencil); margin: 0; }

/* ---------- Une : article principal ---------- */

.fawz-lead { margin: 0 0 3.5rem; max-width: 46rem; }
.fawz-lead__rubric,
.fawz-entry__rubric { color: var(--fz-stamp); font-style: italic; font-weight: 600; font-size: .95rem; margin: 0 0 .4rem; }
.fawz-lead__title {
  font-size: clamp(2rem, 4.6vw, 3.4rem);
  line-height: 1.05;
  font-weight: 700;
  letter-spacing: -.015em;
  font-variation-settings: "SOFT" 50, "WONK" 1;
  margin: 0 0 1rem;
  text-wrap: balance;
}
.fawz-lead__title a { color: var(--fz-ink); text-decoration: none; }
.fawz-lead__title a:hover { color: var(--fz-stamp); }
.fawz-lead__excerpt { font-size: 1.2rem; line-height: 1.6; margin: 0 0 .8rem; max-width: 38em; }
.fawz-lead__meta,
.fawz-entry__meta { font-size: .9rem; color: var(--fz-pencil); margin: 0; }

/* ---------- Une : le registre, groupé par jour ---------- */

.fawz-day {
  display: grid;
  grid-template-columns: 11rem 1fr;
  gap: 0 2.5rem;
  padding: 1.75rem 0;
  border-top: 1px solid var(--fz-form);
}
.fawz-day__date {
  font-size: 1.05rem;
  font-style: italic;
  font-weight: 500;
  margin: .25rem 0 0;
  position: sticky; top: 1rem; align-self: start;
}
.fawz-day__list { list-style: none; margin: 0; padding: 0; }

.fawz-entry { margin: 0 0 2rem; max-width: 42rem; }
.fawz-entry:last-child { margin-bottom: 0; }
.fawz-entry__title { font-size: 1.45rem; line-height: 1.2; font-weight: 650; margin: 0 0 .45rem; text-wrap: balance; }
.fawz-entry__title a { color: var(--fz-ink); text-decoration: none; }
.fawz-entry__title a:hover { color: var(--fz-stamp); }
.fawz-entry__excerpt { font-size: 1.02rem; line-height: 1.6; margin: 0 0 .4rem; }

.fawz-pager { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--fz-ink); display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; font-size: 1rem; }
.fawz-pager .current { font-weight: 700; color: var(--fz-stamp); }
.fawz-count { color: var(--fz-pencil); font-style: italic; }

/* ---------- Article ---------- */

.fawz-article .site-main { max-width: 42rem; margin-left: auto; margin-right: auto; padding-left: 1.25rem; padding-right: 1.25rem; }
.fawz-article .page-header { margin: 2.5rem 0 1rem; }
.fawz-article .entry-title {
  font-family: var(--fz-serif);
  font-size: clamp(2rem, 5vw, 3.1rem);
  line-height: 1.08;
  font-weight: 700;
  letter-spacing: -.015em;
  font-variation-settings: "SOFT" 50, "WONK" 1;
  color: var(--fz-ink);
  text-wrap: balance;
}
.fawz-article .page-content,
.fawz-article .entry-content { font-size: 1.15rem; line-height: 1.7; }
.fawz-article .page-content p,
.fawz-article .entry-content p { margin: 0 0 1.15em; }

/* Le tampon « Satire » en tête d'article (y compris les articles déjà publiés) */
.fawz-article .fawz-kicker {
  display: inline-block !important;
  color: var(--fz-stamp) !important;
  border: 3px solid currentColor;
  box-shadow: inset 0 0 0 2px var(--fz-paper), inset 0 0 0 4px currentColor;
  padding: .15rem .7rem .25rem !important;
  border-radius: 4px;
  transform: rotate(-3deg);
  font-family: var(--fz-serif);
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  font-style: italic;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-variation-settings: "SOFT" 100, "WONK" 1;
  margin: 0 0 1.25rem !important;
}
.fawz-article .fawz-byline { font-style: italic; color: var(--fz-pencil) !important; font-size: 1rem !important; margin-bottom: 1.6rem !important; }

/* Pièce justificative : la source réelle */
.fawz-article .fawz-source {
  background: var(--fz-form);
  border-left: 3px solid var(--fz-prefecture);
  padding: 1rem 1.2rem;
  margin: 2.5rem 0 1rem;
  font-size: .98rem;
  line-height: 1.55;
}
.fawz-article .fawz-source p { margin: 0 0 .4rem; }
.fawz-article .fawz-source p:last-child { margin: 0; }
.fawz-article .fawz-source__label { font-weight: 700; }
.fawz-article .fawz-disclaimer { font-size: .9rem; font-style: italic; color: var(--fz-pencil); }

/* Paywall (plugin Fawz Premium) accordé au journal */
.fawz-article .fawz-meter { font-family: var(--fz-serif); background: var(--fz-form); border-left-color: var(--fz-stamp); }
.fawz-article .fawz-paywall { font-family: var(--fz-serif); border-color: var(--fz-ink); background: var(--fz-paper); border-radius: 4px; }
.fawz-article .fawz-paywall h3 { font-family: var(--fz-serif); }
.fawz-article .fawz-btn { background: var(--fz-stamp); border-radius: 4px; }

/* ---------- Mobile ---------- */

@media (max-width: 720px) {
  .fawz-day { grid-template-columns: 1fr; gap: .9rem; }
  .fawz-day__date { position: static; }
  .fawz-entry__title { font-size: 1.3rem; }
  .fawz-article .page-content, .fawz-article .entry-content { font-size: 1.08rem; }
}

/* =====================================================================
 * v3.8 — identité propre, rubriques, une à trois niveaux
 * ===================================================================== */

/* Le journal a sa propre maison : on masque l'en-tête et le pied du site AMENYS */
.fawz-site #site-header,
.fawz-site .site-header,
.fawz-site .elementor-location-header,
.fawz-site #site-footer,
.fawz-site .site-footer,
.fawz-site .elementor-location-footer { display: none !important; }

/* Bandeau supérieur */
.fawz-bar { font-family: var(--fz-serif); color: var(--fz-ink); border-bottom: 1px solid var(--fz-form); background: var(--fz-paper); }
.fawz-bar__inner { max-width: 68rem; margin: 0 auto; padding: .7rem 1.25rem; display: flex; align-items: center; gap: 1.5rem; font-size: .95rem; }
.fawz-bar a { color: var(--fz-ink); text-decoration: none; }
.fawz-bar a:hover { color: var(--fz-stamp); }
.fawz-bar a:focus-visible { outline: 2px solid var(--fz-stamp); outline-offset: 3px; }
.fawz-bar__parent { color: var(--fz-pencil) !important; font-style: italic; }
.fawz-bar__logo .fawz-stamp { font-size: 1.35rem; }
.fawz-bar__account { margin-left: auto; display: flex; gap: 1.2rem; align-items: center; }
.fawz-bar__cta { background: var(--fz-stamp); color: var(--fz-paper) !important; padding: .35rem .9rem; border-radius: 3px; font-weight: 600; }
.fawz-bar__cta:hover { background: var(--fz-ink); }
.fawz-bar .fawz-rubrics { max-width: 68rem; margin: 0 auto; padding: 0 1.25rem; }

/* Rubriques */
.fawz-rubrics ul { list-style: none; margin: 0; padding: 0; display: flex; gap: .25rem 1.4rem; overflow-x: auto; scrollbar-width: none; white-space: nowrap; }
.fawz-rubrics ul::-webkit-scrollbar { display: none; }
.fawz-rubrics li { margin: 0; }
.fawz-rubrics a { display: inline-block; padding: .55rem 0; color: var(--fz-ink); text-decoration: none; font-size: 1rem; border-bottom: 2px solid transparent; }
.fawz-rubrics a:hover { color: var(--fz-stamp); }
.fawz-rubrics a[aria-current="page"] { border-bottom-color: var(--fz-stamp); font-weight: 650; }
.fawz > .fawz-rubrics { border-bottom: 1px solid var(--fz-ink); margin: -1rem 0 2.5rem; }
.fawz-masthead { border-bottom: 0; margin-bottom: 1rem; }
.fawz-masthead__logo { text-decoration: none; }

/* Mention « Satire » sur chaque article, lien vers la source réelle */
.fawz-tag {
  display: inline-block; color: var(--fz-stamp); border: 1.5px solid currentColor; border-radius: 2px;
  padding: 0 .3em .05em; font-style: italic; font-weight: 700; font-size: .82em; line-height: 1.35;
  transform: rotate(-2deg);
}
.fawz-lead__meta a, .fawz-entry__meta a { color: var(--fz-pencil); }

/* Niveau 2 : trois articles secondaires */
.fawz-second { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem 2.25rem; padding: 2rem 0 2.5rem; border-top: 1px solid var(--fz-ink); margin-bottom: 1rem; }
.fawz-second__item { margin: 0; }
.fawz-second__title { font-size: 1.35rem; line-height: 1.2; font-weight: 650; margin: 0 0 .5rem; text-wrap: balance; }
.fawz-second__title a { color: var(--fz-ink); text-decoration: none; }
.fawz-second__title a:hover { color: var(--fz-stamp); }
.fawz-second__excerpt { font-size: 1rem; line-height: 1.55; margin: 0 0 .5rem; }

/* Niveau 3 : le fil compact */
.fawz-feed__title { font-size: 1.6rem; font-weight: 700; font-style: italic; margin: 1.5rem 0 0; padding-top: 1.5rem; border-top: 1px solid var(--fz-ink); }
.fawz-day { padding: 1.25rem 0; }
.fawz-entry { margin: 0 0 1.1rem; }
.fawz-entry__title { font-size: 1.18rem; margin: 0 0 .2rem; }
.fawz-entry__meta .fawz-entry__rubric { display: inline; font-size: 1em; margin: 0 .4em 0 0; }

.fawz-empty { font-size: 1.15rem; font-style: italic; color: var(--fz-pencil); padding: 2rem 0; }

/* Articles : à lire ensuite */
.fawz-related { margin: 3rem 0 1rem; padding-top: 1.5rem; border-top: 1px solid var(--fz-ink); }
.fawz-related__title { font-family: var(--fz-serif); font-size: 1.3rem; font-style: italic; font-weight: 700; margin: 0 0 .8rem; }
.fawz-related ul { margin: 0 0 1rem; padding-left: 1.1rem; }
.fawz-related li { margin: 0 0 .5rem; font-weight: 600; }

/* Pied de page */
.fawz-foot { font-family: var(--fz-serif); color: var(--fz-pencil); border-top: 1px solid var(--fz-form); margin-top: 3rem; }
.fawz-foot__inner { max-width: 68rem; margin: 0 auto; padding: 1.5rem 1.25rem 2.5rem; font-size: .92rem; line-height: 1.55; }
.fawz-foot p { margin: 0 0 .4rem; max-width: 44rem; }
.fawz-foot a { color: var(--fz-ink); }

@media (max-width: 900px) {
  .fawz-second { grid-template-columns: 1fr; gap: 1.6rem; }
}
@media (max-width: 720px) {
  .fawz-bar__parent { display: none; }
  .fawz-bar__inner { gap: 1rem; }
}

/* Impression / PDF : pas d'adresses après les liens, pas de navigation */
@media print {
  .fawz-site a[href]::after { content: none !important; }
  .fawz-bar, .fawz-rubrics, .fawz-pager, .fawz-related, #tidio-chat, #tidio-chat-iframe { display: none !important; }
  .fawz-stamp, .fawz-tag, .fawz-article .fawz-kicker { color: #c4122f !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
