/*
Theme Name: Roster Con V6
Author: Roster Con
Description: Roster Con Theme V6
Version: 6
Text Domain: rostercon
*/

/* lato-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  src: url('https://www.rostercon.com/wp-content/themes/rosterconv6/fonts/lato-v24-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lato-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url('https://www.rostercon.com/wp-content/themes/rosterconv6/fonts/lato-v24-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lato-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: url('https://www.rostercon.com/wp-content/themes/rosterconv6/fonts/lato-v24-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

.clearer, .clear {
  clear: both;
  float: none; }

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.col-centered {
  display: inline-block;
  float: none;
  /* inline-block space fix */
  margin-right: -4px; }


body {
  font-family: 'Lato', sans-serif !important;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
 }

.bg-gray-rc {
    background-color : #f6f6f6;
}

.bg-red {
  background-color: #ed1848; }

#content {
    margin-top: 85px !important;
}

ul {
    list-style-type: none;
    padding: 0px;
    margin: 0px;
}

.link-white a {
  color: #fff;
}

/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
  margin: 5px 20px 20px 0; }

.aligncenter,
div.aligncenter {
  display: block;
  margin: 20px auto 5px auto; }

.alignright {
  float: right;
  margin: 20px 0 20px 20px; }

.alignleft {
  float: left;
  margin: 20px 20px 20px 0; }

a img.alignright {
  float: right;
  margin: 20px 0 20px 20px; }

a img.alignnone {
  margin: 20px 20px 20px 0; }

a img.alignleft {
  float: left;
  margin: 20px 20px 20px 0; }

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
  clear: both; }

.wp-caption.alignnone {
  margin: 20px 20px 20px 0; }

.wp-caption.alignleft {
  margin: 20px 20px 20px 0; }

.wp-caption.alignright {
  margin: 20px 0 20px 20px; }

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto; }

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px; }

.wp-caption {
  border: 1px solid #e6ecf5;
  border-radius: 10px;
  padding: 15px;
  margin-bottom: 20px;
  background: #fff;
  text-align: center;
  max-width: 100%; }

.wp-caption img {
  margin-bottom: 15px; }

.wp-caption.wp-caption-text {
  font-size: 14px;
  margin-bottom: 0; }

.wp-caption figcaption {
  padding: 0; }

.page-content:after {
  content: "";
  display: table;
  clear: both; }

.post_format-post-format-chat .post-content p:nth-child(odd) {
  color: #515365;
  color: var(--heading-font-color);
  font-weight: 700; }

.format-standard .post__author {
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: center;
  align-items: center; }

.format-standard .post__author img {
  min-width: 40px;
  min-height: 40px; }


/* Menu */

/*Menu Top*/
#site-header {
  height: 85px;
  background-color: #ed1848;
  max-width: 100%; 
z-index: 1030!important;
}

.header-content-wrapper {
  position: relative;
  height: 100%;
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background-color: inherit; }

#language-rc {
    position:absolute;
    right:0;
  margin: 0px 15px; }

#nav-menu-top {
  margin-right: 25px; }


.bold {
  font-weight: 800; }

/* MENU STYLES */
.menu-wrap {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 30000; }

.menu-wrap .toggler {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 30001;
  cursor: pointer;
  width: 50px;
  height: 50px;
  opacity: 0; }

.menu-wrap .hamburger {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 30000;
  width: 60px;
  height: 60px;
  padding: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center; }

/* Hamburger Line */
.menu-wrap .hamburger > div {
  position: relative;
  flex: none;
  width: 100%;
  height: 2px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s ease; }

/* Hamburger Lines - Top & Bottom */
.menu-wrap .hamburger > div::before,
.menu-wrap .hamburger > div::after {
  content: '';
  position: absolute;
  z-index: 2000;
  top: -10px;
  width: 100%;
  height: 2px;
  background: inherit; }

/* Moves Line Down */
.menu-wrap .hamburger > div::after {
  top: 10px; }

/* Toggler Animation */
.menu-wrap .toggler:checked + .hamburger > div {
  transform: rotate(135deg); }

/* Turns Lines Into X */
.menu-wrap .toggler:checked + .hamburger > div:before,
.menu-wrap .toggler:checked + .hamburger > div:after {
  top: 0;
  transform: rotate(90deg); }

/* Rotate On Hover When Checked */
.menu-wrap .toggler:checked:hover + .hamburger > div {
  transform: rotate(225deg); }

/* Show Menu */
.menu-wrap .toggler:checked ~ .menu {
  visibility: visible; }

.menu-wrap .toggler:checked ~ .menu > div > div {
  opacity: 1;
  transition: opacity 0.4s ease 0.4s; }

.menu-wrap .toggler:checked ~ .opacity-box {
  visibility: visible; }

.opacity-box {
  background-color: #000000;
  opacity: 0.5;
  width: 100%;
  height: 100%;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1999; }

.menu-wrap .menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 275px;
  height: 100%;
  visibility: hidden;
  display: flex;
  justify-content: center;
  padding: 30px;
  overflow: auto;
  overflow-x: hidden;
  box-sizing: content-box;
  background: #ed1848;
  z-index: 2000; }

@media only screen and (max-width: 960px) {
  .menu-wrap .menu > div {
    height: 100vw; } }

.menu-wrap .menu > div > div {
  text-align: left;
  max-width: 90vw;
  max-height: 100vh;
  opacity: 0;
  transition: opacity 0.4s ease; }

.menu .nav-link {
  padding: 0px !important; }

.menu-wrap .menu > div > div > ul > li {
  list-style: none;
  color: #fff;
  font-size: 1.25rem;
  padding: 7px 0px 7px 15px; }

.menu-wrap .menu > div > div > ul > li > a {
  color: inherit;
  text-decoration: none;
  transition: color 0.4s ease; }


.menu-wrap .nav-link:hover {
  color: #1e2022 !important;
  text-decoration: none;
  transition: color 0.4s ease; }

.menu-wrap .menu-social-icon li {
  padding-left: 3px !important;
  padding-right: 3px !important; }

.hamburger {
  position: fixed;
  z-index: 9999;
  padding: 15px; }

.hamburger:hover {
  cursor: pointer; }

.hamburger div {
  background-color: white;
  border-radius: 1px;
  height: 6px;
  width: 30px; }

.hamburger div:not(:last-child) {
  margin-bottom: 5px; }

/*Menu Mag*/
  .mag-menu .nav > li > a {
    color: #ed1848;
}


  .mag-menu .navbar-nav > li > a, .mag-menu .navbar-toggle {
    color: #1e2022;
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 700;
    padding-top: 15px;
    padding-bottom: 15px; }


  .mag-menu .dropdown-menu > li > a:hover, .mag-menu .dropdown-menu > li > a:focus {
    text-decoration: none;
    color: #ed1848;
 }

  .mag-menu .dropdown-menu > li > a {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: normal;
    line-height: 1.42857;
    color: #ed1848;
    white-space: nowrap; }

/*Search Engine Form */

.bg-form-home {
  background: url("img/fond-form-noir.jpg") no-repeat center center; /* fallback */
  background: image-set(
    url("img/fond-form-noir.webp") type("image/webp"),
    url("img/fond-form-noir.jpg") type("image/jpeg")
  ) no-repeat center center;
}


#search-engine, #search-engine-min, #search-engine-results {
  background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-position-y: top;
box-shadow: inset 0 0 0 100vw rgba(0,0,0,0.6);
  color: #fff; 
  }

#search-engine {
  min-height: 310px;
  }
#search-engine-min {
  min-height: 240px;
  }

#search-engine-results {
  min-height: 140px;
  }

  
  .search-engine-description {
	  font-size: 1.2rem;
  }
  
 .search-engine-shadow {
    text-shadow: 0 1px 1px #343a40;
}


#search-engine .input-group-merge .form-control:not(:last-child), #search-engine-min .input-group-merge .form-control:not(:last-child), #search-engine-results .input-group-merge .form-control:not(:last-child) {
    padding-right: 0px !important;
}

#search-engine .input-group-merge .form-control:not(:first-child), #search-engine-min .input-group-merge .form-control:not(:first-child), #search-engine-results .input-group-merge .form-control:not(:first-child) {
    padding-left: 0px !important;
}


.ui-autocomplete {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  min-width: 160px;
  _width: 160px;
  padding: 10px;
  margin: 2px 0 0 0;
  list-style: none;
  background-color: #fff;
  border-color: #ccc;
  border-color: rgba(0, 0, 0, 0.2);
  border-style: solid;
  border-width: 1px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  *border-right-width: 2px;
  *border-bottom-width: 2px; }
  .ui-autocomplete .ui-menu-item {
    padding: 5px; }
  .ui-autocomplete .ui-menu-item > a.ui-corner-all {
    display: block;
    padding: 3px 15px;
    clear: both;
    font-weight: normal;
    line-height: 18px;
    color: #555555;
    white-space: nowrap; }
    .ui-autocomplete .ui-menu-item > a.ui-corner-all.ui-state-hover, .ui-autocomplete .ui-menu-item > a.ui-corner-all.ui-state-active {
      color: #fff;
      text-decoration: none;
      background-color: #0088cc;
      border-radius: 0px;
      -webkit-border-radius: 0px;
      -moz-border-radius: 0px;
      background-image: none; }

.ui-menu .ui-menu-item:hover, .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus {
  cursor: pointer; }

.ui-state-focus, .ui-state-hover {
  background-color: #DCDCDC;
  font-weight: bold;
  padding: 0px 5px; }
  
/* Pub */

@media (min-width: 1024px) {

.container-sda {
  height: 320px;
  overflow: hidden; 
}

.container-sda-skyscrapper{
  height: 620px;
  overflow: hidden; 
}
}


  @media (max-width: 1023px) {
    .container-sda {
      min-height: 270px;
      max-height: 425px; } 
      
    .container-sda-skyscrapper {
height:auto;
  min-height: 270px;
  overflow: hidden; 
}
}

    @media (min-width: 1100px) {
        .billboard-wrapper{
        min-height: 325px !important;
	    max-height: 330px !important;	
        }
    }
    @media only screen and (max-width: 1099) and (min-width: 768px) {
        .billboard-wrapper{
            min-height: 90px !important;
	    max-height: 90px !important;

        }
    }	
    @media (max-width: 767px) {
        .billboard-wrapper{
            min-height: 336px !important;
	    max-height: 425px !important;
        }
    }

	.billboard-wrapper{
		display: flex;
    		align-items: center;
    		justify-content: center;
      overflow: hidden; 
	}

/* Menu */

.menu-internal-rc {
    padding-top:4px;
}

	  
/* Cards Event */

.panel-event {
  margin-bottom: 10px; }
  .panel-event ul {
    margin-bottom: 0px; }
  .panel-event li {
    vertical-align: middle; }
  .panel-event .serie-list-event, .panel-event .name-list-event, .panel-event .location-list-event {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden; }
  .panel-event .serie-list-event svg, .panel-event .date-list-event svg, .panel-event .location-list-event svg {
    position: relative;
    top: -2px; }
  .panel-event i {
    padding-right: 4px;
    height: 19px; }
  .panel-event .alert-danger, .panel-event .alert-warning {
    padding: 5px;
    border-radius: 0.25rem; }
  @media only screen and (max-width: 1023px) {
    .panel-event li {
      vertical-align: middle;
      margin-bottom: 5px !important; }
    .panel-event .name-list-event {
      padding-bottom: 5px; } }
  @media only screen and (min-width: 768px) and (max-width: 991px) {
    .panel-event .alert-event {
      padding-bottom: 5px; } }
  @media only screen and (min-width: 992px) {
    .panel-event .alert-danger, .panel-event .alert-warning {
      font-size: 0.7rem; } }

.card-sponso {
  min-height: 255px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  text-align: center; }
  .card-sponso h2 a {
    font-weight: 700;
    font-size: 1em;
    margin-top: 0px;
    text-transform: none; }
  .card-sponso .card-text {
    color: #fff; }



  #top-list span {
    font-weight: 400; }

/*Image Header Full Size*/

.image-explore {
  display: flex;
  background-size: cover;
  background-color: rgba(76, 76, 76, 0.6);
  color: #fff;
  background-position: center 20%; }
  .image-explore .image-explore-content {
    margin: auto;
    /* Important */ }
  .image-explore h2 {
    font-weight: 700;
    font-size: 1.3em;
    margin-top: 0px;
    text-transform: none; }
  .image-explore .title {
    margin-top: 40px !important; }
  .image-explore a, .image-explore h1 {
    color: #fff; }
  .image-explore .background-opacity {
    background-color: rgba(76, 76, 76, 0.5);
    width: 100%; }
  .image-explore .background-opacity, .image-explore h1, .image-explore .chapo-format, .image-explore .meta-format {
    text-align: center;
    text-shadow: 0 1px 1px #555555; }
  .image-explore .meta-format {
    font-size: 12px; }
  .image-explore .meta-format a {
    color: #fff; }
  .image-explore .chapo-format:before, .image-explore .meta-format:before {
    content: '';
    display: block;
    height: 2px;
    width: 45px;
    margin: 25px auto 20px;
    background: #fff; }

/*Pictures Home*/
  #pictures-home .content-pictures {
    position: relative;
    overflow: hidden; }
  #pictures-home .content-pictures .content-overlay {
    background: rgba(0, 0, 0, 0.7);
    position: absolute;
    height: 99%;
    width: 100%;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    -webkit-transition: all 0.4s ease-in-out 0s;
    -moz-transition: all 0.4s ease-in-out 0s;
    transition: all 0.4s ease-in-out 0s; 
border-radius: 0.5rem;
}
  #pictures-home .content-pictures:hover .content-overlay {
    opacity: 1; }
  #pictures-home .content-image {
    width: 100%; }
  #pictures-home .content-details {
    position: absolute;
    text-align: center;
    padding-left: 1em;
    padding-right: 1em;
    width: 100%;
    top: 50%;
    left: 50%;
    opacity: 0;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: all 0.3s ease-in-out 0s;
    -moz-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s; }
  #pictures-home .content-pictures:hover .content-details {
    top: 50%;
    left: 50%;
    opacity: 1; }
  #pictures-home .content-details h3 {
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.15em;
    margin-bottom: 0.5em;
    text-transform: uppercase; }
  #pictures-home .content-details p {
    color: #fff;
    font-size: 0.8em; }
  #pictures-home .fadeIn-bottom {
    top: 80%; }

.btn-text-img:not(.collapsed) span, .btn-text-fans:not(.collapsed) span, .btn-text-fans-event:not(.collapsed) span, .btn-text-fans-orga:not(.collapsed) span { display: none; }
.btn-text-img.collapsed b, .btn-text-fans.collapsed b, .btn-text-fans-event.collapsed b, .btn-text-fans-orga.collapsed b { display: none; }
.btn-text-img.collapsed span,.btn-text-fans.collapsed span, .btn-text-fans-event.collapsed span, .btn-text-fans-orga.collapsed span { display: inline; }

/* Video */

.video-container, .wp-block-embed-youtube .wp-block-embed__wrapper {
  position: relative !important;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden; 
margin-bottom:20px;
}

.video-container iframe,
.video-container object,
.video-container embed,
.wp-block-embed-youtube .wp-block-embed__wrapper iframe,
.wp-block-embed-youtube .wp-block-embed__wrapper object,
.wp-block-embed-youtube .wp-block-embed__wrapper embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; 
border-radius: 0.5rem !important;
}

.video-tiktok blockquote {
  padding: 0px !important; }

.video-tiktok blockquote {
  padding: 0px !important; }



/* Single Post */

#chapo {
  color: #ed1848;
  font-weight: bold; }
  #chapo a {
    color: #333333; }

.post-content p {
  line-height: 27px;
}

.post-content h2, .post-content h3 {
  margin-top: 1rem; 
    margin-bottom:1rem;
    font-weight: 400;
  font-weight: bold;
  color: #ed1848; 
}

.post-content ol li, .post-content ul li {
  margin-bottom: 10px; }

.post-content ul {
  margin-left: 30px;
  list-style-type: disc !important; }

.wp-element-caption {
    font-size:0.8rem;
    text-align: center !important;
}

.related-list li{
    list-style-type: none;
 }

.wp-block-image {
    padding-bottom:10px;
}

.meta-post {
  padding: 10px 0px;
  font-size: 12px;
}

  .post__author img {
    width: 40px;
    height: 40px;
    border-radius: 100%;
    overflow: hidden;
    margin-right: 12px; }

.format-standard .post__author img {
  min-width: 40px;
  min-height: 40px; }

.slide-content-description {
    background-color: #3e3641!important;
    color: #fff
}

.slide-content-description a {
    color: #fff
}

@media (max-width: 991px) {
    .slide-content-description .description-gallery {
        padding:10px 30px 30px 30px
    }
}

/* Le wrapper externe cache les slides adjacentes */
.swiper-wrapper-outer {
  position: relative;
  overflow: hidden;
}

.js-swiper-navigation {
  position: relative;
  transition: height 0.3s ease;
}

/* Le slide contient une row Bootstrap, on laisse Bootstrap gérer le layout */
.post-template-single-post-gallery-desc .js-swiper-navigation .swiper-slide {
  width: 100%;
  height: auto !important;
}

/* La row doit prendre toute la hauteur du slide */
.post-template-single-post-gallery-desc .js-swiper-navigation .swiper-slide .row {
  min-height: 100%;
  align-items: center;
}

/* L'image s'adapte sans déborder */
.post-template-single-post-gallery-desc .js-swiper-navigation .swiper-slide img {
  max-width: 100%;
  max-height: 70vh;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

/* La description remplit sa colonne */
.post-template-single-post-gallery-desc .js-swiper-navigation .swiper-slide .description-gallery {
  padding: 15px 50px 15px 0;
  box-sizing: border-box;
  align-self: center;
}

/* Sur mobile : image au-dessus, description en dessous */
@media (max-width: 991px) {
  .post-template-single-post-gallery-desc .js-swiper-navigation .swiper-slide img {
    max-height: 45vh;
  }

  .post-template-single-post-gallery-desc .js-swiper-navigation .swiper-slide .description-gallery {
    padding: 10px 20px;
    font-size: 0.875rem;
  }
}

/* Flèches centrées sur la partie image uniquement */
.post-template-single-post-gallery-desc .js-swiper-navigation .swiper-button-prev,
.post-template-single-post-gallery-desc .js-swiper-navigation .swiper-button-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  margin: 0;
  width: 44px;
  height: 44px;
}

.post-template-single-post-gallery-desc .js-swiper-navigation .swiper-button-prev {
  left: 10px;
}

.post-template-single-post-gallery-desc .js-swiper-navigation .swiper-button-next {
  right: 10px;
}

.swiper-button-next::after,
.swiper-button-prev::after {
    color: #fff; /* flèche blanche */
    text-shadow:
        -1px -1px 0 rgba(0,0,0,0.5),
         1px -1px 0 rgba(0,0,0,0.5),
        -1px  1px 0 rgba(0,0,0,0.5),
         1px  1px 0 rgba(0,0,0,0.5);
}

.liens-photos-pages {
list-style-type: none;
  margin-left: 10px !important; }
  @media (max-width: 434px) {
    .liens-photos-pages {
      margin-left: 20px !important; } }
  @media only screen and (min-width: 435px) and (max-width: 768px) {
    .liens-photos-pages {
      margin-left: 0px !important; } }
  .liens-photos-pages li {
    list-style-type: none;
    margin-bottom: 0px !important; }

.container-timeline {
  width: 100%;
  padding: 50px 0;
  margin: 50px auto;
  position: relative;
  overflow: hidden; }

.container-timeline:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -1px;
  width: 2px;
  height: 100%;
  background: #CCD1D9;
  z-index: 1; }

.timeline-block {
  width: -webkit-calc(50% + 8px);
  width: -moz-calc(50% + 8px);
  width: calc(50% + 8px);
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-box-pack: justify;
  justify-content: space-between;
  clear: both; }

.timeline-block-right {
  float: right; }

.timeline-block-left {
  float: left;
  direction: rtl; }

.marker {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid #ed1848;
  background: #ed1848;
  margin-top: 10px;
  z-index: 9999; }

.timeline-content {
  width: 95%;
  padding: 0 15px;
  color: #666; }

.timeline-img {
  margin-bottom: 15px; }

.timeline-content h3 {
  margin-top: 5px;
  margin-bottom: 5px;
  font-size: 1.3rem;
  font-weight: 700; }

.timeline-content span {
  font-size: 15px;
  color: #a4a4a4; }

.timeline-content-desc, .timeline-content p {
  font-size: 1rem;
  color: #888;
  line-height: 1.5em;
  word-spacing: 1px;
  margin-bottom: 0px 0px 0.5rem 0px !important; }

@media screen and (max-width: 768px) {
  .container-timeline:before {
    left: 8px;
    width: 2px; }
  .timeline-block {
    width: 100%;
    margin-bottom: 30px; }
  .timeline-block-right {
    float: none; }
  .timeline-block-left {
    float: none;
    direction: ltr; } }

.list-block-rc li {
  list-style-type: none;
  margin-bottom: 0px !important; }

.list-event-star-block ul {
  margin-left: 0px !important;
  padding: 10px 0; }

.list-event-star-block li {
  list-style-type: none; }


/*Social Share*/

.social-share .icon-share, .social-share .btn-soft-primary svg {
  fill: #ed1848; 
height:13px;
}

.social-share .icon-share:hover, .social-share .btn-soft-primary:hover svg{
  fill: #fff; 
    height:13px;
}

.social-share .btn-soft-primary:hover i{
color:#fff; 
}

/**/

.single-evenement #list-guest-event .col-centered {
    display: inline-block;
    float: none;
}

/* Orgas */

.infos-orga-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.25rem 2rem;
    list-style: none;
    padding-left: 0;
}
@media (max-width: 767.98px) {
    .infos-orga-grid {
        grid-template-columns: 1fr; /* une seule colonne sur mobile */
    }
}

/*Taxonomy*/


    @media screen and (min-width: 768px) {
        .img-taxonomy {
        max-height : 390px;
    }
}


/* =============================================================
   Hero des pages de tag « événement » (ex. San Diego Comic-Con)
   ============================================================= */

.rc-tag-hero {
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* Fond de section alterné (contraste réel avec le blanc, contrairement à bg-light) */
.rc-section-alt {
	background-color: #eef1f5;
}

/* Variante avec image de fond : overlay sombre pour la lisibilité */
.rc-tag-hero--img .rc-tag-hero__overlay {
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.35) 0%,
		rgba(0, 0, 0, 0.65) 100%
	);
}

/* Variante de secours (champ image vide) : dégradé de marque.
   -------------------------------------------------------------------
   Deux options à tester — décommente celle que tu veux, garde une seule active.
   ------------------------------------------------------------------- */

/* OPTION 1 — Anthracite neutre + voile rouge très discret (sobre, premium) 
.rc-tag-hero--gradient {
	background-color: #1a1d24;
	background-image:
		linear-gradient(135deg, rgba(237, 24, 72, 0.18) 0%, rgba(237, 24, 72, 0) 55%),
		linear-gradient(180deg, #1a1d24 0%, #2c3038 100%);
}*/


.rc-tag-hero--gradient {
	background: linear-gradient(160deg, #ed1848 0%, #7a1030 45%, #1a1d24 100%);
}


.rc-tag-hero--gradient .rc-tag-hero__overlay {
	background: transparent;
}

.rc-tag-hero__overlay {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 220px;
	padding: 3rem 1rem;
}

.rc-tag-hero__title {
	color: #fff;
	font-weight: 700;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.rc-tag-hero__baseline {
	color: rgba(255, 255, 255, 0.85);
	font-size: 1.05rem;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

@media (min-width: 992px) {
	.rc-tag-hero__overlay {
		min-height: 300px;
	}

	.rc-tag-hero__title {
		font-size: 2.75rem;
	}
}


/* */

.leaflet-container a {
    color: #ed1848 !important;
}

.wpgb-enabled.wpgb-loading {
    position:relative;
}
    
.wpgb-enabled.wpgb-loading .custom-loader {
margin:auto;
  width:50px;
  height:50px;
  border-radius:50%;
  border:8px solid;
  border-color:#E4E4ED;
  border-right-color: #ED1848;
  animation:s2 1s infinite linear;
}
@keyframes s2 {to{transform: rotate(1turn)}}

.wpgb-facet>fieldset:last-child {
    margin-bottom:20px !important;
}

.wpgb-facet button.wpgb-button {
    width:100% !important;
}

.wpgb-facet-title {
    font-size : 16px !important;
    margin: 0px !important;
}

/*.wpgb-facet-6 .wpgb-facet-title::before {
    content : "\F5ED";
    font-family: "bootstrap-icons";
}*/

/*UGC*/ 

.ugc-inner-wrapper h2{
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important; 
}

.ugc-inner-wrapper .ugc-input-wrapper {
    padding: 0px !important;
}

.ugc-input-wrapper .checkbox-option-wrapper input {
    position: absolute;
}

.ugc-input-wrapper .checkbox-option-wrapper label {
  font-weight: bold !important;
display: inline-block;
position: relative;
left: 20px;
}

.ugc-input-wrapper .checkbox-option-wrapper .error {
  display: block !important; }

/* Comments */
.comment-form .logged-in-as {
    text-align:center;
}

.list-comment {
  padding-left: 0;
  list-style: none;
  margin-bottom: 0;
}
.list-comment:first-child {
  margin-top: -2.5rem;
}

.list-comment .comment {
  margin-top: 2.5rem;
}
.list-comment .comment .children .comment {
    margin-left : 1rem;
  padding-left: 1rem;
  border-left: 0.1875rem solid rgba(33, 50, 91, 0.1);
}

.list-comment-divider .list-comment-item:not(:last-child) {
  border-bottom: 0.0625rem solid rgba(33, 50, 91, 0.1);
  padding-bottom: 2.5rem;
}

/*Pagination*/

pagination-wrapper-rc {
  position: relative;
  z-index: 1000000; }


.wpgb-facet .wpgb-pagination li a[aria-current] {
  padding: 10px;
  background: #323232;
  color: #fff !important;
  border-radius: 0.25rem;
line-height:16px !important;
}

.wpgb-facet .wpgb-pagination li a {
  padding: 10px !important;
  background-color: #ed1848;
  color: #fff;
  border-radius: 0.25rem;
line-height:16px !important;
}

.page-numbers {
  background-color: #ed1848;
  border-radius: 0.25rem;
  padding: 8px;
  color: #fff;
  margin-bottom: 10px;
  display: inline-block; }

.page-numbers .current {
  background-color: #323232; 
}

.page-numbers:hover, .facetwp-page:hover {
  color: #fff; }

.pagination-rc, .page-links {
  padding: 20px 0;
  font-size: 11px;
  line-height: 13px;
  margin-bottom: 10px; }

.pagination-rc .current, .page-links .current {
  margin: 5px 5px 5px 0px;
  padding: 10px;
  background: #323232;
  color: #fff;
  border-radius: 0.25rem;
  display: inline-block; }

.pagination-rc span, .pagination-rc a, .page-links a {
  margin: 5px 5px 5px 0px;
  padding: 10px;
  display: inline-block;
  text-decoration: none;
  width: auto;
  color: #fff;
  background: #ed1848;
  border-radius: 0.25rem; }

.pagination-rc a:hover, .page-links a:hover {
  color: #fff;
  background: #ed1848; }


/* Footer */

.grecaptcha-badge {
  visibility: collapse !important; }

.footer {
  background-color: #ed1848;
  color: #fff;
  padding-top: 20px;
  box-shadow: 0px 0px 34px 0px rgba(33, 37, 41, 0.3);
  -webkit-box-shadow: 0px 0px 34px 0px rgba(33, 37, 41, 0.3);
  position: relative; }
  .footer .footer-content {
    padding: 70px 0 60px; }
  .footer .footer-content > *:last-child {
    margin-bottom: 0; }
  .footer .sub-footer-copyright {
    padding: 20px 0 10px 0;
    text-align: center; }
    .footer .sub-footer-copyright span {
      font-size: 12px; }
  @media (max-width: 1024px) {
    .footer .footer .footer-content {
      padding: 40px 0; } }
  @media (max-width: 768px) {
    .footer .sub-footer-copyright {
      padding: 20px 0; }
    .footer .footer .footer-content {
      padding: 20px 0; } }
  .footer a {
    color: #fff; }
  /*.footer a:hover {
    color: #fff; }*/
  .footer .widgettitle-footer {
    margin-top: 0px;
    font-size: 22px;
    font-weight: bold; }
  .footer .wpcf7-form-control {
    width: 100%;
    color: #000000; }
  .footer .wpcf7-list-item-label {
    color: #fff; }
  .footer .wpcf7-submit {
    color: #fff !important; }

/* Quiz */

.wq_questionTextCtr h4 {
  font-size: 20px !important;
  font-weight: bold;
  line-height: 1;
  margin: 0;
  color: inherit; }

.wq_questionTextCtr {
  float: left;
  padding: 0px !important;
  background: #fff !important;
  box-sizing: border-box; }

.wq_quizCtr.listquiz_quiz .card:not(.no-image) .desc {
  position: relative !important; }

.wq_quizCtr.listquiz_quiz .desc {
  text-shadow: none;
  font-size: 16px;
  padding: 0;
  margin-top: 10px;
  text-align: left; }

.wq-question .credits {
  position: relative; }

.wq_quizCtr.listquiz_quiz .card {
  color: #333333; }

/*Live*/

#elb-load-more {
   background-color :  #ed1848;
}

/* ---------- HERO / couverture ---------- */
.rc-hero {
  display: block;
  position: relative;
  height: 420px;
  background-color: #14161c; /* fallback si pas d'image */
  overflow: hidden;
}
@media (max-width: 991.98px) { .rc-hero { height: 360px; } }
@media (max-width: 575.98px) { .rc-hero { height: 300px; } }

/* L'image remplit le conteneur et se recadre, sans en imposer la hauteur */
.rc-hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.rc-hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top,
    rgba(10,12,18,.92) 0%, rgba(10,12,18,.55) 42%, rgba(10,12,18,.05) 100%);
  padding: 1.75rem 2rem;
}
.rc-hero__title { line-height: 1.12; }
@media (max-width: 575.98px) { .rc-hero__title { font-size: 1.6rem !important; } }
.rc-hero__badge { letter-spacing: .06em; font-size: .72rem; }
.text-white-70 { color: rgba(255,255,255,.75) !important; }
.rc-hero__more i { transition: transform .2s ease; }
.rc-hero:hover .rc-hero__more i { transform: translateX(4px); }

/* ============================================================
   BANDE LARGE — overlay plein cadre (grande actu du milieu)
   Volontairement plus basse que le hero (hiérarchie visuelle).
   ============================================================ */
.rc-band--overlay {
  display: block;
  position: relative;
  height: 260px;
  background-color: #14161c;
  overflow: hidden;
}
@media (max-width: 767.98px) { .rc-band--overlay { height: 240px; } }
@media (max-width: 575.98px) { .rc-band--overlay { height: 220px; } }

.rc-band__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.rc-band__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top,
    rgba(10,12,18,.9) 0%, rgba(10,12,18,.45) 55%, rgba(10,12,18,0) 100%);
  padding: 1.25rem 1.75rem;
}

/* ============================================================
   POPULAIRES — 3 styles commutables via une classe sur .rc-popular
   (voir le commentaire dans category.php)
   ============================================================ */

/* Base commune */
.rc-popular { }

/* ---- Option 1 : rc-popular--plain ----
   Pas de fond : le bloc se fond dans la page, seules les pastilles
   distinguent la section. Cartes strictement identiques à ailleurs. */
.rc-popular--plain {
  background: none;
  border: 0;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ---- Option 2 : rc-popular--cards ----
   Fond gris + vraies cartes blanches nettes (bordure douce, coins
   arrondis, image sans arrondi propre qui "flotte"). */
.rc-popular--cards {
  background: linear-gradient(180deg, #f8f9fc 0%, #f1f3f9 100%);
  border-top: 1px solid rgba(0,0,0,.05);
  border-bottom: 1px solid rgba(0,0,0,.05);
}
.rc-popular--cards .card {
  background: #fff;
  border-radius: .75rem;
  box-shadow: 0 .25rem 1rem rgba(0,0,0,.06);
  overflow: hidden;         /* l'image épouse les coins de la carte */
}
.rc-popular--cards .card .post-thumb img,
.rc-popular--cards .card .card-img-top {
  border-radius: 0 !important;  /* on annule l'arrondi de l'image : c'est la carte qui arrondit */
}
.rc-popular--cards .card .card-body { padding: 1rem 1.1rem 1.2rem; }

/* ---- Option 3 : rc-popular--flush ----
   Fond gris mais cartes transparentes qui épousent le fond
   (pas de rectangle blanc). Look épuré, image + texte à même le gris. */
.rc-popular--flush {
  background: linear-gradient(180deg, #f8f9fc 0%, #f1f3f9 100%);
  border-top: 1px solid rgba(0,0,0,.05);
  border-bottom: 1px solid rgba(0,0,0,.05);
}
.rc-popular--flush .card {
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* ---- Pastille de classement (commune aux 3 options) ---- */
.rc-ranked { position: relative; }
.rc-rank {
  position: absolute;
  top: -.5rem;
  left: .25rem;
  z-index: 4;
  width: 2.4rem; height: 2.4rem;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 1.15rem; color: #fff;
  background: var(--bs-primary, #377dff);
  border-radius: 50%;
  box-shadow: 0 .25rem .75rem rgba(0,0,0,.2);
}
.rc-ranked[data-rank="1"] .rc-rank { background: #f5a623; }
.rc-ranked[data-rank="2"] .rc-rank { background: #9aa3b2; }
.rc-ranked[data-rank="3"] .rc-rank { background: #cd7f32; }

/* ==========================================================================
   Hero — page événement
   ========================================================================== */

.rc-hero-event {
    background-color: #1c1c22;
    padding: 2rem 0 2rem;
}

.rc-hero-event__breadcrumb {
    margin-bottom: .75rem;
    color: rgba(255, 255, 255, .75);
    font-size: .8125rem;
}

.rc-hero-event__breadcrumb a {
    color: rgba(255, 255, 255, .75);
}

.rc-hero-event__breadcrumb a:hover,
.rc-hero-event__breadcrumb a:focus-visible {
    color: #fff;
}

.rc-hero-event__badges {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: .625rem;
}

.rc-hero-event__badge {
    display: inline-block;
    padding: .2rem .625rem;
    border-radius: .375rem;
    background-color: rgba(255, 255, 255, .14);
    color: #fff;
    font-size: .75rem;
    line-height: 1.5;
}

.rc-hero-event__badge--link {
    text-decoration: none;
}

.rc-hero-event__badge--link:hover,
.rc-hero-event__badge--link:focus-visible {
    background-color: rgba(255, 255, 255, .24);
    color: #fff;
}

.rc-hero-event__badge.is-danger {
    background-color: #a32d2d;
}

.rc-hero-event__badge.is-warning {
    background-color: #8a5a00;
}

.rc-hero-event__title {
    margin: 0 0 .5rem;
    color: #fff;
    font-size: clamp(1.75rem, 4.5vw, 2.5rem);
    line-height: 1.2;
}

.rc-hero-event__dates {
    margin: 0 0 .75rem;
    color: rgba(255, 255, 255, .9);
    font-size: 0.75rem;
}

.rc-hero-event__guests-link {
    margin: 0 0 1.25rem;
}

.rc-hero-event__guests-link  {
    color: #fff;
    font-size: .9375rem;
    text-decoration: none;
}

.rc-hero-event__guests-link a:hover,
.rc-hero-event__guests-link a:focus-visible {
    text-decoration: none;
}

.rc-hero-event__actions:empty {
    margin: 0;
}

.rc-hero-event__actions {
    margin-bottom: 1rem;
}

.rc-hero-event__actions .btn {
    background-color: #ed1848;
    border-color: #ed1848;
    color: #fff;
}

.rc-hero-event__actions .btn:hover,
.rc-hero-event__actions .btn:focus-visible {
    background-color: #d01340;
    border-color: #d01340;
    color: #fff;
}

.rc-hero-event__share {
    color: rgba(255, 255, 255, .7);
    margin-bottom: .75rem;
}

/* crunchify_social_sharing_buttons() n'est pas pensé pour un fond de couleur :
   on éclaircit ses icônes par défaut plutôt que de retoucher le plugin.
   À vérifier au rendu réel : selon le markup généré (svg, img, police
   d'icônes), ce filtre peut nécessiter un ajustement. */
.rc-hero-event__share img,
.rc-hero-event__share svg {
    filter: brightness(0) invert(1);
    opacity: .9;
}

.rc-hero-event__share img:hover,
.rc-hero-event__share svg:hover {
    opacity: 1;
}

.rc-hero-event__updated {
    margin: 0;
    color: rgba(255, 255, 255, .7);
    font-size: .8125rem;
}

/* ==========================================================================
   Bloc invités — page événement
   ========================================================================== */

.rc-guests {
    background-color: #f7f7f5;
    padding: 2.5rem 0;
}

.rc-guests__head {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: .5rem;
    margin-bottom: 1rem;
  justify-content: center;
}

.rc-guests__title {
    margin: 0;
    font-size: 1.5rem;
  text-transform: uppercase;
}

.rc-guests__info-toggle {
    padding: 0;
    border: 0;
    background: none;
    color: #6c757d;
    line-height: 1;
}

.rc-guests__info-toggle:hover,
.rc-guests__info-toggle:focus-visible {
    color: #ed1848;
}

.rc-guests__info {
    margin-bottom: 1rem;
    font-size: .875rem;
    color: #6c757d;
}

.rc-guests__empty-state,
.rc-guests__empty-search {
    margin: 1rem 0 0;
    color: #6c757d;
}

.rc-guests__controls {
    margin-bottom: 1.25rem;
    max-width: 24rem;
}

/* --- Grille --------------------------------------------------------------

/* Centre les colonnes : sans ça, une dernière ligne incomplète (deux
   invités sur une grille de six) laisse un grand vide à droite. */
.rc-guests__grid {
    justify-content: center;
}

/* Pendant une recherche, les résultats restent alignés à gauche : un ou
   deux résultats centrés au milieu du bloc se lisent moins bien. */
.rc-guests__grid.is-searching {
    justify-content: flex-start;
}

.rc-guests__item[hidden] {
    display: none;
}

.rc-guest {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: transform .18s ease;
}

.rc-guest:hover,
.rc-guest:focus-visible {
    transform: translateY(-3px);
    text-decoration: none;
}

.rc-guest:focus-visible {
    outline: 2px solid #ed1848;
    outline-offset: 3px;
    border-radius: .5rem;
}

.rc-guest__name {
    display: block;
    margin-top: .4rem;
    /* Hauteur réservée pour deux lignes : sans ça, un nom court et un nom
       long donnent des cellules de hauteurs différentes et la grille se
       désaligne d'une ligne à l'autre. */
    min-height: 2.6em;
    font-size: .92rem;
    line-height: 1.3;
    text-align: center;
    overflow-wrap: anywhere;
}

.rc-guest:hover .rc-guest__name,
.rc-guest:focus-visible .rc-guest__name {
    color: #ed1848;
    text-decoration: none;
}

/* --- Vignettes -------------------------------------------------------------
   Photos et vignettes à initiales partagent exactement le même format
   (155x166, même radius) pour rester interchangeables visuellement dans
   la grille. */

/* Photos (<img>) et vignettes à initiales (<span>) doivent occuper
   exactement la même boîte. Sur un <img>, les attributs width/height
   générés par WordPress créent un ratio intrinsèque : sans height: auto
   explicite, la hauteur réelle diverge de celle des <span> et les lignes
   de la grille se désalignent. */
.rc-guest__tile {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 155 / 166;
    border-radius: .5rem;
    user-select: none;
}

span.rc-guest__tile {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: .02em;
}

.rc-guest__tile--photo {
    object-fit: cover;
    background-color: #eceae4;
}

/* Vignettes à initiales : déclinaison du rouge de marque (#ed1848),
   4 nuances réparties par ID de terme plutôt que des teintes pastel
   neutres. */
.rc-guest__tile--base { background-color: #fbe1e7; color: #8a0f2f; }
.rc-guest__tile--deep { background-color: #f6c9d3; color: #6e0c26; }
.rc-guest__tile--warm { background-color: #fbe6df; color: #96311a; }
.rc-guest__tile--soft { background-color: #fdeef1; color: #a12742; }

/* --- Actions ------------------------------------------------------------ */

.rc-guests__actions {
    margin-top: 1.5rem;
    text-align: center;
}

.rc-guests__more[hidden] {
    display: none;
}

/* --- Adaptations ---------------------------------------------------------
   Les paliers row-cols-* du PHP gèrent déjà la densité par écran ; il ne
   reste qu'à ajuster la taille du texte des initiales sur les plus petites
   colonnes. */

@media (max-width: 575.98px) {
    .rc-guest__tile {
        font-size: 1.0625rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .rc-guest {
        transition: none;
    }

    .rc-guest:hover,
    .rc-guest:focus-visible {
        transform: none;
    }
}

/* ==========================================================================
   Variante fond rouge de marque — `.rc-guests--brand`
   --------------------------------------------------------------------------
   Permet de déployer le bloc invités en prod dès maintenant, en gardant
   l'habillage rouge de la zone actuelle, sans attendre le reste de la
   refonte (qui utilise le fond neutre par défaut ci-dessus).

   Usage : ajouter la classe sur le conteneur dans guests-evenement.php
       <div class="rc-guests rc-guests--brand" id="list-guest-event">
   Pour repasser au fond neutre plus tard : retirer `rc-guests--brand`.
   ========================================================================== */

.rc-guests--brand {
    background-color: #ed1848;
}

.rc-guests--brand .rc-guests__title {
    color: #fff;
}

.rc-guests--brand .rc-guests__info-toggle {
    color: rgba(255, 255, 255, .8);
}

.rc-guests--brand .rc-guests__info-toggle:hover,
.rc-guests--brand .rc-guests__info-toggle:focus-visible {
    color: #fff;
}

.rc-guests--brand .rc-guests__info,
.rc-guests--brand .rc-guests__empty-state,
.rc-guests--brand .rc-guests__empty-search {
    color: rgba(255, 255, 255, .85);
}

.rc-guests--brand .rc-guests__search {
    border: 1px solid rgba(255, 255, 255, .5);
    background-color: rgba(255, 255, 255, .12);
    color: #fff;
}

.rc-guests--brand .rc-guests__search::placeholder {
    color: rgba(255, 255, 255, .7);
}

.rc-guests--brand .rc-guests__search:focus {
    border-color: #fff;
    background-color: rgba(255, 255, 255, .18);
    color: #fff;
    box-shadow: none;
}

.rc-guests--brand .rc-guest__name {
    color: #fff;
    font-weight: 500;
}

.rc-guests--brand .rc-guest:hover .rc-guest__name,
.rc-guests--brand .rc-guest:focus-visible .rc-guest__name {
    /* Le rouge de marque serait invisible ici : on garde le blanc et on
       marque le survol par un filet. */
    color: #fff;
    text-decoration: none;
    text-underline-offset: .2em;
}

.rc-guests--brand .rc-guest:focus-visible {
    outline-color: #fff;
}

/* Vignettes à initiales : les tons rosés de la version neutre se
   fondraient dans le rouge. Ici, un voile blanc translucide avec
   initiales blanches, décliné en quatre intensités. */
.rc-guests--brand .rc-guest__tile--base,
.rc-guests--brand .rc-guest__tile--deep,
.rc-guests--brand .rc-guest__tile--warm,
.rc-guests--brand .rc-guest__tile--soft {
    color: #fff;
}

.rc-guests--brand .rc-guest__tile--base { background-color: rgba(255, 255, 255, .16); }
.rc-guests--brand .rc-guest__tile--deep { background-color: rgba(0, 0, 0, .14); }
.rc-guests--brand .rc-guest__tile--warm { background-color: rgba(255, 255, 255, .24); }
.rc-guests--brand .rc-guest__tile--soft { background-color: rgba(0, 0, 0, .08); }

.rc-guests--brand .rc-guest__tile--photo {
    background-color: rgba(0, 0, 0, .12);
}

/* Bouton « voir les X invités restants » : le btn-primary rouge du thème
   disparaîtrait sur ce fond. */
.rc-guests--brand .rc-guests__more {
    border-color: #fff;
    background-color: #fff;
    color: #ed1848;
}

.rc-guests--brand .rc-guests__more:hover,
.rc-guests--brand .rc-guests__more:focus-visible {
    border-color: rgba(255, 255, 255, .9);
    background-color: rgba(255, 255, 255, .9);
    color: #ed1848;
}

/* ==========================================================================
   Hero — pages de taxonomie (séries, acteurs…)
   ========================================================================== */

.rc-hero-tax {
    background-color: #1c1c22;
    padding: 2rem 0 2rem;
    margin-bottom: 1.5rem;
}

.rc-hero-tax__breadcrumb {
    margin-bottom: .75rem;
    color: rgba(255, 255, 255, .75);
    font-size: .8125rem;
}

.rc-hero-tax__breadcrumb a {
    color: rgba(255, 255, 255, .75);
    text-decoration: none;
}

.rc-hero-tax__breadcrumb a:hover,
.rc-hero-tax__breadcrumb a:focus-visible {
    color: #fff;
    text-decoration: underline;
}

.rc-hero-tax__breadcrumb span[aria-hidden] {
    margin: 0 .35rem;
    opacity: .5;
}

/* Affiche — absente du hero événement, propre aux pages de taxonomie */
.rc-hero-tax__poster img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: .5rem;
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .45);
}

.rc-hero-tax__title {
    margin: 0 0 .5rem;
    color: #fff;
    font-size: clamp(1.75rem, 4.5vw, 2.5rem);
    line-height: 1.2;
}

.rc-hero-tax__badges {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: .625rem;
}

.rc-hero-tax__badge {
    display: inline-block;
    padding: .2rem .625rem;
    border-radius: .375rem;
    background-color: rgba(255, 255, 255, .14);
    color: #fff;
    font-size: .75rem;
    line-height: 1.5;
}

.rc-hero-tax__badge--link {
    text-decoration: none;
}

.rc-hero-tax__badge--link:hover,
.rc-hero-tax__badge--link:focus-visible {
    background-color: rgba(255, 255, 255, .24);
    color: #fff;
}

.rc-hero-tax__actions {
    margin-bottom: 1rem;
}

.rc-hero-tax__actions .btn {
    background-color: #ed1848;
    border-color: #ed1848;
    color: #fff;
}

.rc-hero-tax__actions .btn:hover,
.rc-hero-tax__actions .btn:focus-visible {
    background-color: #d01340;
    border-color: #d01340;
    color: #fff;
}

/* Les SVG de partage sont en fill="currentColor" : une simple couleur suffit,
   contrairement au hero événement qui doit corriger au filtre les icônes
   produites par crunchify_social_sharing_buttons(). */
.rc-hero-tax__share {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem;
    margin-bottom: .75rem;
}

.rc-hero-tax__share a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .4rem;
    border-radius: .375rem;
    color: rgba(255, 255, 255, .7);
}

.rc-hero-tax__share a:hover,
.rc-hero-tax__share a:focus-visible {
    color: #fff;
    background-color: rgba(255, 255, 255, .14);
}

.rc-hero-tax a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.rc-hero-tax__edit {
    margin: 0;
    color: rgba(255, 255, 255, .7);
    font-size: .8125rem;
}

.rc-hero-tax__edit a {
    color: rgba(255, 255, 255, .7);
}

@media (max-width: 575.98px) {
    .rc-hero-tax {
        padding: 1.25rem 0 1.5rem;
        margin-bottom: 1rem;
    }
}

/* ==========================================================================
   Bloc « Liens vers pages photos » (acf/photos-events-rc)
   ========================================================================== */

.rc-photolinks {
	--rc-pl-bg: #ed1848;
	--rc-pl-ink: #fff;

	display: flex;
	align-items: flex-start;
	gap: 1rem;
	margin: 1.5rem 0;
	padding: 1.125rem 1.25rem;
	border-radius: 16px;
	background: var(--rc-pl-bg);
	color: var(--rc-pl-ink);
}

/* Variante neutre, alignée sur .rc-hero-event / .rc-guests */
.rc-photolinks--dark {
	--rc-pl-bg: #1c1c22;
}

.rc-photolinks .rc-photolinks__badge {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .16);
}

.rc-photolinks .rc-photolinks__badge svg {
	display: block;
	width: 24px;
	height: 24px;
}

.rc-photolinks .rc-photolinks__body {
	flex: 1 1 auto;
	min-width: 0;
}

/* Neutralise .post-content p */
.rc-photolinks .rc-photolinks__eyebrow {
	margin: 0 0 .35rem;
	padding: 0;
	font-size: .75rem;
	line-height: 1.2;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .75);
}

/* Neutralise .post-content ul (margin-left: 30px) */
.rc-photolinks .rc-photolinks__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Neutralise .post-content ul li */
.rc-photolinks .rc-photolinks__item {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rc-photolinks--multi .rc-photolinks__item + .rc-photolinks__item {
	border-top: 1px solid rgba(255, 255, 255, .18);
}

/* La marge négative fait déborder le survol dans le padding de la carte,
   pour une zone cliquable qui court sur toute la largeur.
   Neutralise aussi .post-content a (couleur et soulignement). */
.rc-photolinks .rc-photolinks__link {
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: .5rem;
	margin: 0 -.5rem;
	border-radius: 10px;
	color: var(--rc-pl-ink);
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color .18s ease;
}

.rc-photolinks--multi .rc-photolinks__link {
	padding: .7rem .5rem;
}

.rc-photolinks .rc-photolinks__label {
	flex: 1 1 auto;
	min-width: 0;
}

.rc-photolinks .rc-photolinks__arrow {
	flex: 0 0 auto;
	margin-left: auto;
	width: 20px;
	height: 20px;
	transition: transform .18s ease;
}

.rc-photolinks .rc-photolinks__link:hover,
.rc-photolinks .rc-photolinks__link:focus-visible {
	background: rgba(255, 255, 255, .14);
	color: var(--rc-pl-ink);
	text-decoration: none;
}

.rc-photolinks .rc-photolinks__link:hover .rc-photolinks__arrow,
.rc-photolinks .rc-photolinks__link:focus-visible .rc-photolinks__arrow {
	transform: translateX(4px);
}

.rc-photolinks .rc-photolinks__link:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

@media (max-width: 575.98px) {

	.rc-photolinks {
		gap: .75rem;
		padding: 1rem;
	}

	.rc-photolinks .rc-photolinks__badge {
		width: 38px;
		height: 38px;
	}

	.rc-photolinks .rc-photolinks__badge svg {
		width: 20px;
		height: 20px;
	}

	.rc-photolinks .rc-photolinks__link,
	.rc-photolinks--multi .rc-photolinks__link {
		padding: .6rem .4rem;
		margin: 0 -.4rem;
	}
}

@media (prefers-reduced-motion: reduce) {

	.rc-photolinks .rc-photolinks__link,
	.rc-photolinks .rc-photolinks__arrow {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   Variante « icône nue » : ajouter la classe rc-photolinks--icon-plain dans
   Avancé > Classe(s) CSS additionnelle(s) du bloc pour comparer sans déployer.
   -------------------------------------------------------------------------- */

.rc-photolinks--icon-plain .rc-photolinks__badge {
	width: auto;
	height: auto;
	padding-top: .15rem;
	border-radius: 0;
	background: none;
}

.rc-photolinks--icon-plain .rc-photolinks__badge svg {
	width: 40px;
	height: 40px;
}

@media (max-width: 575.98px) {

	.rc-photolinks--icon-plain .rc-photolinks__badge svg {
		width: 32px;
		height: 32px;
	}
}
