/* ==========================================================================
   02-base.css — Reset léger, base typographique et primitives partagées.
   Porté de docs/index.html.
   ========================================================================== */

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

body{
  margin:0;
  background:var(--blanc);
  color:var(--encre);
  font-family:var(--font-corps);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--font-titre);font-weight:500;line-height:1.05;margin:0}
p{margin:0}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit}

/* Conteneur */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}

/* Sur-titre */
.eyebrow{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--laiton);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--laiton);display:inline-block}
.eyebrow.center::after{content:"";width:26px;height:1px;background:var(--laiton);display:inline-block}

/* Boutons */
.btn{display:inline-block;background:var(--laiton);color:#fff;font-weight:700;font-size:14.5px;padding:12px 22px;border-radius:var(--btn-radius);border:0;cursor:pointer;transition:transform .15s ease,background .2s ease;letter-spacing:.01em}
.btn:hover{background:var(--laiton-clair);transform:translateY(-1px)}
.btn-ghost{background:transparent;border:1px solid var(--craie);color:var(--craie)}
.btn-ghost:hover{background:var(--craie);color:var(--noir)}

/* Sections */
section.block{padding:84px 0}
.sec-head{text-align:center;max-width:640px;margin:0 auto 50px}
.sec-head h2{font-size:clamp(32px,4.4vw,52px);margin-top:18px;font-weight:400}
.sec-head p{color:var(--muted);margin-top:14px;font-size:16.5px}
.week-label{display:inline-block;margin-top:14px;font-family:var(--font-titre);font-style:italic;font-size:19px;color:var(--laiton)}

/* Badge */
.badge{display:inline-block;background:var(--badge-bg);color:#fff;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:5px 12px;border-radius:999px}

/* Accessibilité */
.apc-skip{position:absolute;left:-9999px;top:0;background:var(--laiton);color:var(--noir);padding:10px 16px;z-index:200;border-radius:0 0 8px 0}
.apc-skip:focus{left:0}
:focus-visible{outline:2px solid var(--laiton-clair);outline-offset:3px;border-radius:4px}

/* --------------------------------------------------------------------------
   Gabarit de secours (Phase 1) — conservé pour les vues sans contenu.
   -------------------------------------------------------------------------- */
.apc-fallback{background:var(--noir);color:var(--craie);min-height:100vh;display:flex}
.apc-fallback__wrap{max-width:var(--maxw);margin:auto;padding:48px 28px;text-align:center}
.apc-fallback__brand{margin-bottom:28px}
.apc-fallback__logo{font-family:var(--font-titre);font-size:30px;color:var(--craie)}
.apc-fallback__logo i{font-style:italic;color:var(--laiton-clair)}
.apc-fallback__content h1{font-size:clamp(30px,5vw,52px);font-weight:400;margin-bottom:14px}
.apc-fallback__content p{color:var(--muted-dark)}
.apc-fallback__content a{color:var(--laiton-clair)}
.apc-fallback__content strong{color:var(--craie)}
