/*
 Theme Name:     Divi Child
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/
 
 
/* =Theme customization starts here
------------------------------------------------------- */
#page-container #et-boc{
    overflow:hidden;
}
#et-main-area{overflow: hidden;}

h1{font-size: 3rem;}
h2{font-size: 2.4rem;}
h3{font-size: 1.8rem;}

img.an1{width: 20px !important;}

/*Boutons header*/
.bouton-header{
    transition: cubic-bezier(0.15, 1.02, 0.19, 1.05);
}
.bouton-bg-svg{
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url(https://www.welovemachines.fr/wp-content/uploads/2026/04/Foun_bouton-court.svg);
    transition-duration: 300ms;
    transition-delay: 0ms;
    transition: all .8s cubic-bezier(0.15, 1.02, 0.19, 1.05);
    display: block;
}
.bouton-bg-svg:hover{transform: scale(1.08);}
.bouton-bg-svg div{
    margin-top: 0 !important;
}
.bouton-bg-svg a{
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 1.7em !important;
    text-decoration: none !important;
    padding: 10px 20px;
    display: block;
}
@media only screen and (max-width: 767px){
    .bouton-bg-svg a{
        font-size: 25px !important;
    }
}

/* RESET PASSWORD */
.woocommerce-account #main-content {
    padding-bottom: 150px;
}

/*CONNEXION - SE CONNECTER*/
.woocommerce-form-login__submit{
    background-color: #0b1d53 !important;
    color: white !important;
    border: none !important;
    border-radius: 0px !important;
}

/* HOME */
/* Compte à Rebours */
.woo-sctr-shortcode-countdown-unit-wrap{
    padding: 25px;
    margin: 40px 25px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}
span.woo-sctr-shortcode-countdown-unit
 {
    display: flex;
    flex-direction: column;
}
.woo-sctr-shortcode-countdown-unit-wrap:nth-child(1){
    background-image: url('https://www.welovemachines.fr/wp-content/uploads/2026/04/fond_countdown-1.svg');
}
.woo-sctr-shortcode-countdown-unit-wrap:nth-child(3){
    background-image: url('https://www.welovemachines.fr/wp-content/uploads/2026/04/fond_countdown-2.svg');
}
.woo-sctr-shortcode-countdown-unit-wrap:nth-child(5){
    background-image: url('https://www.welovemachines.fr/wp-content/uploads/2026/04/fond_countdown-3.svg');
}
.woo-sctr-shortcode-countdown-unit-wrap:nth-child(7){
    background-image: url('https://www.welovemachines.fr/wp-content/uploads/2026/04/fond_countdown-4.svg');
}

.woo-sctr-shortcode-countdown-value{
    color: white !important;
    font-size: 2.8rem !important;
    font-weight: bold !important;
}

@media only screen and (max-width: 767px){
    .woo-sctr-shortcode-countdown-unit-wrap{
        padding: 15px;
    }
    .woo-sctr-shortcode-countdown-value{
        font-size: 1.8rem !important;
    }
}


.woo-sctr-shortcode-countdown-date-text{display:none;}
.woo-sctr-shortcode-countdown-date:after{
    content:"jours";
    color:#c4e7f2;
    font-size: .8rem;
    margin-top: -6px;
}
.woo-sctr-shortcode-countdown-hour-text{display:none;}
.woo-sctr-shortcode-countdown-hour:after{
    content:"heures";
    color:#c4e7f2;
    font-size: .8rem;
    margin-top: -6px;
}
.woo-sctr-shortcode-countdown-minute-text{display:none;}
.woo-sctr-shortcode-countdown-minute:after{
    content:"minutes";
    color:#c4e7f2;
    font-size: .8rem;
    margin-top: -6px;
}
.woo-sctr-shortcode-countdown-second-text{display:none;}
.woo-sctr-shortcode-countdown-second:after{
    content:"secondes";
    color:#c4e7f2;
    font-size: .8rem;
    margin-top: -6px;
}


/*INSCRIPTION */
.woocommerce form .form-row{
    margin-bottom: 20px;
}
.woocommerce form .form-row label{
    line-height: 1.4 !important;
    padding-bottom: 5px;
}

form .woocommerce-error{
    background: #ed6a3d !important;
}
form .woocommerce-error li,
form .woocommerce-error li a{
    color: #ffffff !important;
    font-family: 'Funnel sans', sans-serif;
}

.woocommerce-checkout-payment p{
    width: 100%;
    margin-top: 20px !important;
}
.woocommerce-checkout-payment > div{
    padding: 0 !important;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-privacy-policy-text,
.places_dispo,
.checkbox,
.woocommerce-billing-fields p{
    font-family: "Funnel Sans", sans-serif;
}
.woocommerce-billing-fields input {
    background-color: transparent !important;
    border: 1px solid #0b1d53 !important;
    color: #0b1d53 !important;
}
.select2-selection--single .select2-selection__clear{
    display: none !important;
}
.select2-selection--single,
#wlm_choix_visite{
    border-radius: 0 !important;
    border: 1px solid #0b1d53;
}
/*.select2-selection--single .select2-selection__arrow{
    right: 1.5em !important;
}*/
.select2-search input{border: none !important;}
.select2-selection--multiple li.select2-selection__choice{
    background-color: #2f7fdd !important;
    border-radius: 0 !important;
    color: white;
    border: none !important;
}
.select2-selection--multiple .select2-selection__choice__remove{
    color: white !important;
    margin-right: 4px !important;
}
.select2-search.select2-search--inline{
    border-radius: 0 !important;
}
.select2-search.select2-search--inline:hover{
    cursor: pointer!important;
}
.select2-search.select2-search--inline:after{
    content:"";
    border: none;
    display: block;
    background: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi1kb3duIj48cG9seWxpbmUgcG9pbnRzPSI2IDkgMTIgMTUgMTggOSI+PC9wb2x5bGluZT48L3N2Zz4=) no-repeat;
    background-size: 16px;
    width: 16px;
    position: absolute;
    bottom: 12px;
    right: .5em;
    height: 16px;
}
.select2-selection__rendered{padding-bottom: 0 !important;}

.woocommerce-checkout-payment button[type="submit"]{
    font-family: "Funnel Sans", sans-serif;
    float: left !important;
    background-color: #0b1d53 !important;
    color: white !important;
    margin-top: 20px;
}
.woocommerce-checkout-review-order{margin-bottom: 150px;}

.woocommerce-form-login-toggle,
.woocommerce-notices-wrapper{
    display: none;
}
.text-code{
    font-family: 'figtree', sans-serif;
    font-weight: bold;
    font-size: 1.1rem;
    margin-bottom: 10px;
    color: white !important;
}

.form-code-inscription input[type="submit"]{
    font-family: 'figtree', sans-serif;
    font-weight: bold;
    background: #0b1d53;
    padding:10px 20px; 
    color:#fff; 
    border:none; 
    cursor:pointer; 
    width:100%;
}
.form-code-inscription input[type="text"]{
    font-family: 'figtree', sans-serif;
    font-weight: bold;
    text-transform: uppercase;
}

/* Masquer le titre "Votre commande" */
#order_review_heading {
    display: none !important;
}

/* Masquer le tableau avec le nom du produit et les prix */
.woocommerce-checkout-review-order-table {
    display: none !important;
}

/* Masquer le lien "Avez-vous un code promo ?" en haut de page */
/* (Puisque le code est déjà validé via la page barrière) */
.woocommerce-form-coupon-toggle {
    display: none !important;
}

/* Masquer la boîte grise de paiement (laissant juste le bouton Valider) */
#payment {
    background: transparent !important;
}
#payment .payment_methods {
    display: none !important;
}

.form-row .optional{
    display: none;
}

@media only screen and (max-width: 767px){
    .form-code-inscription{
        background-color: #ffffff;
    }
    .form-code-inscription p{color: #0b1d53 !important;}
}

#billing_enjeux_field .select2-selection{
    border: none !important;
}
#billing_enjeux_field .select2-selection__rendered{
    padding-left: 0 !important;
    overflow: visible !important;
}
#billing_enjeux_field .select2-search{
    border: 1px solid #0b1d53;
    border-radius: 50px;
    width: 100%;
}
#billing_enjeux_field .select2-selection__clear{
    position: absolute;
    bottom: 8px;
    right: -30px;
}
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected]{
    background-color: #2f7fdd;
}

/*Messages d'erreur - PAGE BARRIERE CODE*/
/* --- POPUP ERREUR WE LOVE MACHINES --- */
.wlm-popup-overlay { 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100vw; 
    height: 100vh; 
    background: rgba(0, 0, 0, 0.15); /* Overlay sombre à 15% */
    z-index: 99999; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    animation: wlmFadeIn 0.3s ease forwards; 
}

.wlm-popup-content { 
    background: transparent; 
    padding: 0; 
    border-radius: 0; 
    max-width: 650px; 
    width: 90%; 
    position: relative; 
    /* L'ombre portée intelligente qui suit les bords du SVG */
    filter: drop-shadow(0px 15px 25px rgba(0, 0, 0, 0.4)); 
    animation: wlmSlideUp 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards; 
}

.code-unlink, .code-invalid, .code-expired {
    position: relative;
    padding: 40px 30px;
    min-height: 120px; /* S'assure que la forme a assez de hauteur */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Positionnement du SVG en arrière-plan */
.wlm-bg-svg {
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    z-index: 0;
}

/* La croix de fermeture (Toujours visible) */
.wlm-popup-close { 
    position: absolute; 
    top: 25px; 
    right: 30px; 
    font-size: 28px; 
    cursor: pointer; 
    color: #ffffff; 
    opacity: 1 !important; /* Force la visibilité à 100% tout le temps */
    transition: 0.2s; 
    line-height: 1;
    z-index: 10;
}

.wlm-popup-close:hover { 
    color: #e74c3c; 
    transform: scale(1.1); 
}

/* Textes de la popup */
.wlm-popup-text-error {
    color: #ff4d4d; /* Rouge clair pour bien contraster sur le fond bleu nuit */
    font-size: 1.2rem;
    text-align: center; 
    margin-bottom: 5px; 
    position: relative; 
    z-index: 2;
    font-weight: bold;
    padding: 10px;
    margin-top: 10px;
}

.wlm-popup-text-contact {
    color: #ffffff; 
    text-align: center; 
    margin-bottom: 0; 
    position: relative; 
    z-index: 2;
    line-height: 1.4;
    margin-bottom: 20px;
}

.wlm-popup-text-contact a {
    color: #ffffff; 
    text-decoration: underline;
}

.wlm-popup-text-contact a:hover {
    color: #f0f0f0;
}

/* Animations */
@keyframes wlmFadeIn { 
    from { opacity: 0; } 
    to { opacity: 1; } 
}
@keyframes wlmSlideUp { 
    from { transform: translateY(40px) scale(0.95); opacity: 0; } 
    to { transform: translateY(0) scale(1); opacity: 1; } 
}

.code-unlink, .code-invalid{
    position: relative;
    padding: 30px 40px; /* Ajustez pour laisser de l'espace aux angles */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
    flex-direction: column;
    max-width: 600px;
    margin:80px auto 0 auto;

}
.code-unlink .bg-svg,
.code-invalid .bg-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0; /* Place le fond derrière le texte */
}

.code-unlink, .code-invalid p{color: white; z-index: 10;}
.code-unlink, .code-invalid a{
    color: white;
    text-decoration: underline;
}


/* PAGE EVENT (HERBIGNAC, LYON) */

.plan_popupinfo{
    display: none;
    max-width: 400px;
}
.plan_popupinfo img{
    margin-right: 20px;
    margin-top: 10px;
    margin-bottom: 5px;
}

.bouton_desinscription:hover{
    padding-right: 40px;
}
#plan_herbignac svg {
  /* 1. Force le rendu géométrique précis en permanence */
  shape-rendering: geometricPrecision;
  
  /* 2. Indique au navigateur que l'élément va bouger pour qu'il prépare le GPU */
  will-change: transform;
  
  /* 3. L'astuce magique : une micro-rotation 3D permanente 
     qui force le lissage (anti-aliasing) même au repos */
  transform: translateZ(0) rotate(0.001deg);
  
  /* 4. Empêche le flou sur les bords lors des mouvements */
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}

/* On s'assure que les traits ne s'épaississent pas au zoom */
#plan_herbignac svg path, 
#plan_herbignac svg polygon {
  vector-effect: non-scaling-stroke;
}
/*PLAN*/
#Pole_Vert,
#Pole_Bleu,
#Pole_Rouge,
#Pole_Jaune,
#Accueil,
#Scene,
#Bar,
#Machine_1,
#Machine_2,
#Machine_3,
#Machine_4,
#Machine_5{
    opacity: .7;
    filter: drop-shadow(2px 0 0 #fbf3d3) drop-shadow(-2px 0 0 #fbf3d3) drop-shadow(0 2px 0 #fbf3d3) drop-shadow(0 -2px 0 #fbf3d3) drop-shadow(1px 0 0 rgba(47,127,221,1)) drop-shadow(-1px 0 0 rgba(47,127,221,1)) drop-shadow(0 -1px 0 rgba(47,127,221,1)) drop-shadow(0 1px 0 rgba(47,127,221,1));
    animation: scintillement 2s ease-in-out infinite;
}
@keyframes scintillement{
    0%{filter: drop-shadow(4px 0 0 #fbf3d3) drop-shadow(-4px 0 0 #fbf3d3) drop-shadow(0 4px 0 #fbf3d3) drop-shadow(0 -4px 0 #fbf3d3) drop-shadow(2px 0 0 rgba(47,127,221,1)) drop-shadow(-2px 0 0 rgba(47,127,221,1)) drop-shadow(0 -2px 0 rgba(47,127,221,1)) drop-shadow(0 2px 0 rgba(47,127,221,1));}
    40%{filter: drop-shadow(4px 0 0 #fbf3d3) drop-shadow(-4px 0 0 #fbf3d3) drop-shadow(0 4px 0 #fbf3d3) drop-shadow(0 -4px 0 #fbf3d3) drop-shadow(2px 0 0 rgba(47,127,221,1)) drop-shadow(-2px 0 0 rgba(47,127,221,1)) drop-shadow(0 -2px 0 rgba(47,127,221,1)) drop-shadow(0 2px 0 rgba(47,127,221,1));}
    40%{filter: drop-shadow(4px 0 0 #fbf3d3) drop-shadow(-4px 0 0 #fbf3d3) drop-shadow(0 4px 0 #fbf3d3) drop-shadow(0 -4px 0 #fbf3d3) drop-shadow(2px 0 0 rgba(47,127,221,0)) drop-shadow(-2px 0 0 rgba(47,127,221,0)) drop-shadow(0 -2px 0 rgba(47,127,221,0)) drop-shadow(0 2px 0 rgba(47,127,221,0));}
    60%{filter: drop-shadow(4px 0 0 #fbf3d3) drop-shadow(-4px 0 0 #fbf3d3) drop-shadow(0 4px 0 #fbf3d3) drop-shadow(0 -4px 0 #fbf3d3) drop-shadow(2px 0 0 rgba(47,127,221,1)) drop-shadow(-2px 0 0 rgba(47,127,221,1)) drop-shadow(0 -2px 0 rgba(47,127,221,1)) drop-shadow(0 2px 0 rgba(47,127,221,1));}
    100%{filter: drop-shadow(4px 0 0 #fbf3d3) drop-shadow(-4px 0 0 #fbf3d3) drop-shadow(0 4px 0 #fbf3d3) drop-shadow(0 -4px 0 #fbf3d3) drop-shadow(2px 0 0 rgba(47,127,221,1)) drop-shadow(-2px 0 0 rgba(47,127,221,1)) drop-shadow(0 -2px 0 rgba(47,127,221,1)) drop-shadow(0 2px 0 rgba(47,127,221,1));}
}
#Pole_Rouge .st23,
#Pole_Vert .st23,
#Pole_Bleu .st23,
#Accueil .st23,
#Scene .st23,
#Bar .st23{
    opacity: .7;
}
#Pole_Rouge .st24,
#Pole_Vert .st29,
#Pole_Bleu .st21{
    opacity: .5;
}


#Pole_Vert:hover,
#Pole_Bleu:hover,
#Pole_Rouge:hover,
#Pole_Jaune:hover,
#Accueil:hover,
#Scene:hover,
#Bar:hover,
#Machine_1:hover,
#Machine_2:hover,
#Machine_3:hover,
#Machine_4:hover,
#Machine_4:hover,
#Machine_5:hover,
#Pole_Rouge:hover .st23,
#Pole_Vert:hover .st23,
#Pole_Bleu:hover .st23,
#Accueil:hover .st23,
#Scene:hover .st23,
#Bar:hover .st23,
#Pole_Rouge:hover .st24,
#Pole_Vert:hover .st29,
#Pole_Bleu:hover .st21{
    opacity: 1;
    cursor: pointer;
}

/* FORMULAIRE COUP DE COEUR */

.formulaire_cdc .choices__list{
    display: block !important;
    max-height: none !important;
    overflow-y: auto !important;
    height: auto !important;
    visibility: visible !important;
    position: relative !important;
    border:none !important;
}
.formulaire_cdc .choices[data-type*=select-multiple] .choices__inner{
    border: none !important;
}
.formulaire_cdc .choices[data-type*=select-multiple] .choices__input{
    position: absolute;
    top: 0;
    right: 0;
}
.formulaire_cdc .choices__list--multiple .choices__item{
    background-color: #2f7fdd !important;
    color: white !important;
}
.choices__item{
    display: inline-block;
    background: #0b1d53;
    color: white;
    border-radius: 10px;
    margin: 10px 20px 10px 0px;
}
.choices__item:after{display: none !important;}
.formulaire_cdc .choices__list--dropdown .choices__item--selectable.is-highlighted{background-color: #2f7fdd !important;}


/* FOOTER */
footer .et_builder_inner_content{z-index: 1000 !important;}
.coeur-footer:hover{
    transform-origin: center;
    animation: heartbeat 1s infinite;
}
@keyframes heartbeat
{
  0% {
    transform: translateX(-50%) scale( 1 );
  }
  20% {
    transform: translateX(-50%) scale( .85 );
  }
  40% {
    transform: translateX(-50%) scale( 1 );
  }
  60% {
    transform: translateX(-50%) scale( .85 );
  }
  80% {
    transform: translateX(-50%) scale( 1 );
  }
  100% {
    transform: translateX(-50%) scale( 1 );
  }
}



