/*
Theme Name:   GeneratePress Child
Description:  Child theme basé sur le thème parent
Author:       Informatic Etic
Author URI:   https://informaticetic.com
Template:     generatepress
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  child_generatepress
*/

/* ===== Bannière header ===== */

.ie-banniere {
    max-width: 1000px;
    margin: 0 auto;
    min-height: 358px;
    display: flex;
    align-items: center;
    background-image: url('/wp-content/uploads/2026/06/banniere-claire@2x.webp');
    background-size: cover;
    background-position: center;
}

.ie-banniere__contenu {
    padding: 40px;
    max-width: 540px;
    box-sizing: border-box;
}

.ie-banniere__surtitre {
    color: #005F73;
    letter-spacing: 3px;
    font-size: 14px;
}

.ie-banniere__titre {
    color: #171D3A;
    font-family: Georgia, serif;
    font-size: 50px;
    line-height: 1.1;
    margin: 12px 0 16px;
}

.ie-banniere__titre span { color: #005F73; }

.ie-banniere__texte {
    color: #23346A;
    font-size: 18px;
    max-width: 520px;
    margin-bottom: 28px;
}

.ie-banniere__bouton {
    display: inline-block;
    background: #23346A;
    color: #fff;
    font-weight: bold;
    padding: 15px 28px;
    border-radius: 5px;
    text-decoration: none;
}

.ie-banniere__bouton:hover {
    background: #344D9D;
    color: #8bbde8;
}


/* ===== Dégradé clair 135° en fond ===== */
body {
    background: linear-gradient(135deg, #E9EDF7 0%, #f1f3fa 100%) fixed;
}

/* Fond transparent sur le contenu → laisse passer le dégradé */
.separate-containers .inside-article,
.one-container .container,
.site-content,
.entry-content,
.site-info {
    background-color: transparent !important;
}

/* Header + nav transparents */
.site-header,
.main-navigation,
.main-navigation ul ul {
    background-color: transparent !important;
}

/* ===== Footer transparent (FIX) ===== */
.site-footer,
.site-footer .inside-site-info {
    background-color: transparent !important;
}

/* ===== Couleurs texte header/menu ===== */
.main-title a,
.main-navigation .main-nav ul li a {
    color: #171D3A !important;
}

.main-navigation .main-nav ul li:hover > a {
    color: #005F73 !important;
}


/* ===== Mobile (max 768px) ===== */
@media (max-width: 768px) {

    /* Bannière */
    .ie-banniere {
        min-height: auto;
        background-position: left center;
        border-radius: 0;
    }

    .ie-banniere__contenu {
        padding: 32px 20px;
        max-width: 100%;
    }

    .ie-banniere__titre {
        font-size: 32px;
    }

    /* Header : logo + titre qui débordent */
    .site-logo img {
        max-width: 36px;
        height: auto;
    }

    .main-title {
    font-size: 15px;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    max-width: 200px; /* ou plus selon ton header */
}

    .site-branding-container {
        min-width: 0;
        overflow: hidden;
    }
}

/* Footer mobile adapté */

@media (max-width: 768px) {
    .footer-widget-2 {
        margin-top: -50px;
	}
	.footer-widget-3 {
        margin-top: -50px;
    
    }
}

/* Bouton hamburger - les 3 barres */
.menu-toggle,
.menu-toggle:focus {
    color: #1a2f5a; /* ta couleur foncée */
}

/* Les barres SVG elles-mêmes */
.menu-toggle .menu-toggle-bar,
.menu-toggle::before,
.menu-toggle::after {
    background-color: #1a2f5a;
}

/* ============================================
   PAGE ACTUALITÉS — Grille de cartes 3 colonnes
   ============================================ */

/* --- Grille --- */
.blog .site-main,
.archive .site-main {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 30px;
  align-items: stretch;          /* cartes même hauteur par rangée */
}

/* En-tête d'archive + pagination sur toute la largeur */
.blog .site-main > .page-header,
.archive .site-main > .page-header,
.blog .site-main > nav,
.archive .site-main > nav {
  grid-column: 1 / -1;
}

/* --- Carte --- */
.blog .site-main article,
.archive .site-main article {
  margin: 0;
  background: #f1f3fa;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}

.blog .site-main .inside-article,
.archive .site-main .inside-article {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0 1.2rem 1.5rem;
}

/* --- Image en haut, calibrée à la colonne --- */
.blog .site-main .post-image,
.archive .site-main .post-image {
  order: -1;                     /* remonte l'image au-dessus du titre */
  margin: 0 -1.2rem 1rem;        /* image à fond perdu en haut de carte */
}

.blog .site-main .post-image img,
.archive .site-main .post-image img {
  width: 100%;
  height: 200px;                 /* ajuste si besoin */
  object-fit: cover;
  display: block;
}

/* Taille des titres de cartes */
.blog .site-main .entry-title,
.archive .site-main .entry-title {
  font-size: 1.6rem;     /* descends à 1.2rem ou 1.1rem selon le rendu */
  line-height: 1.25;
}

/* --- Responsive --- */
@media (max-width: 1024px) {
  .blog .site-main,
  .archive .site-main { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .blog .site-main,
  .archive .site-main { grid-template-columns: 1fr; }
}

/* Harmonise tout bloc "colonnes" contenant des images, dans tous les articles */
.entry-content .wp-block-columns:has(.wp-block-image) {
  align-items: stretch;
}

.entry-content .wp-block-columns:has(.wp-block-image) .wp-block-column {
  display: flex;
}

.entry-content .wp-block-columns:has(.wp-block-image) figure.wp-block-image {
  width: 100% !important;
  margin: 0;
}

.entry-content .wp-block-columns:has(.wp-block-image) figure.wp-block-image img {
  width: 100% !important;
  height: 320px !important;
  object-fit: cover !important;
  aspect-ratio: auto !important;

}


/* ============================================
   MENU PERSONALISÉ - Underline & style
   ============================================ */
	/* Navigation principale - style élégant minimaliste */
.main-navigation .menu > li > a {
    font-weight: 600;
    letter-spacing: 0.06em;
    font-size: 0.88rem;
    text-transform: uppercase;
    color: #2c3e5a;
    position: relative;
    padding-bottom: 4px;
    transition: color 0.25s ease;
}

/* Underline animé au hover */
.main-navigation .menu > li > a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1.5px;
    background-color: #8bbde8; /* la couleur d'accent de ton site */
    transition: width 0.3s ease;
}

.main-navigation .menu > li > a:hover {
    color: #1a2a4a;
}

.main-navigation .menu > li > a:hover::after {
    width: 100%;
}

/* Style des bouton "En savoir plus" ou autre */
.wp-block-button.is-style-fill .wp-block-button__link {
    background: #23346A;
    color: #fff;
    border-radius: 5px;
    text-decoration: none;
    transition: background 0.25s ease, color 0.25s ease;
}

.wp-block-button.is-style-fill .wp-block-button__link:hover {
    background: #344D9D;
    color: #8bbde8;
}




/* Tous les séparateurs : trait fin et uniforme */
.wp-block-separator,
.wp-block-separator.has-background,
.wp-block-separator.is-style-wide,
.wp-block-separator.has-background.is-style-wide {
    border: none;               /* on neutralise le rendu par bordure */
    height: 1px;                /* ← ÉPAISSEUR unique pour tout le site */
    background-color: #005F73;  /* couleur du trait */
    color: #005F73;
    opacity: 1;
}

/* Photo "À propos" calée sur la hauteur du texte (page-id-25) */
.page-id-25 .wp-block-group.is-layout-grid {
  position: relative;
}
.page-id-25 .wp-block-group.is-layout-grid > .wp-block-image {
  grid-column: 2;
  grid-row: 1;
  position: absolute;
  inset: 0;
  margin: 0;
}
.page-id-25 .wp-block-group.is-layout-grid > .wp-block-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}