/*
Theme Name:   Kadence Child — L'Écho du Segréen
Template:     kadence
Version:      1.0
*/

/* ============================================================
   L'Écho du Segréen — Design complet prototype v2
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,wght@0,300;0,400;0,600;1,400&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
  --es-bleu:        #2D6BA4;
  --es-bleu-fonce:  #1A3A5C;
  --es-bleu-clair:  #E6F0FA;
  --es-bleu-pale:   #F0F6FC;
  --es-jaune:       #F0B429;
  --es-jaune-clair: #FEF7E0;
  --es-beige:       #F4F6F9;
  --es-texte:       #0F1D2E;
  --es-texte-sec:   #4A607A;
  --es-texte-ter:   #8099B3;
  --es-bordure:     rgba(26,58,92,0.13);
}

/* ── Reset fond ── */
html, body { background: var(--es-beige) !important; font-family: 'DM Sans', sans-serif !important; color: var(--es-texte) !important; }
*, *::before, *::after { box-sizing: border-box; }

/* ── Titres ── */
h1,h2,h3,h4 { font-family: 'Source Serif 4', serif !important; font-weight: 400 !important; letter-spacing: -0.02em; color: var(--es-texte); }
p, li, a, span, td, th { font-family: 'DM Sans', sans-serif !important; }

/* ═══════════════════════════════
   HEADER
═══════════════════════════════ */
.site-header, #masthead {
  position: sticky !important; top: 0; z-index: 999;
  background: #fff !important;
  border-bottom: 1px solid var(--es-bordure) !important;
  box-shadow: none !important;
  padding: 0 !important;
  height: 70px;
  display: flex; align-items: center;
}
.site-header .header-container,
.site-header .container,
#masthead .container {
  max-width: 1200px; margin: 0 auto; padding: 0 2rem;
  display: flex; align-items: center; gap: 2rem; width: 100%;
}
site-header {
	
}
#masthead .site-header-row {
    display: flex !important;
}
#masthead.site-header #main-header {
	max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}
.site-header-section-right {
    justify-content: flex-start !important;
}
/* Logo */
.site-logo img, .custom-logo, .kadence-site-logo img,
.site-header .site-branding img {
  max-height: 46px !important; width: auto !important;
}
/* Cacher le titre texte si logo présent */
.site-header .site-title { display: none !important; }

/* Description du site à côté du logo */
.site-header .site-description,
.header-site-description {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important; font-weight: 500 !important;
  color: var(--es-texte) !important;
  white-space: nowrap;
}

/* Navigation */
.main-navigation, #site-navigation, .primary-navigation {
  flex: 1; display: flex; align-items: center;
}
.main-navigation ul, #site-navigation ul, .nav-menu {
  display: flex !important; align-items: center; gap: 2px;
  list-style: none !important; margin: 0 !important; padding: 0 !important;
  flex-wrap: nowrap;
}
.main-navigation ul li a, #site-navigation ul li a, .nav-menu li a {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important; font-weight: 500 !important;
  color: #4A607A !important;
  padding: 7px 13px !important; border-radius: 7px !important;
  text-decoration: none !important; transition: all 0.15s !important;
  white-space: nowrap !important;
}
.main-navigation ul li a:hover, #site-navigation ul li a:hover,
.main-navigation .current-menu-item > a, .nav-menu .current-menu-item > a {
  color: #2D6BA4 !important; background: #E6F0FA !important;
}

/* Boutons header Se connecter / S'inscrire */
.header-cta-wrap, .kadence-header-btn-wrap {
  display: flex; gap: 8px; align-items: center; flex-shrink: 0;
}
.header-login-btn, .kadence-header-btn a,
.site-header a.btn-login, .site-header a.btn-register {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13.5px !important; font-weight: 500 !important;
  padding: 8px 18px !important; border-radius: 7px !important;
  text-decoration: none !important; transition: all 0.15s !important;
}

/* ═══════════════════════════════
   BANDEAU ACTUALITÉS
═══════════════════════════════ */
.bandeau-actu {
  background: var(--es-bleu-fonce) !important;
  padding: 0.65rem 2rem !important;
  font-size: 13px !important;
  border-bottom: none !important;
}
.bandeau-actu-inner {
  max-width: 1200px; margin: 0 auto;
  display: flex; align-items: center; gap: 1rem; overflow: hidden;
}
.bandeau-label {
  background: var(--es-jaune) !important; color: var(--es-texte) !important;
  font-size: 10.5px !important; font-weight: 700 !important;
  padding: 3px 10px !important; border-radius: 4px !important;
  text-transform: uppercase !important; letter-spacing: .06em !important;
  flex-shrink: 0;
}
.bandeau-items { display: flex; gap: 2.5rem; overflow: hidden; }
.bandeau-item { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
.bandeau-dot { width: 4px; height: 4px; border-radius: 50%; background: #3A9BD5; flex-shrink: 0; }
.bandeau-actu a, .bandeau-item a {
  color: rgba(255,255,255,0.9) !important; font-weight: 500 !important;
  text-decoration: none !important;
}
.bandeau-actu a:hover, .bandeau-item a:hover {
  color: #fff !important; text-decoration: underline !important;
}

/* ═══════════════════════════════
   HERO — section pleine largeur
═══════════════════════════════ */
.es-hero, .page-hero, .hero-section,
.wp-block-group.is-style-hero,
.kb-section[data-section="hero"] {
  background: var(--es-bleu-fonce) !important;
  color: white !important;
  padding: 5rem 2rem 4.5rem !important;
  position: relative !important; overflow: hidden !important;
}

/* Overrides Kadence pour les sections avec fond bleu foncé défini inline */
.wp-block-group[style*="background-color:#1A3A5C"],
.wp-block-group[style*="background-color: #1A3A5C"],
.wp-block-kadence-rowlayout[style*="background-color:#1A3A5C"],
.kb-row-layout-wrap[style*="background-color:#1A3A5C"] {
  background: #1A3A5C !important;
  color: white !important;
  padding: 5rem 0 !important;
}
.wp-block-group[style*="background-color:#1A3A5C"] *,
.wp-block-group[style*="background-color: #1A3A5C"] * {
  color: white !important;
}
.wp-block-group[style*="background-color:#1A3A5C"] h1,
.wp-block-group[style*="background-color:#1A3A5C"] h2 {
  font-family: 'Source Serif 4', serif !important;
  font-size: 2.75rem !important; font-weight: 400 !important;
  line-height: 1.2 !important;
}
.wp-block-group[style*="background-color:#1A3A5C"] h1 em,
.wp-block-group[style*="background-color:#1A3A5C"] h2 em {
  font-style: italic !important; color: #F0B429 !important;
}
.wp-block-group[style*="background-color:#1A3A5C"] p {
  color: rgba(255,255,255,0.78) !important; font-size: 15.5px !important; line-height: 1.75 !important;
}
.wp-block-group[style*="background-color:#1A3A5C"] .wp-block-button__link {
  background: #F0B429 !important; color: #0F1D2E !important;
  border-radius: 7px !important; font-weight: 500 !important;
}
.wp-block-group[style*="background-color:#1A3A5C"] .wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important; color: white !important;
  border: 1px solid rgba(255,255,255,0.35) !important;
}

/* ═══════════════════════════════
   CONTENU PRINCIPAL
═══════════════════════════════ */
.site-content, main, #primary, .content-area {
  background: transparent !important;
  padding-top: 0 !important;
}
.entry-header { display: none !important; } /* Cache le titre "Accueil" en haut */

/* ═══════════════════════════════
   SECTIONS / BLOCS
═══════════════════════════════ */
.wp-block-group {
  width: 100%;
}
.wp-block-group .wp-block-group__inner-container,
.wp-block-group .is-layout-constrained {
  max-width: 1200px; margin: 0 auto; padding: 0 2rem;
}

/* Séparateur entre sections */
.wp-block-separator, hr.wp-block-separator {
  border: none !important;
  border-top: 1px solid var(--es-bordure) !important;
  margin: 0 !important;
}

/* ═══════════════════════════════
   GRILLE RUBRIQUES (raccourcis)
═══════════════════════════════ */
.grille-rubriques, .rubriques-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(175px, 1fr)) !important;
  gap: 12px !important;
}
.rubrique-card, .es-card-rubrique {
  background: #fff !important;
  border: 1px solid var(--es-bordure) !important;
  border-radius: 14px !important;
  padding: 1.2rem !important;
  text-decoration: none !important;
  display: flex !important; flex-direction: column !important; gap: 9px !important;
  transition: all 0.16s !important; cursor: pointer !important;
}
.rubrique-card:hover, .es-card-rubrique:hover {
  border-color: var(--es-bleu) !important;
  box-shadow: 0 2px 14px rgba(45,107,164,0.13) !important;
  transform: translateY(-1px) !important;
}
.rubrique-card h3, .es-card-rubrique h3 {
  font-size: 13.5px !important; font-weight: 600 !important; color: var(--es-texte) !important;
}
.rubrique-card p, .es-card-rubrique p {
  font-size: 12px !important; color: var(--es-texte-ter) !important; line-height: 1.4 !important;
}

/* ═══════════════════════════════
   CARDS CR MUNICIPAL
═══════════════════════════════ */
.wp-block-query .wp-block-post,
.post-type-archive-cr-municipal article,
.es-cr-card {
  background: #fff !important;
  border: 1px solid var(--es-bordure) !important;
  border-radius: 14px !important;
  padding: 1.25rem 1.5rem !important;
  transition: box-shadow 0.15s, border-color 0.15s !important;
  margin-bottom: 0 !important;
}
.wp-block-query .wp-block-post:hover,
.post-type-archive-cr-municipal article:hover {
  border-color: rgba(45,107,164,0.4) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important;
}
.wp-block-post-title a, .entry-title a {
  color: var(--es-texte) !important; text-decoration: none !important;
  font-family: 'Source Serif 4', serif !important; font-weight: 400 !important;
}
.wp-block-post-title a:hover { color: var(--es-bleu) !important; }
.wp-block-post-date time {
  display: inline-block !important;
  background: var(--es-bleu-clair) !important; color: var(--es-bleu-fonce) !important;
  font-size: 12px !important; font-weight: 600 !important;
  padding: 3px 10px !important; border-radius: 5px !important; margin-bottom: 8px !important;
}
/* Grille 3 colonnes pour les CR */
.wp-block-post-template.is-layout-grid,
.wp-block-query ul.wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
  list-style: none !important; padding: 0 !important; margin: 0 !important;
}
@media(max-width:900px) {
  .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(2,1fr) !important; }
}
@media(max-width:600px) {
  .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; }
}

/* ═══════════════════════════════
   TITRES DE SECTION
═══════════════════════════════ */
.section-titre-wrap {
  display: flex !important; align-items: center !important;
  justify-content: space-between !important; margin-bottom: 2rem !important;
}
.section-titre-wrap h2 {
  font-size: 1.6rem !important; font-weight: 400 !important;
}
.voir-tout-link {
  text-decoration: none !important; font-size: 13px !important;
  color: var(--es-bleu) !important; font-weight: 500 !important;
  padding: 6px 14px !important; border: 1px solid rgba(45,107,164,0.35) !important;
  border-radius: 6px !important; transition: all 0.15s !important;
}
.voir-tout-link:hover { background: var(--es-bleu) !important; color: white !important; }

/* ═══════════════════════════════
   BOUTONS GLOBAUX
═══════════════════════════════ */
.wp-block-button__link, .wp-element-button {
  background: var(--es-bleu) !important; color: white !important;
  border-radius: 7px !important; font-family: 'DM Sans', sans-serif !important;
  font-weight: 500 !important; transition: background 0.15s !important;
  border: none !important;
}
.wp-block-button__link:hover { background: var(--es-bleu-fonce) !important; }
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important; color: var(--es-bleu) !important;
  border: 1px solid var(--es-bleu) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: var(--es-bleu) !important; color: white !important;
}

/* ═══════════════════════════════
   CONTACT FORM 7
═══════════════════════════════ */
.wpcf7 input:not([type="submit"]), .wpcf7 textarea, .wpcf7 select {
  width: 100% !important; padding: 10px 14px !important;
  border: 1px solid rgba(26,58,92,0.15) !important; border-radius: 7px !important;
  font-family: 'DM Sans', sans-serif !important; font-size: 14px !important;
  background: #fff !important; color: var(--es-texte) !important;
  outline: none !important; margin-bottom: 0.75rem !important;
  transition: border-color 0.15s !important;
}
.wpcf7 input:focus, .wpcf7 textarea:focus {
  border-color: var(--es-bleu) !important;
  box-shadow: 0 0 0 3px rgba(45,107,164,0.1) !important;
}
.wpcf7 input[type="submit"] {
  background: var(--es-bleu) !important; color: white !important;
  border: none !important; border-radius: 7px !important;
  padding: 10px 24px !important; font-weight: 500 !important; cursor: pointer !important;
  width: 100% !important;
}
.wpcf7 input[type="submit"]:hover { background: var(--es-bleu-fonce) !important; }

/* ═══════════════════════════════
   YOP POLL
═══════════════════════════════ */
.yop-poll-container { background: #fff !important; border: 1px solid var(--es-bordure) !important; border-radius: 14px !important; padding: 1.5rem !important; }
.yop-poll-container .yop-poll-vote-button { background: var(--es-bleu) !important; border-radius: 7px !important; color: white !important; border: none !important; padding: 9px 20px !important; }
.yop-poll-container .yop-poll-vote-button:hover { background: var(--es-bleu-fonce) !important; }
.yop-poll-bar-container .yop-poll-bar { background: var(--es-bleu-clair) !important; border-radius: 4px !important; }
.yop-poll-bar-container .yop-poll-bar-vote { background: var(--es-bleu) !important; }

/* ═══════════════════════════════
   WFORO FORUM
═══════════════════════════════ */
#wpforo-wrap .wpforo-topic-head, #wpforo-wrap .wpforo-category-head { background: var(--es-bleu-fonce) !important; }
#wpforo-wrap .wpforo-topic-head *, #wpforo-wrap .wpforo-category-head * { color: white !important; }
#wpforo-wrap a { color: var(--es-bleu) !important; }
#wpforo-wrap .wpforo-submit-button, #wpforo-wrap input[type="submit"] {
  background: var(--es-bleu) !important; border-color: var(--es-bleu) !important; border-radius: 7px !important;
}

/* ═══════════════════════════════
   FOOTER
═══════════════════════════════ */
.site-footer, #colophon {
  background: var(--es-bleu-fonce) !important;
  color: rgba(255,255,255,0.7) !important;
  padding: 3rem 2rem 1.5rem !important;
}
.site-footer *, #colophon * { color: rgba(255,255,255,0.65) !important; }
.site-footer a, #colophon a { transition: color 0.15s !important; }
.site-footer a:hover, #colophon a:hover { color: white !important; }
.site-footer .site-info, #colophon .site-info {
  color: rgba(255,255,255,0.35) !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  padding-top: 1rem !important; margin-top: 2rem !important;
  text-align: center !important;
}
/* Logo blanc dans footer */
.site-footer .custom-logo, #colophon .custom-logo,
.site-footer .site-logo img, #colophon .site-logo img {
  filter: brightness(0) invert(1) !important; opacity: 0.9 !important;
}
/* Titre du site en blanc dans footer */
.site-footer .site-title a, #colophon .site-title a { color: white !important; font-size: 1.2rem !important; }

/* ═══════════════════════════════
   RESPONSIVE
═══════════════════════════════ */
@media (max-width: 768px) {
  h1 { font-size: 1.9rem !important; }
  .site-header { height: auto !important; padding: 0.75rem 1rem !important; }
  .site-logo img { max-height: 38px !important; }
  .wp-block-group[style*="background-color:#1A3A5C"] h1 { font-size: 2rem !important; }
  .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; }
}
