/*
Theme Name: Aloha
Theme URI: 
Author: Alowa Studio
Author URI: https://alowastudio.fr/
Description: Un thème d'Alowa Studio
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 5.7
Version: 1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aloha
Tags: 

/** //////// */
/** GENERAL */
/** //////// */
:root{
  --aloha-color-1: var(--wp--preset--color--blanc);
  --aloha-color-2: var(--wp--preset--color--sombrebg);
  --aloha-color-3: var(--wp--preset--color--rose);
}
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
    overflow-x: hidden;
    cursor: default;
    transition: background-color 0.5s ease-in-out, color 0.5s ease-in-out;
}
body.menu-is-open {
  /* used for menu open */
  overflow: hidden;
  /* Add padding equal to scrollbar width to prevent jump */
  padding-right: var(--scrollbar-width, 17px);
}
/** smooth scrolling */
html {
    scroll-behavior: smooth;
}
/** used for menu open */
html.has-modal-open {
  position: fixed;
  width: 100%;
  overflow-y: scroll;
}
/** GSAP Animation make the main title h1 not flash */
.appearAnimation {
  visibility: hidden; /* Cache l'élément sans casser la mise en page */
}

/* GSAP Line Animation Helpers */
.lines-container .line-wrapper {
  overflow: hidden;
}

/** Titles: h1, h2, h3, h4, h5, h6 word break to prevent long words from overflowing on smaller screen sizes, keep this for responsive. */
h1, h2, h3, h4, h5, h6 {
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  max-width: 100%;
}


/** //////////// */
/** Menu **/
/** //////////// */

  .wp-block-navigation-item__label{
    border-style: dotted;
    border-width: 3px;
    border-top-left-radius: 30px;
    border-bottom-right-radius: 30px;
    padding-right: var(--wp--preset--spacing--60);
    padding-left: var(--wp--preset--spacing--60);
}

.wp-block-navigation-item__label:hover{
    background-color: var(--aloha-color-1);
    color: var(--aloha-color-2);
    border-color: var(--aloha-color-1);
    cursor: pointer;
}


/** //////// */
/** Header **/
/** //////// */
  .reservezButton a{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
  }
  a.wp-block-button__link.wp-element-button svg{
    width: 25px;
    
  }




/** //////// */
/** Cookie consent banner **/
/** //////// */
/* Container */
.cmplz-cookiebanner{
  border-radius: 30px 0;
}
 /* All buttons */
.cmplz-buttons .cmplz-btn{
  border-radius: 30px 0!important;
}
/* lower right popup */
.cmplz-btn.cmplz-manage-consent.manage-consent-1.cmplz-show{
  border-radius: 30px 0!important;
}
/* remove "mentions légales" displayed 3 times because same page for privacy, mentions and contact */
.cmplz-link.impressum,.cmplz-link.cookie-statement{
  display: none;
}


/* ///////////////////////////// */
/** FOOTER */
/* ///////////////////////////// */

.footerColumns{
  width: 100%;
}
  /* facebook icon hover */
  .facebookIcon .icon-container svg{
    fill: var(--aloha-color-3);
    transition: fill 0.3s ease;
  }
  .facebookIcon .icon-container svg:hover{
    fill: var(--aloha-color-1);
  }
  










/** //////// */
/** Calendrier **/
/** //////// */
#cabaret-calendar {
  border: 3px dotted var(--aloha-color-1);
  padding: 40px;
  border-radius: 40px 0 40px 0;
}

.fc-theme-standard .fc-scrollgrid {
  border: none;
}
#cabaret-calendar .fc-toolbar-title {
  font-family: "Afacad";
  letter-spacing: normal;
  text-transform: capitalize;
}

.fc .fc-button-primary {
  background-color: var(--aloha-color-2);
  border: none;
  border-radius: 20px 0 20px 0;
}

.fc .fc-today-button:hover {
  background-color: var(--aloha-color-1)!important;
  color: var(--aloha-color-2);
  border: none;
}

.fc .fc-button-primary:disabled {
  background-color: var(--aloha-color-2);
  border: none;
}
.fc .fc-button-primary:focus {
  outline: 3px solid var(--aloha-color-2);
}

.fc .fc-button .fc-icon {
  display: none; /* on masque l'icône originale */
}

.fc .fc-prev-button, .fc-next-button {
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Calque_1' data-name='Calque 1' xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23fff; stroke-width: 0px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M19.7,30l-4.1-5.8c-1.4-2-3.1-3.7-5.1-5.1l-5.8-4.1,5.8-4.1c2-1.4,3.7-3.1,5.1-5.1L19.7,0v30Z'/%3E%3C/svg%3E");  
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  height: 30px;
}

.fc .fc-prev-button:hover, .fc .fc-next-button:hover {
  background-color: var(--aloha-color-2) !important;
}

.fc .fc-next-button {
  rotate: 180deg;
}
/* background color for active day (today */

.fc-day-today{
  background-color: rgba(255, 55, 165, 0.2)!important;
  border-radius: 30px 0;
}
/* grid align dates */
.fc-daygrid-day-top {
  display: flex;
  justify-content: center;
  align-items: center;
}
.fc-scroller {
  margin-bottom: 20px;
}

.fc-scroller::-webkit-scrollbar {
  background-color: var(--aloha-color-2);
}

table td, table th {
  border: none !important;
}

.fc-event {
  background-color: var(--aloha-color-3);
  border: 1px solid var(--aloha-color-3);
  border-radius: 30px;
  padding: 0 5px;
}

.fc-event-title {
  color: var(--aloha-color-2);
  font-size: smaller;
}
/* remove background with height auto */
.fc .fc-scrollgrid-section-sticky > * {
 background: none !important;
}
/* Out-of-stock events in FullCalendar */
.fc-event.out-of-stock-event {
    background-color: #b32573!important; /* A grey color for sold-out events */
    border-color: #b32573 !important;
}


/** //////// */
/** PRODUCT Modèle produit individuel **/
/** //////// */
/* title product */
.single-product-main .wp-block-group__inner-container .wp-block-post-title{
  margin: 0 0 20px 0;
}
form.custom-variations-form {
  display: flex;
  justify-content: space-between;
  text-align: center;
  margin: 20px 0;
  flex-wrap: wrap;
}

form.custom-variations-form .variation-block {
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Calque_1' data-name='Calque 1' xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23ff37a5; stroke-width: 0px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M15,0l1.8,5c1.4,3.8,4.4,6.8,8.2,8.2l5,1.8-5,1.8c-3.8,1.4-6.8,4.4-8.2,8.2l-1.8,5-1.8-5c-1.4-3.8-4.4-6.8-8.2-8.2L0,15l5-1.8c3.8-1.4,6.8-4.4,8.2-8.2l1.8-5Z'/%3E%3C/svg%3E");  
  background-repeat: no-repeat;
  background-position-x: center;
  background-position-y: 80%;
  background-size: 25px;
  width: 31.5%;
  padding-left: var(--wp--preset--spacing--60);
  padding-right: var(--wp--preset--spacing--60);
  padding-top: var(--wp--preset--spacing--60);
  padding-bottom: var(--wp--preset--spacing--80);
  border-radius: 50px 0;
  border: 3px dotted var(--aloha-color-1);
}
.addToCart{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
/* display flex description and image */
.productFlex{
  display: flex;
}  

form.custom-variations-form .variation-block label:first-child {
  text-transform: uppercase;
  font-family: "Afacad-Bold";
}
button.qty-plus, button.qty-minus{
  transition: all 0.3s ease-in-out;
  font-size: 2rem;
}

button.qty-plus:hover, button.qty-minus:hover {
  background-color: var(--aloha-color-2);
  color: var(--aloha-color-1);
}

form.custom-variations-form input {
  border-radius: 30px;
  border: 2px solid var(--aloha-color-2);
  margin-top: 20px;
}

form.custom-variations-form input:focus {
  border: 2px solid var(--aloha-color-2);
  outline: none;
}

form.custom-variations-form button {
  padding: 10px 25px;
  height: fit-content;
  border: none;
  border-radius: 30px 0;
  text-transform: uppercase;
  cursor: pointer;
  margin-top: 20px;
  background-color: var(--aloha-color-1);
}

.flex-viewport {
  display: none;
}

.woocommerce div.product div.images .flex-control-thumbs {
  display: flex;
  gap: 20px;
  flex-wrap: nowrap;
}

.woocommerce div.product div.images .flex-control-thumbs li {
  width: 100%;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
  border-radius: 30px 0;
}

.woocommerce .wp-block-woocommerce-product-image-gallery {
  max-width: 100%;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper .zoomImg {
  background-color: var(--aloha-color-2);
}
/** remove arrows from input number */
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}
/* if stock is 0 */
.event-sold-out{
  text-align: center;
  margin: var(--wp--preset--spacing--40);
}








/** //////// */
/** Transition style - updated for curtain animation */
/** //////// */
.transition {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
  pointer-events: none;
  overflow: hidden;
}

.transition-block-left,
.transition-block-right {
  position: absolute;
  top: 0;
  width: 50.1%; /* Use 50.1% to prevent a 1px gap between panels */
  height: 100%;
  background-size: cover;
  background-position: center;
  will-change: transform;
}

.transition-block-left {
  left: 0;
}

.transition-block-right {
  right: 0;
}

/* This class is not used anymore but kept for reference */
.transition-loading {
  visibility: hidden;
}

/** //////// */
/** Links / <a> / liens */
/** //////// */
a{
  text-decoration: none;
}
/** animated hover link underline dark background */
.hoverUnderline a{
  display: inline-block;
  position: relative;
}
.hoverUnderline a::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: -2px;
  left: 0;
  background-color: var(--aloha-color-1);
  transition: transform 0.25s ease-out;
  transform-origin: bottom right;
}
.hoverUnderline a:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
/** animated hover link underline light background */
.hoverUnderlineDark a{
  display: inline-block;
  position: relative;
}
.hoverUnderlineDark a::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: -2px;
  left: 0;
  background-color: var(--aloha-color-2);
  transition: transform 0.25s ease-out;
  transform-origin: bottom right;
}
.hoverUnderlineDark a:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}
/* hover undeline used in the menu */
.menuList ul,.menuList ul li{
  width: 100%;
}
.hoverMenuLink a{
  width: 100%;
  display: inline-block;
  position: relative;
}

.hoverMenuLink a span{
  transition: all 0.3s ease-in-out;
}


/** animated hover link underline */
/* .hoverMenuLink a::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: -5px;
  left: 0;
  background-color: var(--aloha-color-1);
  transition: transform 0.5s ease-out;
  transform-origin: bottom right;
}
.hoverMenuLink a:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
} */
  

/** //////// */
/** Buttons - button hover */
/** //////// */
.wp-block-button__link.has-gris-color.has-blanctxt-background-color{
  transition: all 0.3s ease-in-out;
  border: 1px solid transparent!important;
}
.wp-block-button__link.has-gris-color.has-blanctxt-background-color:hover{
  background-color: var(--aloha-color-2)!important;
  color: var(--aloha-color-1)!important;
  border-color: var(--aloha-color-2)!important;
}
.is-style-outline .wp-block-button__link.wp-element-button,.wpcf7-form p input[type="submit"]{
  transition: all 0.3s ease-in-out;
  border: 1px solid var(--aloha-color-1);
}
.is-style-outline .wp-block-button__link.wp-element-button:hover,.wpcf7-form p input[type="submit"]:hover{
  background-color: var(--aloha-color-1);
  color: var(--aloha-color-2);
  border-color: var(--aloha-color-1);
  cursor: pointer;
}
.cf-turnstile-comment #submit,.wp-block-button__link{
  transition: all 0.3s ease-in-out;
  padding: 16px 24px;
  border: 1px solid transparent;
}
.cf-turnstile-comment #submit:hover,.wp-block-button__link:hover{
  background-color: var(--aloha-color-2);
  color: var(--aloha-color-1);
  border-color: var(--aloha-color-1);
}

.wp-block-button__link svg {
  vertical-align: middle;
  margin-right: 8px;
  transition: fill 0.3s ease-in-out;
}

.wp-block-button__link:hover svg path {
  fill: var(--aloha-color-1);
  transition: fill 0.3s ease-in-out;
}
/* Woocommerce cart */
a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained{
  border-radius: 30px 0;
}
/* Woocommerce validated order */
.wp-block-woocommerce-order-confirmation-totals-wrapper.wc-block-order-confirmation-totals-wrapper.alignwide{
  margin-top: 20px;
}
section.woocommerce-order-ticket-details{
  margin-top: 20px;
}
table.woocommerce-table.tickets-table{
  margin: var(--wp--preset--spacing--60) 0;
  border-spacing: 40px 0;
  text-align: left;
}



/** //////// */
/** Menu */
/** //////// */
.menuAlohaContainer{
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background-color: var(--wp--preset--color--gris);
  visibility: hidden; /* Hide by default but keep in DOM for animations */
  z-index: 99;
}
.menuAlohaContainer ul{
  padding: 0;
  list-style: none;
  height: 55vh;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.menuAlohaContainer.active{
  overflow: hidden;
}
.line{
  transition: all 0.3s ease-in-out;
  transform-origin: center;
}
.line-top.toggleCloseButton {
  transform: translateY(3px) rotate(45deg);
}

.line-bottom.toggleCloseButton {
  transform: translateY(-3px) rotate(-45deg);
}
/* hide mentions legales only in the main menu Alowa Studio */
.menuList .mentionslegaleslink{
  display: none;
}

 /** header on top of the page */
header{
    z-index: 999;
    position: fixed;
    width: 100vw;
    top: 0px;
    left: auto;
    right: auto;
    transition: width 0.5s ease;
}
.header{
  transition: background-color 0.5s ease-in-out;
}
.headerGroup{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}


/** Title - Custom fonts */
/* White */
.reveTitle1{
  font-family: var(--wp--preset--font-family--meaculpa);
  color:  var(--aloha-color-1);
  font-size: var(--wp--preset--font-size--tresgrand);
}
/* Pink smaller*/
.reveTitle2{
  font-family: var(--wp--preset--font-family--meaculpa);
  color:  var(--aloha-color-3);
  font-size: var(--wp--preset--font-size--x-large);
}
/* white smaller*/
.reveTitle3{
  font-family: var(--wp--preset--font-family--meaculpa);
  color:  var(--aloha-color-1);
  font-size: 28px;
}







/** //////// */
/** LANDING PAGE */
/** //////// */





/** //////// */
/** Section 3 Un rêve qui se réalise*/
/** //////// */
/** prevents the image from being too large and overflowing on smaller screen sizes */
figure.wp-block-image.size-full.wp-duotone-unset-3{
  width: 100%;
}






/** //////// */
/** Section 4 Les événements à venir, carrousel */
/** //////// */
.evenements-futurs-list{
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 20px;
  overflow-x: auto;
  padding: 20px;
  scrollbar-width: thin; /* Firefox */
  scrollbar-color: var(--aloha-color-1) var(--aloha-color-2); /* Firefox */

}
/** Slider events futurs */
.cabaret-events-slider {
  position: relative;
  background: none;
  padding: 2em 0 4em 0; /* Add bottom padding for indicators */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 80vh;
  gap: 2em; /* Space between slider content and indicators */
}

.cabaret-events-slider-content {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
.cabaret-events-slider-track {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 400px; /* Fixed height to prevent layout shifts */
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}
.cabaret-events-slider-item {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(0.85);
  width: 25vw;
  height: 60vh;
  min-width: 280px;
  max-width: 400px;
  color: #222;
  border-top-left-radius: 50px;
  border-bottom-right-radius: 50px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.07);
  z-index: 1;
  text-align: left;
  padding: 0;
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
  pointer-events: none; /* Disable interaction for non-center items */
  overflow: hidden; /* Ensure content doesn't overflow the rounded corners */
}

/* Center item - highlighted and interactive */
.cabaret-events-slider-item--center {
  transform: translate(-50%, -50%) scale(1);
  box-shadow: 0 6px 24px rgba(0,0,0,0.18);
  opacity: 1;
  z-index: 3;
  pointer-events: auto; /* Enable interaction for center item */
}

/* Left item - positioned to the left */
.cabaret-events-slider-item--left {
  transform: translate(-150%, -50%) scale(0.85);
  filter: brightness(0.4);
  z-index: 2;
}

/* Right item - positioned to the right */
.cabaret-events-slider-item--right {
  transform: translate(50%, -50%) scale(0.85);
  filter: brightness(0.4);
  z-index: 2;
}

/* Hidden items - completely off-screen */
.cabaret-events-slider-item--hidden {
  transform: translate(-50%, -50%) scale(0.7);
  opacity: 0;
  z-index: 0;
}

.cabaret-events-slider-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-top-left-radius: 50px;
  border-bottom-right-radius: 50px;
  margin: 0;
}

.cabaret-events-slider-info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0,0,0,0.8));
  color: var(--wp--preset--color--blanc);
  padding: 2em 1em 1em 1em;
  text-align: left;
}

.cabaret-events-slider-item a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  color: inherit;
  text-decoration: none;
}
.cabaret-events-slider-title {
  font-size: 1.2em;
  font-weight: 500;
  text-transform: uppercase;
  margin: 0 0 0.3em 0;
  color: var(--wp--preset--color--blanc);
}
.cabaret-events-slider-desc {
  font-size: 1em;
  color: var(--wp--preset--color--blanc);
  margin: 0;
  opacity: 0.9;
}
.cabaret-events-slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
  background: none;
  width: 2.5em;
  height: 2.5em;
  font-size: 1.5em;
  color: #FF37A5;
  cursor: pointer;
  z-index: 10;
  transition: background 0.2s, box-shadow 0.2s;
}
.cabaret-events-slider-arrow-prev {
  left: 5vw;
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Calque_1' data-name='Calque 1' xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23FF37A5; stroke-width: 0px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M19.7,30l-4.1-5.8c-1.4-2-3.1-3.7-5.1-5.1l-5.8-4.1,5.8-4.1c2-1.4,3.7-3.1,5.1-5.1L19.7,0v30Z'/%3E%3C/svg%3E");

}
.cabaret-events-slider-arrow-prev:hover {
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Calque_1' data-name='Calque 1' xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23fff; stroke-width: 0px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M19.7,30l-4.1-5.8c-1.4-2-3.1-3.7-5.1-5.1l-5.8-4.1,5.8-4.1c2-1.4,3.7-3.1,5.1-5.1L19.7,0v30Z'/%3E%3C/svg%3E");
  color: var(--wp--preset--color--blanc);
}
.cabaret-events-slider-arrow-next {
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Calque_1' data-name='Calque 1' xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23FF37A5; stroke-width: 0px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M19.7,30l-4.1-5.8c-1.4-2-3.1-3.7-5.1-5.1l-5.8-4.1,5.8-4.1c2-1.4,3.7-3.1,5.1-5.1L19.7,0v30Z'/%3E%3C/svg%3E");
  transform: rotate(180deg) translateY(50%);
  right: 5vw;
}
.cabaret-events-slider-arrow-next:hover {
  transform: rotate(180deg) translateY(50%);
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Calque_1' data-name='Calque 1' xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23fff; stroke-width: 0px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M19.7,30l-4.1-5.8c-1.4-2-3.1-3.7-5.1-5.1l-5.8-4.1,5.8-4.1c2-1.4,3.7-3.1,5.1-5.1L19.7,0v30Z'/%3E%3C/svg%3E");
  color: var(--wp--preset--color--blanc);
}

.cabaret-events-slider-track.is-animating .cabaret-events-slider-item {
  /* Enhance transitions during navigation */
  transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
}

/* Index indicator dots */
.cabaret-events-slider-indicators {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.75em;
  width: 100%;
  padding: 0 1em;
  position: relative;
  z-index: 5;
}
.cabaret-events-slider-dot {
  width: 8px;
  height: 8px;
  border: none;
  border-radius: 50%;
  background-color: var(--wp--preset--color--blanc);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}
.cabaret-events-slider-dot:hover {
  background-color: rgba(255, 55, 165, 0.6);
  transform: scale(1.1);
}
.cabaret-events-slider-dot--active {
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Calque_1' data-name='Calque 1' xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23ff37a5; stroke-width: 0px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M15,0l1.8,5c1.4,3.8,4.4,6.8,8.2,8.2l5,1.8-5,1.8c-3.8,1.4-6.8,4.4-8.2,8.2l-1.8,5-1.8-5c-1.4-3.8-4.4-6.8-8.2-8.2L0,15l5-1.8c3.8-1.4,6.8-4.4,8.2-8.2l1.8-5Z'/%3E%3C/svg%3E");
  transform: scale(2.7);
  background-color: unset;

}
.cabaret-events-slider-empty{
  text-align: center;
}







/** //////// */
/** Section 6 Retour en images*/
/** //////// */
/* create a display of 3 images on 2 rows */
.evenements-passes-list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}
.evenement-passe{
  position: relative;
  aspect-ratio: 9 / 16;
  width: 100%;
  overflow: hidden; /* Ensure content doesn't overflow the card */
  border-radius: 50px 0;
  transition: transform 0.3s ease-in-out;
}
/* make the image take a card style */
.evenement-passe img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50px 0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.07);
  transition: transform 0.3s ease-in-out;
}
/* display .evenement-passe-info on top of the image */
.evenement-passe-info{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0,0,0,0.8));
  color: var(--wp--preset--color--blanc);
  padding: 1em;
  text-align: left;
}
.evenement-passe-info .event-date{
 text-transform: uppercase;
}
/* Middle section */
.special-item{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-style: dotted;
    border-width: 3px;
    border-top-left-radius: 50px;
    border-bottom-right-radius: 50px;
}
.special-content{
  font-size: var(--wp--preset--font-size--regular) !important;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-direction: column;
      padding-right: var(--wp--preset--spacing--70);
    padding-left: var(--wp--preset--spacing--70);
}
.special-content h3{
  text-transform: uppercase;
}
.special-content .star-icon{
  width: 30px;
  height: 30px;
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Calque_1' data-name='Calque 1' xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23ff37a5; stroke-width: 0px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M15,0l1.8,5c1.4,3.8,4.4,6.8,8.2,8.2l5,1.8-5,1.8c-3.8,1.4-6.8,4.4-8.2,8.2l-1.8,5-1.8-5c-1.4-3.8-4.4-6.8-8.2-8.2L0,15l5-1.8c3.8-1.4,6.8-4.4,8.2-8.2l1.8-5Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}






/* ///////// */
/* Woocomemerce Cart */
/* ///////// */
.wc-block-components-sidebar-layout.wc-block-cart.wp-block-woocommerce-filled-cart-block.is-large{
  padding: var(--wp--preset--spacing--120) 0;
}

/** //////// */
/** WooCommerce Checkout */
/** //////// */
.wc-block-checkout__actions_row button{
  border-radius: 30px 0;
}
/* remove item meta that displays "Type: Billet, ticket_number: CAB-586617" */
tr.woocommerce-table__line-item.order_item ul.wc-item-meta{
  display: none;
}





/** CONTACT SECTION 7 CONTACT */
/** messages d'erreur au dessus des inputs */
.wpcf7-form-control-wrap {
  display: flex;
  flex-direction: column-reverse;
  margin-top: 10px;
}

.wpcf7-not-valid-tip {
  margin-bottom: 0.25rem; /* adjust spacing above input */
  color: red; /* or your theme's error color */
  font-size: 0.875rem;
}
/** liens en lato exception */
.reservationGroup h1 a{
  font-family: var(--wp--preset--font-family--lato)!important;
}
/** adjusting contact form spacing */
.contactWhiteUnderline span input,.contactWhiteUnderline span textarea{
  caret-color: var(--aloha-color-2) !important; /* Set the caret color to match your theme */
  margin-bottom: 20px;
  padding: 10px 10px;
  border-bottom: 1px solid var(--aloha-color-1);
  width: -webkit-fill-available;  /* Safari, Chrome */
  width: -moz-available;          /* Firefox */
  width: stretch;                 /* Modern alternative */
  width: fill-available;          /* Standard (though less supported) */

}
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px var(--aloha-color-2) inset !important; /* Override autofill background */
  box-shadow: 0 0 0px 1000px var(--aloha-color-2) inset !important; /* Fallback for other browsers */
  -webkit-text-fill-color: var(--aloha-color-1) !important; /* Ensure text color matches */
  transition: background-color 5000s ease-in-out 0s !important; /* Prevent flashing */
}
.wpcf7-form input, .wpcf7-form textarea{
  font-family: inherit;
  background-color: var(--aloha-color-1);
  border: none;
  color: var(--aloha-color-2);
}
.wpcf7-form input:focus-visible, .wpcf7-form textarea:focus-visible{
  outline: none;
}
span.wpcf7-list-item{
  margin-left: 10px;
}
p .wpcf7-submit{
  margin-top: 1rem;
  border-radius: 0px;
  padding-top: var(--wp--preset--spacing--40);
  padding-right: var(--wp--preset--spacing--50);
  padding-bottom: var(--wp--preset--spacing--40);
  padding-left: var(--wp--preset--spacing--50);
  background: transparent none;
  border-color: var(--aloha-color-1);
  border-width: 2px;
  border-style: solid;
}
p .wpcf7-submit:disabled{
  border-radius: 0px;
  padding-top: var(--wp--preset--spacing--40);
  padding-right: var(--wp--preset--spacing--50);
  padding-bottom: var(--wp--preset--spacing--40);
  padding-left: var(--wp--preset--spacing--50);
  background-color: #8b8884;
  border-color: var(--aloha-color-1);
  border-width: 2px;
  border-style: solid;
}
.wpcf7 form.sent .wpcf7-response-output{
 border: none;
 background-color:var(--aloha-color-3);
 color: var(--aloha-color-2);
 padding: 10px;
}
.mentionsContact{
  font-size: 0.8rem;
  color: var(--aloha-color-1);
}
.mentionsContact a{
  font-weight: bolder;
}
/** turnstile, captcha */
/* FAQ comments section */
.cf-turnstile-comments div{
  margin: 16px 0 0 0!important;
}
/* contact form section */
.cf-turnstile{
  margin: 16px 0 0 0!important;
}
/* adjust spacing between captcha and submit button */
.cf7-cf-turnstile{
  margin-bottom: -35px;
}
/* contact form submit button */
input.wpcf7-form-control.wpcf7-submit.has-spinner{
  background-color: var(--aloha-color-1);
  border-radius: 30px 0;
    border-width: 0;
    color: var(--aloha-color-2);
    font-family: var(--wp--preset--font-family--afacad);
    font-size: inherit;
    line-height: inherit;
    padding: calc(0.667em + 2px) calc(1.333em + 2px);
    text-decoration: none;
    text-transform: uppercase;
    border: 1px solid transparent;
}
input.wpcf7-form-control.wpcf7-submit.has-spinner:hover{
  background-color: var(--aloha-color-2);
  border-radius: 30px 0;
    border-width: 0;
    color: var(--aloha-color-1);
    font-family: var(--wp--preset--font-family--afacad);
    font-size: inherit;
    line-height: inherit;
    padding: calc(0.667em + 2px) calc(1.333em + 2px);
    text-decoration: none;
    text-transform: uppercase;
    border: 1px solid var(--aloha-color-1);
}
/* error messages */
.wpcf7-response-output{
  border-color: var(--aloha-color-3)!important;
  background-color: var(--aloha-color-3);
  color: var(--aloha-color-2)
}
/* adjust spacing between contact form fields */
.wpcf7-form-control-wrap input,
.wpcf7-form-control-wrap textarea {
  margin-bottom: 20px; /* Adjust spacing between fields */
  padding: 14px 20px;
  border-radius: 30px 0px 30px 0px;
  width: -webkit-fill-available; /* Safari, Chrome */
  width: -moz-available; /* Firefox */
  width: stretch; /* Modern alternative */
  width: fill-available; /* Standard (though less supported) */
}
textarea{
/* remove adjustable size for users */
  resize: none; /* Disable resizing */
}
/* flex contact */
.contactFlex{
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.contactFlex p{
  flex: 1;
  margin: 0;
  padding: 0;
}



/* footer taxi */
.alowaLogoSvg{
  transition: fill 0.2s;
}
.logoAlowa{
  fill: var(--aloha-color-1);
  stroke-width: 0px;
  transition: fill 0.2s ease-in-out; /* Add smooth transition */
}
.logoAlowa:hover{
  fill: var(--aloha-color-3);
}
.logoFacebook a svg path{
  fill: var(--aloha-color-1);
  stroke-width: 0px;
  transition: fill 0.2s ease-in-out;
}
.logoFacebook a svg path:hover{
  fill: var(--aloha-color-3)!important;
}
.ParagrapheFooter{
  width: 10vw;
}


/* sticky footer */
.footerGroup{
  position: relative;
  height: 100vh;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.footerStickyArea{
  position: relative;
  height: 200vh;
  top: -100vh;
}
.footerSticky{
  position: sticky;
  height: 100vh;
  top: 0;
}







/* ///////////////////////////////// /*
/** RESPONSIVE tablet and mobile */
/* ///////////////////////////////// /*

/* ************************************** */
/* TABLET Responsive styles for tablet */
/* ************************************** */
@media only screen and (max-width: 990px) {
  /* calendar responsive */
  #cabaret-calendar {
  border: 3px dotted var(--aloha-color-1);
  padding: 10px;
  border-radius: 40px 0 40px 0;
}
.wp-block-group.alignwide.has-global-padding.is-layout-constrained.wp-container-core-group-is-layout-c721e22d.wp-block-group-is-layout-constrained{
  padding: 0!important;
  margin: 0 40px;
}
  /* Passed events section Retour en images */
  /* layout change */
  .evenements-passes-list{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  /* product responsive */
  form.custom-variations-form .variation-block {
    width: 100%;
  }
  .woocommerce div.product div.images .flex-control-thumbs {
    flex-direction: column;
  }
  /* display product desc and image in flex  */
  .productFlex{
    display: inline-block;
  }
  /* flex to colomun desc and image */
  .wp-block-group.has-global-padding.is-content-justification-left.is-layout-constrained.wp-container-core-group-is-layout-b1f2e7f9.wp-block-group-is-layout-constrained{
    max-width: none;
  }
  /* image full width */
  .wp-block-column.has-global-padding.is-layout-constrained.wp-container-core-column-is-layout-12243e0f.wp-block-column-is-layout-constrained{
    display: inline;
  }
  .wp-block-group.has-global-padding.is-layout-constrained.wp-container-core-group-is-layout-12243e0f.wp-block-group-is-layout-constrained{
    margin-top: 20px;
  }
  .pswp.pswp--supports-fs.pswp--open.pswp--notouch.pswp--css_animation.pswp--svg.pswp--animated-in.pswp--zoom-allowed.pswp--visible{
    top: 0;
    height: 100vh;
  }
}


/* ************************************** */
/* MOBILE Responsive styles for mobile */
/* ************************************** */
@media only screen and (max-width: 784px) {
  /* set the preset spacing of "var(--wp--preset--spacing--120)" to 80 */
  :root{
    --wp--preset--spacing--120: 5rem!important; /* Adjusted for mobile */
  }
  .SectionReveCol1{
    padding-top: 0!important;
  }

  /* header */
  .reservezButton{
    display: none!important;
  }
  /* header remove padding to prevent line wrap logo and menu */
  .wp-block-group.alignfull.is-content-justification-space-between.is-layout-flex.wp-container-core-group-is-layout-e29e39a8.wp-block-group-is-layout-flex{
    padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--20)!important;
  }
  /* Menu */
  .menuAlohaContainer ul{
    height: 60vh;
  }
  /* event slider */
  .cabaret-events-slider {
    padding: 1em 0 3em 0;
    gap: 1.5em;
  }
  .cabaret-events-slider-track {
    height: 300px;
  }
  .cabaret-events-slider-item {
    width: 80vw;
    height: 60vh;
    min-width: 200px;
    max-width: 280px;
    font-size: 0.92em;
  }
  .cabaret-events-slider-info {
    padding: 1.5em 0.8em 0.8em 0.8em;
  }
  .cabaret-events-slider-indicators {
    gap: 0.5em;
    padding: 0 0.5em;
  }
  .cabaret-events-slider-dot {
    width: 10px;
    height: 10px;
  }
  /* Passed events section Retour en images */
  /* layout change */
  .evenements-passes-list{
    display: grid;
    grid-template-columns: repeat(1, 1fr);
  }

  /* Footer */
  /* center the footer logo */
  .footerLogoColumn{
    display: flex;
    justify-content: center;
    align-items: center;
  }
  /* FOOTER taxi */
  .LogoFooter a{
    font-size: 3rem;
  }
  .ParagrapheFooter{
    width: 25vw;
  }
  .footerMenu{
    height: 200px;
    justify-content: space-between;
  }
/* adjusting the transition title to make it appear at the bottom on mobile */
.transition-block {
    align-items: flex-end; /* Center vertically */
    justify-content: center; /* Center horizontally */
  }

  .transitionTitle {
    margin: 0 0 4vh 0; /* Increased bottom margin on mobile */
    font-size: 10vw; /* Slightly smaller on mobile */
    /* Make sure the title is visible in viewport */
    position: relative;
    z-index: 10000; /* Ensure it's on top */
  }

.menuAlohaContainer .wp-block-group.has-sombrebg-background-color.has-background.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained{
  padding-right: unset;
}
/* table in order complete page */
table.woocommerce-table.tickets-table{
  display: flex;
}
/* Force table to not be like tables anymore */
	.woocommerce-table table, .woocommerce-table thead, .woocommerce-table tbody, .woocommerce-table th, .woocommerce-table td, .woocommerce-table tr { 
		display: block;
    width: -webkit-fill-available;
	}
	.woocommerce-table td { 
		/* Behave  like a "row" */
		border: none;
		position: relative;
	}
  /* remove padding from table on order complete page */
  table.wc-block-order-confirmation-totals__table *{
    padding: 0!important;
  }
  .wc-block-order-confirmation-billing-address{
    padding: var(--wp--preset--spacing--50) 0 0 0!important; ;
  }

}



/* ************************************** */
/* Fix mobile touch hover states for arrows and buttons */
/* ************************************** */
@media (hover: none) and (pointer: coarse) {
  /* Reset carousel arrow hover states on touch devices */
  .cabaret-events-slider-arrow-prev:hover {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Calque_1' data-name='Calque 1' xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23FF37A5; stroke-width: 0px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M19.7,30l-4.1-5.8c-1.4-2-3.1-3.7-5.1-5.1l-5.8-4.1,5.8-4.1c2-1.4,3.7-3.1,5.1-5.1L19.7,0v30Z'/%3E%3C/svg%3E");
    color: #FF37A5;
  }
  .cabaret-events-slider-arrow-next:hover {
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Calque_1' data-name='Calque 1' xmlns='http://www.w3.org/2000/svg' version='1.1' viewBox='0 0 30 30'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23FF37A5; stroke-width: 0px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M19.7,30l-4.1-5.8c-1.4-2-3.1-3.7-5.1-5.1l-5.8-4.1,5.8-4.1c2-1.4,3.7-3.1,5.1-5.1L19.7,0v30Z'/%3E%3C/svg%3E");
    color: #FF37A5;
  }
  
  /* Reset button hover states on touch devices */
  .wp-block-button__link:hover,
  .menu-icon .wp-block-button__link:hover,
  .cf-turnstile-comment #submit:hover {
    background-color: var(--aloha-color-1) !important;
    color: var(--aloha-color-2) !important;
    border-color: var(--aloha-color-2) !important;
  }
  
  .is-style-outline .wp-block-button__link:hover {
    background-color: transparent !important;
    color: var(--aloha-color-1) !important;
    border-color: var(--aloha-color-1) !important;
  }
}
