/*
Theme Name: Escape Mind Theme
Author: Frederic Henry
Description: Escape Mind Theme est le thème destiné au site Escape-mind.com.
Template: hello-elementor
Version: 1.0
*/

:root {
  --cms-secondary-button-bg-color: #2C3E50;
  --cms-button-bg-color: #E74C3C;
  --cms-color-white: #FFFFFF;
  --alpha: .85;
}

html { scroll-behavior: smooth; }

.elementor-button {
    cursor: pointer;
}

.checklist {
    line-height: 2em;;
}

#form-devis-enterprise {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.4s ease, opacity 0.3s ease;
}

#form-devis-enterprise.active {
    opacity: 1;
}

.toggle-form-btn svg {
    transition: transform 0.4s ease;
    transform-origin: center;
}


.toggle-form-btn.active svg {
    transform: rotate(90deg);
}
.wpsisac-slick-slider .slick-dots li button,
.wpsisac-slick-carousal .slick-dots li button{
    border: none;
}
.contact-details svg {
    margin: 10px 0 0 0;
}

div#events-btg .emxm-cta .btn {
    background-color: transparent;
    border: 1px solid var(--cms-button-bg-color);
    color: var(--cms-button-bg-color);
    cursor: pointer;
}

div#events-btg .emxm-cta .btn:hover {
    background-color: var(--cms-button-bg-color);
    color: var(--cms-color-white);
}

/* Styles CSS Page Bar Ludique */

#cms_bar-ludique .product p {
    margin: 0;
}

/* Styles CSS Page Karaoké */

.price {
    color: var(--cms-button-bg-color);
}

.block-content {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.4s ease, opacity 0.3s ease;
}
.block-content.active {
    display: block !important;
    opacity: 1;
}
.block-content[hidden] { 
    display:none !important; 
}
.block-content{ 
    scroll-margin-top:96px; 
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box;
} 
.block-content .cta .e-con-inner {
    display: flex;
}

/* ajuste si header sticky */

.block-reservation-service .block-content .am-fs__wrapper {
    padding: 15px 0 0 0 !important;
    margin: 0 auto !important;
}

.block-slider .elementor-widget-n-carousel.dark-bg span.swiper-pagination-bullet {
    background-color: var(--cms-color-white) !important;
}

/* Styles CSS Sliders */

.elementor-widget-n-carousel .swiper-pagination-bullet {
    width: 10px !important;
    height: 10px !important;
    background-color: var(--cms-color-white) !important;
}
.elementor-widget-n-carousel .swiper-pagination-bullet.active {
    background-color: var(--cms-color-white) !important;
    opacity: 1 !important;
}

.wpsisac-slick-slider .slick-dots li button, .wpsisac-slick-carousal .slick-dots li button {
    width: 10px !important;
    height: 10px !important;
}

#cross-sell,
#karaoke-salles {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    min-height: 0;
}
#cross-sell-container .block-content,
#karaoke-salles .block-content {
    margin: 0 !important;
    padding: 0 !important;
}
#cross-sell-container .block-content .am-fs__wrapper,
#karaoke-salles .block-content .am-fs__wrapper {
    margin: 0 auto !important;
}

/* Style CSS TAG Salles Escape Game */

#tags-salles-escape .tag:hover {
    background-color: transparent;
}

#tags-salles-escape .tag:hover h2 {
    color: var(--cms-color-white) !important;
}

/* Styles CSS pour les Cards Escape Game | Karaoke - Page */

#cross-sell-container .card,
#karaoke-salles .card {
    border-radius: 20px 60px !important;
}
#cross-sell-container .card.active,
#karaoke-salles .card.active {
    background-color: #DDDEEE !important; 
}
#cross-sell-container .card.active:after,
#karaoke-salles .card.active:after {
    width: 20px;
    height: 20px;
    position: absolute;
    bottom: -10px;
    left: 50%;
    background-color: #DDDEEE;
    content: "";
    transform: rotate(45deg);
}

#cross-sell-container .card.active h2.elementor-heading-title,
#cross-sell-container .card.active p,
#cross-sell-container .card.active .secondary-btn a.elementor-button,
#karaoke-salles .card.active h2.elementor-heading-title,
#karaoke-salles .card.active p,
#karaoke-salles .card.active .secondary-btn a.elementor-button {
    border-color: var(--cms-secondary-button-bg-color);
    color: var(--cms-secondary-button-bg-color) !important;
}

/* Styles CSS pour supprimer les espaces résiduels verticaux sur les blocks réservation Amelia des cross sell - Page Escape game */

.escape-panels .swiper-pagination.swiper-pagination-bullets {
    top: 103%;
}
/* 1) Par défaut, nos panels se comportent comme des blocs (pas flex) */
.block-content,
.block-content .e-con-inner{
  --display: block !important; /* neutralise la var Elementor pour ces containers */
}

/* 1) Panel fermé = ZÉRO place, même en container .e-con */
.block-content[hidden],
.block-content.collapsed {
--display: none !important;
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  min-height: 0 !important;
}

/* 2) Neutraliser les valeurs par défaut des containers Elementor */
.block-content.e-con,
.block-content.e-con-full {
  min-height: 0 !important;
}

/* 3) Le parent que tu as montré (#Cross-sell) : coupe gap/padding */
#Cross-sell {
  gap: 0 !important;
  row-gap: 0 !important;
  padding: 0 !important;
}
#Cross-sell, .escape-panels{
  overflow-x: hidden;         /* empêche un “décalage” horizontal */
  gap: 0 !important;
  row-gap: 0 !important;
  padding: 0 !important;
}

/* 4) Si un widget à l’intérieur du panel a des marges, on les annule quand fermé */
.block-content.collapsed .elementor-widget-container,
.block-content[hidden] .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* 5) Si un spacer/divider suit un panel fermé, on le masque */
.elementor-spacer:has(+ .block-content.collapsed),
.elementor-divider:has(+ .block-content.collapsed),
.elementor-spacer:has(+ .block-content[hidden]),
.elementor-divider:has(+ .block-content[hidden]) {
  display: none !important;
}

/* 6) Bonus : si un élément suit un panel fermé, annule le margin-top du suivant */
.block-content.collapsed + *,
.block-content[hidden] + * {
  margin-top: 0 !important;
}

/* Style CSS Bloc Avis Google */

#block-avis-google .ti-widget.ti-goog .ti-review-item>.ti-inner {
    box-shadow: none;
    background-color: #ECF0F1 !important;
    border-radius: 0 !important;
}

#block-avis-google .ti-reviews-container .ti-profile-img {
    display: none;
}

#block-avis-google .ti-footer {
    display: none;
}
#block-avis-google .ti-widget-container.ti-col-5 {
    align-items: center !important;
    justify-content: center;
}
.elementor-18 .elementor-element.elementor-element-47e7805 .elementor-nav-menu--dropdown {
    background-color: var(--cms-color-white) !important;
    border: none !important;
    box-shadow: 0 5px 5px rgba(0, 0, 0, .25);
}

nav.elementor-nav-menu--main .sub-menu > li.menu-item > a {
    width: auto;
}

nav.elementor-nav-menu--main .sub-menu > li.menu-item:nth-child(3) > a::after,
nav.elementor-nav-menu--main .sub-menu > li.menu-item:first-child > a::after,
nav.elementor-nav-menu--main .sub-menu > li.menu-item:nth-child(5) > a::after {
    content: "";
    color: var(--cms-color-white);
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    *top: 50%;
    *right: 15px;
    *transform: translateY(-50%);
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 0 10px;
}

nav.elementor-nav-menu--main .sub-menu > li.menu-item:first-child > a::after,
nav.elementor-nav-menu--main .sub-menu > li.menu-item:nth-child(5) > a::after {
    background-image: url('/wp-content/uploads/2025/11/icon-access.svg');
}

nav.elementor-nav-menu--main .sub-menu > li.menu-item:nth-child(3) > a::after {
    background-image: url('/wp-content/uploads/2025/11/icon-salle-adulte.svg');
}

#escape-cards a.card {
    padding: 15px;
    border-radius: 20px 60px 20px 60px;
}

#escape-cards a.card img {
    border-radius: 0 48px;
    overflow: hidden;
}

#escape-cards a.card .button p {
    margin: 0;
    padding: 10px 0;
}

@media screen and (min-width:1024px) {
    #escape-cards a.card:hover {
        transform: scale(1.05);
        background-color: var(--cms-color-white);
        overflow: hidden;
    }

    #escape-cards a.card:hover {
        border-radius: 20px 60px 20px 60px;
    }

    #escape-cards a.card:hover .elementor-widget-container {
        border: none;
    }

    #escape-cards a.card:hover .button {
        border: 1px solid var(--cms-button-bg-color);
        background-color: var(--cms-button-bg-color);
        color: var(--cms-color-white);
        border-radius: 5px;
    }
}

/* Style CSS Amelia Blocks */

#container-amelia-blocks .block-content.global #amelia-container .am-cat__wrapper.am-fcil .am-cat__header,
#container-amelia-blocks .block-content.global #amelia-container .am-cat__wrapper.am-fcil .am-cat__heading {
    display: none !important;
}

#container-amelia-block .block-content.global #amelia-container .am-cat__wrapper.am-fcil {
    background-color: transparent !important;
}