/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/*
    Add your custom styles here
*/
/*----------------------------------------GENERAL STYLES AND CLASSES----------------------------------------*/
html,
body {
    overflow-x: hidden !important;
}

.elementor-widget-image a img[src$=".svg"] {
    width: inherit !important;
}

/*DISABLE OUTLINE*/
a:focus-visible {
    outline: none !important;
}

.overflow-hidden,
.overflow-hidden .elementor-widget-container {
    overflow: hidden !important;
}

/*FIX DEFAULT LINK COLOR ELEMENTOR*/
.inherit a {
    color: inherit !important;
}

.underline a {
    text-decoration: underline !important;
}

.height100,
.height100 .elementor-widget-container {
    height: 100% !important;
}

.width100,
.width100 .elementor-widget-container {
    width: 100% !important;
}

.cta a::before {
    /*THIS EXTENDS THE LINK TO THE ENTIRE WIDGET BLOCK*/
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}

.pointer:hover {
    cursor: pointer;
}

@media (max-width: 768px) {
    .overflow-x {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .nobr br {
        display: none;
    }
}

*::selection {
    background-color: #F9F2F233;
}

h1 .small {
    font-size: 35px;
}

.shadow {

    h1,
    h2 {
        text-shadow: 0px 0px 10px #BC40FF;
    }

    a {
        color: #fff;
        text-decoration: underline;
    }
}

.shadow-box {

    &:hover {
        box-shadow: 0px 0px 12px 0px rgba(188, 64, 255, 1);
        box-shadow: 0px 0px 24px 0px rgba(188, 64, 255, 1);
        box-shadow: 0px 0px 24px 0px rgba(188, 64, 255, 1);


        a,
        h3 {
            text-shadow: 0px 0px 10px #BC40FF;
        }

    }
}

/*----------------------------------------HEADER----------------------------------------*/
header {
    position: absolute;
    width: 100%;
    z-index: 99;
}

.stickyheadersection {
    transition: background-color .4s ease;
}

.elementor-sticky--effects.stickyheadersection {
    background-color: #070A231A !important;
    /* Background color when sticky */
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

@media (min-width:768px) {
    .stickyheadersection .logo img {
        --logo-width: 166px;
        /* This should be the original logo height *before* being shrunk */
        --logo-shrink-to: 0.80;
        /* Shrinks logo to 80%, values: 0.10 to 1.00, where 1.00, as in 100%, won't shrink the logo */
        width: var(--logo-width);
        --transition-timing: .45s cubic-bezier(.4, 0, .2, 1);
        transition: width var(--transition-timing);
    }

    .stickyheadersection.elementor-sticky--effects .logo img {
        width: calc(var(--logo-width) * var(--logo-shrink-to));
    }
}

.mouse {
    position: fixed;
    top: 0;
    left: 0;
    width: 900px;
    height: 900px;
    border-radius: 100%;
    background: radial-gradient(50% 50% at 50% 50%, rgba(179, 35, 254, 0.15) 0%, rgba(179, 35, 254, 0.00) 100%);
    pointer-events: none;
    z-index: 0;
    @media (max-width: 767px){
        display: none;
    }
}


/*----------------------------------------RECAPTCHA----------------------------------------*/
.grecaptcha-badge,
.grecaptcha-badge * {
    display: none !important;
}

/*----------------------------------------HOME----------------------------------------*/
/*.home-carousel .swiper-wrapper{
  -webkit-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}*/
.home-carousel,
.review-carousel {
    position: relative;
    padding: 20px;
    -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
    mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    overflow: visible !important;

    @media (max-width: 767px) {
        mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
        -webkit-mask-repeat: no-repeat;
    }

    * {
        overflow: visible !important;
    }

    div {
        &:has(.medieval-fighting) {
            --color: #FF3127;
        }

        &:has(.gun-fighting) {
            --color: #096BF9;
        }

        &:has(.archery-fighting) {
            --color: #B323FE;
        }

        &:has(.sumo-fighting) {
            --color: #0ED366;
        }

        &:has(.floor-lava) {
            --color: #EA1F5E;
        }

        &:has(.escape-game) {
            --color: #FC7103;
        }

        &:has(.jeux) {
            --color: #FC7103;
        }

        &:has(.soiree) {
            --color: #FFBC0C;
        }

        .home-carousel-div {
            position: relative;
            transition: all 0.3s ease-in-out;
            z-index: 99999;
            height: 100%;

            &::before {
                z-index: 3;
            }
            &::hover{
                cursor: pointer !important;
            }
            *{
                z-index: 4;
            }

            .game-logo {
                max-width: 235px !important;
                z-index: 10 !important;
            }

            .game-logo img {
                height: 150px !important;
                z-index: 10 !important;
            }

            .bg-image {
                z-index: 2;
                overflow: hidden !important;
                border-radius: 10px;
            }

            .bg-image::before {
                content: '';
                z-index: 4;
                width: 100%;
                height: 100%;
                display: block;
                position: absolute;
                background: linear-gradient(0deg, #070A23 10.22%, rgba(7, 10, 35, 0.00) 99.2%);
            }

            &::after {
                content: "";
                position: absolute;
                bottom: 0;
                left: 0;
                width: 0;
                height: 0;
                border: 2px solid #FCEFE8;
                background: #FCEFE8;
                box-shadow: 0px 0px 42px 0px var(--color), 0px 0px 22.05px 0px var(--color);
                transition: width 0.4s ease-in-out, transform 0.3s ease-in-out, height 0.4s ease-in-out, opacity 0.1s linear;
                z-index: -99;
                opacity: 0;
                border-radius: 10px;
            }

            &:hover::after {
                transform: translate(-2px, 2px);
                opacity: 1;
                width: calc(100% + 4px);
                height: calc(100% + 4px);
            }
        }
    }

}

.bg-overlay {
    background: linear-gradient(180deg, rgba(7, 10, 35, 0.00) 0%, #070A23 100%);
    z-index: 0;
    position: absolute;
    width: 100%;
    height: 100%;
}

.bg-overlay-top {
    background: linear-gradient(180deg, rgba(7, 10, 35, 0.50) 0%, rgba(7, 10, 35, 0.00) 30.89%);
    z-index: 0;
    position: absolute;
    width: 100%;
    height: 100%;
}

/*----------------------------------------FOOTER----------------------------------------*/
#social-media a {
    padding: 0;
    background: transparent;
    border: none;
    width: fit-content;
    height: fit-content;
}

.video-blend {
    mix-blend-mode: lighten;
}

.uc-map-error-message {
    display: none !important;
}

/*----------------------------------------CARROUSEL HOVER ANIMS----------------------------------------*/
.home-carousel-div,
.game-logo {
    transition: all 0.5s ease;
    transform: scale(1.0);
}

.icon-top-left,
.icon-top-right,
.icon-bottom-left,
.icon-bottom-right {
    transition: all 0.5s ease;
    transform: scale(0.6);
    opacity: 0;
    z-index: 9 !important;
}

.icon-top-left img,
.icon-top-right img,
.icon-bottom-left img,
.icon-bottom-right img {
    height: 100% !important;
    width: 100% !important;
    z-index: 9 !important;
}
.home-carousel-div:hover {
    transition: all 0.5s ease;
    transform: scale(1.05);
}

.home-carousel-div:hover .game-logo {
    transition: all 0.5s ease;
    transform: scale(1.1) translateY(-5%);
}

.home-carousel-div:hover .icon-top-left {
    transition: all 0.5s ease;
    transform: translate(-100%, -70%) rotate(97deg);
    opacity: 1;
}

.home-carousel-div:hover .icon-top-right {
    transition: all 0.5s ease;
    transform: translate(100%, -100%) rotate(21deg);
    opacity: 1;
}

.home-carousel-div:hover .icon-bottom-left {
    transition: all 0.5s ease;
    transform: translate(-140%, 160%);
    opacity: 1;
}

.home-carousel-div:hover .icon-bottom-right {
    transition: all 0.5s ease;
    transform: translate(90%, 50%) rotate(97deg);
    opacity: 1;
}


/*---------------------------------------- POPUP réservations style ----------------------------------------*/
.am-fs-sb {
    background: #070A23 !important;
}

.el-overlay-dialog {
    background: oklch(0 0 0 / 0.75) !important;
}

.am-icon-close:before {
    color: #fff !important;
}

/*----------------------------------------POPUP ARCHERY----------------------------------------*/
.texte-archery {
    font-family: "Jockey One";
    width: 100%;
    display: block;
    text-align: center;
    color: #fff;
}

/*----------------------------------------PAGE PRODUIT----------------------------------------*/
.cta-produit table.variations tr {
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: start;
}

.cta-produit table.variations label {
    padding: 0px !important;
    color: #fff !important;
    font-family: "Jockey One" !important;
    font-size: x-large !important;
}

.cta-produit table.variations select {
    color: #fff;
    background: var(--wpr-bg-f4587b20-a082-446b-8c9f-0917163c920c) no-repeat !important;
    background-position: calc(100% - 12px) 50% !important;
}

.cta-produit table.variations th {
    padding: 0px !important;
}

.cta-produit table td,
.cta-produit table th {
    background-color: transparent !important;
}

.cta-produit option {
    background-color: #070A23 !important;
}

a.reset_variations {
    color: #B323FE !important;
}

.cta-produit .pwgc-label {
    font-weight: 600;
    display: block;
    color: #fff;
    padding-bottom: 12px;
    font-family: "Jockey One";
}

.woocommerce-message::before {
    color: #ffffff !important;
}

.woocommerce-message {
    border-top-color: #ffffff !important;
    background-color: #B323FE !important;
    font-family: "Jockey One" !important;
    color: #fff !important;
}

.woocommerce-message a.button {
    background-color: #070A23;
    color: #fff;
    border-radius: 50px;
}

.woocommerce-message a.button:hover {
    background-color: #fff;
    color: #070A23;
    border-radius: 50px;
}

a.restore-item {
    color: #fff !important;
    text-decoration: underline !important;
}

*:focus {
    outline: none !important;
}

#pwgc-redeem-gift-card-form {
    display: none;
}
.cta-produit .pwgc-subtitle {
    padding-top: 5px;
    font-size: 14px;
    line-height: normal;
    color: #fff;
}
/*----------------------------------------PAGE PANIER----------------------------------------*/
button.wc-backward {
    display: none;
}

.woocommerce-cart-form__contents .product-name {
    color: #fff !important;
}

/*----------------------------------------PAGE COMMANDER----------------------------------------*/
.validation_commande .woocommerce-privacy-policy-text {
    margin-bottom: 14px !important;
}

.validation_commande .woocommerce-privacy-policy-text p {
    font-size: 12px !important;
}

.validation_commande #payment .payment_methods .payment_box {
    background-color: #fff !important;
    border-radius: 10px;
}

.wc_payment_method label {
    font-family: "Jockey One" !important;
}

.variation-Informationssurlesrendez-vous p {
    display: inline-flex;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background-color: #B323FE;
    color: #fff;
}

.p-LinkOptInWrapper {
    display: none !important;
}

.commande-passee address {
    color: #070A23 !important;
}

button.e-apply-coupon {
    border: 1px solid white !important;
    border-radius: 50px !important;
}

/*----------------------------------------ScROLLBAR CUSTOM----------------------------------------*/

::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #F5F5F5;
}

::-webkit-scrollbar-thumb {
    background-color: var(--e-global-color-accent);
    border-radius: 20px;
    border: 3px solid var(--e-global-color-accent);
}

::-webkit-scrollbar:horizontal {
    height: 6px;
}
/*----------------------------------------SNAKE GAME v2----------------------------------------*/
/* (on supprime “body.snake-game” et on cible directement .snake-game) */

@import url(https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap);

/* Appliquer la police uniquement dans la zone .snake-game */
.snake-game * {
  font-family: 'Press Start 2P', cursive;
}

/* Centrage de la zone de jeu à l’intérieur de la pop-up */
.snake-game {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80vh;         /* la pop-up d’Elementor crée déjà un conteneur de hauteur selon l’écran */
  background-color: #070a23; /* ne s’applique que dans la pop-up */
}

/* Conteneur général (déjà présent dans votre CSS) */
.snake-game .container {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
}

/* La “console” du jeu */
.snake-game .wrapper {
  width: 65vmin;
  height: 70vmin;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  border: 4px solid #000;      /* bord épais noir pour l’effet rétro */
  border-radius: 10px;
  background: #293447;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
}

/* Détails “Score” & “High Score” */
.snake-game .game-details {
  color: #F9F2F2;
  font-weight: 500;
  font-size: 1.2rem;
  padding: 20px 27px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Bouton Reset (sera inséré dynamiquement en JS) */
.snake-game .reset-btn {
  font-size: 0.8rem;
  padding: 5px 10px;
  background-color: #fff;
  color: #000;
  border: 2px solid #000;
  cursor: pointer;
}

/* La grille du jeu */
.snake-game .play-board {
  height: 100%;
  width: 100%;
  display: grid;
  background: #1b1b1b;
  grid-template: repeat(30, 1fr) / repeat(30, 1fr);
}

/* Apparence de la “nourriture” */
.snake-game .play-board .food {
  background-color: #FF73FF;
}

/* Apparence de la tête du serpent (et du corps) */
.snake-game .play-board .head {
  background-color: #096BF9;
}

/* Les contrôles tactiles (affichés uniquement en mobile, via media query) */
.snake-game .controls {
  display: none;
  justify-content: space-between;
}
.snake-game .controls i {
  padding: 25px 0;
  text-align: center;
  font-size: 1.2rem;
  color: #F9F2F2;
  width: calc(100%/4);
  cursor: pointer;
  border-right: 1px solid #171b26;
}

/* Taille des textes score / high-score */
.snake-game .score {
  font-size: 0.8rem;
}
.snake-game .high-score {
  font-size: 0.8rem;
}

/* La mini-fenêtre “How To Play” */
.snake-game .instructions-wrapper {
  display: flex;
  flex-direction: column;
  background-color: #293447;
  color: #F9F2F2;
  gap: 4px;
  border: 4px solid #000;
  border-radius: 10px;
  padding: 5px;
}
.snake-game .instructions-wrapper li {
  font-size: 0.6em;
}
.snake-game .instructions-wrapper p {
  font-size: 0.6em;
}

/* Responsive pour écrans < 800px */
@media screen and (max-width: 800px) {
  .snake-game .wrapper {
    width: 90vmin;
    height: 110vmin;
  }
  .snake-game .instructions-wrapper h3{
    font-size: 18px !important;
  }
  .snake-game .game-details {
    font-size: 0.8rem;
    padding: 10px 15px;
  }
  .snake-game .controls {
    display: flex;
  }
  .snake-game .controls i {
    padding: 10px 0;
    font-size: 1rem;
  }
}

/*----------------------------------------PAGE EVENT----------------------------------------*/

.amelia-v2-booking #amelia-container .am-ec__image {
    background-size: contain !important;
}

div.am-ec{
    box-shadow: rgb(209, 213, 215) 0px 2px 2px -1px, rgba(209, 213, 215, 0.3) 0px 0px 11px, rgba(179, 35, 254, 1) 8px 0px 0px inset !important;
}
/*----------------------------------------POP UP EVENT----------------------------------------*/
.am-gc__display {
    height: 120px !important;
    background-size: contain !important;
}
.am-ec.am-no-border {
    padding: 20px !important;
}
.am-ec__image.am-rw-500 {
    padding-top: 20px !important;

}
.am-ec__image {
    height: 75px !important;
}
.am-gc__bullets-item.am-active {
    background-color: transparent !important;
}
#amelia-container {
    margin-top: 0px !important;
}
@media (max-width: 767px){
    .el-dialog{
        --el-dialog-margin-top:0vh !important;
    }
}