/* ============================================================
   Pages — Les Alvéoles-Portails
   Sections « charte » en pleine largeur (bandes), à déposer dans
   des pages Divi vierges via shortcodes. Remplace le fond vert.
   ============================================================ */

.alv-band{
  --parchemin:#F5EEE0; --creme:#FBF6EA; --kraft:#E9D8B6;
  --ecorce:#2A2017; --noyer:#553A22; --ambre:#E8A83A; --ambre-clair:#F2C766;
  --ambre-texte:#8A5712; --chene:#2D5A27; --granit:#6B7079; --trait:#D8C8A6;
  --serif:'Playfair Display',Georgia,serif; --sans:'Montserrat',system-ui,sans-serif;

  /* pleine largeur, même dans une colonne de contenu étroite */
  position:relative;
  width:100vw; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw;
  font-family:var(--sans); color:var(--ecorce); line-height:1.66;
}
.alv-band *{box-sizing:border-box}
.alv-band img{max-width:100%;display:block}
.alv-band a{text-decoration:none}

.alv-band--parchemin{background:var(--parchemin)}
.alv-band--creme{background:var(--creme)}
.alv-band--kraft{background:var(--kraft)}
.alv-band__inner{max-width:1080px;margin:0 auto;padding:64px 24px}

/* texte de section */
.alv-h2{font-family:var(--serif);font-weight:700;font-size:clamp(1.7rem,4vw,2.5rem);color:var(--ecorce);text-align:center;margin:0}
.alv-sub{text-align:center;color:var(--noyer);max-width:60ch;margin:10px auto 0;font-size:1.02rem}
.alv-kicker{text-align:center;font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ambre-texte);font-weight:700;margin-bottom:10px}

/* ---------- HERO ---------- */
.alv-hero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;
  min-height:clamp(380px,52vw,580px);display:flex;align-items:center;justify-content:center;text-align:center;
  background-size:cover;background-position:center;color:#FBF6EA;
  font-family:var(--sans)}
.alv-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,32,23,.50),rgba(42,32,23,.74))}
.alv-hero__inner{position:relative;z-index:2;max-width:760px;padding:48px 24px}
.alv-hero__title{font-family:var(--serif);font-weight:800;font-size:clamp(2.2rem,6vw,4rem);line-height:1.05;margin:0;color:#FBF6EA !important;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.alv-hero__title .d{color:var(--ambre-clair) !important}
.alv-hero__sub{font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,2.4vw,1.5rem);margin-top:12px;opacity:.96;color:#FBF6EA !important}
.alv-hero__ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
.alv-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--sans);font-weight:700;font-size:.98rem;padding:14px 26px;border-radius:13px;transition:transform .15s}
.alv-btn:hover{transform:translateY(-2px)}
.alv-btn--primary{background:var(--ambre);color:#3a2906;box-shadow:0 8px 22px -8px rgba(138,87,18,.6)}
.alv-btn--ghost{background:rgba(42,32,23,.55);border:1.5px solid var(--ambre-clair);color:#FBF6EA}

/* ---------- ÉTAPES ---------- */
.alv-etapes__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:38px}
@media(max-width:760px){.alv-etapes__grid{grid-template-columns:1fr;gap:34px}}
.alv-etape{text-align:center}
.alv-etape__img{width:150px;height:135px;margin:0 auto 16px;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
  background:linear-gradient(165deg,#7A5430,#3C2716);background-size:cover;background-position:center;
  display:flex;align-items:center;justify-content:center;color:var(--ambre-clair);font-family:var(--serif);font-weight:800;font-size:2rem;
  box-shadow:0 14px 30px -14px rgba(85,58,34,.6)}
.alv-etape__t{font-family:var(--serif);font-weight:700;font-size:1.25rem;color:var(--ecorce);margin:0 0 6px}
.alv-etape__d{color:#4a4034;font-size:.95rem;max-width:34ch;margin:0 auto}

/* ---------- GUIDES ---------- */
.alv-guides__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:34px}
@media(max-width:760px){.alv-guides__grid{grid-template-columns:1fr;gap:18px}}
.alv-guide{display:flex;gap:18px;align-items:center;background:var(--parchemin);border:1px solid var(--trait);border-radius:18px;padding:20px}
.alv-guide__img{width:96px;height:96px;flex:none;border-radius:16px;overflow:hidden;background:linear-gradient(165deg,#6A4A2C,#3C2716);
  display:flex;align-items:center;justify-content:center;color:var(--ambre-clair);font-size:2.4rem}
.alv-guide__img img{width:100%;height:100%;object-fit:cover}
.alv-guide__name{font-family:var(--serif);font-weight:700;font-size:1.25rem;color:var(--ecorce)}
.alv-guide__role{color:var(--ambre-texte);font-weight:600;font-size:.85rem;margin:2px 0 8px}
.alv-guide__txt{color:#4a4034;font-size:.92rem}

/* ---------- CATÉGORIES (hexagones) ---------- */
.alv-cats__grid{display:flex;flex-wrap:wrap;justify-content:center;gap:26px 22px;margin-top:38px}
.alv-cat{width:150px;text-align:center}
.alv-cat__hex{width:130px;height:117px;margin:0 auto 10px;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);
  background:linear-gradient(165deg,#7A5430,#3C2716);background-size:cover;background-position:center;
  display:flex;align-items:center;justify-content:center;color:var(--ambre-clair);font-family:var(--serif);font-weight:800;font-size:1.8rem;
  box-shadow:0 12px 26px -14px rgba(85,58,34,.6);transition:transform .15s, box-shadow .15s;position:relative}
.alv-cat__hex::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(42,32,23,.45));clip-path:inherit}
.alv-cat:hover .alv-cat__hex{transform:translateY(-4px);box-shadow:0 18px 32px -14px rgba(85,58,34,.7)}
.alv-cat__label{font-family:var(--serif);font-weight:600;font-size:.95rem;color:var(--ecorce);line-height:1.2}

/* ---------- BANDEAU TEXTE ---------- */
.alv-bandeau__body{max-width:62ch;margin:18px auto 0;color:#4a4034;font-size:1.02rem;text-align:center}
.alv-bandeau__body p{margin:0 0 12px}

/* ---------- HERO : ligne de texte ---------- */
.alv-hero__text{max-width:62ch;margin:14px auto 0;font-size:1.02rem;opacity:.95;color:#F4ECDC;text-shadow:0 1px 10px rgba(0,0,0,.4)}

/* ---------- BANDE SOMBRE (grades) ---------- */
.alv-band--nuit{background:linear-gradient(160deg,#3C2716,#241710);color:#F0E4CB;overflow:hidden}
.alv-band--nuit::before{content:"";position:absolute;inset:0;opacity:.14;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='84' height='48' viewBox='0 0 84 48'><path d='M21 0h42l21 12v24l-21 12H21L0 36V12z' fill='none' stroke='%23E8A83A' stroke-width='1.5'/></svg>");background-size:84px 48px}
.alv-band--nuit .alv-h2{color:#F4ECDC}
.alv-band--nuit .alv-sub{color:#D8C7A3}
.alv-band--nuit .alv-kicker{color:var(--ambre-clair)}
.alv-band--nuit .alv-band__inner{position:relative;z-index:2}

.alv-grades__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:38px}
@media(max-width:980px){.alv-grades__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.alv-grades__grid{grid-template-columns:1fr}}
.alv-grade{text-align:center}
.alv-grade__badge{width:104px;height:118px;margin:0 auto 10px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  background:linear-gradient(165deg,#5A3C24,#3C2716);background-size:cover;background-position:center;
  display:flex;align-items:center;justify-content:center;color:var(--ambre-clair);font-size:1.7rem;
  box-shadow:0 0 26px rgba(232,168,58,.25)}
.alv-grade__name{font-family:var(--serif);font-weight:700;font-size:1.05rem;color:var(--ambre-clair);line-height:1.15}
.alv-grade__seuil{font-style:italic;font-size:.8rem;color:var(--ambre);margin:4px 0 8px;font-weight:600}
.alv-grade__desc{font-size:.85rem;color:#D8C7A3;line-height:1.5;max-width:30ch;margin:0 auto}

/* ---------- PARTENAIRES (bandeau image compact) ---------- */
.alv-partners{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;
  min-height:clamp(300px,34vw,420px);display:flex;align-items:center;justify-content:center;text-align:center;color:#FBF6EA;
  background-size:cover;background-position:center;font-family:var(--sans)}
.alv-partners::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,32,23,.5),rgba(42,32,23,.66))}
.alv-partners__inner{position:relative;z-index:2;max-width:680px;padding:48px 24px}
.alv-partners__title{font-family:var(--serif);font-weight:800;font-size:clamp(1.7rem,4vw,2.6rem);margin:0;color:#FBF6EA !important;text-shadow:0 2px 16px rgba(0,0,0,.45)}
.alv-partners__text{margin:14px auto 0;font-size:1rem;opacity:.96;max-width:60ch}
.alv-partners__text p{margin:0 0 8px}
.alv-partners .alv-btn{margin-top:24px}

/* ---------- Bandeau avec image (2 colonnes) ---------- */
.alv-bandeau__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,56px);align-items:center;max-width:1100px;margin:0 auto}
.alv-bandeau--media .alv-h2{text-align:left}
.alv-bandeau--media .alv-bandeau__body{max-width:none;margin:14px 0 0;text-align:left}
.alv-bandeau__media img{width:100%;height:auto;border-radius:16px;border:1px solid var(--trait);box-shadow:0 18px 40px -18px rgba(42,32,23,.5)}
.alv-bandeau--img-gauche .alv-bandeau__txt{order:2}
.alv-bandeau--img-gauche .alv-bandeau__media{order:1}
@media(max-width:760px){.alv-bandeau__grid{grid-template-columns:1fr;text-align:center}}
