/*
  Theme Name: Festival Resistances
  Version: 1.0.0
  Template: Divi
  Author: Damien GILLES
  Author URI: http://www.damiengilles.com
  Description: Ce thème propose l'ensemble des fonctionnalités requises pour le site du festival.
  Text Domain: festival-resistances
  License: GNU General Public License v2 or later
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/



#top-menu li li a {
  line-height: 1.4em;
  margin: 0.5em 0 0.5em 0;
}

.fr-breadcrumb__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  text-transform: uppercase;
}

.fr-breadcrumb__item,
.fr-breadcrumb__sep-item {
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}

.fr-breadcrumb__sep-item {
  padding: 0 0.35em;
}

.fr-breadcrumb__list {
  padding-bottom: 0 !important;
}

@keyframes heartbeat {
  0% {
    transform: scale(.75);
  }
  20% {
    transform: scale(1);
  }
  40% {
    transform: scale(.75);
  }
  60% {
    transform: scale(1);
  }
  80% {
    transform: scale(.75);
  }
  100% {
    transform: scale(.75);
  }
}

.dgheartbeat {
  animation: heartbeat 2s infinite;
}

.dgheartbeat:hover {
  animation-play-state: paused;
}

.highlight {
  display: inline;
  line-height: 28px;
  padding: 3px 3px 3px 5px;
  background: #000000;
  color: #ffffff;
  box-shadow: 0.2em 0 0 #000000, -0.2em 0 0 #000000;
  -moz-box-shadow: 0.2em 0 0 #000000, -0.2em 0 0 #000000;
  -webkit-box-shadow: 0.2em 0 0 #000000, -0.2em 0 0 #000000;
  -webkit-box-decoration-break: clone;
  -ms-box-decoration-break: clone;
  -o-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* Pour les liens */
/*
li.current-menu-item a,
.fr-breadcrumb a,
#top-menu li.current-menu-ancestor > a {
  color: #b41f30 !important;
    font-weight: 800 !important;
  font-variation-settings: "wght" 800 !important;
}
*/

/* Navigation Divi — lien courant rouge + gras */
html body #page-container .et_pb_menu li.current-menu-item > a,
html body #page-container .et_pb_menu li.current-menu-item > a:link,
html body #page-container .et_pb_menu li.current-menu-item > a:visited,
html body #page-container .et_pb_menu li.current-menu-item > a:hover,
html body #page-container .et_pb_menu li.current-menu-item > a:active,

html body #page-container .et_pb_menu li.current_page_item > a,
html body #page-container .et_pb_menu li.current_page_item > a:link,
html body #page-container .et_pb_menu li.current_page_item > a:visited,
html body #page-container .et_pb_menu li.current_page_item > a:hover,
html body #page-container .et_pb_menu li.current_page_item > a:active,

html body #page-container .et_pb_menu li.current-menu-parent > a,
html body #page-container .et_pb_menu li.current-menu-parent > a:link,
html body #page-container .et_pb_menu li.current-menu-parent > a:visited,
html body #page-container .et_pb_menu li.current-menu-parent > a:hover,
html body #page-container .et_pb_menu li.current-menu-parent > a:active,

html body #page-container .et_pb_menu li.current-menu-ancestor > a,
html body #page-container .et_pb_menu li.current-menu-ancestor > a:link,
html body #page-container .et_pb_menu li.current-menu-ancestor > a:visited,
html body #page-container .et_pb_menu li.current-menu-ancestor > a:hover,
html body #page-container .et_pb_menu li.current-menu-ancestor > a:active,

html body #page-container .et_pb_menu a[aria-current="page"],
html body #page-container .et_pb_menu a[aria-current="page"]:link,
html body #page-container .et_pb_menu a[aria-current="page"]:visited,
html body #page-container .et_pb_menu a[aria-current="page"]:hover,
html body #page-container .et_pb_menu a[aria-current="page"]:active {
  color: #b41f30 !important;
  font-weight: 800 !important;
  font-variation-settings: "wght" 800 !important;
}

/* Si Divi applique le style sur un élément interne */
html body #page-container .et_pb_menu li.current-menu-item > a *,
html body #page-container .et_pb_menu li.current_page_item > a *,
html body #page-container .et_pb_menu li.current-menu-parent > a *,
html body #page-container .et_pb_menu li.current-menu-ancestor > a *,
html body #page-container .et_pb_menu a[aria-current="page"] * {
  color: #b41f30 !important;
  font-weight: 800 !important;
  font-variation-settings: "wght" 800 !important;
}

/* Ancien menu Divi éventuel */
html body #page-container #top-menu li.current-menu-item > a,
html body #page-container #top-menu li.current-menu-ancestor > a,
html body #page-container #top-menu li.current-menu-parent > a {
  color: #b41f30 !important;
  font-weight: 800 !important;
  font-variation-settings: "wght" 800 !important;
}

/* Fil d’Ariane */
.fr-breadcrumb a {
  color: #b41f30 !important;
  font-weight: 800 !important;
  font-variation-settings: "wght" 800 !important;
}


.frres-program-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
}

.frres-program-filter {
  display: inline-block;
  color: #000000;
  text-decoration: none;
}

.frres-program-filter:visited,
.frres-program-filter:hover,
.frres-program-filter:focus {
  color: #000000 !important;
  text-decoration: none;
}

.frres-program-filter.is-active,
.frres-program-filter.is-active:visited,
.frres-program-filter.is-active:hover,
.frres-program-filter.is-active:focus {
  color: #b41f30 !important;
}

.frres-program-filter + .frres-program-filter::before {
  content: "|";
  display: inline-block;
  margin: 0 0.7em;
  color: #000000;
}


/* Animation légère du fond d’édition sur la page d’accueil */
/* Animation fond d'édition — page d'accueil */
/* Animation fond d'édition — page d'accueil */
/* Compatible Chrome — seuils d'amplitude suffisants pour forcer le rendu */
.frres-current-edition-bg--animated {
  background-repeat: no-repeat;
  background-size: auto, cover;
  background-position: center center, 50% 50%;
  animation: frres-bg-cinema-glitch 28s linear infinite;
  will-change: background-position;
}

@keyframes frres-bg-cinema-glitch {

  /* ── PLAGE CALME 1 : dérive lente et subtile ── */
  0% {
    background-position: center center, 50% 50%;
  }
  8% {
    background-position: center center, 51.5% 49%;
  }
  20% {
    background-position: center center, 48.5% 51%;
  }

  /* ── GLITCH 1 : sec et bref ── */
  23% {
    background-position: center center, 55% 46%;
  }
  23.6% {
    background-position: center center, 45% 54%;
  }
  24.2% {
    background-position: center center, 50% 50%;
  }

  /* ── LONGUE PAUSE : micro-oscillations à peine visibles ── */
  28% {
    background-position: center center, 51% 50%;
  }
  38% {
    background-position: center center, 49% 51%;
  }
  50% {
    background-position: center center, 51% 49%;
  }
  62% {
    background-position: center center, 49.5% 50.5%;
  }

  /* ── GLITCH 2 : double bounce ── */
  65% {
    background-position: center center, 55% 45%;
  }
  65.6% {
    background-position: center center, 45% 55%;
  }
  66.2% {
    background-position: center center, 53% 47%;
  }
  66.8% {
    background-position: center center, 47% 53%;
  }
  67.5% {
    background-position: center center, 50% 50%;
  }

  /* ── RETOUR AU CALME ── */
  75% {
    background-position: center center, 51% 49.5%;
  }
  88% {
    background-position: center center, 49.5% 50.5%;
  }
  100% {
    background-position: center center, 50% 50%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .frres-current-edition-bg--animated {
    animation: none;
  }
}


.frres-badge{
  display:inline-block !important;
  width:auto !important;
  max-width:max-content !important;
  margin:0 0 10px 0 !important;
  padding:0 !important;
}

.frres-badge .et_pb_text_inner{
  display:inline-block !important;
  width:auto !important;
  max-width:max-content !important;
  padding:0.28em 0.65em !important;
  color:#fff !important;
  font-weight:300 !important;
  font-size:clamp(13px, 0.20vw + 12px, 14px) !important;
  line-height:1.1 !important;
  text-transform:uppercase;
  letter-spacing:0.02em;
  border-radius:0 !important;
}

.frres-badge .et_pb_text_inner,
.frres-badge .et_pb_text_inner p{
  margin:0 !important;
}

.frres-badge[data-frres-badge-style="rouge"] .et_pb_text_inner{
  background:#b41f30;
}

.frres-badge[data-frres-badge-style="noir"] .et_pb_text_inner{
  background:#000000;
}

.frres-badge[data-frres-badge-style="gris"] .et_pb_text_inner{
  background:#595959;
}

.numero_edition sup{
  bottom: .30em;
  text-transform: lowercase;
  font-size: 80%;
}




li.current-menu-item a,
.fr-breadcrumb a,
#top-menu li.current-menu-ancestor > a {
  color: #b41f30 !important;
}




