/*
Theme Name:   Iroko Innov (enfant Astra)
Theme URI:    https://www.irokoinnov.com/
Description:  Thème enfant d'Astra portant l'identité visuelle d'Iroko Innov : cabinet conseil en RSE, communication responsable et innovation environnementale. Les pages sont éditées avec Elementor, l'entête et le pied de page avec Xpro Theme Builder.
Author:       Iroko Innov
Template:     astra
Version:      1.0.0
Text Domain:  iroko-innov-child
*/

/* ==========================================================================
   Réglages d'intégration Astra
   Les styles de l'identité se trouvent dans assets/css/ ; ce fichier ne
   contient que ce qui est nécessaire pour neutraliser les contraintes
   d'Astra sur les gabarits Elementor.
   ========================================================================== */

/* Les sections gèrent elles-mêmes leur largeur via .wrap */
.ast-page-builder-template .site-content > .ast-container,
.ast-plain-container .site-content > .ast-container {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

.ast-page-builder-template .entry-content,
.ast-plain-container .entry-content {
  margin: 0;
}

.ast-page-builder-template .site-main,
.ast-plain-container .site-main {
  padding: 0;
  margin: 0;
}

/* Elementor ajoute une largeur de contenu par défaut : nos sections sont
   déjà larges, on laisse .wrap décider. */
.elementor-section.elementor-section-boxed > .elementor-container { max-width: none; }
.elementor-widget-html { line-height: inherit; }

/* Astra applique ses propres marges aux titres et listes dans le contenu */
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4 { margin-top: 0; }
.entry-content ul, .entry-content ol { margin: 0; }
.entry-content p:last-child { margin-bottom: 0; }

/* L'entête et le pied de page sont fournis par Xpro Theme Builder :
   on masque ceux d'Astra au cas où ils resteraient actifs. */
.ast-page-builder-template .ast-archive-description,
.site-header.ast-primary-header-bar:not(.iroko-header),
header.site-header:not(.iroko-header),
footer.site-footer:not(.iroko-footer) { display: none; }

/* --------------------------------------------------------------------------
   Couleurs globales d'Astra
   Astra impose une couleur aux titres (--ast-global-color-2) et aux citations
   (--ast-global-color-3). L'identité d'Iroko Innov repose au contraire sur
   l'héritage : un titre prend la couleur de la section qui le porte, claire
   sur fond sombre et inversement. On rétablit donc l'héritage, avec une
   spécificité supérieure à celle des règles d'Astra.
   -------------------------------------------------------------------------- */

.elementor :is(h1, h2, h3, h4, h5, h6),
.entry-content :is(h1, h2, h3, h4, h5, h6),
.iroko-header :is(h1, h2, h3, h4, h5, h6),
.iroko-footer :is(h1, h2, h3, h4, h5, h6),
.elementor blockquote,
.entry-content blockquote {
  color: inherit;
}

/* Les exceptions de la maquette restent prioritaires */
.elementor .iroko-footer h4,
.entry-content .iroko-footer h4 { color: rgba(247, 243, 235, .5); }

.elementor .service__cols h4,
.elementor .service__group h4,
.entry-content .service__group h4 { color: var(--text-muted); }

/* Liens sans classe : Astra leur impose sa couleur de lien, on rétablit
   l'héritage. Les liens stylés du thème (.link-arrow, .nav-link, .btn…)
   ne sont pas concernés, ils portent une classe. */
.elementor a:not([class]),
.entry-content a:not([class]),
.iroko-header a:not([class]),
.iroko-footer a:not([class]) {
  color: inherit;
}

/* Pages d'articles et d'archives : Astra y applique son fond bleuté
   (--ast-global-color-5) via une classe sur le body. */
body.ast-separate-container,
body.ast-plain-container,
body.ast-narrow-container {
  background-color: var(--bg);
}

body.ast-separate-container .ast-article-single,
body.ast-separate-container .ast-article-post {
  background-color: var(--surface);
  border-radius: var(--radius-lg);
}

/* Astra applique « margin: 0 0 1.5em 3em » à toutes les listes, ce qui
   décale les listes de la maquette par rapport à leur titre. Les listes
   du thème portent toutes une classe ; celles rédigées dans un article
   n'en ont pas et gardent leur retrait normal. */
.elementor :is(ul, ol)[class],
.entry-content :is(ul, ol)[class],
.iroko-header :is(ul, ol)[class],
.iroko-footer :is(ul, ol)[class] {
  margin: 0;
  padding: 0;
  list-style: none;
}
