/* ============================================================================
   ROMPON.NET - FEUILLE DE STYLES PERSONNALISÉE
   ============================================================================ */

/* ============================================================================
   1. RÉINITIALISATION ET ESPACEMENTS GLOBAUX
   ============================================================================ */

/* Couleur par défaut du texte */
body {
  color: #333 !important;
}

/* Contenu pleine largeur (sans sidebar) : texte justifié */
.ovatheme_nosidebar {
  text-align: justify;
}

.site-header,
.ova-bg-heading {
  margin-bottom: 0 !important;
}

.ova-bg-heading {
  margin-top: 0 !important;
}

/* ============================================================================
   2. EN-TÊTES ET TITRES
   ============================================================================ */

/* Police Poppins et couleur par défaut pour tous les titres du site */
h1, h2, h3, h4, h5, h6,
.ova_title,
.post-title,
.entry-title,
.page-title,
.ova_service .title,
.ova-bg-heading h1,
.ova-bg-heading h2 {
  font-family: "Poppins", sans-serif !important;
  color: #333 !important;
}

/* Titre principal de la page */
.ova-bg-heading h1,
.ova-bg-heading h2 {
  text-align: center !important;
  font-size: 36px !important;
  font-weight: normal !important;
}

/* Pages secondaires - même style que la page d'accueil */
.page .ova-bg-heading h1,
.page .ova-bg-heading h2,
.single .ova-bg-heading h1,
.single .ova-bg-heading h2,
.archive .ova-bg-heading h1,
.archive .ova-bg-heading h2,
.search .ova-bg-heading h1,
.search .ova-bg-heading h2 {
  font-size: 36px !important;
  font-weight: normal !important;
}

/* Contenu des pages secondaires - même style que la page d'accueil */
.page .entry-content,
.single .entry-content,
.archive .entry-content,
.page .post-content,
.single .post-content,
.archive .post-content {
  font-size: 14px !important;
  font-weight: normal !important;
  line-height: 1.6 !important;
}

.page .entry-content p,
.single .entry-content p,
.archive .entry-content p,
.page .post-content p,
.single .post-content p,
.archive .post-content p {
  font-size: 14px !important;
  font-weight: normal !important;
}

/* Masquer les breadcrumbs */
.breadcrumb,
.ova-breadcrumb,
.breadcrumbs {
  display: none !important;
}

/* Bouton scroll to top (scrollUp avec icône arrow_carrot-up) – #d1a98c, hover #b8935a */
#scrollUp {
  border-radius: 4px !important;
  background-color: #d1a98c !important;
  background: #d1a98c !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  padding: 0 !important;
}
#scrollUp i {
  display: block !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 22px !important;
  font-weight: bold !important;
}
#scrollUp i.arrow_carrot-up::before {
  margin-left: -3px !important;
}
#scrollUp:hover {
  background-color: #b8935a !important;
  background: #b8935a !important;
}

/* Icône calendrier (icon_calendar) – pages Nouvelles, Communiqués, Presse */
.ovaem_blog_grid_page .post-wrap .content .post-meta .post-meta-content .post-date i,
.ovaem_blog_grid_page .post-wrap .content .post-meta .post-meta-content .post-date .left i.icon_calendar,
.ovaem_blog_page .post-wrap .post-meta .left_side .post-date i,
.ovaem_blog_page .post-wrap .post-meta .left_side .post-date .left i.icon_calendar,
.ovaem_detail_post .post-meta .post-meta-content .post-date .left i,
.ovaem_detail_post .post-meta .post-meta-content .post-date .left i.icon_calendar {
  color: #b8935a !important;
  padding-right: 15px;
}

.ovaem_detail_post article.post-wrap {
  text-align: justify;
}

/* Grille CPT (presse-test, communique-test, etc.) : .content même largeur que .post-media */
.ovaem_blog_grid_page .col-md-4 .post-wrap,
.ovaem_blog_grid_page .col-sm-6 .post-wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
}
.ovaem_blog_grid_page .post-wrap .post-media {
  width: 100%;
  flex-shrink: 0;
}
.ovaem_blog_grid_page .post-wrap .content {
  width: 100% !important;
  box-sizing: border-box;
  flex: 1 1 auto;
  min-height: 0;
}

/* Page Nouvelles (grille) : hauteur égale pour toutes les cartes .post-wrap / .type-nouvelle
   Annuler float du thème pour que le flex fonctionne. */
.ovaem_blog_grid_page .row {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch;
}
.ovaem_blog_grid_page .row .col-md-4,
.ovaem_blog_grid_page .row .col-sm-6 {
  float: none !important;
  display: flex !important;
  flex-direction: column;
}
.ovaem_blog_grid_page .col-md-4 .post-wrap,
.ovaem_blog_grid_page .col-sm-6 .post-wrap,
.ovaem_blog_grid_page .col-md-4 article.type-nouvelle,
.ovaem_blog_grid_page .col-sm-6 article.type-nouvelle {
  float: none !important;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}
.ovaem_blog_grid_page .post-wrap .content {
  float: none !important;
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
/* .post-body : même hauteur sur toute la ligne (prend l’espace restant dans .content) */
.ovaem_blog_grid_page .post-wrap .content .post-meta,
.ovaem_blog_grid_page .post-wrap .content .post-title,
.ovaem_blog_grid_page .post-wrap .content .read_more {
  flex-shrink: 0;
}
.ovaem_blog_grid_page .post-wrap .content .post-body {
  flex: 1 1 auto;
  min-height: 0;
}

/* Nouvelles, Communiqués, Presse : dans .content uniquement – pas de margin sur meta, titre avec marges, margin-bottom sur .btn */
.ovaem_blog_grid_page .post-wrap .content .post-meta-content {
  margin: 0;
}
.ovaem_blog_grid_page .post-wrap .content .post-title,
.ovaem_blog_grid_page .post-wrap .content .post-title h2 {
  margin-bottom: 10px !important;
  margin-top: 10px !important;
}
.ovaem_blog_grid_page .post-wrap .content .btn {
  margin-bottom: 20px;
}
.ovaem_blog_grid_page .post-wrap .content .read_more a {
  margin-bottom: 30px;
}

/* Page Presse uniquement : pas de margin-bottom sur le bouton dans .post-readmore */
body.post-type-archive-presse .post-readmore .btn {
  margin-bottom: 0;
}

/* Page Presse uniquement : margin-top à 0 sur le lien read_more */
body.post-type-archive-presse .ovaem_blog_grid_page .post-wrap .content .read_more a {
  margin-top: 0 !important;
}

/* Page Presse mobile (≤480px) : garantir le padding-right sur les colonnes col-md-4/col-sm-6
   (3e et 9e articles collés au bord droit – padding-right non pris en compte).
   Annuler les marges négatives de la row pour éviter le débordement. */
/* Page Communiqués mobile (≤480px) : placer la pagination au-dessus de desk_row via flex order */
@media (max-width: 480px) {
  body.post-type-archive-presse .ovaem_blog_grid_page .row .col-md-4,
  body.post-type-archive-presse .ovaem_blog_grid_page .row .col-sm-6 {
    padding-right: 15px !important;
  }
  body.post-type-archive-presse .ovaem_blog_grid_page .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.post-type-archive-presse .ovaem_blog_grid_page .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.post-type-archive-communiques .ovaem_blog_grid_page .row .col-md-12.row.pagination-wrapper {
    order: 1;
  }
  body.post-type-archive-communiques .ovaem_blog_grid_page .row .desk_row {
    order: 2;
  }
}

/* ============================================================================
   3. HEADER / NAVIGATION - TRANSPARENCE ET STYLE
   ============================================================================ */

/* --- 3.1 Transparence du header en permanence --- */

.ova_header.ovatheme_header_v2 {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  z-index: 999 !important;
}

.ova_header.ovatheme_header_v2.fixed {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.ova_header.ovatheme_header_v2.has_logo_scroll {
  background-color: transparent !important;
  box-shadow: none !important;
}

/* --- 3.2 Navbar desktop : transparente en haut, foncée (0.92) au scroll (classe .shrink) --- */

/* En haut de page (sans .shrink) : navbar transparente, priorité sur le thème */
.ova_header.ovatheme_header_v2 .scroll_fixed,
.ova_header.ovatheme_header_v2.fixed .scroll_fixed,
.ova_header.ovatheme_header_v2:not(.shrink) .scroll_fixed {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  transition: background-color 0.35s ease, box-shadow 0.35s ease !important;
}

/* Quand on scrolle (classe .shrink ajoutée par le thème à 80px) */
.ova_header.ovatheme_header_v2.shrink .scroll_fixed,
.ova_header.ovatheme_header_v2.fixed.shrink .scroll_fixed {
  background-color: rgba(0, 0, 0, 0.85) !important;
  background-image: none !important;
  box-shadow: none !important;
  transition: background-color 0.35s ease, box-shadow 0.35s ease !important;
}

.ova_header.scroll_down .navbar,
.ova_header.ovatheme_header_v2 .navbar {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* --- 3.3 Navbar --- */

.ova_header.ovatheme_header_v2 .navbar {
  background-color: transparent !important;
  background-image: none !important;
  padding: 10px 0 !important;
  min-height: auto;
  border: none !important;
  box-shadow: none !important;
}

/* --- 3.3.1 Remonter le header, menu et logo de 40px --- */

.ova_header.ovatheme_header_v2 {
  margin-top: 0px !important;
  padding-top: 0 !important;
}

.ova_header.ovatheme_header_v2 .container,
.ova_header.ovatheme_header_v2 .container-fluid {
  margin-top: 0px !important;
  padding-top: 0 !important;
}

.ova_header.ovatheme_header_v2 .navbar-header {
  margin-top: 0px !important;
  padding-top: 0 !important;
}

.ova_header.ovatheme_header_v2 .navbar-brand {
  margin-top: 0px !important;
  padding-top: 0 !important;
}

.ova_header.ovatheme_header_v2 .ova-menu {
  margin-top: 0px !important;
  padding-top: 0 !important;
}

/* --- 3.4 Logos --- */

.ova_header .logo_scroll {
  display: none !important;
}

.ova_header .logo {
  display: block !important;
}

/* --- 3.5 Logo - Dimensionnement (desktop : width 400px) --- */

.ova_header .navbar-brand {
  padding: 10px 0 !important;
  margin: 0 !important;
  height: auto;
}

.ova_header .navbar-brand img,
.ova_header.ovatheme_header_v2 .navbar-brand img {
  max-height: 400px !important;
  max-width: 800px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
}

@media (min-width: 992px) {
  .ova_header .navbar-brand img,
  .ova_header.ovatheme_header_v2 .navbar-brand img {
    width: 400px !important;
    max-width: 400px !important;
    max-height: none !important;
    height: auto !important;
    object-fit: contain;
  }
}

/* --- 3.6 Menu - Augmenter la taille du texte --- */

.ova-menu ul.navbar-nav > li > a {
  font-size: 16px !important;
  font-weight: 600 !important;
}

.ova-menu ul.navbar-nav > li .dropdown-menu > li > a {
  font-size: 15px !important;
}

/* Dropdown menu : supprimer le padding des liens (override default_theme) */
.ova-menu nav.navbar li ul.dropdown-menu li > a {
  padding: 0 !important;
}

/* Dropdown submenu (nested .dropdown-menu) : alignement à droite, pas de fond, texte blanc, hover #d1a98c
   Sélecteurs avec #menu-primary-menu et #ovatheme_header_v2 pour override du thème */
.ova-menu ul.dropdown-menu ul.dropdown-menu,
.ova-menu .dropdown-menu .dropdown-menu,
.ovatheme_header_v2 #ovatheme_header_v2 #menu-primary-menu ul.dropdown-menu ul.dropdown-menu,
.ovatheme_header_v2 #menu-primary-menu ul.dropdown-menu ul.dropdown-menu,
#ovatheme_header_v2 #menu-primary-menu ul.dropdown-menu ul.dropdown-menu {
  text-align: right !important;
  background-color: transparent !important;
  background: none !important;
}
.ova-menu ul.dropdown-menu ul.dropdown-menu li a,
.ova-menu .dropdown-menu .dropdown-menu li a,
.ovatheme_header_v2 #ovatheme_header_v2 #menu-primary-menu ul.dropdown-menu ul.dropdown-menu li a,
.ovatheme_header_v2 #menu-primary-menu ul.dropdown-menu ul.dropdown-menu li a,
#ovatheme_header_v2 #menu-primary-menu ul.dropdown-menu ul.dropdown-menu li a {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background-color: transparent !important;
  background: none !important;
  transition: color 0.3s ease, -webkit-text-fill-color 0.3s ease !important;
}
.ova-menu ul.dropdown-menu ul.dropdown-menu li a:hover,
.ova-menu .dropdown-menu .dropdown-menu li a:hover,
.ovatheme_header_v2 #ovatheme_header_v2 #menu-primary-menu ul.dropdown-menu ul.dropdown-menu li a:hover,
.ovatheme_header_v2 #menu-primary-menu ul.dropdown-menu ul.dropdown-menu li a:hover,
#ovatheme_header_v2 #menu-primary-menu ul.dropdown-menu ul.dropdown-menu li a:hover {
  color: #d1a98c !important;
  -webkit-text-fill-color: #d1a98c !important;
  background-color: transparent !important;
  background: none !important;
}

/* Texte "ASSOCIATION DE L'OFFRANDE MUSICALE" - même style sur toutes les pages */
.ova_header .navbar-brand span.blogname,
.ova_header .navbar-brand .blogname,
.ovatheme_header_default a.navbar-brand span.blogname,
.page .ova_header .navbar-brand span.blogname,
.single .ova_header .navbar-brand span.blogname,
.archive .ova_header .navbar-brand span.blogname {
  font-size: 14px !important;
  font-weight: normal !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* --- 3.6 Navbar Header --- */

.ova_header .navbar-header {
  padding: 3px 0 !important;
  margin: 0 !important;
  min-height: auto !important;
}

/* --- 3.7 Menu Items --- */

.ova_header .navbar-nav > li > a {
  padding: 5px 10px !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  height: auto !important;
  margin: 0 !important;
}

/* Menu sur une ligne : espacement réduit en header v2 */
.ova_header.ovatheme_header_v2 .navbar-nav > li > a {
  padding-left: 8px !important;
  padding-right: 8px !important;
  font-size: 15px !important;
}

/* Forcer le menu à rester sur une ligne (desktop) : logo ne grandit pas, nav ne wrap pas */
.ova_header.ovatheme_header_v2 .ova-logo.navbar-header {
  flex: 0 0 auto !important;
  max-width: none;
}
.ova_header.ovatheme_header_v2 #ovatheme_header_v2 {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.ova_header.ovatheme_header_v2 .ova-menu ul.navbar-nav {
  flex-wrap: nowrap !important;
}

.ova_header .navbar-nav > li {
  padding: 0 !important;
  margin: 0 !important;
}

/* --- 3.8 Icônes du compte --- */

.ova_header .ova-account {
  padding: 0 !important;
  margin: 0 !important;
}

.ova_header .ova-account a {
  padding: 3px 6px !important;
  font-size: 12px !important;
  margin: 0 !important;
}

/* --- 3.9 Containers et spacing --- */

.ova_header .container-fluid {
  padding: 3px 15px !important;
}

/* Décale le contenu (logo + menu) vers la gauche pour garder le menu sur une ligne */
.ova_header.ovatheme_header_v2 .container-fluid {
  padding-left: 5px !important;
  padding-right: 8px !important;
}



.ova_header .container {
  padding: 0 15px !important;
}

.ova_header .row {
  margin: 0 !important;
  padding: 0 !important;
}

/* --- 3.10 Burger menu mobile --- */

.ova_header .navbar-toggle {
  padding: 5px 8px !important;
  margin: 5px 0 !important;
}

.ova_header .icon-bar {
  height: 2px !important;
  margin: 3px 0 !important;
}

/* ============================================================================
   4. PAGE HEADING (TITRE DE PAGE)
   ============================================================================ */

.ova-bg-heading {
  padding: 20px 0 !important;
  min-height: auto !important;
  background-attachment: scroll !important;
}

.ova-breadcrumbs {
  padding: 15px 0 !important;
}

.ova-breadcrumbs h1.ova_title,
.ova-breadcrumbs .ova_title {
  font-size: 30px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  margin: 5px 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  color: #fff !important;
}

/* ova_title : majuscules, 30px, font-weight 500 (tous contextes) */
.ova_title,
.ova-bg-heading .ova_title,
.ova-bg-heading h1.ova_title,
.ova-bg-heading h2.ova_title {
  font-size: 30px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
}

.ova-breadcrumbs .breadcrumbs {
  font-size: 11px !important;
  margin: 5px 0 0 0 !important;
}

.ova-bg-heading .bg_cover {
  opacity: 0.3 !important;
}

/* ============================================================================
   4.5. SECTIONS SERVICES (Saisons, Nouvelles, Communiqués, Archives)
   ============================================================================ */

/* Couleur par défaut de l'icône (sans hover) - doit être marron */
/* Rendre tout le bloc cliquable */
.ova_service_link_wrapper {
    cursor: pointer;
    text-decoration: none !important;
    display: block;
    color: inherit;
}

.ova_service_link_wrapper:hover {
    text-decoration: none !important;
}

.ova_service_link_wrapper .ova_service {
    cursor: pointer;
}

.ova_service {
    padding: 10px 0px 10px 0px;
}

.ova_service .title {
    padding-bottom: 0px;
}

.ova_service .read_more {
    padding-top: 10px;
}

.ova_service .icon i {
  color: #d1a98c !important;
  -webkit-text-fill-color: #d1a98c !important;
}

.ova_service .icon i:before {
  color: #d1a98c !important;
  -webkit-text-fill-color: #d1a98c !important;
}

/* Hover sur les sections ova_service */
.ova_service:hover {
  background-color: #d1a98c !important;
  color: #fff !important;
  transition: all 0.3s ease !important;
  padding: 10px 0px 10px 0px;
}

.ova_service:hover .title,
.ova_service:hover .desc {
  color: #fff !important;
}

.ova_service:hover .title {
  padding-bottom: 0px;
}

.ova_service:hover .read_more {
  padding-top: 10px;
}

/* L'icône doit rester en marron au hover (pas blanche) */
.ova_service:hover .icon {
  border-color: #fff !important;
}

.ova_service:hover .icon i {
  background: #fff !important;
  color: #d1a98c !important;
  -webkit-text-fill-color: #d1a98c !important;
}

.ova_service:hover .icon i:before {
  color: #d1a98c !important;
  -webkit-text-fill-color: #d1a98c !important;
}

.ova_service:hover .read_more a {
  color: #fff !important;
}

.ova_service.ova-trans.style1 {
  padding-top: 0;
  padding-bottom: 20px;
}

.ova_service.ova-trans.style1:hover {
  padding-top: 0;
  padding-bottom: 20px;
}

/* Vue tablette : réduire le margin-top de .ova_service .title */
@media (max-width: 992px) {
  .ova_service .title {
    margin-top: 10px !important;
  }
  /* Grille 2×2 (Saisons, Communiqués, Nouvelles, Histoire) : fine ligne blanche horizontale entre les lignes (comme la verticale entre colonnes) */
  .wrap_service > .wpb_column:nth-child(3),
  .wrap_service > .wpb_column:nth-child(4),
  .wrap_service > [class*="vc_col"]:nth-child(3),
  .wrap_service > [class*="vc_col"]:nth-child(4) {
    border-top: 1px solid #fff;
  }
}

/* Vue mobile (480px) : padding-top du read_more dans la ligne wrap_service */
@media (max-width: 480px) {
  .vc_row.wrap_service .ova_service .read_more,
  .wrap_service .ova_service .read_more {
    padding-top: 2px !important;
  }
  .vc_row.wrap_service .ova_service:hover .read_more,
  .wrap_service .ova_service:hover .read_more {
    padding-top: 2px !important;
  }
  /* Trait fin blanc sous la première colonne (Saisons) pour la séparer de la suivante */
  .wrap_service .vc_column-inner.vc_custom_1504854319866 {
    border-bottom: 1px solid #fff;
    margin-bottom: 0;
  }
  .ova_service.ova-trans.style1,
  .ova_service.ova-trans.style1:hover {
    padding-bottom: 10px;
  }
  /* Icône circulaire comme en desktop (évite le rectangle en hover sur mobile) */
  .ova_service.ova-trans.style1 .icon {
    width: 120px;
    height: 120px;
    border-radius: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .ova_service.ova-trans.style1 .icon i {
    border-radius: 100%;
    width: 100px;
    height: 100px;
    padding: 18px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  .ova_service.ova-trans.style1:hover .icon i {
    border-radius: 100%;
    background: #fff !important;
  }
  /* Supprimer la margin-top de tous les h2 en vue mobile */
  h2 {
    margin-top: 0 !important;
  }
  .ova-page-section {
    margin-top: 35px !important;
  }
  .ovaem_blog_grid_page {
    margin-top: 50px !important;
  }
  .omc-location-map {
    margin-bottom: 0 !important;
  }
}

/* Sidebar (ovaem_general_sidebar) – couleur hover des liens (remplace #4862c4 du thème) */
.ovaem_general_sidebar .widget ul li a:hover,
.ovaem_general_sidebar .widget.widget_categories ul li a:hover,
.ovaem_general_sidebar .widget a:hover {
  color: #D1A98C !important;
}
.woocommerce .ovaem_general_sidebar .widget.widget_product_categories ul li a:hover {
  color: #D1A98C !important;
}

/* Bloc "Derniers articles" dans la sidebar – même couleur, sélecteur renforcé */
body .ovaem_general_sidebar .widget ul li a.wp-block-latest-posts__post-title:hover,
body .ovaem_general_sidebar .widget a.wp-block-latest-posts__post-title:hover,
.ovaem_general_sidebar .widget a.wp-block-latest-posts__post-title:hover {
  color: #D1A98C !important;
}

/* Bouton "Rechercher" (bloc Search) – wp-block-search__button wp-element-button */
#sidebar .wp-block-search__button.wp-element-button,
.wp-block-search__button.wp-element-button {
  background: #d1a98c !important;
  background-color: #d1a98c !important;
  color: #fff !important;
  border-color: #d1a98c !important;
  border-radius: 4px !important;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease !important;
}
#sidebar .wp-block-search__button.wp-element-button:hover,
.wp-block-search__button.wp-element-button:hover {
  background: #b8935a !important;
  background-color: #b8935a !important;
  color: #fff !important;
  border-color: #b8935a !important;
  border-radius: 4px !important;
}

/* Bouton Rechercher (classe wp-block-search__button__wp-element-button) */
.wp-block-search__button__wp-element-button {
  background: #d1a98c !important;
  background-color: #d1a98c !important;
  color: #fff !important;
  border-color: #d1a98c !important;
  border-radius: 4px !important;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease !important;
}
.wp-block-search__button__wp-element-button:hover {
  background: #b8935a !important;
  background-color: #b8935a !important;
  color: #fff !important;
  border-color: #b8935a !important;
}

/* Bouton recherche sidebar (omc-search-submit) : même style que le site */
.omc-search-submit {
  background: #d1a98c !important;
  background-color: #d1a98c !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  transition: background-color 0.3s ease !important;
}
.omc-search-submit:hover {
  background: #b8935a !important;
  background-color: #b8935a !important;
  color: #fff !important;
}

/* Page 404 et aucun résultat de recherche : bouton et champ Rechercher – style du site */
.error404 .search-form input.search-submit,
.search-no-results .search-form input.search-submit {
  background: #d1a98c !important;
  background-color: #d1a98c !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  transition: background-color 0.3s ease !important;
}
.error404 .search-form input.search-submit:hover,
.search-no-results .search-form input.search-submit:hover {
  background: #b8935a !important;
  background-color: #b8935a !important;
  color: #fff !important;
}

.error404 .search-form input.search-field,
.search-no-results .search-form input.search-field {
  padding: 12px 45px 12px 15px;
  border: 2px solid #e2e2e2;
  border-radius: 4px;
  color: #333;
  background: #fff;
  transition: all 0.3s ease;
  outline: none;
}

/* Page 404 et résultats de recherche : navbar complète (éviter qu'elle soit coupée par overflow) */
body.error404 .ovatheme_container_wide,
body.error404 .ovatheme_container_boxed,
body.search .ovatheme_container_wide,
body.search .ovatheme_container_boxed {
  overflow: visible !important;
}
body.error404 .ova_header,
body.search .ova_header {
  overflow: visible !important;
}
body.error404 .ova_header .scroll_fixed,
body.search .ova_header .scroll_fixed {
  overflow: visible !important;
}

body.error404 .ova-page-section {
  margin-bottom: 30px;
}

/* Page 404 : responsive mobile (≤480px) */
@media (max-width: 480px) {
  body.error404 .ova-page-section {
    margin-top: 30px !important;
    margin-bottom: 25px;
    padding-left: 15px;
    padding-right: 15px;
  }
  body.error404 .ovaem_blog_page {
    padding: 0;
  }
  body.error404 h1.page-title {
    font-size: 24px !important;
    line-height: 1.3;
    margin-bottom: 15px;
  }
  body.error404 .page-content {
    font-size: 15px;
    line-height: 1.5;
    margin-bottom: 20px;
  }
  body.error404 .page-content p {
    margin-bottom: 15px;
  }
  body.error404 .search-form,
  body.search-no-results .search-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
  }
  body.error404 .search-form label,
  body.search-no-results .search-form label {
    width: 100%;
  }
  body.error404 .search-form input.search-field,
  body.search-no-results .search-form input.search-field {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 12px 15px;
  }
  body.error404 .search-form input.search-submit,
  body.search-no-results .search-form input.search-submit {
    width: 100%;
    padding: 0;
  }
}

/* Bouton .ova-btn centré (sans étirer sur toute la largeur) */
.ova-btn {
  display: block;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

/* Input Rechercher (sidebar d'une nouvelle) – même style que .omc-search-input */
#wp-block-search__input-1,
#sidebar #wp-block-search__input-1,
.wp-block-search__input {
  padding: 12px 45px 12px 15px !important;
  border: 2px solid #e2e2e2 !important;
  border-radius: 4px !important;
  color: #333 !important;
  background: #fff !important;
  transition: all 0.3s ease !important;
  outline: none !important;
}

/* Page Nouvelles / sidebar : border-radius sur .widget.widget_block et widget recent posts */
.widget.widget_block,
#sidebar .widget.widget_block,
.ovaem_general_sidebar .widget.widget_block,
body.page-nouvelles .widget.widget_block,
.ovaem_blog_page .widget.widget_block,
#recent-posts-widget-with-thumbnails-1,
#sidebar #recent-posts-widget-with-thumbnails-1,
.ovaem_general_sidebar #recent-posts-widget-with-thumbnails-1 {
  border-radius: 4px !important;
  overflow: hidden !important;
}

/* Page Saisons : même style (border-radius 4px) pour le widget recherche concerts */
body.page-saisons .widget.omc_search_concerts,
body.page-saisons #sidebar .widget.omc_search_concerts,
body.page-saisons .ovaem_general_sidebar .widget.omc_search_concerts,
.widget.omc_search_concerts {
  border-radius: 4px !important;
  overflow: hidden !important;
  margin-bottom: 45px !important;
}

/* Pages Histoire et Contact : margin-top de ova-page-section à 20px
   Contact = Informations pratiques (page-id-16169) */
body.page-histoire .ova-page-section,
body.page-contact .ova-page-section,
body.page-informations-pratiques .ova-page-section,
body.page-id-16169 .ova-page-section {
  margin-top: 20px !important;
}

/* Mobile (≤480px) : Histoire et Informations pratiques → 35px */
@media (max-width: 480px) {
  body.page-histoire .ova-page-section,
  body.page-contact .ova-page-section,
  body.page-informations-pratiques .ova-page-section,
  body.page-id-16169 .ova-page-section {
    margin-top: 35px !important;
  }
}

/* Page Saisons : paragraphe dans .wpb_wrapper justifié (intro au-dessus de la grille des années) */
body.page-saisons .ova-page-section .wpb_wrapper p,
body.page-saisons .ova-page-section .wpb_text_column .wpb_wrapper p,
body.page-saisons .ova-page-section .vc_column_text .wpb_wrapper p,
body.page-id-16285 .ova-page-section .wpb_wrapper p {
  text-align: justify !important;
}

/* ============================================================================
   4.6. BANDEAU COUNTDOWN (AUCUNE DATE PRÉVUE)
   ============================================================================ */

/* Le bandeau reste fixe en bas (position: fixed, bottom: 0) */
/* Pas de modification nécessaire - il reste collé en bas */

/* ============================================================================
   4.7. FOOTER - Ajustement pour remonter au-dessus du bandeau
   ============================================================================ */

/* Le footer doit avoir un margin-bottom suffisant pour être visible au-dessus du bandeau */
.footer-hero {
  position: relative !important;
  z-index: 200 !important;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  clear: both !important;
}

/* Sur la page d'accueil uniquement : empêcher le bandeau de descendre plus bas que le footer */
body.home .concert-countdown-wrapper {
  overflow: hidden !important;
}

/* Bouton "Voir Plus" du bandeau concert */
.concert-countdown-content .btn-concert {
  margin-right: 20px;
}

/* Limiter le padding-bottom du body sur la page d'accueil pour que le scroll s'arrête au footer */
body.home {
  padding-bottom: 0 !important;
  overflow-x: hidden;
}

/* S'assurer que le contenu après le bandeau ne dépasse pas */
body.home .main-content-wrapper {
  position: relative;
  z-index: 1;
}

/* ============================================================================
   5. FOOTER - SECTION HERO
   ============================================================================ */

.footer-hero {
  background: url('https://rompon.dev.gva-it.ch/wp-content/uploads/2025/11/rompon.jpg') center center / cover no-repeat;
  color: #fff;
  text-align: center;
  position: relative;
  padding: 40px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Voile d'ombre sur le fond */
.footer-hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 0;
}

/* --- 5.1 Contenu du footer --- */

.footer-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  text-align: left;
  flex-wrap: wrap;
}

/* --- 5.2 Colonnes du footer --- */

.footer-left,
.footer-center,
.footer-right {
  flex: 1 1 30%;
  min-width: 280px;
}

/* Forcer le copyright à prendre toute la largeur */
.footer-content > .footer-copyright {
  order: 999;
}

.footer-left {
  text-align: left;
}

.footer-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* Formulaire newsletter - bouton à droite du champ email */
.footer-newsletter-form {
  margin-top: 15px;
  width: 100%;
}

/* Conteneur principal (y compris Infomaniak injecté) : ligne horizontale */
.footer-newsletter-form form,
.footer-newsletter-form > div,
.footer-newsletter-form [class*="inf-main"] {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
}

/* Premier niveau d'enfants (si Infomaniak met un wrapper) : aussi en ligne — exclure .inf-success (message après inscription) */
.footer-newsletter-form form > *,
.footer-newsletter-form > div > *,
.footer-newsletter-form [class*="inf-main"] > *:not(.inf-success) {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
}

/* Message de succès Infomaniak : masqué tant que l'inscription n'est pas validée, puis affiché en dessous (pleine largeur) */
.footer-newsletter-form .inf-success {
  display: none;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  flex-basis: 100% !important;
  min-width: 100% !important;
  margin-top: 0.75em;
  padding: 0;
  order: 2;
}
.footer-newsletter-form .inf-success[style*="display: block"],
.footer-newsletter-form .inf-success[style*="display:block"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  flex-basis: 100% !important;
  min-width: 100% !important;
}
/* Conteneur qui contient .inf-success : autoriser le retour à la ligne pour que le message passe en dessous */
.footer-newsletter-form div:has(> .inf-success),
.footer-newsletter-form form:has(> .inf-success) {
  flex-wrap: wrap !important;
}

/* Champ email caché (doublon Infomaniak) : garder en DOM pour la soumission, ne pas l'afficher ni le compter dans le layout */
.footer-newsletter-form input[type="email"][style*="display: none"],
.footer-newsletter-form input[type="email"][style*="display:none"],
.footer-newsletter-form input[name="email"][style*="display: none"],
.footer-newsletter-form input[name="email"][style*="display:none"] {
  display: none !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  flex: 0 0 0 !important;
}

.footer-newsletter-form input[type="email"]:not([style*="display: none"]):not([style*="display:none"]),
.footer-newsletter-form input[type="text"] {
  flex: 1 !important;
  min-width: 200px !important;
  max-width: 300px !important;
  padding: 10px 15px !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  border-radius: 4px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
  font-size: 14px !important;
}

.footer-newsletter-form input[type="email"]::placeholder,
.footer-newsletter-form input[type="text"]::placeholder {
  color: rgba(255, 255, 255, 0.7) !important;
}

.footer-newsletter-form button,
.footer-newsletter-form input[type="submit"],
.footer-newsletter-form .btn-subscribe {
  padding: 10px 20px !important;
  background: #D1A98C !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  transition: background 0.3s ease !important;
}

.footer-newsletter-form button:hover,
.footer-newsletter-form input[type="submit"]:hover,
.footer-newsletter-form .btn-subscribe:hover {
  background: #b8935a !important;
}

@media (max-width: 768px) {
  .footer-newsletter-form form,
  .footer-newsletter-form > div,
  .footer-newsletter-form [class*="inf-main"] > *:not(.inf-success) {
    flex-direction: column !important;
    align-items: center !important;
    gap: 6px !important;
  }

  /* Mobile : centrer inf-content dans inf-main (sélecteur renforcé pour battre .footer-newsletter-form [class*="inf-main"]) */
  .footer-newsletter-form .inf-main_f8d1fd344c855b7d20e10071befd4ae1 {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    align-content: center !important;
    text-align: center !important;
  }
  .footer-newsletter-form .inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 280px !important;
    align-self: center !important;
  }

  /* Infomaniak : centrer input + bouton (override stretch et JS inline) ; espace réduit entre input et bouton */
  .footer-newsletter-form .inf-main_f8d1fd344c855b7d20e10071befd4ae1 form,
  .footer-newsletter-form .inf-main_f8d1fd344c855b7d20e10071befd4ae1 form > div,
  .footer-newsletter-form .inf-main_f8d1fd344c855b7d20e10071befd4ae1 > div:not(.inf-success),
  .footer-newsletter-form .inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-content,
  .footer-newsletter-form .inf-main_f8d1fd344c855b7d20e10071befd4ae1 div:has(.inf-submit),
  .footer-newsletter-form .inf-main_f8d1fd344c855b7d20e10071befd4ae1 div:has(input[type="submit"]) {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
  }
  .footer-newsletter-form .inf-main_f8d1fd344c855b7d20e10071befd4ae1 input[type="email"],
  .footer-newsletter-form .inf-main_f8d1fd344c855b7d20e10071befd4ae1 input[type="text"] {
    width: 100% !important;
    max-width: 280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .footer-newsletter-form .inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-submit,
  .footer-newsletter-form .inf-main_f8d1fd344c855b7d20e10071befd4ae1 input[type="submit"] {
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    max-width: 280px !important;
  }

  .footer-newsletter-form input[type="email"],
  .footer-newsletter-form input[type="text"] {
    width: 100% !important;
    min-width: auto !important;
    max-width: 100% !important;
  }

  .footer-newsletter-form button,
  .footer-newsletter-form input[type="submit"],
  .footer-newsletter-form .btn-subscribe {
    width: 100% !important;
  }
}

.footer-right {
  text-align: right;
  align-self: flex-start;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

/* --- 5.3 Titres et liens du footer --- */

/* Exception : titres du footer en blanc */
.footer-content h1,
.footer-content h2,
.footer-content h3,
.footer-content h4,
.footer-content h5,
.footer-content h6 {
  color: #fff !important;
}

/* Exception : titre du countdown concert en blanc */
.concert-title {
  color: #fff !important;
}

.footer-left h3,
.footer-right h3 {
  font-size: 20px;
  margin-bottom: 10px;
}

.footer-left a {
  color: #d1a98c;
  text-decoration: none;
  transition: color 0.2s ease, text-decoration 0.2s ease;
}

.footer-left a:hover {
  color: #b8935a;
  text-decoration: underline;
}

.footer-right a {
  color: #b49e83;
  text-decoration: none;
  transition: text-decoration 0.2s ease;
}

.footer-right a:hover {
  text-decoration: underline;
}

/* --- 5.4 Formulaire Infomaniak --- */

.inf-main_f8d1fd344c855b7d20e10071befd4ae1 {
  background: rgba(0, 0, 0, 0.3) !important;
  color: #fff !important;
  border-radius: 8px;
  padding: 20px 20px !important;
  max-width: 500px;
  margin: 0 auto !important;
  justify-content: center !important;
  align-items: center !important;
  align-content: center !important;
}

.inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-content,
.inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-content form,
.inf-main_f8d1fd344c855b7d20e10071befd4ae1 form {
  display: flex !important;
  margin: 0 !important;
  padding: 0 !important;
}
.inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-content {
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.inf-main_f8d1fd344c855b7d20e10071befd4ae1 h4,
.inf-main_f8d1fd344c855b7d20e10071befd4ae1 span {
  color: #fff !important;
  font-family: "Poppins", sans-serif !important;
}

/* Formulaire Infomaniak - desktop/tablette uniquement : bouton à droite du champ email (évite d'écraser le layout mobile) */
@media (min-width: 769px) {
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1,
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 form,
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 > div:not(.inf-success) {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
  }
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 div:has(.inf-submit),
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 div:has(input[type="submit"]) {
    flex-direction: row !important;
  }
}

/* Ligne formulaire (email + bouton) : ne pas prendre toute la largeur, affichée au-dessus du message succès */
.inf-main_f8d1fd344c855b7d20e10071befd4ae1 > *:not(.inf-success) {
  flex: 0 0 auto !important;
  max-width: 100% !important;
  order: 1 !important;
}

.inf-main_f8d1fd344c855b7d20e10071befd4ae1 input[type="email"] {
  background: #fff !important;
  color: #000 !important;
  border-radius: 4px;
  padding: 10px !important;
  border: none !important;
  flex: 1 1 auto !important;
  min-width: 180px !important;
  max-width: 320px !important;
  width: auto !important;
}

.inf-main_f8d1fd344c855b7d20e10071befd4ae1 input[type="email"]::placeholder {
  color: #999 !important;
}

/* Conteneur qui contient le bouton : forcer en ligne (desktop/tablette uniquement ; mobile = column dans @media max-width 768px) */
@media (min-width: 769px) {
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 div:has(.inf-submit),
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 div:has(input[type="submit"]) {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
  }
}

.inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-submit {
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-submit input[type="submit"] {
  background: #d1a98c !important;
  color: #fff !important;
  border: none !important;
  white-space: nowrap !important;
  border-radius: 4px !important;
  padding: 10px 20px !important;
  margin: 0 !important;
  transition: background 0.3s ease !important;
  cursor: pointer !important;
}

.inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-submit input[type="submit"]:hover {
  background: #b8935a !important;
}

/* Message succès newsletter : masqué par défaut, affiché par Infomaniak — toujours en dessous (pleine largeur), même si imbriqué dans le form */
.inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-success {
  display: none !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  flex-basis: 100% !important;
  min-width: 100% !important;
  margin-top: 0.75em !important;
  padding: 0 !important;
  order: 2 !important;
}
.inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-success[style*="display: block"],
.inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-success[style*="display:block"] {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  flex-basis: 100% !important;
  min-width: 100% !important;
  order: 2 !important;
}
/* Le form (ou div) qui contient email + bouton + inf-success : wrap pour que .inf-success passe à la ligne */
.inf-main_f8d1fd344c855b7d20e10071befd4ae1 form:has(.inf-success),
.inf-main_f8d1fd344c855b7d20e10071befd4ae1 div:has(> .inf-success) {
  flex-wrap: wrap !important;
}

/* Masquer inf-btn (lien/bouton sous le formulaire après inscription — souvent "Gérer l'abonnement") */
.footer-newsletter-form .inf-btn,
.footer-newsletter-form .inf-success .inf-btn,
.footer-newsletter-form .inf-success a.inf-btn,
.inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-btn,
.inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-success .inf-btn,
.inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-success a.inf-btn {
  display: none !important;
  visibility: hidden !important;
}

/* Titre h4 dans inf-success (message succès newsletter) */
.footer-newsletter-form .inf-success h4,
.inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-success h4 {
  font-size: 16px !important;
  margin: 0 0 0 !important;
}

/* Widget Altcha (vérification newsletter) : couleur du label */
.footer-newsletter-form .altcha-main .altcha-label,
.altcha-main .altcha-label,
[class*="altcha-main"] .altcha-label {
  color: #333 !important;
  margin-bottom: 0 !important;
}

.footer-newsletter-form .altcha-main .altcha-spinner,
.altcha-main .altcha-spinner,
[class*="altcha-main"] .altcha-spinner {
  color: #333 !important;
  border-color: #333 !important;
}

/* ============================================================================
   6. CARTES HISTORIQUES
   ============================================================================ */

/* --- 6.1 Carte principale --- */

.historical-card {
  background: #ffffff;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  width: 100%;
  max-width: 100%;
}

.historical-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

/* --- 6.2 En-tête avec date --- */

.date-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px;
  background: #f8f9fa;
  border-bottom: 1px solid #e0e0e0;
  flex-wrap: wrap;
}

.date-icon {
  font-size: 20px;
  flex-shrink: 0;
}

.date-header h3 {
  margin: 0;
  color: #333;
  font-size: 16px;
  font-weight: 600;
  flex: 1;
  min-width: 200px;
}

/* --- 6.3 Contenu de l'événement --- */

.event-content {
  padding: 25px;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* --- 6.4 Titre de l'événement --- */

.event-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin: 0;
  flex-wrap: wrap;
}

.music-icon {
  font-size: 24px;
  flex-shrink: 0;
}

/* --- 6.5 Infos de l'événement --- */

.event-info {
  margin: 0;
}

.location {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #666;
  font-size: 14px;
  margin: 0;
  flex-wrap: wrap;
}

.location-icon {
  font-size: 16px;
  flex-shrink: 0;
}

/* --- 6.6 Description --- */

.event-description {
  color: #555;
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.event-description strong {
  color: #333;
  font-weight: 600;
}

/* --- 6.7 Zone histoire --- */

.event-story {
  background: #f2f2f2;
  padding: 15px;
  border-left: 3px solid #d1a98c;
  border-radius: 3px;
  margin: 0;
}

.event-story p {
  margin: 0;
  color: #333;
  font-size: 14px;
  line-height: 1.7;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.event-story strong {
  color: #d1a98c;
  font-weight: 600;
}

/* --- 6.8 Section action --- */

.event-action {
  margin-top: 10px;
  padding-top: 20px;
  border-top: 1px solid #e0e0e0;
}

.action-text {
  color: #666;
  font-size: 14px;
  margin: 0 0 12px 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* --- 6.9 Bouton --- */

.btn-programmes {
  display: inline-block;
  padding: 12px 24px;
  background: #d1a98c;
  color: white;
  text-decoration: none;
  border-radius: 3px;
  font-weight: 600;
  font-size: 14px;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}

.btn-programmes:hover {
  background: #b8935a;
  color: white;
}

/* ============================================================================
   7. RESPONSIVE - DESKTOP À TABLETTE
   ============================================================================ */

@media (max-width: 992px) {
  /* --- Navbar tablette : hauteur et padding réduits --- */
  .ova_header.ovatheme_header_v2 .navbar,
  .ova_header .navbar {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    min-height: auto !important;
  }
  .ova_header .scroll_fixed {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  /* --- Logo tablette (769px–992px) : taille augmentée ; en mobile (≤768px) voir @media 768px --- */
  .ova_header .navbar-brand img,
  .ova_header.ovatheme_header_v2 .navbar-brand img {
    max-height: 180px !important;
    max-width: 380px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }
  /* --- Header tablette : pas de display flex sur ova-logo navbar-header ; menu burger blanc --- */
  .ova_header .ova-logo.navbar-header,
  .ova_header.ovatheme_header_v2 .ova-logo.navbar-header {
    /* display: flex supprimé */
  }
  /* Padding gauche/droite du logo pour ne pas le coller au menu burger (tablette / mobile) */
  .ova_header .navbar-brand,
  .ova_header.ovatheme_header_v2 .navbar-brand {
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
  .ova_header .ova-logo .navbar-toggle,
  .ova_header.ovatheme_header_v2 .ova-logo .navbar-toggle {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .ova_header .navbar-toggle .icon-bar {
    background-color: #fff !important;
  }
  .ova_header .navbar-toggle {
    border-color: rgba(255, 255, 255, 0.6) !important;
  }
  .ova_header .navbar-toggle:hover,
  .ova_header .navbar-toggle:focus {
    border-color: #fff !important;
  }
  .ova_header .navbar-toggle:hover .icon-bar,
  .ova_header .navbar-toggle:focus .icon-bar {
    background-color: #fff !important;
  }

  /* --- Vue tablette : supprimer le padding des conteneurs pour éviter le vide à gauche du logo et à droite du burger (justify-content: space-between doit aller d’un bord à l’autre) --- */
  .ova_header .scroll_fixed .container,
  .ova_header.ovatheme_header_v2 .scroll_fixed .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .ova_header .scroll_fixed .container .row,
  .ova_header.ovatheme_header_v2 .scroll_fixed .container .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .ova_header .navbar .container-fluid,
  .ova_header.ovatheme_header_v2 .navbar .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* --- Vue tablette : burger et menu déroulant alignés à droite ; navbar-toggle aligné avec logo_mobile --- */
  .ova_header .ova-logo.navbar-header,
  .ova_header.ovatheme_header_v2 .ova-logo.navbar-header {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    justify-content: space-between !important;
    flex-direction: row-reverse !important;
  }
  .ova_header .ova-logo.navbar-header .navbar-brand.logo_mobile,
  .ova_header.ovatheme_header_v2 .ova-logo.navbar-header .navbar-brand.logo_mobile,
  .ova_header .ova-logo.navbar-header .navbar-toggle,
  .ova_header.ovatheme_header_v2 .ova-logo.navbar-header .navbar-toggle {
    align-self: center !important;
  }
  .ova_header .navbar-collapse.collapse.in,
  .ova_header.ovatheme_header_v2 .navbar-collapse.collapse.in,
  .ova_header #ovatheme_header_v2.in {
    text-align: right !important;
  }
  .ova_header .navbar-collapse.collapse.in ul.nav,
  .ova_header.ovatheme_header_v2 .navbar-collapse.collapse.in ul.nav,
  .ova_header #ovatheme_header_v2.in ul.nav {
    text-align: right !important;
    align-items: flex-end !important;
  }
  .ova_header #ovatheme_header_v2.in .container-fluid {
    justify-content: flex-end !important;
  }
  #menu-primary-menu {
    padding-right: 100px !important;
  }

  /* --- Footer : colonnes en pile --- */
  .footer-content {
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: center !important;
  }

  .footer-left,
  .footer-center,
  .footer-right {
    text-align: center !important;
    align-items: center !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }

  .footer-center {
    justify-content: flex-start !important;
  }

  .footer-right {
    align-items: center !important;
  }

  .footer-left ul {
    padding: 0;
    list-style: none !important;
    list-style-type: none !important;
  }
  .footer-left ul li::marker {
    content: none;
    display: none;
  }

  /* Garder le padding 20px 20px sur inf-main en tablette + limiter la hauteur (évite hauteur étirée + espace au-dessus du formulaire) */
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 {
    padding: 20px 20px !important;
    min-height: 0 !important;
    max-height: 150px !important;
    flex: 0 0 auto !important;
  }
}

/* Réduire l'espace vide dans inf-main entre 993px et 1074px (spécificité renforcée pour battre les overrides) */
@media (max-width: 1074px) and (min-width: 993px) {
  body .footer-hero .footer-content .footer-center .footer-newsletter-form .inf-main_f8d1fd344c855b7d20e10071befd4ae1,
  body .footer-newsletter-form .inf-main_f8d1fd344c855b7d20e10071befd4ae1,
  .footer-newsletter-form .inf-main_f8d1fd344c855b7d20e10071befd4ae1,
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 {
    max-height: 10px !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
}

/* ============================================================================
   7.1 RESPONSIVE FOOTER - MOBILE (tout le texte visible, !important pour override)
   ============================================================================ */

@media (max-width: 768px) {
  .footer-hero {
    padding: 30px 16px 24px !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    max-width: 100vw !important;
  }

  .footer-content {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    gap: 24px !important;
    box-sizing: border-box !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .footer-left,
  .footer-center,
  .footer-right {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .footer-left h3,
  .footer-right h3 {
    font-size: 18px !important;
  }

  .footer-left p,
  .footer-center p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    max-width: 100% !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }

  .footer-center h2 {
    font-size: 16px !important;
  }

  .footer-left ul {
    list-style: none !important;
    margin: 0 !important;
  }

  .footer-left ul li {
    margin: 4px 0 !important;
  }

  .footer-newsletter-form {
    max-width: 100% !important;
    width: 100% !important;
  }

  .footer-newsletter-form input[type="email"],
  .footer-newsletter-form input[type="text"] {
    max-width: 100% !important;
  }

  .footer-copyright {
    font-size: 12px !important;
    line-height: 1.5 !important;
    padding: 0 8px !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    align-content: center !important;
    text-align: center !important;
  }
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-content {
    align-self: center !important;
    width: 100% !important;
    max-width: 280px !important;
  }
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-content,
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-content form,
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 form {
    margin: 0 !important;
    padding: 0 !important;
  }
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 form,
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 form > div,
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 > div:not(.inf-success),
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-content,
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 div:has(.inf-submit),
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 div:has(input[type="submit"]) {
    align-items: center !important;
    justify-content: center !important;
  }
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 input[type="email"],
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 input[type="text"] {
    max-width: 280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 .inf-submit,
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 input[type="submit"] {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Réduire l'espace vide dans inf-main en dessous de 767px */
@media (max-width: 767px) {
  .inf-main_f8d1fd344c855b7d20e10071befd4ae1 {
    max-height: 150px !important;
  }
}

@media (max-width: 480px) {

  .pagination-wrapper .pagination > li a {
    margin: 5px 5px;
  }

  #menu-primary-menu {
    padding-right: 12px !important;
  }

  .footer-hero {
    padding: 24px 12px 20px !important;
  }

  .footer-left h3,
  .footer-right h3 {
    font-size: 16px !important;
  }

  .footer-center p {
    margin-bottom: 0 !important;
  }

  .footer-center h2 {
    font-size: 15px !important;
  }

  .footer-copyright {
    font-size: 11px !important;
  }
}

/* ============================================================================
   8. RESPONSIVE - TABLETTE
   ============================================================================ */

@media (max-width: 768px) {
  /* --- Supprimer l'espace entre la navbar et le haut de l'écran --- */
  .ova_header {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .ova_header .scroll_fixed {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin-top: 0 !important;
    background-color: rgba(0, 0, 0, 0.85) !important;
    background-image: none !important;
    box-shadow: none !important;
    padding: 10px 0 !important;
    min-height: auto !important;
  }

  .ova_header.ovatheme_header_v2 .navbar {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    min-height: auto !important;
  }

  .ova_header.ovatheme_header_v2 {
    min-height: auto !important;
  }

  /* Logo à gauche, menu burger à droite */
  .ova_header .navbar-header {
    min-height: auto !important;
    display: flex !important;
    flex-direction: row-reverse !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    padding: 0 !important;
  }

  /* --- Nom de l'association visible en haut à gauche (blanc grisé), taille adaptée mobile --- */
  .ova_header .navbar-brand.logo_mobile,
  .ova_header.ovatheme_header_v2 .navbar-brand.logo_mobile {
    display: block !important;
    color: rgba(255, 255, 255, 0.85) !important;
    margin-left: 0 !important;
    padding-left: 12px !important;
    padding-right: 8px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    max-width: calc(100vw - 120px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Image du logo mobile : s'adapte au conteneur pour ne pas dépasser ni être coupée */
  .ova_header .navbar-brand.logo_mobile img,
  .ova_header.ovatheme_header_v2 .navbar-brand.logo_mobile img {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: block !important;
  }

  .ova_header .navbar-brand.logo_mobile .blogname,
  .ova_header .navbar-brand.logo_mobile span.blogname,
  .ova_header.ovatheme_header_v2 .navbar-brand.logo_mobile .blogname,
  .ova_header.ovatheme_header_v2 .navbar-brand.logo_mobile span.blogname,
  .ova_header.ovatheme_header_v2 .ova-logo .navbar-brand.logo_mobile span.blogname {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
  }

  .navbar-brand.logo,
  .navbar-brand.logo_scroll {
    display: none !important;
  }

  /* --- Burger menu : aligné verticalement avec le logo --- */
  .ova_header .navbar-toggle {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 6px 8px !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
  }

  .ova_header .navbar-toggle .icon-bar {
    background-color: #fff !important;
  }

  .ova_header .navbar-toggle:hover,
  .ova_header .navbar-toggle:focus {
    background-color: transparent !important;
    border-color: #fff !important;
  }

  .ova_header .navbar-toggle:hover .icon-bar,
  .ova_header .navbar-toggle:focus .icon-bar {
    background-color: #fff !important;
  }

  /* --- Menu déroulant mobile : transition d’ouverture/fermeture --- */
  .ova_header.ovatheme_header_v2 .navbar-collapse,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 {
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.35s ease,
                padding 0.35s ease !important;
  }

  /* Menu déroulant : aligné à droite, en dessous du burger (tablette / mobile) */
  .ova_header.ovatheme_header_v2 .navbar-collapse.in,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2.in {
    text-align: right !important;
  }
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2.in .container-fluid {
    display: flex !important;
    justify-content: flex-end !important;
  }
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2.in ul.nav.navbar-nav {
    flex-direction: column !important;
    align-items: flex-end !important;
    width: 100%;
  }

  /* Menu fermé (état initial) */
  .ova_header.ovatheme_header_v2 .navbar-collapse.collapse:not(.in),
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2.collapse:not(.in) {
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
  }

  /* Menu ouvert */
  .ova_header.ovatheme_header_v2 .navbar-collapse.in,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2.in {
    max-height: 80vh !important;
    opacity: 1 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  /* --- Menu déroulant mobile : fond transparent --- */
  .ova_header.ovatheme_header_v2 .navbar-collapse,
  .ova_header.ovatheme_header_v2 .navbar-collapse.collapse,
  .ova_header.ovatheme_header_v2 .navbar-collapse.in,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2.in {
    background-color: transparent !important;
    background-image: none !important;
    border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
  }

  .ova_header.ovatheme_header_v2 .navbar-collapse.in,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2.in {
    padding: 0 !important;
  }

  /* Menu fermé : retirer le padding pour que la transition soit propre */
  .ova_header.ovatheme_header_v2 .navbar-collapse.collapse:not(.in),
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2.collapse:not(.in) {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Pas de 2e couche de fond dans le menu (nav, ul, dropdown) = même rendu que la barre --- */
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 nav.navbar,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 .container-fluid,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 ul.nav.navbar-nav,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 .dropdown-menu {
    background-color: transparent !important;
    background-image: none !important;
  }

  /* Liens du menu : blanc grisé comme le nom (override thème #343434) --- */
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 ul.nav.navbar-nav li a,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 ul.nav.navbar-nav > li > a,
  .ova_header.ovatheme_header_v2 .ova-menu ul.navbar-nav li a {
    color: rgba(255, 255, 255, 0.9) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.9) !important;
    opacity: 1 !important;
  }

  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 ul.nav.navbar-nav li a:hover,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 ul.nav.navbar-nav li a:focus {
    color: #d1a98c !important;
    -webkit-text-fill-color: #d1a98c !important;
    opacity: 1 !important;
  }

  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 .dropdown-menu {
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-left: none !important;
    border-right: none !important;
  }

  /* Sous-menus : même blanc grisé --- */
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 .dropdown-menu li a,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 ul.dropdown-menu li a {
    color: rgba(255, 255, 255, 0.9) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.9) !important;
    opacity: 1 !important;
  }

  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 .dropdown-menu li a:hover,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 ul.dropdown-menu li a:hover {
    color: #d1a98c !important;
    -webkit-text-fill-color: #d1a98c !important;
    background-color: rgba(255, 255, 255, 0.08) !important;
    opacity: 1 !important;
  }

  /* Sous-menu (nested dropdown) : text-align right, pas de fond, texte blanc, hover #d1a98c --- */
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 ul.dropdown-menu ul.dropdown-menu,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 .dropdown-menu .dropdown-menu,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 #menu-primary-menu ul.dropdown-menu ul.dropdown-menu {
    text-align: right !important;
    background-color: transparent !important;
    background: none !important;
  }
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 ul.dropdown-menu ul.dropdown-menu li a,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 .dropdown-menu .dropdown-menu li a,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 #menu-primary-menu ul.dropdown-menu ul.dropdown-menu li a {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background-color: transparent !important;
    background: none !important;
    transition: color 0.3s ease, -webkit-text-fill-color 0.3s ease !important;
  }
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 ul.dropdown-menu ul.dropdown-menu li a:hover,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 .dropdown-menu .dropdown-menu li a:hover,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 #menu-primary-menu ul.dropdown-menu ul.dropdown-menu li a:hover {
    color: #d1a98c !important;
    -webkit-text-fill-color: #d1a98c !important;
    background-color: transparent !important;
    background: none !important;
  }

  /* Bouton dropdown toggle (icône) : blanc grisé --- */
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 ul.nav.navbar-nav li button.dropdown-toggle {
    color: rgba(255, 255, 255, 0.9) !important;
  }
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 ul.nav.navbar-nav li button.dropdown-toggle:hover {
    color: #d1a98c !important;
  }

  /* Pas de barre de défilement visible dans le menu (scrollbar masquée quand ouvert) --- */
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 ul.nav.navbar-nav,
  .ova_header.ovatheme_header_v2 .navbar-collapse.in,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2.in {
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
  }
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2.in {
    overflow-x: hidden !important;
  }
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2::-webkit-scrollbar,
  .ova_header.ovatheme_header_v2 #ovatheme_header_v2 ul.nav.navbar-nav::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  /* --- En haut de page (navbar transparente, sans .shrink) : menu déroulant transparent, texte noir --- */
  body .ova_header.ovatheme_header_v2:not(.shrink) .navbar-collapse,
  body .ova_header.ovatheme_header_v2:not(.shrink) .navbar-collapse.in,
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2,
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2.in {
    background-color: transparent !important;
    background-image: none !important;
    border-top-color: rgba(255, 255, 255, 0.2) !important;
  }

  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 nav.navbar,
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 .container-fluid,
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 ul.nav.navbar-nav,
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 .dropdown-menu {
    background-color: transparent !important;
  }

  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 ul.nav.navbar-nav li a,
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 ul.nav.navbar-nav > li > a,
  body .ova_header.ovatheme_header_v2:not(.shrink) .ova-menu ul.navbar-nav li a {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }

  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 ul.nav.navbar-nav li a:hover,
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 ul.nav.navbar-nav li a:focus {
    color: #d1a98c !important;
    -webkit-text-fill-color: #d1a98c !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
  }

  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 .dropdown-menu {
    border-color: rgba(255, 255, 255, 0.2) !important;
  }

  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 .dropdown-menu li a,
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 ul.dropdown-menu li a {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }

  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 .dropdown-menu li a:hover,
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 ul.dropdown-menu li a:hover {
    color: #d1a98c !important;
    -webkit-text-fill-color: #d1a98c !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
  }

  /* Sous-menu (en haut de page) : text-align right, pas de fond, texte blanc, hover #d1a98c --- */
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 ul.dropdown-menu ul.dropdown-menu,
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 .dropdown-menu .dropdown-menu,
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 #menu-primary-menu ul.dropdown-menu ul.dropdown-menu {
    text-align: right !important;
    background-color: transparent !important;
    background: none !important;
  }
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 ul.dropdown-menu ul.dropdown-menu li a,
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 .dropdown-menu .dropdown-menu li a,
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 #menu-primary-menu ul.dropdown-menu ul.dropdown-menu li a {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background-color: transparent !important;
    background: none !important;
    transition: color 0.3s ease, -webkit-text-fill-color 0.3s ease !important;
  }
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 ul.dropdown-menu ul.dropdown-menu li a:hover,
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 .dropdown-menu .dropdown-menu li a:hover,
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 #menu-primary-menu ul.dropdown-menu ul.dropdown-menu li a:hover {
    color: #d1a98c !important;
    -webkit-text-fill-color: #d1a98c !important;
    background-color: transparent !important;
    background: none !important;
  }

  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 ul.nav.navbar-nav li button.dropdown-toggle {
    color: #fff !important;
  }
  body .ova_header.ovatheme_header_v2:not(.shrink) #ovatheme_header_v2 ul.nav.navbar-nav li button.dropdown-toggle:hover {
    color: #d1a98c !important;
  }

  /* --- Cartes historiques --- */
  .event-content {
    padding: 20px;
  }

  .event-title {
    font-size: 18px;
  }

  .date-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .date-header h3 {
    min-width: auto;
  }
}

/* ============================================================================
   9. RESPONSIVE - MOBILE
   ============================================================================ */

@media (max-width: 480px) {
  /* --- Cartes historiques --- */
  .event-content {
    padding: 15px;
  }

  .event-title {
    font-size: 16px;
  }

  .event-description {
    font-size: 14px;
  }
}

/* --- 3.11 Espacement pour le header fixed --- */

body {
  padding-top: 15px !important;
}

/* Sur les pages intérieures avec .ova-bg-heading */
.page .ova-bg-heading,
.single .ova-bg-heading,
.archive .ova-bg-heading,
.search .ova-bg-heading,
.error404 .ova-bg-heading {
  margin-top: -15px !important;
  padding-top: 270px !important;
}

/* Responsive */
@media (max-width: 5px) {
  body {
    padding-top: 10px !important;
  }

  .page .ova-bg-heading,
  .single .ova-bg-heading,
  .archive .ova-bg-heading,
  .search .ova-bg-heading,
  .error404 .ova-bg-heading {
    margin-top: -60px !important;
    padding-top: 60px !important;
  }
}

/* ============================================================================
   PAGE INFORMATIONS PRATIQUES
   ============================================================================ */

/* Email en couleur marron */
.email-link a,
.adhesion-col a[href^="mailto:"] {
  color: #D1A98C !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

.email-link a:hover,
.adhesion-col a[href^="mailto:"]:hover {
  color: #b8935a !important;
  text-decoration: underline !important;
}

/* Numéro de téléphone avec icône */
.phone-number {
  display: inline-block;
  margin: 0 10px 0 0;
}

.phone-number a {
  color: inherit;
  text-decoration: none;
}

/* Email sur la même ligne ou juste en dessous avec petit espacement */
.email-link {
  display: inline-block;
  margin: 0;
}
/* Bouton Contact Form 7 - style comme "Découvrir" */
.wpcf7-form input[type="submit"],
.wpcf7-submit,
input.wpcf7-form-control.wpcf7-submit.has-spinner {
  display: inline-block !important;
  padding: 12px 24px !important;
  background-color: #D1A98C !important;
  color: #fff !important;
  text-decoration: none !important;
  border: 1px solid transparent !important;
  border-radius: 4px !important;
  transition: background-color 0.3s ease, border-color 0.3s ease !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  font-size: 14px !important;
  transform: none !important;
  box-sizing: border-box !important;
}

/* Survol général : gris (exclure .omc-btn-saison) */
.wpcf7-form input[type="submit"]:hover,
.wpcf7-submit:hover:not(.omc-btn-saison),
input.wpcf7-form-control.wpcf7-submit.has-spinner:hover {
  background-color: #555 !important;
}

/* Page Informations Pratiques (page-id-16169) : survol = #b8935a */
body.page-id-16169 .wpcf7-form input[type="submit"]:hover,
body.page-id-16169 .wpcf7-submit:hover,
body.page-id-16169 .event_contact .submit .wpcf7-submit:hover {
  background-color: #b8935a !important;
  border-color: #b8935a !important;
}

/* --- Lien "Télécharger le bulletin d'adhésion" (PDF) toujours visible (éviter blanc sur blanc) --- */
/* Cible le lien et tout le texte à l'intérieur, priorité max + -webkit-text-fill-color */
a[href*="bi-adhesion-statuts-telech-2020.pdf"],
a[href*="bi-adhesion-statuts-telech-2020.pdf"] *,
a[href*="bi-adhesion-statuts-telech"],
a[href*="bi-adhesion-statuts-telech"] *,
body a[href*="bi-adhesion-statuts-telech-2020.pdf"],
body a[href*="bi-adhesion-statuts-telech-2020.pdf"] *,
.vc_row a[href*="bi-adhesion-statuts-telech-2020.pdf"],
.vc_row a[href*="bi-adhesion-statuts-telech-2020.pdf"] *,
.ova-bg-heading a[href*="bi-adhesion-statuts-telech-2020.pdf"],
.ova-bg-heading a[href*="bi-adhesion-statuts-telech-2020.pdf"] * {
  color: #D1A98C !important;
  -webkit-text-fill-color: #D1A98C !important;
}
a[href*="bi-adhesion-statuts-telech-2020.pdf"]:hover,
a[href*="bi-adhesion-statuts-telech-2020.pdf"]:hover *,
a[href*="bi-adhesion-statuts-telech"]:hover,
a[href*="bi-adhesion-statuts-telech"]:hover * {
  color: #b8935a !important;
  -webkit-text-fill-color: #b8935a !important;
  text-decoration: underline !important;
}

/* --- Pages avec liens en contenu : visible si section en texte blanc --- */
/* Contact, Nous contacter, Informations pratiques */
.page-contact .entry-content a,
.page-contact .post-content a,
.page-contact .wpb_text_column a,
.page-contact .vc_column-inner a,
.page-contact .wpb_content_element a,
.page-contact .white_text a,
.page-contact .white_color a,
.page-nous-contacter .entry-content a,
.page-nous-contacter .post-content a,
.page-nous-contacter .wpb_text_column a,
.page-nous-contacter .vc_column-inner a,
.page-nous-contacter .wpb_content_element a,
.page-nous-contacter .white_text a,
.page-nous-contacter .white_color a,
.page-informations-pratiques .entry-content a,
.page-informations-pratiques .post-content a,
.page-informations-pratiques .wpb_text_column a,
.page-informations-pratiques .vc_column-inner a,
.page-informations-pratiques .wpb_content_element a,
.page-informations-pratiques .white_text a,
.page-informations-pratiques .white_color a {
  color: #D1A98C !important;
}
.page-contact .entry-content a:hover,
.page-contact .post-content a:hover,
.page-contact .wpb_text_column a:hover,
.page-contact .vc_column-inner a:hover,
.page-contact .wpb_content_element a:hover,
.page-contact .white_text a:hover,
.page-contact .white_color a:hover,
.page-nous-contacter .entry-content a:hover,
.page-nous-contacter .post-content a:hover,
.page-nous-contacter .wpb_text_column a:hover,
.page-nous-contacter .vc_column-inner a:hover,
.page-nous-contacter .wpb_content_element a:hover,
.page-nous-contacter .white_text a:hover,
.page-nous-contacter .white_color a:hover,
.page-informations-pratiques .entry-content a:hover,
.page-informations-pratiques .post-content a:hover,
.page-informations-pratiques .wpb_text_column a:hover,
.page-informations-pratiques .vc_column-inner a:hover,
.page-informations-pratiques .wpb_content_element a:hover,
.page-informations-pratiques .white_text a:hover,
.page-informations-pratiques .white_color a:hover {
  color: #b8935a !important;
}

/* Page Informations pratiques : inputs du formulaire dans .vc_column-inner (font-weight normal) */
body.page-informations-pratiques .vc_column-inner input,
body.page-informations-pratiques .vc_column-inner textarea,
body.page-id-16169 .vc_column-inner input,
body.page-id-16169 .vc_column-inner textarea,
body.page-informations-pratiques .vc_column-inner .wpcf7-form input[type="text"],
body.page-informations-pratiques .vc_column-inner .wpcf7-form input[type="email"],
body.page-informations-pratiques .vc_column-inner .wpcf7-form textarea,
body.page-id-16169 .vc_column-inner .wpcf7-form input,
body.page-id-16169 .vc_column-inner .wpcf7-form textarea,
body.page-informations-pratiques .event_contact input,
body.page-informations-pratiques .event_contact textarea,
body.page-id-16169 .event_contact input,
body.page-id-16169 .event_contact textarea {
  font-weight: 400 !important;
}

/* Page Informations pratiques : textarea « your-message » hauteur réduite pour laisser place au CAPTCHA */
body.page-informations-pratiques .vc_column-inner textarea[name="your-message"],
body.page-informations-pratiques .event_contact textarea[name="your-message"],
body.page-id-16169 .vc_column-inner textarea[name="your-message"],
body.page-id-16169 .event_contact textarea[name="your-message"] {
  min-height: 100px !important;
  height: 100px !important;
  resize: vertical;
  margin-bottom: 0.5em;
}

/* Page Informations pratiques : textarea « your-message » même style de focus que les autres champs (sans bordure bleue) */
body.page-informations-pratiques .vc_column-inner textarea[name="your-message"]:focus,
body.page-informations-pratiques .event_contact textarea[name="your-message"]:focus,
body.page-id-16169 .vc_column-inner textarea[name="your-message"]:focus,
body.page-id-16169 .event_contact textarea[name="your-message"]:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #ccc;
}

/* Titre h4 ftco-animate : supprimer le margin-top */
h4.ftco-animate.fadeInUp.ftco-animated {
  margin-top: 0 !important;
}

/* --- Formulaire de contact : base responsive (éviter débordement) --- */
.wpcf7-form,
.event_contact form {
  max-width: 100%;
  box-sizing: border-box;
}

.wpcf7-form .wpcf7-form-control-wrap,
.wpcf7-form p,
.event_contact .group-form {
  max-width: 100%;
  box-sizing: border-box;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form textarea,
.event_contact input,
.event_contact textarea {
  max-width: 100% !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Message de réponse CF7 (succès / erreur) : pas de margin, bordure rouge */
.wpcf7-response-output {
  margin: 0 !important;
  border-color: red !important;
}

/* --- Formulaire de contact : responsive tablette --- */
@media (max-width: 992px) {
  .wpcf7-form,
  .event_contact form {
    padding-left: 0;
    padding-right: 0;
  }
}

/* --- Section localisation OMC --- */
.omc-location-section {
  padding: 30px 20px;
}

/* --- Formulaire de contact : responsive mobile (espace entre carte Maps et formulaire) --- */
@media (max-width: 768px) {
  /* Espace sous la carte / plan Maps (WPBakery, events) — pas .omc-location-section */
  .omc-location-map,
  .wpb_gmaps_widget,
  .wpb_map_wraper,
  .event-google-map-wrap,
  .ovaem_map {
    margin-bottom: 2.5rem !important;
  }

  /* Espace au-dessus du formulaire : bloc ::before (ne peut pas être annulé par collapse) */
  body div.wpcf7::before {
    content: "" !important;
    display: block !important;
    height: 3rem !important;
    width: 100% !important;
  }

  div.wpcf7 {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .wpcf7-form,
  .event_contact form {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-top: 0 !important;
  }

  .wpcf7-form > p:first-of-type,
  .event_contact form .group-form:first-of-type {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  .wpcf7-form input[type="text"],
  .wpcf7-form input[type="email"],
  .wpcf7-form input[type="tel"],
  .wpcf7-form input[type="url"],
  .wpcf7-form textarea,
  .event_contact input,
  .event_contact textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .wpcf7-form input[type="submit"],
  .wpcf7-submit,
  .event_contact .submit .wpcf7-submit {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 480px) {
  .wpcf7-form,
  .event_contact form {
    margin-left: 0;
    margin-right: 0;
  }

  .wpcf7-form .wpcf7-response-output {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
  }
}

/* ============================================================================
   FOOTER COPYRIGHT
   ============================================================================ */

.footer-copyright {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 10px;
  padding-top: 0;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-top: none !important;
  text-align: center;
  color: rgba(255, 255, 255, 0.8);
  font-size: 13px;
  line-height: 1.6;
  flex: 1 1 100% !important;
  flex-basis: 100% !important;
  min-width: 100% !important;
  box-sizing: border-box !important;
}

.footer-copyright a {
  color: #D1A98C;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-copyright a:hover {
  color: #b8935a;
  text-decoration: underline;
}

/* ============================================================================
   BOUTONS
   ============================================================================ */

/* Titre année (page Saisons) – pas de gras, override thème et plugin */
.omc-saison-year {
  font-weight: normal !important;
}

/* Bouton PDF programme (.omc-btn-small) : garder le texte blanc après clic (annuler :visited bleu) */
a.omc-btn-small:link,
a.omc-btn-small:visited,
a.omc-btn-small:active,
a.omc-btn-small:focus {
  color: #fff !important;
}

/* Page Saisons – grille style archive-year-box : 5 années par ligne, carte = lien vers la saison */
.omc-saisons-container .omc-saisons-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 15px !important;
  margin-top: 30px;
}
.omc-saisons-container .omc-saison-card {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
  padding: 20px !important;
  text-align: center !important;
  text-decoration: none !important;
  min-height: 80px !important;
  font-size: 24px !important;
  font-weight: bold !important;
  color: #D1A98C !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
  transition: all 0.3s ease !important;
  overflow: visible !important;
}
.omc-saisons-container .omc-saison-card:link,
.omc-saisons-container .omc-saison-card:visited,
.omc-saisons-container .omc-saison-card:active,
.omc-saisons-container .omc-saison-card:focus {
  color: #D1A98C !important;
}
.omc-saisons-container .omc-saison-card:hover {
  border-color: #D1A98C !important;
  box-shadow: 0 4px 12px rgba(209, 169, 140, 0.2) !important;
  transform: translateY(-2px) !important;
  color: #D1A98C !important;
}
@media (max-width: 992px) {
  .omc-saisons-container {
    padding: 0 !important;
  }
  .omc-saisons-container .omc-saisons-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .widget.omc_search_concerts {
    margin-bottom: 30px !important;
  }
}
@media (max-width: 576px) {
  .omc-saisons-container .omc-saisons-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .omc-saisons-container .omc-saison-card {
    font-size: 20px !important;
    min-height: 70px !important;
    padding: 16px !important;
  }
}

/* Découvrir (page Saisons) – sélecteurs renforcés pour override le plugin (frontend.css) */
body .omc-saisons-container a.omc-btn-saison,
body a.omc-btn-saison,
.omc-saisons-container .omc-btn-saison,
a.omc-btn-saison,
.omc-btn-saison {
  background-color: #D1A98C !important;
  background: #D1A98C !important;
  border: 1px solid #D1A98C !important;
  color: #fff !important;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease !important;
}
body .omc-saisons-container a.omc-btn-saison:hover,
body a.omc-btn-saison:hover,
.omc-saisons-container .omc-btn-saison:hover,
a.omc-btn-saison:hover,
.omc-btn-saison:hover {
  background-color: #b8935a !important;
  background: #b8935a !important;
  border-color: #b8935a !important;
  color: #fff !important;
}

/* Lien titre concert (page Saisons) – hover #d1a98c (override plugin OMC) */
.omc-concert-title-link:hover {
  color: #d1a98c !important;
  border-bottom-color: #d1a98c !important;
}

/* Bouton Retour (.omc-btn-back) : garder le texte blanc après clic (annuler :visited bleu) */
a.omc-btn-back:link,
a.omc-btn-back:visited,
a.omc-btn-back:active,
a.omc-btn-back:focus {
  color: #fff !important;
}

/* Bouton Retour (.omc-btn-back) – hover #b8935a, texte blanc (override plugin) */
a.omc-btn-back:hover,
body a.omc-btn-back:hover {
  background-color: #b8935a !important;
  background: #b8935a !important;
  border-color: #b8935a !important;
  color: #fff !important;
}

/* Lien directions carte (accueil) : texte blanc après clic (annuler :visited bleu) */
a.omc-map-directions:link,
a.omc-map-directions:visited,
a.omc-map-directions:active,
a.omc-map-directions:focus {
  color: #fff !important;
}
a.omc-map-directions:hover {
  color: #fff !important;
}

/* Bouton PDF (.omc-btn-pdf) – texte blanc au survol (pas de changement de couleur) */
.omc-btn-pdf,
.omc-btn-pdf:hover {
  color: #fff !important;
}

/* Liste musiciens OMC : icône musique #b8935a */
.omc-musiciens-list .omc-list-emoji,
.omc-musiciens-list .musicien-instrument .omc-list-emoji {
  color: #b8935a !important;
  margin-right: 0.35em;
}

/* bouton CF7 page Informations Pratiques */
body.page-id-16169 .wpcf7-form input[type="submit"]:hover,
body.page-id-16169 input.wpcf7-form-control.wpcf7-submit:hover,
body.page-id-16169 .event_contact .submit .wpcf7-submit:hover,
body.page-id-16169 .event_contact .submit input.wpcf7-submit:hover {
  background-color: #b8935a !important;
  background: #b8935a !important;
  border: 1px solid #b8935a !important;
  border-color: #b8935a !important;
  color: #fff !important;
}

/* Menu déroulant mobile : forcer padding 0 (bat toute règle 45px) */
@media (max-width: 768px) {
  body .ova_header.ovatheme_header_v2 .navbar-collapse.in,
  body .ova_header.ovatheme_header_v2 #ovatheme_header_v2.in {
    padding: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Menu déroulant (tablette/mobile) : supprimer le margin-bottom 30px du thème */
@media (max-width: 992px) {
  .ova-menu nav ul.nav.navbar-nav,
  .ova_header .navbar-collapse.in ul.nav.navbar-nav,
  .ova_header #ovatheme_header_v2.in ul.nav.navbar-nav {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    height: auto !important;
  }
}

/* Vue tablette : menu ouvert (navbar-collapse.collapse.in) – fond transparent, texte blanc, aligné à droite */
@media (max-width: 992px) {
  .navbar-collapse.collapse.in,
  .ova_header .navbar-collapse.collapse.in,
  .ova_header #ovatheme_header_v2.in {
    background-color: transparent !important;
    background: transparent !important;
  }
  .navbar-collapse.collapse.in,
  .navbar-collapse.collapse.in a,
  .ova_header .navbar-collapse.collapse.in,
  .ova_header .navbar-collapse.collapse.in a,
  .ova_header #ovatheme_header_v2.in,
  .ova_header #ovatheme_header_v2.in a {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }
  .navbar-collapse.collapse.in,
  .ova_header .navbar-collapse.collapse.in,
  .ova_header #ovatheme_header_v2.in {
    text-align: right !important;
  }
  .navbar-collapse.collapse.in ul.nav,
  .ova_header .navbar-collapse.collapse.in ul.nav,
  .ova_header #ovatheme_header_v2.in ul.nav {
    text-align: right !important;
  }

  .ova_header .navbar-header {
    padding: 0;
  }

  /* Dropdown (ex. Histoire / menu-item-17094) : bouton dropdown-toggle à gauche de Histoire */
  .ova_header .navbar-collapse.collapse.in ul.nav.navbar-nav li.dropdown,
  .ova_header #ovatheme_header_v2.in ul.nav.navbar-nav li.dropdown {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
  }
  .ova_header .navbar-collapse.collapse.in ul.nav.navbar-nav li.dropdown > a,
  .ova_header #ovatheme_header_v2.in ul.nav.navbar-nav li.dropdown > a {
    flex: 0 1 auto;
    min-width: 0;
    text-align: right;
    order: 1;
  }
  .ova_header .navbar-collapse.collapse.in ul.nav.navbar-nav li.dropdown button.dropdown-toggle,
  .ova_header #ovatheme_header_v2.in ul.nav.navbar-nav li.dropdown button.dropdown-toggle {
    position: static !important;
    flex-shrink: 0;
    order: -1;
    margin-right: 0.5em;
    margin-left: 0;
    /* Même design que show_dropmenu (desktop) : pas de bouton, juste l’icône caret */
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 0.35em !important;
    margin-top: 3px;
    min-width: 0;
  }
  .ova_header .navbar-collapse.collapse.in ul.nav.navbar-nav li.dropdown button.dropdown-toggle i,
  .ova_header #ovatheme_header_v2.in ul.nav.navbar-nav li.dropdown button.dropdown-toggle i {
    display: none;
  }
  .ova_header .navbar-collapse.collapse.in ul.nav.navbar-nav li.dropdown button.dropdown-toggle::before,
  .ova_header #ovatheme_header_v2.in ul.nav.navbar-nav li.dropdown button.dropdown-toggle::before {
    content: "\f0d7";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline-block;
    color: inherit;
  }
  .ova_header .navbar-collapse.collapse.in ul.nav.navbar-nav li.dropdown button.dropdown-toggle:hover,
  .ova_header #ovatheme_header_v2.in ul.nav.navbar-nav li.dropdown button.dropdown-toggle:hover {
    background: transparent !important;
    border: none !important;
  }

  /* Sous-menu (ex. Bibliothèque) : s’afficher en dessous de Histoire, pas au-dessus */
  .ova_header .navbar-collapse.collapse.in ul.nav.navbar-nav li.dropdown > ul.dropdown-menu,
  .ova_header #ovatheme_header_v2.in ul.nav.navbar-nav li.dropdown > ul.dropdown-menu {
    order: 2;
    width: 100%;
    flex-basis: 100%;
  }
}

