/* The Praudif Concept · design inspiré de la référence FUTUMUNA.
   Méthode Claude to Divi : tout le design passe par les classes posées en
   module_class. Jamais de sélecteur .et_pb_xxx_N (numéro d'ordre).

   Portée : chaque section du design porte la classe « pc ». Le préfixe
   .pc:not(#_) donne une spécificité d'identifiant (1,1,0) sans dépendre d'un id
   réel : il passe devant les styles de Divi et du Theme Customizer, et ne
   touche à rien en dehors des sections du design (les pages internes gardent
   leur style actuel jusqu'à leur refonte). */

:root{
  /* Registre de la référence : aucun accent, neutres froids, étiquettes noires. */
  --pc-bg:#222222;
  --pc-surface:#2c2c2c;
  --pc-fg:#f5f5f5;
  --pc-muted:#a6a6a6;
  --pc-line:#3a3a3a;
  --pc-noir:#000000;
  --pc-blanc:#ffffff;
  --pc-logo:"Archivo","Arial Black",sans-serif;
  --pc-nav:"Barlow Condensed","Arial Narrow",sans-serif;
  --pc-texte:"Manrope",system-ui,-apple-system,sans-serif;
}

body.home,body.home #page-container,body.home #main-content{background:var(--pc-bg)}

/* ------------------------------------------------------------ base neutre */
.pc:not(#_){background:var(--pc-bg);color:var(--pc-fg);font-family:var(--pc-texte);
  font-size:15px;line-height:1.6;padding:0;-webkit-font-smoothing:antialiased}
.pc:not(#_) .et_pb_row{width:100%;max-width:1180px;margin-inline:auto;padding:0 16px;float:none}
.pc:not(#_) .et_pb_row::after{display:none}
.pc:not(#_) .et_pb_column{float:none;width:auto;margin:0}
.pc:not(#_) .et_pb_module{margin:0}
.pc:not(#_) :is(h1,h2,h3,h4,p,ul,ol,li,blockquote){margin:0;padding:0;color:inherit;
  font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;font-style:normal;border:0}
.pc:not(#_) :is(ul,ol){list-style:none}
.pc:not(#_) :is(h1,h2,h3,h4){font-weight:700;line-height:1.3;text-wrap:balance}
.pc:not(#_) a{color:inherit;text-decoration:none}
.pc:not(#_) a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.pc:not(#_) img{display:block}

/* Titres de rubrique : condensée, capitales (comme « NOS ARTICLES »). */
.pc:not(#_) .et_pb_text.tete h2,.pc:not(#_) .et_pb_text.sommaire h2,.pc:not(#_) .et_pb_text.rdv h2{
  font-family:var(--pc-nav);font-weight:700;font-size:20px;letter-spacing:.04em;text-transform:uppercase;line-height:1.2}

/* ------------------------------------------------------------ en-tête */
.pc.entete:not(#_) .et_pb_row{max-width:none;padding:0 16px}
.pc.entete:not(#_) .et_pb_row.brand{border-bottom:1px solid var(--pc-line);padding-block:22px;text-align:center}
.pc:not(#_) .et_pb_text.logo p{font-family:var(--pc-logo);font-weight:900;font-size:clamp(28px,5vw,46px);
  letter-spacing:-.02em;text-transform:uppercase;line-height:1}
.pc.entete:not(#_) .et_pb_row.navrow{border-bottom:1px solid var(--pc-line)}
.pc.entete:not(#_) .et_pb_row.navrow .et_pb_column{display:flex;flex-wrap:wrap;justify-content:center;
  align-items:center;gap:8px 28px;padding-block:12px}

/* Module Menu de Divi */
.pc:not(#_) .et_pb_menu.menu{background:transparent}
.pc:not(#_) .et_pb_menu.menu .et-menu{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin:0}
.pc:not(#_) .et_pb_menu.menu .et-menu>li{padding:0;font-size:15px}
.pc:not(#_) .et_pb_menu.menu .et-menu>li>a{font-family:var(--pc-nav);font-weight:600;font-size:15px;
  letter-spacing:.06em;text-transform:uppercase;color:var(--pc-fg);padding-block:4px}
.pc:not(#_) .et_pb_menu.menu .et-menu>li>a:hover{opacity:.7}
.pc:not(#_) .et_pb_menu.menu .et-menu>li.current-menu-item>a{color:var(--pc-muted);
  text-decoration:underline;text-underline-offset:6px}
.pc:not(#_) .et_pb_menu.menu .et-menu .sub-menu{background:var(--pc-bg);border:1px solid var(--pc-line);
  border-top:2px solid var(--pc-fg);box-shadow:none}
.pc:not(#_) .et_pb_menu.menu .et-menu .sub-menu a{color:var(--pc-fg);font-family:var(--pc-texte);font-size:14px;
  text-transform:none;letter-spacing:0}
.pc:not(#_) .et_pb_menu.menu .mobile_menu_bar::before{color:var(--pc-fg)}
/* Panneau mobile : blanc par défaut chez Divi, illisible ici. Seul !important justifié. */
.pc:not(#_) .et_pb_menu.menu .et_mobile_menu{background:var(--pc-bg)!important;border-top:2px solid var(--pc-fg)!important}
.pc:not(#_) .et_pb_menu.menu .et_mobile_menu a{color:var(--pc-fg)!important;font-family:var(--pc-nav);
  text-transform:uppercase;letter-spacing:.06em;border-bottom-color:var(--pc-line)}

/* Bouton Divi « Prenons rendez-vous » : sans flèche ni saut au survol. */
.pc:not(#_) .et_pb_button.cta,.pc:not(#_) .et_pb_button.cta:hover{background:var(--pc-fg);color:var(--pc-bg);
  border:0;border-radius:0;padding:4px 12px;font-family:var(--pc-nav);font-weight:700;font-size:15px;
  letter-spacing:.06em;text-transform:uppercase;line-height:1.5!important}
.pc:not(#_) .et_pb_button.cta:hover{opacity:.85}
.pc:not(#_) .et_pb_button.cta::after,.pc:not(#_) .et_pb_button.cta:hover::after{display:none}

/* Bandeau noir défilant */
.pc.entete:not(#_) .et_pb_row.ticker-row{padding:0;background:var(--pc-noir)}
.pc:not(#_) .et_pb_text.ticker .et_pb_text_inner{display:flex;align-items:center;overflow:hidden;
  color:var(--pc-blanc);font-size:13px;line-height:1.4}
.pc:not(#_) .et_pb_text.ticker p{flex:none;position:relative;z-index:1;background:var(--pc-blanc);color:var(--pc-noir);
  font-family:var(--pc-nav);font-weight:600;letter-spacing:.15em;text-transform:uppercase;padding:8px 14px}
.pc:not(#_) .et_pb_text.ticker ul{display:flex;gap:48px;white-space:nowrap;padding-left:24px}
.pc:not(#_) .et_pb_text.ticker li::after{content:"•";margin-left:48px;opacity:.5}
.pc:not(#_) .et_pb_text.ticker ul.defile{animation:pc-defile 45s linear infinite}
@keyframes pc-defile{to{transform:translateX(-50%)}}

/* ------------------------------------------------------------ à la une */
.pc.une:not(#_){padding-block:36px}
.pc:not(#_) .et_pb_row.une-row{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:36px;align-items:start}
.pc:not(#_) .et_pb_column.principal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.pc:not(#_) .et_pb_column.principal>.carte-une{grid-column:1/-1}

/* Carte : photo en arrière-plan du module, étiquettes et titre sur fond noir. */
.pc:not(#_) .et_pb_text.carte{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:4/3;max-width:100%;
  display:flex;flex-direction:column;justify-content:flex-end;background-size:cover;background-position:center;color:var(--pc-blanc)}
.pc:not(#_) .et_pb_text.carte::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(0,0,0,.7),rgba(0,0,0,0) 60%)}
.pc:not(#_) .et_pb_text.carte .et_pb_text_inner{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px}
.pc:not(#_) .et_pb_text.carte .tags{display:flex;flex-wrap:wrap;gap:8px}
.pc:not(#_) .et_pb_text.carte .tags span{background:var(--pc-noir);color:var(--pc-blanc);font-family:var(--pc-nav);
  font-weight:700;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;line-height:1.4}
.pc:not(#_) .et_pb_text.carte :is(h1,h2,h3){font-size:18px;font-weight:500;line-height:1.5}
.pc:not(#_) .et_pb_text.carte :is(h1,h2,h3) span{background:var(--pc-noir);padding:2px 8px;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
.pc:not(#_) .et_pb_text.carte :is(h1,h2,h3) a::after{content:"";position:absolute;inset:0}
.pc:not(#_) .et_pb_text.carte:hover :is(h1,h2,h3) span{text-decoration:underline;text-underline-offset:4px}
.pc:not(#_) .et_pb_text.carte .meta{font-size:12px;opacity:.85;max-width:60ch}
.pc:not(#_) .et_pb_text.carte-une{aspect-ratio:21/9}
.pc:not(#_) .et_pb_text.carte-une .et_pb_text_inner{padding:28px}
.pc:not(#_) .et_pb_text.carte-une h1{font-size:clamp(22px,3vw,32px);line-height:1.45}

/* Colonne latérale : sommaire numéroté (comme « NOS ARTICLES »). */
.pc:not(#_) .et_pb_text.sommaire .et_pb_text_inner{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:0 12px}
.pc:not(#_) .et_pb_text.sommaire .sous{font-size:12px;color:var(--pc-muted)}
.pc:not(#_) .et_pb_text.sommaire ol{grid-column:1/-1;margin-top:10px;border-top:1px solid var(--pc-line)}
.pc:not(#_) ol.num{counter-reset:pc}
.pc:not(#_) ol.num li{counter-increment:pc;display:grid;grid-template-columns:40px 1fr;column-gap:14px;
  padding-block:16px;border-bottom:1px solid var(--pc-line)}
.pc:not(#_) ol.num li::before{content:counter(pc);grid-row:1/3;font-size:30px;font-weight:400;line-height:1;
  color:var(--pc-muted);text-align:center;border-right:1px solid var(--pc-line);padding-top:2px}
.pc:not(#_) ol.num li>:first-child{grid-column:2;font-weight:500;line-height:1.45}
.pc:not(#_) ol.num li>span{grid-column:2;font-size:12px;color:var(--pc-muted)}
.pc:not(#_) ol.num li>a:hover{text-decoration:underline;text-underline-offset:4px}

.pc:not(#_) .et_pb_text.rdv{margin-top:28px;background:var(--pc-surface);padding:20px}
.pc:not(#_) .et_pb_text.rdv .et_pb_text_inner{display:grid;gap:10px}
.pc:not(#_) .et_pb_text.rdv p{font-size:14px;color:var(--pc-muted)}
.pc:not(#_) .et_pb_text.rdv .contact{color:var(--pc-fg);font-weight:700;user-select:all}
.pc:not(#_) .lien-btn{display:inline-block;background:var(--pc-fg);color:var(--pc-bg);font-family:var(--pc-nav);
  font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px}
.pc:not(#_) .lien-btn:hover{opacity:.85}

/* ------------------------------------------------------------ rubriques */
.pc:is(.projets,.apropos,.equipe,.partenaires):not(#_){padding-block:20px 44px}
.pc:not(#_) .et_pb_text.tete .et_pb_text_inner{display:flex;flex-wrap:wrap;justify-content:space-between;
  align-items:baseline;gap:8px 16px;border-top:1px solid var(--pc-line);padding-top:24px;margin-bottom:24px}
.pc:not(#_) .et_pb_text.tete .voir a{font-family:var(--pc-nav);font-weight:600;font-size:14px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--pc-muted)}
.pc:not(#_) .et_pb_text.tete .voir a:hover{color:var(--pc-fg)}
.pc:not(#_) .et_pb_text.tete .intro{flex:1 0 100%;color:var(--pc-muted)}

.pc:not(#_) .et_pb_row.grille3 .et_pb_column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pc:not(#_) .et_pb_row.grille3 .et_pb_text.carte{aspect-ratio:3/2}

.pc:not(#_) .et_pb_row.deux{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.pc:not(#_) .et_pb_text.citation blockquote p{font-weight:500;
  font-size:clamp(22px,2.6vw,28px);line-height:1.4;text-wrap:balance}
.pc:not(#_) .et_pb_text.citation .cite{margin-top:16px;font-family:var(--pc-nav);font-weight:600;font-size:14px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--pc-muted)}
.pc:not(#_) .et_pb_text.apropos-texte>.et_pb_text_inner>p{color:var(--pc-muted);max-width:62ch;margin-bottom:8px}
.pc:not(#_) .et_pb_text.apropos-texte strong{font-weight:500}

.pc:not(#_) .et_pb_row.grille4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.pc:not(#_) .et_pb_image.portrait{aspect-ratio:1;max-width:100%;overflow:hidden;background:var(--pc-surface)}
.pc:not(#_) .et_pb_image.portrait .et_pb_image_wrap{display:block;width:100%;height:100%}
.pc:not(#_) .et_pb_image.portrait img{width:100%;height:100%;object-fit:cover}
.pc:not(#_) .et_pb_text.membre{margin-top:12px}
.pc:not(#_) .et_pb_text.membre h3{font-size:15px}
.pc:not(#_) .et_pb_text.membre p{font-family:var(--pc-nav);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--pc-muted)}

.pc:not(#_) .et_pb_image.logo-partenaire{aspect-ratio:2/1;max-width:100%;background:#f2f2f2;padding:18px;
  display:flex;align-items:center;justify-content:center}
.pc:not(#_) .et_pb_image.logo-partenaire .et_pb_image_wrap{display:block;width:100%;height:100%}
.pc:not(#_) .et_pb_image.logo-partenaire img{width:100%;height:100%;object-fit:contain}

/* ------------------------------------------------------------ pied de page */
.pc.pied:not(#_){background:var(--pc-noir);color:#cfcfcf}
.pc:not(#_) .et_pb_row.pied-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;padding-block:44px}
.pc:not(#_) .et_pb_text.pied-logo .logo-pied{font-family:var(--pc-logo);font-weight:900;font-size:24px;
  color:var(--pc-blanc);text-transform:uppercase;margin-bottom:8px}
.pc:not(#_) .et_pb_text.pied-logo p,.pc:not(#_) .et_pb_text.pied-col li{font-size:14px}
.pc:not(#_) .et_pb_text.pied-col h4{font-family:var(--pc-nav);font-weight:700;font-size:16px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--pc-blanc);margin-bottom:10px}
.pc:not(#_) .et_pb_text.pied-col ul{display:grid;gap:6px}
.pc:not(#_) .et_pb_text.pied-col a:hover{color:var(--pc-blanc);text-decoration:underline}
.pc:not(#_) .et_pb_row.legal-row{max-width:none;border-top:1px solid #1f1f1f;padding-block:16px}
.pc:not(#_) .et_pb_text.legal p{font-size:12px;color:#8a8a8a;text-align:center}

/* ------------------------------------------------------------ adaptatif */
@media (max-width:900px){
  .pc:not(#_) .et_pb_row.une-row{grid-template-columns:1fr}
}
@media (max-width:820px){
  .pc:not(#_) .et_pb_row.grille3 .et_pb_column,.pc:not(#_) .et_pb_row.deux{grid-template-columns:1fr}
  .pc:not(#_) .et_pb_row.grille4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pc:not(#_) .et_pb_row.pied-row{grid-template-columns:1fr}
}
@media (max-width:560px){
  .pc:not(#_) .et_pb_column.principal{grid-template-columns:1fr}
  .pc:not(#_) .et_pb_text.carte-une{aspect-ratio:4/5}
  .pc:not(#_) .et_pb_text.carte-une .et_pb_text_inner{padding:20px}
}
@media (prefers-reduced-motion:reduce){
  .pc:not(#_) .et_pb_text.ticker ul.defile{animation:none}
}
