/* ====== GENERAL ======= */
/* (0, 147, 181) background-color: rgb(16, 156, 217) #4aaffd */

/* ---- Menu ---- */

.main-navigation {
    background-color: rgb(26,83,216);
}


/* ---- En-tête de page ---- */

.bloc-tete {
    width: 100%;
    padding: 10%;
}

.titre-page h4 {
  font-size: clamp(2px, 1.8vw, 20px);
  font-weight: 800;
  text-transform: uppercase;
  color: #ffffff;
  margin-top: 3%;
  margin-bottom: 3%;
  letter-spacing: 0.08em;
}

.vc_separator.vc_sep_border_width_3 .vc_sep_holder .vc_sep_line {
  border-top-width: 0.1rem;
}

/* ---- Contenu standard ---- */

  .content-padding {
    padding-top: 2rem;
    padding-bottom: 2rem;
    margin-top : 3%;
    margin-bottom: 3%;
    Margin-left: 2%;
    Margin-right: 2%;
  }


.titre-rubrique  {
  font-size: clamp(15px, 6vw, 60px);
  font-weight: 600;
  text-transform: uppercase;
  color: #ffffff;
  margin-top: 5%;
  margin-bottom: 2%;
  letter-spacing: 0.08em;
}


.titre-texte-rubrique  {
  font-size: clamp(6px, 6vw, 20px);
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0.1em;
  text-align:center;
  margin-bottom : 3%;
  margin-top : 2%;
}

.titre-texte-rubrique-gauche  {
  font-size: clamp(6px, 6vw, 20px);
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0.1em;
  text-align:left;
  margin-bottom : 3%;
  margin-top : 2%;
}

.texte-rubrique {
    font-size: clamp(6px, 3vw, 15px);
  font-weight: 200;
  color: #ffffff;
  letter-spacing: 0.1em;
  vertical-align: middle;
  margin-top: 2%;
  line-height: 1.2;
}

.image-rubrique {
  margin: 2%;
  height: 100%;
  object-fit: contain;
  vertical-align: top;
  align-items: center;
  
}

.image-rubrique-secondaire {
  margin: 2%;
  height: 50%;
  object-fit: contain;
  vertical-align: top;
  align-items: center;
  
}

.imagered-rubrique {
    display:block;
    margin:0 auto;
    width:50%;
    height:auto;
    object-fit: contain;
    align-items: center;
}

.bloc {
    padding-top: 1%;
    padding-left: 3%;
    padding-right:3%;
    padding-bottom: 1%;
    align-items: center;
    margin-left: 0.1%;
  margin-right: 0.1%;
    
}

/* --- Ombre ---- */
.bloc-texte-ombre {
  box-shadow: 0 6px 20px rgb(64, 64, 64);
  background-color: rgb(130,179,252, 0.5);

}


.bloc .bloc-texte-ombre {
    box-shadow: 0 6px 20px rgb(64, 64, 64);
  background-color: rgb(130,179,252, 0.5);
  padding: 1px;
    align-items: center;
    padding: 1%;
}

/* ---  Marges Contenu bloc, marges --- */ 
.wpb_content_element{
    margin-bottom: 1%;
}

.vc_row-has-fill > .vc_column_container > .vc_column-inner {
  padding-top: 2%;
}


/* ---- 2 colonnes ---- */
.bloc2{
  width: 45%;
  margin: 2.5%;
  }
  
 .colonnes2 {
width: 100%;
 }

/* ---- 3 colonnes ---- */

.bloc3{
  width: 30%;
  margin: 1.5%;
  }

  .colonnes3 {
  display: grid;
  grid-template-columns: repeat(3, 20%);
  gap: 1rem;
  /*background: rgb(26,83,216);*/
  padding: 1%;
  margin: 1% 0;
  }



/* ---- Sponsors ---- */

.sponsors {
  color: #ffffff;
  margin-top : 3%;
  width:100%;
  text-align: center;
  align-items: center;
  padding: 1%;
}

.titre-sponsors
{
padding-top: 5px;
}

.image-sponsors
{
padding-top: 3%;
padding-bottom: 3%;
width: 99%;
height: auto;
vertical-align:center;
}

.bloc-sponsors{
    margin-top:10%;
}


/* TEXTES */

.intro-page {
  font-size: clamp(6px, 2vw, 10px);
  font-weight: 300;
  color: #ffffff;
  margin: 20px 0;
  letter-spacing: 0.1em;
  text-align: center;
}




/* --------------- EVENT --------------*/


/* Event Schedule Plain List */


/* Texte dans le calendrier plain liste */
.wcs-timetable__list .wcs-class__title {
  font-size: 180%;
  text-transform: none;
}

.wcs-timetable__list .wcs-class + .wcs-class {
  margin-top: 3rem;
}


 /* Cadrage uniforme des images */
  .wcs-timetable__list .wcs-class .wcs-class__image {
  height:400px;
  background-size: contain !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  margin: 2% !important;
   }
   
   .wcs-timetable__list .wcs-class .wcs-class__time {
  /*text-align: left;*/
  margin: 0 0 2rem;
  font-size: 150%;
  display: block;
  /* position: relative;*/
  right: 0%;
}

/*
.wcs-timetable.wcs-timetable--plain-list .wcs-class .wcs-class__image {
  background-size: contain !important;
}


.wcs-timetable--plain-list img {
    height: 200px;
    transform: scale(0.5);
  }
*/  




/* -------------- MENU PRINCIPAL -----------*/

/* couleur fond après scroll */
.ct-header__wrapper--stuck {
  background-color: rgb(74, 175, 253) !important;
}

/* Menu actif */

.ct-header__logo-nav .current-menu-item > a, .ct-header__logo-nav .current-page-parent > a, .ct-header__logo-nav .current_page_parent > a, .ct-header__logo-nav .current_page_ancestor > a, .ct-header__logo-nav .current-page-ancestor > a, .ct-header__logo-nav .current_page_item > a {
  color: rgb(255, 143, 143);
}



/* --------------- WOOCOMMERCE --------------*/

/* Prix du produit sélectionné */
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) 
div.product span.price {
  color: #fff;
  font-size: 2em;
}

/* Rupture de stock */
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .out-of-stock {
  color: #fff;
}

/* Prix dans le shop */
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
  color: #ffffff;
  font-size: 1.25em;
}

/* ==============================
   CARTES PRODUITS – OMBRE + IMAGE
   ============================== */

/* Carte produit */
.woocommerce ul.products li.product {
  padding: 1.5rem;
  box-shadow: 0 6px 20px rgb(64, 64, 64);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}

/* Effet hover (léger, élégant) */
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 20px rgb(64, 64, 64);
}

/* Image du produit : réduite et centrée */

.woocommerce ul.products li.product img {
  width: 90%;              /* ⬅ réduit le “zoom visuel” */
  height: auto;
  max-height: none;
  object-fit: contain;     /* ⬅ empêche tout crop */
  margin: 1.2rem auto;     /* ⬅ espace autour de l’image */
  display: block;
}

/* Neutraliser styles de zoom du thème */
.woocommerce ul.products li.product img {
  transform: none !important;
}


/* Conteneur image */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display: block;
}

/* Image en plein cadre, verticale, sans crop */
.woocommerce ul.products li.product img {
  width: 80%;
}


/* -------------- GENERAL ----------------- */


.vc_column_container > .vc_column-inner {
  box-sizing: border-box;
  padding-left: 2%;
  padding-right: 2%;
  width: 100%;
}

/* ------------- BOUTONS ---------------*/

.vc_general.vc_btn3.vc_btn3.vc_btn3-style-btn-primary {
  background-color: rgb(221,51,51) !important;
  color: rgb(255, 255, 255) !important;
border-color: rgb(221,51,51) !important;
align-items: center !important;
  display: block;
  margin-top: 10%;
  font-size: 0.9rem;
  
}

.has-vivid-red-background-color {
  background-color: rgb(221,51,51) !important;
}

.vc_general.vc_btn3.vc_btn3.vc_btn3-size-lg.vc_btn3-size-lg {
    padding: 1rem 2.5rem;
  font-size: 0.9rem;
  border-radius: 1rem;
}


/* ----------   Mobile 767  ---------------- */

@media (max-width: 767px) {
    
 .wcs-timetable__list .wcs-class .wcs-class__image {
      display: block !important;
      width: 100%; 
      height: 100% !important;
      min-height: 200px !important;
      
  }
  
 
  
/* Centre tout le bloc date 

.tribe-events-calendar-list__event-date-tag {
  display: flex;
  flex-direction: column;
  align-items: center;
    justify-content: center;
  text-align: center;
}
*/
  
  .bloc, .bloc3, .bloc2 {
      display: bloc;
      width: 99%;
      margin:1%;
      align-items: center;
      padding: 1%;
      
  }
  
  .sponsors {
      display:flex;
      width: 99%;
      margin:1%;
      padding: 1px;
      
  }
  
      
  
  
.colonnes2 {
    grid-template-columns: 1fr;
  }

  
}