/* ==========================================================================
   advitam — hub du blogue
   Charge uniquement sur l'index des articles et les archives.
   Toutes les classes sont prefixees .advb- pour ne rien casser ailleurs.
   ========================================================================== */

.advb{
  --esp:#3A2419; --ivo:#EDEBDC; --sab:#DDDAC7; --rose:#DEB9B3;
  --sau:#DA5229; --taupe:#877F6C; --brique:#9E3A18;
  --disp:"Funnel Display","Funnel Sans",sans-serif;
  --sans:"Funnel Sans",sans-serif;
}
.advb *{box-sizing:border-box}
.advb{background:var(--esp);color:var(--ivo);font-family:var(--sans);
  -webkit-font-smoothing:antialiased}
.advb a{text-decoration:none !important;color:inherit}
.advb ul{list-style:none;margin:0;padding:0}
.advb :is(h1,h2,h3,h4,p){margin:0;padding:0}


/* ==========================================================================
   Priorité sur le kit Elementor
   Les réglages globaux imposent police, majuscules, centrage et couleurs
   aux titres et aux liens. On reprend la main sur tout ce qui compte.
   ========================================================================== */
.advb :is(h1,h2,h3,h4,h5,h6){
  font-family:var(--disp) !important;
  font-weight:500 !important;
  text-transform:none !important;
  text-align:left !important;
}
.advb :is(p,li){
  font-family:var(--sans) !important;
  font-weight:400 !important;
  text-transform:none !important;
  text-align:left !important;
}
.advb a,.advb a:hover,.advb a:visited,.advb a:focus{
  color:inherit !important;
  text-decoration:none !important;
}
/* Les micro-libellés doivent rester en capitales malgré le forçage. */
.advb-ved__eti,.advb-ved__meta,.advb-ved__meta span,
.advb-art__meta,.advb-art__meta span,.advb-eb{text-transform:uppercase !important}
.advb-ved__meta,.advb-ved__meta span{color:#7D7361 !important}
.advb-art__meta,.advb-art__meta span{color:var(--taupe) !important}

.advb-env{max-width:1200px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.advb-sec{padding:clamp(46px,6vw,88px) 0}
.advb-sec--haut{padding-top:clamp(26px,3vw,44px)}

/* ---------- eyebrow ---------- */
.advb-eb{display:flex;align-items:center;gap:14px;font-size:clamp(.62rem,.86vw,.8rem);
  font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--rose);
  margin-bottom:clamp(16px,2vw,28px)}
.advb-eb::before{content:"";flex:none;width:clamp(18px,3.2vw,56px);height:1px;background:var(--taupe)}

/* ---------- barre de titre ---------- */
.advb-tete{padding:clamp(92px,10vw,150px) 0 clamp(20px,2.4vw,32px)}
.advb-tete__in{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,56px);
  align-items:baseline;padding-bottom:clamp(18px,2vw,26px);
  border-bottom:1px solid rgba(135,127,108,.34)}
.advb-tete h1{font-size:clamp(1.7rem,3.4vw,2.6rem) !important;
  line-height:1 !important;letter-spacing:-.035em !important;color:var(--ivo) !important}
.advb-tete p{font-size:clamp(.95rem,1.15vw,1.05rem) !important;line-height:1.55 !important;color:var(--sab) !important;
  max-width:46ch;justify-self:end;text-align:right !important}
@media(max-width:760px){
  .advb-tete__in{grid-template-columns:1fr;gap:14px}
  .advb-tete p{justify-self:start;text-align:left !important}
}

/* ---------- article vedette ---------- */
.advb-ved{background:var(--ivo);color:var(--esp);border-radius:clamp(26px,3.2vw,48px);
  padding:clamp(28px,4vw,58px);display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(26px,3.4vw,54px);align-items:center;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.advb-ved:hover{transform:translateY(-4px)}
.advb-ved__eti{color:#fff !important;display:inline-block;font-size:.68rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:#fff;background:var(--sau);border-radius:999px;
  padding:7px 15px;margin-bottom:18px}
.advb-ved h2{font-size:clamp(1.7rem,3.2vw,2.7rem) !important;
  line-height:1.06 !important;letter-spacing:-.034em !important;color:var(--esp) !important;
  max-width:19ch;transition:color .3s}
.advb-ved:hover h2{color:var(--brique) !important}
.advb-ved__ch{margin-top:16px;font-size:clamp(.98rem,1.2vw,1.06rem);line-height:1.62;
  color:#5A4534 !important;max-width:44ch;display:block}
.advb-ved__bas{margin-top:26px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.advb-ved__meta{font-size:.76rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  color:#7D7361;display:flex;gap:14px;align-items:center}
.advb-ved__meta span+span::before,.advb-art__meta span+span::before{content:"";display:inline-block;
  width:3px;height:3px;border-radius:50%;background:currentColor;vertical-align:middle;
  margin-right:14px}
.advb-ved__ph{aspect-ratio:16/11;border-radius:22px;overflow:hidden;
  background:linear-gradient(150deg,#877F6C,#3A2419);position:relative}
.advb-ved__ph::after{content:"";position:absolute;inset:0;
  background:radial-gradient(110% 80% at 78% 18%,rgba(218,82,41,.34),transparent 62%)}
.advb-ved__ph img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}
.advb-ved__ph:has(img)::after{display:none}
.advb-ved__fl{width:46px;height:46px;border-radius:50%;border:1px solid rgba(58,36,25,.28);
  display:grid;place-items:center;flex:none;
  transition:background .3s,border-color .3s,transform .35s cubic-bezier(.2,.75,.25,1)}
.advb-ved:hover .advb-ved__fl{background:var(--sau);border-color:var(--sau);transform:translateX(5px)}
.advb-ved__fl svg{width:16px;height:16px;stroke:var(--esp);fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
.advb-ved:hover .advb-ved__fl svg{stroke:#fff}

/* ---------- liste ---------- */
.advb-liste__t{font-size:clamp(1.15rem,1.8vw,1.5rem) !important;
  letter-spacing:-.02em !important;color:var(--ivo) !important;margin-bottom:clamp(20px,2.4vw,34px) !important}
.advb-liste li{border-top:1px solid rgba(135,127,108,.34)}
.advb-liste li:last-child{border-bottom:1px solid rgba(135,127,108,.34)}
.advb-art{display:flex;align-items:center;gap:clamp(20px,4vw,60px);
  padding:clamp(22px,3vw,36px) 0;
  transition:padding-left .35s cubic-bezier(.22,1,.36,1)}
.advb-art__txt{flex:1 1 auto;min-width:0}
.advb-art:hover{padding-left:14px}
.advb-art__n{font-family:var(--disp);font-size:.88rem;color:var(--taupe);letter-spacing:.1em}
.advb-art h3{font-size:clamp(1.3rem,2.3vw,1.95rem) !important;
  line-height:1.12 !important;letter-spacing:-.03em !important;color:var(--ivo) !important;
  max-width:27ch;transition:color .3s}
.advb-art:hover h3{color:var(--sau) !important}
.advb-art__meta{margin-top:10px;font-size:.76rem;font-weight:600;letter-spacing:.13em;
  text-transform:uppercase;color:var(--taupe);display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.advb-art__fl{width:44px;height:44px;border-radius:50%;border:1px solid rgba(222,185,179,.3);
  display:grid;place-items:center;flex:none;
  transition:background .3s,border-color .3s,transform .35s cubic-bezier(.2,.75,.25,1)}
.advb-art:hover .advb-art__fl{background:var(--sau);border-color:var(--sau);transform:translateX(5px)}
.advb-art__fl svg{width:16px;height:16px;stroke:var(--rose);fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
.advb-art:hover .advb-art__fl svg{stroke:#fff}
/* vignette : n'apparaît que si l'article a une image */
.advb-art__vg{width:104px;aspect-ratio:4/3;border-radius:14px;overflow:hidden;flex:none;
  background:linear-gradient(150deg,#4A3325,#29383D);display:block}
.advb-art__vg img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- pagination ---------- */
.advb-pag{margin-top:clamp(30px,3.4vw,50px);display:flex;align-items:center;gap:10px}
.advb-pag a,.advb-pag span{text-align:center !important;min-width:44px;height:44px;padding:0 14px;border-radius:999px;
  display:grid;place-items:center;font-size:.92rem;font-weight:600;
  border:1px solid rgba(222,185,179,.26);color:var(--rose);
  transition:border-color .3s,color .3s,background .3s}
.advb-pag a:hover{border-color:var(--ivo);color:var(--ivo);background:rgba(237,235,220,.08)}
.advb-pag .current,.advb-pag .ici{background:var(--sau);border-color:var(--sau);color:#fff !important}
.advb-pag .dots{border-color:transparent;background:none;color:var(--taupe)}

/* ---------- état vide ---------- */
.advb-vide{background:var(--ivo);color:var(--esp);border-radius:clamp(26px,3.2vw,48px);
  padding:clamp(38px,5.4vw,84px) clamp(26px,4vw,64px);text-align:left;
  display:grid;grid-template-columns:1fr auto;gap:clamp(26px,4vw,60px);align-items:end}
.advb-vide h2{font-size:clamp(1.8rem,4.2vw,3.2rem) !important;
  line-height:1.02 !important;letter-spacing:-.035em !important;color:var(--esp) !important;max-width:15ch}
.advb-vide h2 .advb-acc{color:var(--sau)}
.advb-vide p{margin-top:18px !important;font-size:clamp(.98rem,1.2vw,1.06rem) !important;
  line-height:1.62 !important;color:#5A4534 !important;max-width:48ch}
.advb-vide__q{margin-top:26px;padding-top:22px;border-top:1px solid rgba(58,36,25,.2)}
.advb-vide__q li{padding:9px 0;font-size:clamp(1rem,1.4vw,1.16rem) !important;font-family:var(--disp) !important;
  color:#4A3325 !important;display:flex;gap:12px;align-items:baseline}
.advb-vide__q li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;
  background:var(--sau);transform:translateY(-3px)}

/* ---------- bouton ---------- */
.advb-btn{color:#fff !important;--h:56px;box-sizing:border-box;height:var(--h);display:inline-flex;align-items:center;
  gap:12px;font-size:16px;font-weight:600;line-height:1;border-radius:999px;
  white-space:nowrap;flex:none;background:var(--sau);color:#fff;padding:0 26px 0 7px;
  transition:background-color .35s,color .35s}
.advb-btn:hover{background:var(--esp);color:var(--ivo) !important}
.advb-btn__r{flex:none;width:calc(var(--h) - 14px);height:calc(var(--h) - 14px);border-radius:50%;
  background:var(--ivo);display:grid;place-items:center;
  transition:transform .4s cubic-bezier(.2,.75,.25,1)}
.advb-btn:hover .advb-btn__r{transform:translateX(4px)}
.advb-btn__r svg{width:17px;height:17px;stroke:var(--sau);fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round}

.advb :focus-visible{outline:2px solid var(--sau);outline-offset:3px;border-radius:8px}
.advb-ved :focus-visible,.advb-vide .advb :focus-visible{outline-color:var(--esp)}

@media(max-width:900px){
  .advb-ved{grid-template-columns:1fr}
  .advb-ved__ph{order:-1;aspect-ratio:16/9}
  .advb-vide{grid-template-columns:1fr;align-items:start}
}
@media(max-width:640px){
  .advb-art{gap:16px}
  .advb-art__n,.advb-art__vg{display:none}
}

/* ---------- apparition ---------- */
.advb-rev{opacity:0;transform:translateY(20px)}
.advb-rev.advb-vu{animation:ap .8s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--r,0s)}
@keyframes ap{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.advb-rev{opacity:1 !important;transform:none !important;animation:none !important}}


/* ---------- images de vignette ---------- */
.advb-art__vg img{width:100%;height:100%;object-fit:cover;display:block}

/* ==========================================================================
   Pleine largeur
   Hello Elementor pose une largeur maximale sur .site-main et Elementor sur
   ses conteneurs. Le fond espresso doit couvrir toute la fenêtre, alors que
   le contenu reste plafonné à 1200 px par .advb-env.
   ========================================================================== */
.advb{
  width:100vw;
  max-width:100vw;
  margin-inline:calc(50% - 50vw);
  padding:0;
  float:none;
  clear:both;
}
/* Empêche la barre de défilement verticale de créer un débordement latéral. */
html:has(.advb){overflow-x:clip}
@supports not (overflow:clip){
  html:has(.advb){overflow-x:hidden}
}
/* Filet si un thème enveloppe encore le contenu. */
.advb.site-main,
.site-main > .advb,
.site > .advb{max-width:100vw !important;padding:0 !important}