/*
Theme Name: Alowa
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: alowa
Tags: 





/************************/
/******** GLOBAL ********/
/************************/

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

/** used for menu open */
html.has-modal-open {
  position: fixed;
  width: 100%;
  overflow-y: scroll;
}
body {
    overflow-x: hidden;
    cursor: default;
    transition: background-color 0.5s ease-in-out, color 0.5s ease-in-out;
}

/* Fix WordPress editor text visibility - override FSE color when in admin */
/* Target ONLY classic/freeform blocks specifically to avoid affecting other blocks */
.wp-block-freeform p,
.wp-block-freeform h1,
.wp-block-freeform h2,
.wp-block-freeform h3,
.wp-block-freeform h4,
.wp-block-freeform h5,
.wp-block-freeform h6,
.wp-block-freeform span,
.wp-block-freeform div,
.wp-block-freeform li,
.wp-block-freeform a {
    color: var(--wp--preset--color--sombre)!important;
}

/* Higher specificity for classic blocks within block editor layout */
.block-editor-block-list__layout .wp-block-freeform p,
.block-editor-block-list__layout .wp-block-freeform h1,
.block-editor-block-list__layout .wp-block-freeform h2,
.block-editor-block-list__layout .wp-block-freeform h3,
.block-editor-block-list__layout .wp-block-freeform h4,
.block-editor-block-list__layout .wp-block-freeform h5,
.block-editor-block-list__layout .wp-block-freeform h6,
.block-editor-block-list__layout .wp-block-freeform span,
.block-editor-block-list__layout .wp-block-freeform div,
.block-editor-block-list__layout .wp-block-freeform li,
.block-editor-block-list__layout .wp-block-freeform a {
    color: var(--wp--preset--color--sombre)!important;
}

/* Ultra-specific targeting for classic blocks to override body inheritance */
.is-root-container .block-editor-block-list__block.wp-block-freeform p,
.is-root-container .block-editor-block-list__block.wp-block-freeform h1,
.is-root-container .block-editor-block-list__block.wp-block-freeform h2,
.is-root-container .block-editor-block-list__block.wp-block-freeform h3,
.is-root-container .block-editor-block-list__block.wp-block-freeform h4,
.is-root-container .block-editor-block-list__block.wp-block-freeform h5,
.is-root-container .block-editor-block-list__block.wp-block-freeform h6,
.is-root-container .block-editor-block-list__block.wp-block-freeform div,
.is-root-container .block-editor-block-list__block.wp-block-freeform span,
.is-root-container .block-editor-block-list__block.wp-block-freeform a {
    color: var(--wp--preset--color--sombre)!important;
}

body.menu-is-open {
  overflow: hidden;
  /* Add padding equal to scrollbar width to prevent jump */
  padding-right: var(--scrollbar-width, 17px);
}
/** prevent the body color from applying in the editor making the text invisible */
.editor-editor-interface {
  color: unset!important;
}
/** Fix TinyMCE/Classic Editor text visibility */
body#tinymce.mce-content-body {
  color: var(--wp--preset--color--sombre)!important;
}
body#tinymce.mce-content-body p,
body#tinymce.mce-content-body h1,
body#tinymce.mce-content-body h2,
body#tinymce.mce-content-body h3,
body#tinymce.mce-content-body h4,
body#tinymce.mce-content-body h5,
body#tinymce.mce-content-body h6,
body#tinymce.mce-content-body span,
body#tinymce.mce-content-body div,
body#tinymce.mce-content-body li,
body#tinymce.mce-content-body a {
  color: var(--wp--preset--color--sombre)!important;
}
/** 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;
}





/** //////// */
/** Menu */
/** //////// */
header{
  z-index: 10001!important;
}

.menuAlohaContainer{
  top: 0;
  right: 0;
  width: 100vw;
  height: 100vh;
  background-color: var(--wp--preset--color--sombre);
  visibility: hidden; /* Hide by default but keep in DOM for animations */
  z-index: 9999;
}
.menuAlohaContainer ul{
  padding: 0;
  list-style: none;
  height: 70vh;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.menuAlohaContainer ul a{
  font-family: var(--wp--preset--font-family--bebas);
  display: block;
}
.menuAlohaContainer ul a::before{
  content: "*";
  font-size: var(--wp--preset--font-size--tresgrand);
  color: var(--wp--preset--color--accent-1);
  position: absolute;
  left: -45px;
  top: -20px;
}
.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;
}




/******************************************/
/** Transition style  */
/******************************************/
/* transition title */
.transition-title{
  color: var(--wp--preset--color--clair);
  font-size: 10rem;
  font-family: var(--wp--preset--font-family--bebas);
  bottom: var(--wp--preset--spacing--60);
  left: var(--wp--preset--spacing--60);
  position: absolute;
}

.transition {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
  pointer-events: none;
  overflow: hidden;
}

.transition-block {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: var(--wp--preset--color--sombre); /* fallback color */
  border-radius: 0 0 2rem 2rem;
  will-change: transform;
  z-index: 999999!important;
  pointer-events: none;
  /* Optionally add a background image or gradient here */
}

/* This class is not used anymore but kept for reference */
.transition-loading {
  visibility: hidden;
}
.transition-title{
  width: 30vw;
  text-wrap: nowrap;
  font-size: var(--wp--preset--font-size--tresgrand) !important;
  line-height: 0.9;
}



/*************************/
/******** GÉNÉRAL ********/
/*************************/

h1, h2, h3, h4, h5, h6 {
  word-wrap: break-word; /* Responsive */
  overflow-wrap: break-word; /* Responsive */
  hyphens: auto;
  max-width: 100%;
}
/* text bold raleway */
strong{
  font-family: var(--wp--preset--font-family--ralewaybold);
  font-weight: bold;
}
/* buttons border radius and align text with arrow icon*/
.wp-block-button__link {
  display: flex;
  align-items: center;
  gap: 20px;
  border-radius: 0 30px 30px 0;
  padding-left: var(--wp--preset--spacing--50);
  padding-right: calc(2.333em + 2px);
  transition: all 0.3s ease-in-out;
}
.wp-block-button__link:hover{
  padding-left: 85px!important;
}
/* Specific hover state for desktop buttons that need to override the 72px padding */
@media (min-width: 610px) {
  .wp-block-button.is-style-fill.gsap-animate.gsap-slide-from-left a:hover {
    padding-left: 95px !important; /* Slightly more than the base 72px for visible slide effect */
  }
}
/* arrow for buttons */
.arrowicon{
  width: 37px;
  height: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='37' height='8' viewBox='0 0 37 8' fill='none'%3E%3Cpath d='M1 3.5C0.723858 3.5 0.5 3.72386 0.5 4C0.5 4.27614 0.723858 4.5 1 4.5L1 3.5ZM36.3536 4.35355C36.5488 4.15829 36.5488 3.84171 36.3536 3.64644L33.1716 0.464463C32.9763 0.269201 32.6597 0.269201 32.4645 0.464463C32.2692 0.659725 32.2692 0.976308 32.4645 1.17157L35.2929 4L32.4645 6.82842C32.2692 7.02369 32.2692 7.34027 32.4645 7.53553C32.6597 7.73079 32.9763 7.73079 33.1716 7.53553L36.3536 4.35355ZM1 4L1 4.5L36 4.5L36 4L36 3.5L1 3.5L1 4Z' fill='%233C5C3C'/%3E%3C/svg%3E");
}
/* Signature Alowa Studio hover */
.logoAlowa:hover{
      fill: var(--wp--preset--color--accent-1);
      
}



/************************/
/******** HEADER ********/
/************************/
.reservezButton a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}
  
a.wp-block-button__link.wp-element-button svg {
  width: 25px;
}
 /** 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;
}


/* ///////////////////////////// */
/** FOOTER */
/* ///////////////////////////// */

.footerColumns{
  width: 100%;
}
/* facebook icon hover */
.facebookIcon .icon-container svg{
  fill: var(--wp--preset--color--accent1);
  transition: fill 0.3s ease;
}
.facebookIcon .icon-container svg:hover{
  fill: var(--wp--preset--color--clair);
}
/* makes the border radius visible */
footer{
  position: relative;
  margin-top: -2rem;
  z-index: 500;
}
footer.footerClair{
  background-color: var(--wp--preset--color--sombre)!important;
}
/* nav footer "*" elements */
/* footer nav.items-justified-right.is-vertical.no-wrap.wp-block-navigation.is-content-justification-right.is-nowrap.is-layout-flex.wp-container-core-navigation-is-layout-358be2d8.wp-block-navigation-is-layout-flex .wp-block-navigation-item__label::before{
    content: "*";
    font-size: var(--wp--preset--font-size--tresgrand);
    color: var(--wp--preset--color--accent-1);
    position: absolute;
    left: -45px;
    top: -20px;
} */
 /* put space on mobile between the nav links to help UX. This is reset in desktop query */
footer .wp-block-navigation__container{
gap: 20px;
}
/* ajustement footer signature mobile */
.footerSignature{
  flex-direction: column;
  align-items: flex-end;
}



  /* ///////////////////////////// */
  /* Intro Landing*/
  /* ///////////////////////////// */
  /* position the background image on the right side mobile first */
  img.wp-block-cover__image-background.wp-image-4190.size-full{
    height: 100%;
    width: auto;
    left: 20vw;
  }

/* ///////////////////////////// */
/* Map */
/* ///////////////////////////// */
#map {
    border-top-left-radius: 2rem;
    border-top-right-radius: 2rem;
  height: 75vh;
  width: 100%;
}

/* Fix white lines between map tiles */
.leaflet-tile-container img{
  mix-blend-mode: unset!important;
}


/* overlay on top of previous section */
.sectionMap {
  margin-top: -3em;
}
/* overlay button */
.overlayMapButton{
  z-index: 500;
  bottom: 0;
  position: absolute;
}
/* align text center for handling warning */
.leaflet-gesture-handling-touch-warning {
  text-align: center;
}
/* adjust map zoom controller (top left) on mobile for better spacing */
.leaflet-left{
  left: 12px!important;
}
.leaflet-top{
  top: 12px!important;
}
/* adjust leaflet credit section to leave space for next section to overlap */
.leaflet-bottom.leaflet-right{
  bottom: 46px!important;
}
/* map popup style */
.leaflet-popup-content-wrapper, .leaflet-popup-tip{
  background-color: var(--wp--preset--color--clair);
  color: var(--wp--preset--color--sombre);
  font-family: var(--wp--preset--font-family--bebas);
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.05rem;
  font-size: var(--wp--preset--font-size--paragraphe) !important;
  min-width: 15vw;
}
.leaflet-popup-content{
  display: flex;
  flex-direction: column;
  width: 20vw;
  min-width: 200px;
}
.leaflet-popup-content .mapOratoireLink{
  color: var(--wp--preset--color--sombre);
  font-size: var(--wp--preset--font-size--petit) !important;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
  white-space: nowrap;
  overflow: hidden;
}
.leaflet-popup-content a .arrowicon {
  flex-shrink: 0;
  min-width: 37px;
}
.leaflet-popup-content img{
  margin: var(--wp--preset--spacing--40) 0;
  object-position: top;
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 12px;
  aspect-ratio: 4/3;
  display: block;
}

/* ///////////////////////////// */
/* Single Oratoire/Chapelle Map */
/* ///////////////////////////// */
.single-oratoire-map-container {
  position: relative;
  margin-top: var(--wp--preset--spacing--50);
  margin-bottom: var(--wp--preset--spacing--50);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s ease;
}
.single-oratoire-map {
  height: 70vh;
  width: 100%;
  overflow: hidden;
}
/* Custom marker icon for single posts */
.custom-marker-icon {
  background: transparent !important;
  border: none !important;
}
.custom-marker-inner {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: var(--wp--preset--color--sombre, #3C5C3C);
  pointer-events: none;
}
/* Popup styles for single oratoire map */
.single-map-popup-title {
  font-weight: bold;
  font-size: 1.1em;
  margin-bottom: 0.25rem;
  color: var(--wp--preset--color--sombre);
}
.single-map-popup-category {
  font-size: 0.9em;
  color: var(--wp--preset--color--sombre);
  opacity: 0.8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
/* Hide popup tip (arrow) for single oratoire map */
.single-oratoire-map .leaflet-popup-tip-container {
  display: none !important;
}
/* Google Maps button container */
.google-maps-button-container {
  margin-top: var(--wp--preset--spacing--30);
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 1em;
  justify-content: center;
  align-items: center;
}

/* Print button - round style */
.print-button-round {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3em;
  height: 3em;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: var(--wp--preset--color--accent-1);
  color: var(--wp--preset--color--sombre);
  cursor: pointer;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.print-button-round:hover {
  transform: translateY(-4px);
}

.print-button-round .print-icon {
  width: 1.5em;
  height: 1.5em;
  object-fit: contain;
}

/* ///////////////////////////// */
/* Map Parcours découverte  */
/* ///////////////////////////// */
/* overlay on top of previous section */
.sectionParcours {
  margin-top: -2rem;
  z-index: 500;
}
#parcours-map {
  height: 70vh;
  width: 100%;
}
/* custom button for parcours map */
.parcours-map-button {
  display: flex;
        align-items: center;
        gap: 20px;
        background-color: var(--wp--preset--color--accent-1);
        border-width: 0;
        color: var(--wp--preset--color--sombre);
        font-family: var(--wp--preset--font-family--raleway);
        font-size: inherit;
        line-height: inherit;
        padding: calc(0.667em + 2px) calc(1.333em + 2px);
        text-decoration: none;
        border-radius: 50px;
        cursor: pointer;
        position: absolute;
        bottom: 20px;
        left: 20px;
        z-index: 1000;
        transition: all 0.3s ease;
}
.parcours-map-button:hover {
  transform: translateY(-4px);
}

/* Google Maps button in article content - override absolute positioning */
.google-maps-button-container .parcours-map-button {
  position: static;
  display: inline-flex;
}

.google-maps-button-container {
  margin-top: var(--wp--preset--spacing--50);
  text-align: center;
}

/* Contact information under single oratoire/chapelle */
.oratoire-contact-info {
  margin-top: var(--wp--preset--spacing--50);
  text-align: center;
  color: var(--wp--preset--color--sombre);
}

.oratoire-contact-info p {
  margin: 0;
  font-family: var(--wp--preset--font-family--raleway);
  line-height: 1.6;
  color: var(--wp--preset--color--sombre);
}

.oratoire-contact-info a {
  color: var(--wp--preset--color--sombre);
  text-decoration: underline;
  transition: color 0.3s ease;
}

.oratoire-contact-info a:hover {
  color: var(--wp--preset--color--accent-2);
}

/* //////// */
/* Parcours découverte section - Text */
/* //////// */
.extralight{
  font-family: var(--wp--preset--font-family--ralewayextralight);
}





/* //////////////////////////// */
/* Section Oratoire à la une */
/* //////////////////////////// */
.sectionAlaune{
  z-index: 500;
}






/** //////// */
/** Cabaret Events Slider Plugin Styles */
/** //////// */

/* Main slider container */
.cabaret-events-slider {
  position: relative;
  background: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* Slider content wrapper */
.cabaret-events-slider-content {
  overflow: hidden; /* Hide items that extend beyond the visible area */
  position: relative;
  width: 100%;
  padding: 2em 0 1em 0;
}

/* Slider track that holds all items */
.cabaret-events-slider-track {
  /* make the slider start to the left with spacing */
  display: flex;
  gap: 2em; /* Changed from 4em to 2em to match JS calculation (32px) */
  transition: transform 0.5s ease; /* Smooth sliding animation */
  width: max-content; /* Track expands to fit all items */
  padding-left: var(--wp--preset--spacing--50); /* Add left padding to prevent first item cutoff */
}

/* Individual slider items */
.cabaret-events-slider-item {
  background-color: var(--wp--preset--color--clair);
  position: relative;
  width: 25vw;
  height: 60vh;
  min-width: 300px;
  max-width: 400px;
  color: #222;
  border-radius: 30px;
  text-align: left;
  padding: 0;
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
  overflow: hidden; /* Ensure content doesn't overflow the rounded corners */
  flex-shrink: 0;
  opacity: 0.6;
  transform: scale(0.85);
}

/* Center item - highlighted and interactive */
.cabaret-events-slider-item--center {
  opacity: 1;
  transform: scale(1);
  z-index: 3;
}

/* Slider item images */
.cabaret-events-slider-item img {
  padding: var(--wp--preset--spacing--50);
  width: 100%;
  height: 60%;
  object-fit: cover;
  border-radius: 45px;
  margin: 0;
}

/* Information overlay on slider items */
.cabaret-events-slider-info {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  color: var(--wp--preset--color--sombre);
  padding: 0 var(--wp--preset--spacing--50) var(--wp--preset--spacing--50) var(--wp--preset--spacing--50);
  text-align: left;
}

/* Slider item links */
.cabaret-events-slider-item a {
  display: block;
  height: 100%;
  position: relative;
  color: inherit;
  text-decoration: none;
}

/* Slider title styling */
.cabaret-events-slider-title {
  font-size: 1.6em;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--wp--preset--color--sombre);
}

/* Slider description styling */
.cabaret-events-slider-desc {
  font-size: 1em;
  color: var(--wp--preset--color--sombre);
  margin: 0 0 var(--wp--preset--spacing--50) 0;
}

/* Meta information container */
.cabaret-events-slider-meta {
  justify-content: space-between;
  display: flex;
  gap: 0.5em;
  flex-wrap: wrap;
  margin-top: 0.5em;
}
.seeMoreLink{
  width: unset!important;
  text-decoration: underline!important;
}
.cabaret-events-slider-capsules{
  display: flex;
  gap: 0.5em;
}
/* Meta capsules styling */
.cabaret-events-slider-capsule1 {
  display: inline-block;
  background-color: var(--wp--preset--color--accent-2);
  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 103.8 150'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23f6fef0;stroke-width:0px;%7D%3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M23.4,23.6h0c6.7,1.6,10.9,8.4,9.3,15.1l-10.8,45-12.2-2.9c-6.7-1.6-10.9-8.4-9.3-15.1l7.9-32.8c1.6-6.7,8.4-10.9,15.1-9.3Z'/%3E%3Cpath class='cls-1' d='M28.8,83.2c-.6-.6-1.2-1.3-1.6-2.2-.1-.2-.3-.4-.5-.9,0-.1-.1-.3-.1-.3s0,0,0,0c-.3-.6-.6-1.3-.8-2l-15,62.1c-1,4.3,1.6,8.6,5.9,9.7s8.6-1.6,9.7-5.9l12.2-50.8-9.8-9.8h0Z'/%3E%3Ccircle class='cls-1' cx='54.8' cy='13.6' r='13.6'/%3E%3Cg%3E%3Cpath class='cls-1' d='M94.2,50.4h-18.8l-18.5-18.5c-.1-.1-.3-.2-.4-.3-1.6-1.6-3.6-2.8-5.9-3.4h0c-6.7-1.6-13.5,2.5-15.1,9.3l-7.9,32.8c-.7,3-.3,6,1,8.6,0,.1.1.3.2.4.1.2.2.4.3.6.4.6.8,1.2,1.3,1.8l24.1,24.1-8.3,34.4c-1,4.3,1.6,8.6,5.9,9.7,4.3,1,8.6-1.6,9.7-5.9l9.3-38.5c0,0,0-.2,0-.3.6-2.6,0-5.5-2.1-7.5l-17.9-17.9,6-24.9,9.3,9.3c1,1,2.2,1.6,3.5,2,.7.2,1.5.4,2.4.4h22c4.4,0,8-3.6,8-8s-3.6-8-8-8h0Z'/%3E%3Cpath class='cls-1' d='M94.2,48.1c1.7,0,3.3.4,4.7,1.1l4.7-19.6c.6-2.7-1-5.4-3.7-6-2.7-.6-5.4,1-6,3.7l-5,20.8h.3s5.1,0,5.1,0Z'/%3E%3C/g%3E%3Cpath class='cls-1' d='M83.9,68.8l-18.1,75c-.6,2.7,1,5.4,3.7,6,.4,0,.8.1,1.1.1,2.3,0,4.3-1.6,4.9-3.8l18.6-77.3h-10.3Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 37px 19px;
  color: var(--wp--preset--color--clair);
  padding: 0.35em 0.8em 0.35em 2.2em;
  border-radius: 18px;
  font-size: 0.8em;
  font-weight: 500;
  white-space: nowrap;
}
/* Meta capsules styling */
.cabaret-events-slider-capsule2 {
  display: inline-block;
  background-color: var(--wp--preset--color--clair);
  border: 1px solid var(--wp--preset--color--sombre);
  color: var(--wp--preset--color--sombre);
  padding: 0.35em 0.8em;
  border-radius: 18px;
  font-size: 0.8em;
  font-weight: 500;
  white-space: nowrap;
}

/* See more link styling */
.seeMoreLink {
  color: var(--wp--preset--color--clair);
  text-decoration: none;
  font-size: 0.9em;
  font-weight: 500;
  position: relative;
  padding-right: 1.2em;
  transition: all 0.3s ease;
}

.seeMoreLink::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill=%233C5C3C;stroke:%233C5C3C;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;%7D%3C/style%3E%3C/defs%3E%3Ctitle/%3E%3Cg id='arrow-right'%3E%3Cline class='cls-1' x1='29.08' x2='3.08' y1='16' y2='16'/%3E%3Cline class='cls-1' x1='29.08' x2='25.08' y1='16' y2='21'/%3E%3Cline class='cls-1' x1='29.08' x2='25.08' y1='16' y2='11'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform 0.3s ease;
}

.seeMoreLink:hover {
  color: var(--wp--preset--color--accent-2);
}

.seeMoreLink:hover::after {
  transform: translateY(-50%) translateX(2px);
}

.seeMoreLink2::after{
  content: '';
    position: relative;
    /* top: -13%; */
    transform: translateY(-2%);
    width: 15px;
    height: 15px;
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill=%233C5C3C;stroke:%233C5C3C;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;%7D%3C/style%3E%3C/defs%3E%3Ctitle/%3E%3Cg id='arrow-right'%3E%3Cline class='cls-1' x1='29.08' x2='3.08' y1='16' y2='16'/%3E%3Cline class='cls-1' x1='29.08' x2='25.08' y1='16' y2='21'/%3E%3Cline class='cls-1' x1='29.08' x2='25.08' y1='16' y2='11'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: transform 0.3s ease;
}

/* Navigation arrows */
.cabaret-events-slider-arrow {
  position: relative;
  border: none;
  border-radius: 50%;
  background: none;
  width: 2.5em;
  height: 2.5em;
  font-size: 1.5em;
  cursor: pointer;
  z-index: 10;
  transition: opacity 0.3s ease;
}

/* Previous arrow */
.cabaret-events-slider-arrow-prev {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='37' height='8' viewBox='0 0 37 8' fill='none'%3E%3Cpath d='M1 3.5C0.723858 3.5 0.5 3.72386 0.5 4C0.5 4.27614 0.723858 4.5 1 4.5L1 3.5ZM36.3536 4.35355C36.5488 4.15829 36.5488 3.84171 36.3536 3.64644L33.1716 0.464463C32.9763 0.269201 32.6597 0.269201 32.4645 0.464463C32.2692 0.659725 32.2692 0.976308 32.4645 1.17157L35.2929 4L32.4645 6.82842C32.2692 7.02369 32.2692 7.34027 32.4645 7.53553C32.6597 7.73079 32.9763 7.73079 33.1716 7.53553L36.3536 4.35355ZM1 4L1 4.5L36 4.5L36 4L36 3.5L1 3.5L1 4Z' fill='%23F6FEF0'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 60%;
  transform: rotate(180deg);
}

.cabaret-events-slider-arrow-prev:hover {
  opacity: 0.7;
}

/* Next arrow */
.cabaret-events-slider-arrow-next {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='37' height='8' viewBox='0 0 37 8' fill='none'%3E%3Cpath d='M1 3.5C0.723858 3.5 0.5 3.72386 0.5 4C0.5 4.27614 0.723858 4.5 1 4.5L1 3.5ZM36.3536 4.35355C36.5488 4.15829 36.5488 3.84171 36.3536 3.64644L33.1716 0.464463C32.9763 0.269201 32.6597 0.269201 32.4645 0.464463C32.2692 0.659725 32.2692 0.976308 32.4645 1.17157L35.2929 4L32.4645 6.82842C32.2692 7.02369 32.2692 7.34027 32.4645 7.53553C32.6597 7.73079 32.9763 7.73079 33.1716 7.53553L36.3536 4.35355ZM1 4L1 4.5L36 4.5L36 4L36 3.5L1 3.5L1 4Z' fill='%23F6FEF0'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 60%;
}

.cabaret-events-slider-arrow-next:hover {
  opacity: 0.7;
}

/* Animation enhancement during navigation */
.cabaret-events-slider-track.is-animating .cabaret-events-slider-item {
  transition: all 0.4s cubic-bezier(0.4,0,0.2,1);
}

/* Indicator dots container */
.cabaret-events-slider-indicators {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  width: 100%;
  padding: 0 1em;
  position: relative;
  z-index: 5;
}

/* Individual indicator dots */
.cabaret-events-slider-dot {
  width: 15px;
  height: 8px;
  border: none;
  border-radius: 10px;
  background-color: #ffffff;
  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);
}

/* Active indicator dot with star icon */
.cabaret-events-slider-dot--active {
  border-radius: 10px;
  background-color: var(--wp--preset--color--accent-1);
}

/* Empty state styling */
.cabaret-events-slider-empty {
  text-align: center;
  padding: 2em;
  color: #666;
  font-style: italic;
}
/* Fix mobile touch hover states for arrows and buttons */
@media (hover: none) and (pointer: coarse) {
  .cabaret-events-slider-arrow-prev:hover,
  .cabaret-events-slider-arrow-next:hover {
    opacity: 1;
  }
}







/* //////////////////////////// */
/* Random Article Plugin Styles */
/* //////////////////////////// */
/* Center item - highlighted and interactive */
/* Individual slider items */
.random-article-item {
  background-color: var(--wp--preset--color--sombre);
  position: relative;
  width: 100%;
  height: 60vh;
  min-width: 280px;
  color: var(--wp--preset--color--clair);
  border-radius: 30px;
  text-align: left;
  padding: 0;
  transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
  overflow: hidden; /* Ensure content doesn't overflow the rounded corners */
  flex-shrink: 0;
  opacity: 0.6;
  transform: scale(0.85);
}
.random-article-title{
  color: var(--wp--preset--color--clair);
  font-size: 1.6em;
}
.random-article-desc{
  color: var(--wp--preset--color--clair);
}
.random-article-item--center {
  opacity: 1;
  transform: scale(1);
  z-index: 3;
}
/* clair version for "histoire" page */
.random-article-item-clair>.random-article-item{
  background-color: var(--wp--preset--color--clair)!important;
}
.random-article-item-clair .random-article-title{
  color: var(--wp--preset--color--sombre);
  font-size: 1.6em;
}
.random-article-item-clair .random-article-desc{
  color: var(--wp--preset--color--sombre);
}


/* random button */
.oratoire-refresh{
  display: flex;
  gap: 20px;
  align-items: center;
	padding: var(--wp--preset--spacing--40) calc(2.333em + 2px);
  border: none;
  background-color: var(--wp--preset--color--accent-1);
  color: var(--wp--preset--color--sombre);
  border-radius: 30px;
  cursor: pointer;
  font-size: 0.9em;
  transition: all 0.3s ease;
  font-family: inherit;
}
.oratoire-refresh:hover{
  transform: translateY(-4px);
}

/* Slider item images */
.random-article-item-img {
  padding: var(--wp--preset--spacing--50);
  object-position: top;
  height: 60%;
  object-fit: cover;
  border-radius: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.random-article-imgWarning{
  color: var(--wp--preset--color--clair)
}
.random-article-item-meta{
  display: flex;
  justify-content: end;
}
.random-article-item-meta .seeMoreLink{
  color: var(--wp--preset--color--clair);
}
.random-article-item-meta .seeMoreLink::after{
    background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill=%23F6FEF0;stroke:%23F6FEF0;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;%7D%3C/style%3E%3C/defs%3E%3Ctitle/%3E%3Cg id='arrow-right'%3E%3Cline class='cls-1' x1='29.08' x2='3.08' y1='16' y2='16'/%3E%3Cline class='cls-1' x1='29.08' x2='25.08' y1='16' y2='21'/%3E%3Cline class='cls-1' x1='29.08' x2='25.08' y1='16' y2='11'/%3E%3C/g%3E%3C/svg%3E");
}



/* //////////////////////////// */
/* Single Article (Oratoires) Styles */
/* //////////////////////////// */
/* title fix */
.articleTitle{
  padding-left: calc(var(--wp--preset--spacing--50)) !important;
  padding-right: calc(var(--wp--preset--spacing--50)) !important;
  line-height: 0.9;
    }

.oratoire-gallery img{
  width: 100%;
}



/* //////////////////////////// */
/* Page Oratoires list page liste page  */
/* //////////////////////////// */
.oratoiresPage h2.wp-block-post-title a{
color: unset!important;
}
/* remove markers (dots) from the list of oratoires */
.wp-block-post {
  list-style: none;
}
.wp-block-post::marker {
  content: none;
}
/* search form style */
form#oratoires-search-form{
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 var(--wp--preset--spacing--50) var(--wp--preset--spacing--50) var(--wp--preset--spacing--50);

}

form#oratoires-search-form input[type="text"]{
  padding: 0.5em;
  border: 1px solid #ccc;
  border-radius: 4240px;
  flex-grow: 1;
  margin-right: 1em;
}
.oratoires-pagination{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  padding: var(--wp--preset--spacing--50);
}

.oratoires-page-numbers {
  display: flex;
  gap: 0.5em;
  align-items: center;
}

form#oratoires-search-form button,.oratoires-pagination button{
  padding: 0.5em 1em;
  background-color: var(--wp--preset--color--accent-1);
  color: var(--wp--preset--color--sombre);
  border: none;
  border-radius: 4240px;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.oratoires-pagination button.oratoires-page {
  min-width: 2.5em;
  padding: 0.5em 0.75em;
  background: none;
  color: var(--wp--preset--color--clair);
}

.oratoires-pagination button.oratoires-page.active {
    color: var(--wp--preset--color--accent-1);
    font-weight: bold;
    border-bottom: 1px solid var(--wp--preset--color--accent-1);
    line-height: 1rem;
    border-radius: 0;
}

.oratoires-pagination button:hover {
  transform: scale(1.05);
}

.oratoires-pagination button.oratoires-page:not(.active):hover {
  background-color: var(--wp--preset--color--sombre);
  color: var(--wp--preset--color--clair);
}

/* Alphabetical filter */
.oratoires-alphabet-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  padding: var(--wp--preset--spacing--50);
}

.oratoires-letter {
  min-width: 2.5em;
  padding: 0.5em 0.75em;
  background: none;
  color: var(--wp--preset--color--clair);
  border: none;
  cursor: pointer;
  font-family: 'Bebas Neue', sans-serif;
  font-size: inherit;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.oratoires-letter:hover {
  transform: scale(1.05);
}

.oratoires-letter.active {
  color: var(--wp--preset--color--accent-1);
  font-weight: bold;
  border-bottom: 1px solid var(--wp--preset--color--accent-1);
  line-height: 1rem;
  border-radius: 0;
}

.oratoires-letter-all {
    padding: 0.5em 1em;
    background-color: var(--wp--preset--color--accent-1);
    color: var(--wp--preset--color--sombre);
    border: none;
    border-radius: 4240px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.oratoires-letter-all:hover {
  transform: scale(1.05);
}

/* Mobile: only show current page number */
@media (max-width: 1380px) {
  .oratoires-pagination button.mobile-hidden {
    display: none;
  }
  
  .oratoires-alphabet-filter {
    gap: 6px;
    padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30);
  }
}
/* very small Mobiles (=<320px): remove gap to prevent page breaking */
@media (max-width: 320px) {
  #oratoires-filer-form{
    padding: 0!important;
  }
  .oratoires-pagination{
    gap: 0;
  }
  .oratoires-page-numbers{
    gap: 0;
  }
}
#oratoires-filer-form{
  display: flex;
  gap: 1em;
  padding: 0 var(--wp--preset--spacing--50) var(--wp--preset--spacing--50) var(--wp--preset--spacing--50);
}
#oratoires-filer-form button{
  padding: 0.5em 1em;
  background-color: var(--wp--preset--color--accent-1);
  color: var(--wp--preset--color--sombre);
  border: none;
  border-radius: 4240px;
  cursor: pointer;
}
#oratoires-filer-form button.active {
    background-color: #BC00E0;
    color: #F6FEF0;
}

/* "Voir sur la carte" button in search results */
.oratoire-show-on-map {
    padding: 0.5em 1em;
    background-color: var(--wp--preset--color--accent-2);
    color: var(--wp--preset--color--clair);
    border: none;
    border-radius: 4240px;
    cursor: pointer;
    font-family: var(--wp--preset--font-family--raleway);
    font-size: 0.9rem;
    transition: background-color 0.3s ease, transform 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
}

.oratoire-show-on-map:hover {
    background-color: var(--wp--preset--color--accent-1);
    color: var(--wp--preset--color--sombre);
    transform: translateY(-2px);
}

.oratoire-show-on-map:active {
    transform: translateY(0);
}

/* adjust space in each oratoire item */
.wp-block-group.is-content-justification-space-between.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-dd9de04e.wp-block-group-is-layout-flex{
  gap: var(--wp--preset--spacing--20);
}
/* style of the oratoire item */
.wp-block-group.is-content-justification-space-between.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-dd9de04e.wp-block-group-is-layout-flex{
  justify-content: space-between;
}
.wp-block-group.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-89a94f6a.wp-block-group-is-layout-flex{
  flex-wrap: nowrap;
      align-items: baseline;
}
/* on mobile, make the exerpt and category aligne horizontally */
.wp-block-group.is-content-justification-space-between.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-dd9de04e.wp-block-group-is-layout-flex{
  align-items: flex-start;
  flex-wrap: nowrap;
}
p.wp-block-post-excerpt__excerpt{
  max-width: 50vw;
}
.taxonomy-category.has-link-color.wp-elements-d846021732facad792835971f80af878.wp-block-post-terms.has-text-color.has-contrast-color{
  text-align: right;
}

/* //////////////////////////// */
/* Page Histoire  */
/* //////////////////////////// */
/* image gallery */
.wp-block-elliottrichmond-fade-zoom-slider .slide{
  border-radius: 2rem;
}
/* spacing column mobile */
.wp-block-group.has-sombre-color.has-clair-background-color.has-text-color.has-background.has-link-color.wp-elements-6a3dda6d6f0d3ca7faa18e45e44ac6d9.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained{
  padding-left: var(--wp--preset--spacing--50)!important;
  padding-right: var(--wp--preset--spacing--50)!important;
}


/* //////////////////////////// */
/* Page Mentions légales  */
/* //////////////////////////// */
.mentionsAlowaLogoSvg .logoAlowa{
        fill: var(--wp--preset--color--sombre)!important;
}
.mentionsAlowaLogoSvg .logoAlowa:hover{
        fill: var(--wp--preset--color--accent-1)!important;
}

/* //////////////////////////// */
/* DESKTOP MEDIA QUERIES DESKTOP */
/* //////////////////////////// */
@media (min-width: 610px) {
  /* transition title spacing */
  .transition-title{
  bottom: var(--wp--preset--spacing--70);
  left: var(--wp--preset--spacing--70);
}
  /* landing image position right on desktop */
  img.wp-block-cover__image-background.wp-image-4190.size-full{
    left: unset!important;
  }
  .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){
    margin-left: unset!important;
    margin-right: unset!important;
  }
  /* main title spacing left */
  .sectionLandingTitle{
    padding-left: 4.5rem!important;
  }
  /* Center the events slider on desktop */
  .cabaret-events-slider {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  /* full width slider desktop */
  .cabaret-events-slider-content{
    width: 100vw!important;
  }
  /* Center the random article on desktop */
  .daily-oratoire-block.wp-block-random-article-random-article {
    margin-left: auto !important;
    margin-right: auto !important;
}
  .wp-block-group.has-global-padding.is-layout-constrained.wp-container-core-group-is-layout-6bceb535.wp-block-group-is-layout-constrained{
    max-width: unset!important;
  }
  .wp-block-group.has-global-padding.is-layout-constrained:not(.headerGroup,.page404,.sectionLanding,.sectionLandingTitle,.contentGroup,.sectionMap,.SectionMapContainer,.wp-container-core-group-is-layout-9f687178,.wp-container-core-group-is-layout-8056197f,.wp-container-core-group-is-layout-6128c0a5) {
    padding-left: var(--wp--preset--spacing--60) !important;
    padding-right: var(--wp--preset--spacing--60) !important;
  }
  .cabaret-events-slider-track{
    padding-left: var(--wp--preset--spacing--80) !important;
    padding-right: var(--wp--preset--spacing--80) !important;
    gap: 2em!important;
  }
  .menuAlohaContainer>.wp-block-group.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained{
    padding-left: var(--wp--preset--spacing--80) !important;
    padding-right: var(--wp--preset--spacing--80) !important;
  }
  /* Random article image size */
  .random-article-item-img{
    height: 65%;
  }
  /* header */
  header .headerGroup .headerRow{
    padding-right: 4.5rem!important;
    padding-left: 4.5rem!important;
  }
  /* Menu */
  /* Menu item spacing between * and menu item */
  .menuList ul li a::before{
    left: -64px;
  }
  /*translate buttons to the left flush with the screen desktop */
  .wp-block-button.is-style-fill.gsap-animate.gsap-slide-from-left{
    transform: translate(-36px, 0px)!important;
  }
  .wp-block-button.is-style-fill.gsap-animate.gsap-slide-from-left a{
    padding-left: 72px !important;
  }
  /* make colums full width (histoire page) */
  .wp-block-columns.is-layout-flex.wp-container-core-columns-is-layout-7584a373.wp-block-columns-is-layout-flex{
    max-width: unset!important;
  }
  /* Page Title with correct spacing */
  h2.wp-block-post-title.has-sombre-color.has-tresgrand-font-size:not(.articleTitle){
    padding-right: calc(var(--wp--preset--spacing--70) + 1rem)!important;
    padding-left: calc(var(--wp--preset--spacing--70) + 1rem)!important;
  }
  /* unset title max-width on desktop */
  h2.wp-block-heading:not(.has-text-align-right){
    max-width: unset!important;
    width: max-content;
  }
  /* single oratoire page google map and print button layout on desktop */
  .google-maps-button-container{
    flex-direction: row;
  }
  /* footer same spacing as header */
  footer .gsap-footer>div{
    padding-left: var(--wp--preset--spacing--60)!important;
    padding-right: var(--wp--preset--spacing--60)!important;
  }
  footer .wp-block-navigation__container{
  gap: 10px;
  }
  /* footer signature align desktop */
  .footerSignature{
    flex-direction: row;
    align-items: center;
    gap: 5px;
  }
}

/* //////////////////////////// */
/* PRINT STYLES */
/* //////////////////////////// */
@media print {
  /* Hide transition overlay completely */
  .transition,
  .transition-block,
  .transition-title {
    display: none !important;
  }

  /* Hide navigation elements */
  header,
  footer,
  .menuAlohaContainer,
  .wp-block-navigation,
  .wp-block-button {
    display: none !important;
  }
  
  /* Hide buttons except map controls */
  button:not(.leaflet-control-zoom-in):not(.leaflet-control-zoom-out) {
    display: none !important;
  }

  /* Reset body styles for print */
  body {
    background-color: white !important;
    color: black !important;
    overflow: visible !important;
    padding-right: 0 !important;
  }

  /* Ensure content is visible */
  body * {
    visibility: visible !important;
    opacity: 1 !important;
  }
  
  /* Don't reset transforms on Leaflet elements - they need transforms for positioning */
  body *:not(.leaflet-map-pane):not(.leaflet-tile):not(.leaflet-tile-container):not(.leaflet-layer):not(.leaflet-marker-icon):not(.leaflet-marker-shadow):not(.leaflet-popup):not(.leaflet-pane) {
    transform: none !important;
  }

  /* Reset animations */
  .gsap-animate,
  .appearAnimation {
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Optimize images for print */
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }

  /* Prevent page breaks in headings */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
    page-break-inside: avoid;
  }

  /* Add page breaks before major sections */
  article, section {
    page-break-before: auto;
  }
  
  /* Allow page breaks after article content to let map start fresh */
  article .entry-content,
  article .wp-block-post-content,
  .single-post .entry-content > *:not(.single-oratoire-map-container) {
    page-break-after: auto;
  }

  /* Show links URLs in print (optional) */
  a[href]:after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
    color: #666;
  }

  /* Don't show URLs for navigation links */
  nav a[href]:after,
  .wp-block-navigation a[href]:after {
    content: none;
  }

  /* Leaflet map print styles - Prevent page breaks */
  .map-page-break-wrapper {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    page-break-before: auto !important;
    page-break-after: auto !important;
    display: block !important;
    overflow: visible !important;
    margin-top: 120rem !important;
    padding-top: 2rem !important;
    clear: both !important;
  }

  .single-oratoire-map-container {
    box-shadow: none !important;
    margin: 15rem auto 2rem !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    page-break-before: auto !important;
    page-break-after: auto !important;
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    clear: both !important;
    overflow: visible !important;
  }

  .single-oratoire-map {
    height: 500px !important;
    width: 100% !important;
    max-width: 100% !important;
    border: 2px solid #000 !important;
    border-radius: 0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    overflow: visible !important;
    margin: 0 auto !important;
  }

  /* Force Leaflet to render for print - centered */
  .leaflet-container {
    background: white !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    visibility: visible !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto !important;
  }
  
  .leaflet-map-pane,
  .leaflet-tile-pane,
  .leaflet-overlay-pane,
  .leaflet-marker-pane,
  .leaflet-popup-pane {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
  }

  .leaflet-tile-pane {
    opacity: 1 !important;
    left: 0 !important;
  }
  
  .leaflet-tile {
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Hide interactive controls in print */
  .leaflet-control-zoom,
  .leaflet-control-attribution,
  .leaflet-gesture-handling-touch-warning,
  .leaflet-gesture-handling-scroll-warning,
  .leaflet-popup-close-button {
    display: none !important;
  }

  /* Keep popup positioned correctly relative to marker */
  .leaflet-popup {
    visibility: visible !important;
    opacity: 1 !important;
  }
  
  .leaflet-popup-pane {
    visibility: visible !important;
    opacity: 1 !important;
  }

  .leaflet-popup-content-wrapper {
    background: white !important;
    border: 1px solid #000 !important;
  }

  /* Hide Google Maps button in print */
  .google-maps-button-container {
    display: none !important;
  }
}