/*
Theme Name: CityGov Child
Template: citygov
Version: 1.0
*/

/* Monter les signets (sans AUCUNE ombre, même sur les enfants) */
#signet-1, #signet-2, #signet-3, #signet-4{
  position: relative;
  z-index: 5;
  transition: transform .3s ease;
}

/* Hover = montée uniquement */
#signet-1:hover, #signet-2:hover, #signet-3:hover, #signet-4:hover{
  transform: translateY(-12px);
  z-index: 9999;
}

/* ZÉRO ombre : le signet + tout ce qu’il contient + pseudo-éléments */
#signet-1, #signet-2, #signet-3, #signet-4,
#signet-1 * , #signet-2 * , #signet-3 * , #signet-4 * ,
#signet-1::before, #signet-2::before, #signet-3::before, #signet-4::before,
#signet-1::after,  #signet-2::after,  #signet-3::after,  #signet-4::after,
#signet-1 *::before, #signet-2 *::before, #signet-3 *::before, #signet-4 *::before,
#signet-1 *::after,  #signet-2 *::after,  #signet-3 *::after,  #signet-4 *::after{
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  text-shadow: none !important;
}

/* Certains thèmes mettent une ombre via "drop-shadow()" sur images/svg */
#signet-1 img, #signet-2 img, #signet-3 img, #signet-4 img,
#signet-1 svg, #signet-2 svg, #signet-3 svg, #signet-4 svg{
  filter: none !important;
  -webkit-filter: none !important;
}



/* Empêche la loupe de disparaître au hover (icônes font-awesome / icomoon) */
header a:hover i,
header button:hover i,
header .search:hover i,
header .search-toggle:hover i,
header .search-icon:hover i,
header .header-search:hover i,
header .fa-search,
header a:hover .fa-search,
header button:hover .fa-search {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* Si la loupe est un SVG (très fréquent) */
header a:hover svg,
header button:hover svg,
header .search:hover svg,
header .search-toggle:hover svg,
header .search-icon:hover svg {
  fill: #ffffff !important;
  stroke: #ffffff !important;
  opacity: 1 !important;
}

/* Flèche du fil d’ariane en blanc (force) */
.main-breadcrumbs span::after {
  color: #fff !important;
}

ul.liste-comptes-rendus li,
ul.liste-comptes-rendus li a {
  text-transform: uppercase !important;
}

/* Accueil (Elementor) : liens de la section events en noir */
.elementor-20 .elementor-element.elementor-element-15063aac .elementor-element-populated a{
  color: #000 !important;
}


/* Accueil (Elementor) : tout le texte de la section events en noir */
.elementor-20 .elementor-element.elementor-element-15063aac .elementor-element-populated{
  color: #000 !important;
}

.elementor-20 .elementor-element.elementor-element-15063aac .elementor-element-populated *{
  color: #000 !important;
}

/* Accueil – Events : texte des rubans (date/heure) en blanc */
.elementor-20 .elementor-element.elementor-element-15063aac .ribbon{
  color: #fff !important;
}

.elementor-20 .elementor-element.elementor-element-15063aac a.event_button{
  border: 1.5px solid #000;
  border-radius: 4px;
  padding: 6px 14px;
  transition: all 0.2s ease;
}

/* Accueil – Events : bouton "En savoir plus" comme un bouton Elementor */
.elementor-20 .elementor-element.elementor-element-15063aac a.event_button{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  background-color: #5e6f55;   /* couleur principale */
  color: #fff !important;

  padding: 12px 24px;
  border-radius: 4px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;

  transition: all 0.25s ease;
}

/* Hover façon Elementor */
.elementor-20 .elementor-element.elementor-element-15063aac a.event_button:hover{
  background-color: #4f5e47; /* un poil plus foncé */
  color: #fff !important;
}

/* Accueil – Actualités : bouton Elementor = style bouton Events */
.elementor-20 .elementor-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  background-color: #5e6f55;
  color: #fff !important;

  padding: 12px 24px;
  border-radius: 4px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;

  transition: all 0.25s ease;
  border: none;
}

/* Texte interne */
.elementor-20 .elementor-button .elementor-button-text{
  color: #fff !important;
}

/* Hover */
.elementor-20 .elementor-button:hover{
  background-color: #4f5e47;
  color: #fff !important;
}

/* Accueil – Actualités : bouton Elementor = style bouton Évènements */
.elementor-20 .elementor-element.elementor-element-3ac90bb1 a.elementor-button{
    display: inline-flex;
    align-items: center;
    justify-content: center;

    background-color: #5e6f55;
    color: #fff !important;

    padding: 12px 24px;
    border-radius: 4px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;

    transition: all 0.25s ease;
    border: none;
}


/* Accueil – Actualités : bouton Elementor = style bouton Évènements */
.elementor-20 .elementor-element.elementor-element-3ac90bb1 a.elementor-button{
    display: inline-flex;
    align-items: center;
    justify-content: center;

    background-color: #5e6f55;
    color: #fff !important;

    padding: 12px 24px;
    border-radius: 4px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;

    transition: all 0.25s ease;
    border: none;
}

/* Texte du bouton */
.elementor-20 .elementor-element.elementor-element-3ac90bb1 
.elementor-button-text{
    color: #fff !important;
}

/* Icône du bouton */
.elementor-20 .elementor-element.elementor-element-3ac90bb1 
.elementor-button-icon svg{
    fill: #fff;
}

/* Actualités (widget 3ac90bb1) : hover EXACT = même couleur que Events */
.elementor-20 .elementor-element.elementor-element-3ac90bb1 a.elementor-button:hover,
.elementor-20 .elementor-element.elementor-element-3ac90bb1 a.elementor-button:focus,
.elementor-20 .elementor-element.elementor-element-3ac90bb1 a.elementor-button:active{
  background: #4f5e47 !important;        /* <= le plus important (shorthand) */
  background-color: #4f5e47 !important;
}

/* Si Elementor met la couleur hover via un overlay/pseudo-élément */
.elementor-20 .elementor-element.elementor-element-3ac90bb1 a.elementor-button::before,
.elementor-20 .elementor-element.elementor-element-3ac90bb1 a.elementor-button::after,
.elementor-20 .elementor-element.elementor-element-3ac90bb1 a.elementor-button:hover::before,
.elementor-20 .elementor-element.elementor-element-3ac90bb1 a.elementor-button:hover::after{
  background: #4f5e47 !important;
  background-color: #4f5e47 !important;
  opacity: 1 !important;
}

/* Texte + icône bien blancs */
.elementor-20 .elementor-element.elementor-element-3ac90bb1 a.elementor-button:hover .elementor-button-text,
.elementor-20 .elementor-element.elementor-element-3ac90bb1 a.elementor-button:hover svg{
  color: #fff !important;
  fill: #fff !important;
}

/* Boutons Events : pas de soulignement au hover */
.elementor-20 .elementor-element.elementor-element-15063aac 
a.event_button,
.elementor-20 .elementor-element.elementor-element-15063aac 
a.event_button:hover,
.elementor-20 .elementor-element.elementor-element-15063aac 
a.event_button:focus{
    text-decoration: none !important;
}

/* Presse : agrandir les titres du flux */
.presse-feedzy span.title a{
  font-size: 22px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}

.presse-feedzy small{
    font-style: normal !important;
    font-size: 13px;
    color: #5e6f55;
    letter-spacing: 0.2px;
    display: block;
    margin-top: 4px;
}

/* Presse – masquer le titre du flux RSS (ex: Greffeil) */
.presse-feedzy h2:first-of-type,
.presse-feedzy h3:first-of-type {
    display: none;
}


/* Masquer la ligne "Développé par OneTap" (ciblage par l'URL) */
p:has(a[href*="wponetap.com"]) {
  display: none !important;
}

/* OneTap – supprimer la puce devant "Masquer la barre d’outils" */
.onetap-hide-toolbar::before,
.onetap-hide-toolbar button::before {
    content: none !important;
    display: none !important;
}

/* Slider accueil – supprimer le tooltip au survol */
.elislider li,
.elislider li * {
    pointer-events: auto;
}

.elislider li [title] {
    pointer-events: none;
}

/* EliSlider / Owl - rendre les slides NON cliquables */
.wpm_eleslider_wrap .eleinside > a{
  pointer-events: none !important;
  cursor: default !important;
}



/* Appliquer le même style que current-menu-item aux pages enfants */
.nav li.current-page-ancestor > a,
.nav li.current-menu-ancestor > a,
.nav li.current-menu-parent > a {
    border-color: #5e6f55;
}

/* 1) Le lien logo ne doit pas "manger" de hauteur */
a.logo.tranz{
  display: flex;
  align-items: center;
  padding: 0 !important;      /* retire le padding qui réduit la place utile */
  line-height: 0 !important;
}

/* 2) Agrandit vraiment le logo */
a.logo.tranz > img.tranz{
  height: 110px !important;   /* augmente ici (100-130 selon ton carré) */
  width: auto !important;
  max-height: none !important;
  max-width: 100% !important;
  display: block;
}

/* Conteneur du logo */
a.logo.tranz{
  display: flex;
  align-items: center;
  overflow: hidden;      /* essentiel pour couper ce qui dépasse */
  padding: 0 !important;
}

/* Zoom du logo */
a.logo.tranz > img.tranz{
  height: 100px !important;   /* taille de base */
  width: auto;
  transform: scale(2);      /* 👉 ZOOM ICI (1.2 / 1.3 / 1.4) */
  transform-origin: center;
}

@media (max-width: 768px){
  a.logo.tranz > img.tranz{
    transform: scale(2);
    height: 70px !important;
  }
}

/* =========================
   STICKY (quand le header a la classe .scrolled)
   ========================= */
@media (min-width: 769px){

  /* Conteneur du logo (pour couper le débordement) */
  #header.scrolled a.logo{
    overflow: hidden;
    display: flex;
    align-items: center;
  }

  /* 1) Logo en sticky + ZOOM */
  #header.scrolled a.logo > img{
    height: 80px !important;      /* base */
    width: auto !important;
    max-height: none !important;
    transform: scale(2);       /* 👉 ZOOM ICI */
    transform-origin: center;
  }

  /* 2) Réduire la taille/hauteur des liens du menu principal */
  #header.scrolled #navigation #main-nav > li > a{
    font-size: 13px !important;
    padding: 8px 12px !important;
    line-height: 1.2 !important;
  }

  /* 3) Centrer le menu dans la barre */
  #header.scrolled .header-right.for-menu{
    display: flex !important;
    align-items: center !important;
  }

  #header.scrolled #navigation{
    flex: 1 1 auto !important;
    display: flex !important;
    justify-content: center !important;
  }

  #header.scrolled #main-nav{
    display: flex !important;
    justify-content: center !important;
  }
}

@media (min-width: 769px){

  /* =========================
     1) Centrer le menu en sticky
     ========================= */
  #header.scrolled .header-right.for-menu{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important; /* centre tout le bloc menu */
  }

  #header.scrolled #navigation{
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

  #header.scrolled #main-nav{
    display: flex !important;
    justify-content: center !important;
    width: auto !important;
    margin: 0 auto !important;
  }


  /* =========================
     2) Flèches de sous-menus collées au texte
     (span .tmnf_mobile_dropdown dans ton HTML)
     ========================= */
  #header.scrolled #main-nav > li > a{
    display: inline-flex !important;   /* texte + flèche sur la même ligne */
    align-items: center !important;
    gap: 6px;                           /* espace entre texte et flèche */
    white-space: nowrap;
  }

  /* Flèche */
  #header.scrolled #main-nav > li > a .tmnf_mobile_dropdown{
    display: inline-block !important;
    position: static !important;
    margin: 0 !important;
    transform: none !important;
    line-height: 1 !important;
  }

  /* Si tu as une description sous le menu (Notre commune -> Nous découvrir),
     on évite qu'elle casse l'alignement en sticky */
  #header.scrolled #main-nav > li > a .menu-item-description{
    display: none !important;
  }
}

@media (min-width: 769px){

  /* Supprimer la flèche générée par le thème */
  #header.scrolled #main-nav > li.menu-item-has-children > a::after,
  #header.scrolled #main-nav > li.menu-item-has-children > a::before{
    content: none !important;
    display: none !important;
  }

}
@media (min-width: 769px){

  /* Supprimer la flèche générée par le thème */
  #header.scrolled #main-nav > li.menu-item-has-children > a::after,
  #header.scrolled #main-nav > li.menu-item-has-children > a::before{
    content: none !important;
    display: none !important;
  }

}

@media (min-width: 769px){

  /* Décalage global des items (texte + séparateurs) */
  #header.scrolled #main-nav > li{
    position: relative;
    top: 30px;   /* même valeur que ton menu */
  }

}

tent: center;
  }

/* WPForms : on masque tout fond derrière (Firefox/Chrome) */
.wpforms-container{
  background: #ffffff !important;      /* ou la couleur de ta page */
  background-image: none !important;
  padding: 24px !important;
  border-radius: 6px !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Pour être sûr que le fond du formulaire couvre bien */
.wpforms-container .wpforms-form,
.wpforms-container fieldset,
.wpforms-container .wpforms-field-container{
  background: transparent !important;
  background-image: none !important;
}

/* On garde les champs blancs */
.wpforms-container input,
.wpforms-container textarea,
.wpforms-container select{
  background: #fff !important;
  background-image: none !important;
}

.wpforms-container{ background: #F2EFE9 !important; }


.feedzy-rss ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.feedzy-rss li {
  display: flex;
  gap: 25px;
  padding: 30px 0;
  border-bottom: 1px solid #e8e8e8;
}

.feedzy-rss li:last-child {
  border-bottom: none;
}

.feedzy-rss .rss_image img {
  width: 220px;
  height: 150px;
  object-fit: cover;
  border-radius: 10px;
}

.feedzy-rss .rss-meta {
  font-size: 14px;
  color: #6b6b6b;
  margin-bottom: 8px;
  display: block;
}

.feedzy-rss h4 {
  font-size: 22px;
  margin: 0 0 10px 0;
  line-height: 1.3;
}

.feedzy-rss h4 a {
  text-decoration: none;
  color: #2c2c2c;
  transition: 0.2s ease;
}

.feedzy-rss h4 a:hover {
  color: #5E6F55;
}

.feedzy-rss .rss_content {
  font-size: 15px;
  color: #555;
}

@media (max-width: 768px) {
  .feedzy-rss li {
    flex-direction: column;
  }

  .feedzy-rss .rss_image img {
    width: 100%;
    height: 220px;
  }
}

@font-face {
  font-family: "Beattingvile";
  src: url("fonts/Beattingvile/beattingvile.woff") format("woff"),
       url("fonts/Beattingvile/beattingvile.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Titre du slider (CityGov / EliSlider / Flexslider) */
body.home .slider-caption h1,
body.home .slider-caption h2,
body.home .slider-caption h3,
body.home .elislider .slider-caption h1,
body.home .elislider .slider-caption h2,
body.home .flexslider .slider-caption h1,
body.home .flexslider .slider-caption h2,
body.home h1.dekoline,
body.home h2.dekoline {
  font-family: "Beattingvile", serif !important;
  font-weight: normal !important;
}


body.home .slider-caption h1,
body.home .elislider .slider-caption h1,
body.home h1.dekoline {
  font-size: 150px !important;
  line-height: 1.05 !important;
}

@media (max-width: 768px) {
  body.home .slider-caption h1,
  body.home .elislider .slider-caption h1,
  body.home h1.dekoline {
    font-size: 42px !important;
  }
}


/* LEMON MILK */
@font-face{
  font-family:"Lemon Milk";
  src:url("fonts/LemonMilk/LemonMilk-Regular.otf") format("opentype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Lemon Milk";
  src:url("fonts/LemonMilk/LemonMilk-Bold.otf") format("opentype");
  font-weight:700;
  font-style:normal;
  font-display:swap;
}


.footer_text {
  font-family: "Beattingvile", serif !important;
  font-weight: 400 !important;
  font-size: 80px;
  letter-spacing: 1px;
}

/* ============================= */
/*   FOOTER: logo + infos + search */
/* ============================= */

/* Colonne gauche footer */
#footer .foocol.first{
  float: none !important;
  width: 100% !important;
  text-align: center !important;
}

/* --- LOGO --- */
#footer .footer-logo{
  width: 100% !important;
  text-align: center !important;
}
#footer .footer-logo a.logo{
  display: inline-block !important;
  float: none !important;
}
#footer .footer-logo img{
  display: block !important;
  float: none !important;
  margin: 0 auto 15px auto !important;
}

/* --- TEXTE --- */
#footer .textwidget,
#footer .textwidget h4,
#footer .textwidget p{
  text-align: center !important;
}

/* ============================= */
/*   SEARCH: champ + bouton alignés */
/* ============================= */

/* Le form devient un “bloc” centré */
#footer form.searchform{
  display: inline-flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 0 !important;
  margin-top: 15px !important;
  text-align: left !important;
}

/* Le label ne doit pas prendre de place */
#footer form.searchform label{
  display: none !important;
}

/* Champ */
#footer form.searchform input.s{
  width: 340px !important;
  max-width: 72vw !important;
  margin: 0 !important;
  border-right: 0 !important;     /* évite double bord avec le bouton */
  text-align: left !important;
}

/* Bouton: on neutralise les styles “thème” qui le décalent */
#footer form.searchform .searchSubmit,
#footer form.searchform button.searchSubmit{
  float: none !important;
  position: static !important;
  right: auto !important;
  left: auto !important;
  top: auto !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  width: auto !important;
  white-space: nowrap !important;
}

/* ============================= */
/*   MOBILE: on passe en colonne */
/* ============================= */
@media (max-width: 480px){
  #footer form.searchform{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
  }

  #footer form.searchform input.s{
    width: 100% !important;
    max-width: 100% !important;
    border-right: 1px solid rgba(0,0,0,0.15) !important; /* remet un bord propre */
    text-align: center !important;
  }

  #footer form.searchform .searchSubmit{
    width: auto !important;
  }
}

/* Remonter légèrement le logo du footer */
#footer .footer-logo img{
  margin-top: -32px !important;  /* ajuste -5px, -15px selon ton goût */
}


/* =========================================
   FOOTER: supprimer TOUTE recherche sur mobile
   ========================================= */
@media (max-width: 768px){

  /* Tous les formulaires de recherche dans le footer */
  #footer form[role="search"],
  #footer form.searchform,
  #footer .searchform,
  #footer .widget_search,
  #footer .search-form,
  #footer .wp-block-search,
  #footer input[name="s"],
  #footer button.searchSubmit,
  #footer .searchSubmit{
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
}

/* Titre footer en Beattingvile */
#footer .textwidget h4{
  font-family: 'Beattingvile', cursive !important;
  font-size: 60px !important;   /* ajuste si besoin */
  font-weight: normal !important;
  letter-spacing: 1px;
}


/* TITRE "Nos évènements" (lien vers /evenements/) : hover vert forcé */
.elementor-heading-title a[href*="/evenements/"]:hover{
  color:#5E6F55 !important;
  -webkit-text-fill-color:#5E6F55 !important;
  text-decoration: underline !important;
}

/* ACCUEIL UNIQUEMENT - titres des évènements */
body.home td.list_text h3 a{
  color: #222 !important;
  transition: color .25s ease;
}

body.home td.list_text h3 a:hover{
  color: #5E6F55 !important;
  -webkit-text-fill-color: #5E6F55 !important;
  text-decoration: underline;
}

/* Badge "évènement terminé" - force le style même si le thème écrase */
p.event_past_badge,
.event_past_badge{
  display:inline-block !important;
  margin-top:8px !important;
  padding:6px 10px !important;
  font-size:12px !important;
  font-weight:700 !important;
  background:#e74c3c !important;
  color:#fff !important;
  border-radius:6px !important;
  line-height:1 !important;
}


