/* Couleurs principales du thème Yapla */
:root {
  --primary: #ff7a00;
  --secondary: #121212;

  --yapla-consent-primary: #ff7a00;
  --yapla-consent-primary-alt: #e63946;

  --y-color-blue-500: #ff7a00;
  --y-color-blue-600: #e63946;
  --y-color-blue-700: #cc5200;

  --y-color-orange-500: #ff7a00;
}
input:invalid {
  border: 2px solid #e74c3c; /* Rouge clair */
  background-color: #ff9c9c;
}

input:valid {
  border: 2px solid #2ecc71; /* Vert */
  background-color: #f8fff9;
}
/* Style de base : le bouton est visible */
button[type="submit"] {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* Rendre le bouton invisible si l’email est vide ou invalide */
form:invalid button[type="submit"] {
  visibility: hidden;
  opacity: 0;
}

.video-container {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 ratio */
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.fb-share-btn {
  display: inline-flex;
  align-items: center;
  background-color: #1877F2;
  color: #fff;
  padding: 10px 18px;
  border-radius: 8px;
  font-weight: bold;
  text-decoration: none;
  transition: all 0.3s ease;
}
.fb-share-btn:hover {
  background-color: #145dbf;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(24, 119, 242, 0.4);
}

.slideshow-container {
  position: relative;
  width: 100%;
  max-width: 480px;
  height: 320px;           /* hauteur fixe */
  margin: 20px auto;
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  background: #fff;        /* couleur de fond pour bandes */
}

.mySlides {
  display: none;
  width: 100%;
  height: 100%;
  text-align: center;      /* centre horizontalement */
  line-height: 320px;      /* centre verticalement pour inline-block */
}

.mySlides img {
  max-height: 100%;        /* hauteur limitée à 320px */
  max-width: 100%;         /* largeur max à 100% */
  vertical-align: middle;  /* aligne au centre vertical */
  display: inline-block;
}
/* Fond général */
body {
  background-color: #121212;
  color: #f5f5f5;
}

/* Menu du haut */
header,
nav,
.navbar,
.menu {
  background-color: #1b1b1b !important;
}

/* Liens du menu */
header a,
nav a,
.navbar a,
.menu a {
  color: #ffffff !important;
  transition: color 0.3s ease;
}

/* Hover du menu */
nav a:hover,
.menu a:hover,
.navbar a:hover,
header a:hover {
  background-color: rgba(255,122,0,0.15) !important;
  color: #ffffff !important;
  border-radius: 6px;
}

/* Sections */
section,
main,
footer,
.container,
.content {
  background-color: transparent;
  color: #f5f5f5;
}

/* Inputs */
input,
textarea,
select {
  background-color: #222;
  color: white;
  border: 1px solid #444;
}

/* Slideshow */
.slideshow-container {
  background: #1b1b1b;
}

/* Boutons généraux */
button,
.btn {
  background-color: #ff7a00;
  color: white;
  border: none;
  transition: all 0.3s ease;
}

button:hover,
.btn:hover {
  background-color: #e63946;
}
/* Supprime les liserés bleus */
a:focus,
a:active,
button:focus,
button:active,
.navbar a:focus,
.menu a:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #ff7a00 !important;
}

/* Hover menu */
nav a:hover,
.menu a:hover {
  background-color: rgba(255,122,0,0.12) !important;
  color: #ff7a00 !important;
}
/* Élément actif du menu */
nav .active a,
.menu .active a,
.navbar .active a {
  color: #ffffff !important;
  background-color: rgba(255,122,0,0.15) !important;
  border-radius: 6px;
}

/* Petit soulignement moderne */
nav .active a::after,
.menu .active a::after,
.navbar .active a::after {
  content: "";
  display: block;
  height: 2px;
  background-color: #ff7a00;
  margin-top: 4px;
  border-radius: 2px;
}
/* Bloc lieu / adresse événement */
.location,
.address,
.venue,
.event-location,
.event-meta,
.card-body,
.event-details {
  background-color: #1b1b1b !important;
  color: #f5f5f5 !important;
}

/* Texte lieu */
.location *,
.address *,
.venue *,
.event-location * {
  color: #f5f5f5 !important;
}
/* Carte complète des événements */
.card,
.panel,
.event-item,
.event-card,
.thumbnail,
.list-group-item {
  background-color: #1b1b1b !important;
  color: #f5f5f5 !important;
  border: 1px solid rgba(255,122,0,0.15) !important;
}

/* Tout le texte dans les cartes */
.card *,
.panel *,
.event-item *,
.event-card *,
.thumbnail *,
.list-group-item * {
  color: #f5f5f5 !important;
}

/* Titre événement */
.card-title,
.event-title,
h3,
h4 {
  color: #ffffff !important;
}
/* Bloc principal des événements agenda */
.media,
.media-body,
.panel,
.panel-body,
.thumbnail,
.well,
.list-group-item,
.views-row,
.event-item,
.event-card {
  background: #1b1b1b !important;
  color: #f5f5f5 !important;
  border-color: rgba(255,122,0,0.2) !important;
}

/* Tout le contenu interne */
.media *,
.panel *,
.thumbnail *,
.well *,
.list-group-item *,
.views-row *,
.event-item *,
.event-card * {
  color: #f5f5f5 !important;
}
/* Bloc événement principal */
.jumbotron,
.event-jumbotron__top,
.event-jumbotron__contact-wrapper {
  background-color: #1b1b1b !important;
  color: #f5f5f5 !important;
  border: 1px solid rgba(255,122,0,0.15);
}

/* Tous les textes du bloc */
.jumbotron *,
.event-jumbotron__top *,
.event-jumbotron__contact-wrapper * {
  color: #f5f5f5 !important;
}

/* Titre événement */
.event-jumbotron__title {
  color: #ffffff !important;
}

/* Adresse */
.jumbotron__address-place,
.jumbotron__address-full,
.jumbotron__address-city,
.jumbotron__address-zip {
  color: #ffb066 !important;
}

/* Bouton calendrier */
.calendar-link-content .btn {
  background-color: #ff7a00 !important;
  color: white !important;
  border: none !important;
}

.calendar-link-content .btn:hover {
  background-color: #e63946 !important;
}
/* Bannière totalement responsive */
.mod-banner__img {
  width: 100%;
  aspect-ratio: 1920 / 700; /* adapte selon ton image */
  
  background-size: 100% auto !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
/* Mobile : bannière plus jolie */
@media (max-width: 768px) {
  .mod-banner__img {
    min-height: 220px;

    background-size: cover !important;
    background-position: center center !important;
  }
}
/* ==========================================
   B O U G E   L A   S C È N E
   Amélioration typographie et titres
========================================== */

/* Texte général */
body,
p,
li,
span,
div {
  color: #e8e8e8;
}

/* Titres principaux */
h1 {
  color: #ff7a00 !important;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 20px;
}

/* Titres secondaires */
h2,
h3,
h4,
h5,
h6,
.card-title,
.event-title {
  color: #ff7a00 !important;
  font-weight: 700;
}

/* Soulignement élégant des titres */
h2,
h3 {
  position: relative;
  padding-bottom: 12px;
  margin-bottom: 20px;
}

h2::after,
h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 60px;
  height: 3px;
  background-color: #ff7a00;
  border-radius: 3px;
}

/* Sous-titres et mises en valeur */
strong,
.subtitle,
.section-title,
.highlight {
  color: #ffb066;
}

/* Liens */
a {
  color: #ffb066;
  transition: all 0.3s ease;
}

a:hover {
  color: #ff7a00;
}

/* Boutons */
button,
.btn,
input[type="submit"] {
  background-color: #ff7a00;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  transition: all 0.3s ease;
}

button:hover,
.btn:hover,
input[type="submit"]:hover {
  background-color: #e63946;
  transform: translateY(-2px);
}

/* Blocs de contenu */
.card,
.panel,
.event-card,
.thumbnail,
.list-group-item,
.well {
  background-color: #1b1b1b !important;
  border: 1px solid rgba(255,122,0,0.15) !important;
  border-radius: 10px;
}

/* Texte dans les blocs */
.card *,
.panel *,
.event-card *,
.thumbnail *,
.list-group-item *,
.well * {
  color: #e8e8e8 !important;
}

/* Titres dans les blocs */
.card-title,
.event-title {
  color: #ff7a00 !important;
}

/* Citation ou mise en avant */
blockquote {
  border-left: 4px solid #ff7a00;
  padding-left: 15px;
  color: #f5f5f5;
  font-style: italic;
}

/* Formulaires */
input,
textarea,
select {
  background-color: #222;
  color: #ffffff;
  border: 1px solid #444;
}

input:focus,
textarea:focus,
select:focus {
  border-color: #ff7a00;
  box-shadow: 0 0 8px rgba(255,122,0,0.4);
  outline: none;
}

/* Footer */
footer {
  border-top: 1px solid rgba(255,122,0,0.2);
}

/* Responsive mobile */
@media (max-width: 768px) {

  h1 {
    font-size: 1.8rem;
    letter-spacing: 1px;
  }

  h2 {
    font-size: 1.5rem;
  }

  h3 {
    font-size: 1.3rem;
  }

  h2::after,
  h3::after {
    width: 40px;
  }
}
/* Supprime les traits décoratifs des titres */
h1,
h2,
h3,
h4 {
  border-left: none !important;
  border-right: none !important;
  padding-left: 0 !important;
}

h1::before,
h2::before,
h3::before,
h4::before {
  display: none !important;
  content: none !important;
}
/* Supprime le trait orange sur les titres */
h1::after,
h2::after,
h3::after,
h4::after {
  display: none !important;
  content: none !important;
}