/* Company colors #1BA2DD, #E5152E, #102D47*/



.listing-grid-separator {
    margin: auto;
    margin-top: 3vh;
    width: 50%;
    position: relative;
    overflow: hidden;
    height: 2vh;
  }
  
  .listing-grid-separator:after {
    content: '';
    display: block;
    margin: -25px auto 0;
    width: 100%;
    height: 25px;
    border-radius: 125px/12px;
    box-shadow: 0 0 8px #1BA2DDff;
  }

.price-mfb {
    font-size:x-large;
    font-weight: bolder;
    margin-left: auto;
    margin-right: auto;
    display: inline-block;
    padding: 1vh;
    margin-top: 2vh !important;
    background: #E5152E !important;
    color:#fff !important;
    backdrop-filter: blur(16px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
    border-radius: 20px !important;
    border: 0px !important;
}

.wp-block-mfb-meta-field-block.is-display-inline-block .suffix {
	margin-inline-start: 0  !important;
}

.wp-block-mfb-meta-field-block.is-display-inline-block .prefix {
	margin-inline-end: 0  !important;
}
/*Linktree button*/

.wp-container-content-f22b2ade {
	flex-basis: 430px !important;
}

:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-gravatar {
	background-color: #43E660;
	color: #fff;
}

.page-template-page-listings {
    background-color: #1BA2DD20 !important;
}

.custom-logo {
    padding: 2vh;
    background: rgba(255, 255, 255, 0.35) !important;
    backdrop-filter: blur(16px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
    border-radius: 20% !important;
    border: 0px !important;
    margin-bottom: 10px;
}

.blur-box,
.page-title,
.page-title-minus {
    padding: 2vh;
    background: rgba(255, 255, 255, 0.35) !important;
    backdrop-filter: blur(16px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
    border-radius: 20px !important;
    border: 0px !important;
}
.blur-box-footer{
padding: 2vh;
background: rgba(134, 134, 134, 0.35) !important;
backdrop-filter: blur(16px) saturate(180%) !important;
-webkit-backdrop-filter: blur(16px) saturate(180%) !important;
border-radius: 20px !important;
border: 0px !important;
}

.page-title {
    color:#102D47
}

.page-title-minus {
    font-size:2em;
    background: transparent !important;
}

.wpforms-container .wpforms-field-sublabel{
    display: none !important;
}

.wpforms-field-container, .wpforms-submit-container {
    margin: 2vh !important;
}

/* card block neutral formatting*/
.clickable-card-block-link{
    display: block;
    color: inherit;
    text-decoration: none;
}

.home-card{
    box-shadow:0 0px 10px;
}

.home-card:hover{
    box-shadow:0 0px 15px;
}

/* Allows navbar to overflow past the header's cover block*/
.wp-block-cover {
    overflow: visible;
}

.navbar {
    position: relative !important; /* or fixed if sticky */
    z-index: 9999 !important;
}

/* Target fixed background cover blocks */
.gogo-banner.wp-block-cover.has-parallax .wp-block-cover__image-background {
    background-size: 100% auto;       /* keep original image size */
}


/* Remove underline from footer links */
.footer-links a {
    text-decoration: none; /* remove underline */ 
    transition: color 0.3s ease;     /* keep the default color */
}

.footer-links {
    color: #ffffff;
    font-weight: 600;
}

/* Change color on hover */
.footer-links:hover a:hover {
    color: #E5152E;        /* your desired hover color */
    text-decoration: none; /* ensure underline doesn't appear on hover */
}

.wp-block-group.alignfull.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained{
    padding: 0 !important;
}

/*
Page title formatting
*/

/* ------------------------------
   Header Cover Block Fix
   ------------------------------ */

/* Target the inner group of the cover block */
.wp-block-cover .wp-block-group.alignwide {
    display: flex;
    flex-direction: column;       /* stack navbar and titles vertically */
    justify-content: flex-start !important; /* navbar stays at top */
    align-items: stretch;         /* make children full width */
    gap: 0 !important;            /* remove automatic spacing */
}

/* Remove extra spacing from page-title blocks */
.page-title {
     font-size: 2em !important; /* typical h1 size */
     font-weight: bold !important; /* h1 is usually bold */
     line-height: 1.1 !important;
     margin: 0em 0 !important; /* same as default h1 */
}

/* Ensure navbar has no unexpected margin or shift */
.wp-block-cover .wp-block-navigation {
    margin-bottom: 0;
    z-index: 10;                 /* stay above background */
}

/* Optional: keep titles centered below navbar */
.wp-block-cover .page-title {
    text-align: center;
}



/*
Listing block formatting
*/

.listing-grid {
    display: grid;
    gap: 1rem;
    padding-bottom: 1vh;
}

.listing-block {
    display: flex;
    flex-direction: column;
    justify-content: stretch;  /* centre verticalement */
    align-items: stretch;      /* centre horizontalement */
    text-align: center;       /* centre le texte */    /* hauteur constante pour toutes les cards */ /* your company color */
    border-radius: 17px; /* optional for slightly rounded corners */
    box-sizing: border-box; /* ensures padding doesn’t break border */
    overflow: hidden; /*           /* empêche le débordement du contenu */
    background: rgba(27, 163, 221, 0.3);
    box-shadow: 0 0px 5px rgba(27, 162, 221, .3);

}

/* ===========================================
   Subtle site-wide focus effect
   =========================================== */
   a:focus,
   button:focus,
   input:focus,
   textarea:focus,
   select:focus {
       outline: none; /* remove default outline */
       box-shadow: 0 0 0 3px rgba(22, 119, 164, 0.3); /* soft, subtle glow */
       border-radius: 6px; /* soft corners */
       transition: box-shadow 0.2s ease-in-out;
   }
   

/* Navigation bar shenanigans */
/* ===========================================
   NAVIGATION BAR - MAIN STRUCTURE
   =========================================== */
   @media (max-width:0px) {
    .custom-logo {
        display:none !important;
    }
}

   @media (min-width: 1040px) {
.wp-block-group.alignfull.is-vertical.is-content-justification-center.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-51f781cb.wp-block-group-is-layout-flex {
    padding-top: 130px;
}

.wp-block-cover {
    padding-bottom: 0px;
}


   header.wp-block-template-part nav.is-responsive {
    align-items: center;
    justify-content: space-between; /* logo left, search right */
    padding: 0 1vh;
}

/* LEFT: LOGO */
.wp-block-site-logo {
    flex: 0 0 auto; /* fixed size */
        position: absolute;
        top: 0rem;
        left: 3rem;
}

/* Container that holds the navigation when responsive */
.wp-block-navigation__responsive-container-content {
    position: absolute !important;
    top: -150px;
    right: 0;

    width: auto !important;
    max-width: max-content !important;

    padding-top: 10px;
    margin: 0;
    background: transparent !important;

    z-index: 50 !important; /* Only needs to be above header elements */
}



/* CENTER: NAV ITEMS */
ul.wp-block-navigation__container.is-responsive.items-justified-space-between.no-wrap.alignwide.wp-block-navigation {
    display: flex;
    flex-wrap: nowrap;
    justify-content: right; /* center group between logo and search */
    gap: .5vh;                /* fixed spacing between items */
    flex: 1 1 auto;          /* take remaining space */
    padding-left: 300px !important;
    margin-right: 8px !important;
}






/* RIGHT: SEARCH BAR */
.wp-block-search {
    flex: 0 0 auto; /* fixed size */
    margin-left: auto; /* push to right */
    max-width: 250px !important;
    min-width: 190px !important;
}

/* ===========================================
   TOP-LEVEL NAV ITEMS
   =========================================== */
.wp-block-navigation-item.has-child,
.wp-block-navigation-item.nav-text {
    position: relative;  /* needed for pseudo-element */
    flex: 0 0 auto;      /* prevent stretching */ /* space for arrow */
}

/* Top-level pseudo-element (background) */
.wp-block-navigation-item.nav-text::before,
.wp-block-navigation-item.has-child::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.95);
    border: 2px solid #102D47;
    z-index: -1;
    pointer-events: none;
}

/* Flat bottom corners when submenu is open */
.wp-block-navigation-item.has-child:hover::before,
.wp-block-navigation-item.has-child:focus-within::before {
    border-radius: 12px 12px 0 0;
    border-bottom: 0px;
    text-decoration: none !important;
}

/* Keep top-level link transparent so pseudo-element shows */
.nav-text > a.wp-block-navigation-item__content,
.wp-block-navigation-item.has-child > a.wp-block-navigation-item__content {
    background: transparent !important;
    padding: 0.6em 0.4em;
    display: flex;
    align-items: center;
}

/* Arrow icon */
.wp-block-navigation .wp-block-navigation__submenu-icon svg {
    translate: -6px;
    display: inline-block;
    stroke: #102D47;
    height: inherit;
    margin-top: 0.075em;
    width: inherit;
}

/* ===========================================
   DROPDOWN MENU (SUBMENU)
   =========================================== */
ul.wp-block-navigation__submenu-container {
    box-sizing: border-box; /* include borders in width */
    width: 100% !important; /* flush with parent */
    min-width: 100% !important;
    left: 0;
    translate: 1px !important; /* remove arbitrary shift */
    padding-bottom: 0.4em;
    color: inherit !important;

    background: rgba(255, 255, 255, 0.95) !important;

    border-radius: 12px;
    border-width: 2px !important;
    border-style: solid;
    border-color: #102D47 !important;
    border-top: 0px !important;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;

    margin: 0;
    z-index: 99;
    text-decoration: none !important;
}

/* ===========================================
   DROPDOWN MENU ITEMS
   =========================================== */
ul.wp-block-navigation__submenu-container li.wp-block-navigation-item {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

ul.wp-block-navigation__submenu-container a.wp-block-navigation-item__content {
    padding: 0.55em 1.2em !important;
    display: block;
    width: 100%;
}
   }
/* RESPONSIVE BELOW 1314px */
@media (max-width: 1460px) {
    ul.wp-block-navigation__container.is-responsive.items-justified-space-between.no-wrap.alignwide.wp-block-navigation {
        flex-wrap: wrap;
        justify-content: center; /* still center when wrapped */
        padding-left: 260px !important;
        position:relative;
        top: 0;
        left: 0;
    }
}

@media (max-width: 1470px) {
    ul.wp-block-navigation__container.is-responsive.items-justified-space-between.no-wrap.alignwide.wp-block-navigation {
        display: none;
        flex-wrap: wrap;
        justify-content: center; /* still center when wrapped */
        padding-left: 0px !important;
        position:relative;
        top: 0;
        left: 0;
    }
}

/* ===========================================
   LABEL COLORS
   =========================================== */
.wp-block-navigation-item__label {
    color: #102D47;
}




/*Card settings*/
.listing-block-title {
    display: flex;
    justify-content: center;  /* horizontal centering */
    align-items: center;      /* vertical centering */
    flex-direction: column;   /* ensures multiline text stays stacked */
    text-align: center;
    padding: 5px;
  
    font-family: 'Poppins', sans-serif;
    color: #102D47;
    font-weight: 900;
    font-size: clamp(15pt, 2.2vw, 15pt);

    /* Container always exactly 3 lines tall */
    --lh: 1.2;           
    --lines: 3;          
    line-height: var(--lh);
    min-height: calc(var(--lh) * var(--lines) * 1em);
    max-height: calc(var(--lh) * var(--lines) * 1em);

    /* Center text vertically */
    display: flex;
    align-items: center;      
    text-align: center;

    /* Overflow handling */
    overflow: visible;
}


.listing-grid {
    margin-left: 10vw ;
    margin-right: 10vw ;
    grid-template-columns: repeat(auto-fit, 230px);
}

.real-listing-grid {
    margin-bottom: 1vh;; 
}


.real-listing-grid:last-of-type .listing-grid-separator {
    display: none;
  }

.wp-block-navigation.alignwide {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 30vh;
    margin-right: 30vh;
  }



.listing-grid-title {
    background: rgba(27, 163, 221, 0.3);
    box-shadow: 0 0px 5px rgba(27, 162, 221, .3);
    padding-top: 2vh;
    padding-bottom: 1vh;
    padding-left: 2vh;
    padding-right: 2vh;
    border-radius: 20px !important;
    border: 0px !important;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width:min-content;
    text-align:center;
    align-items: center;
    margin-top: 0vh !important;
    margin-bottom: 2vh;
    font-size: larger;
    font-weight: bold;
}

  

.listing-block img {
    width: 100%;          /* fill the container width */
    aspect-ratio: 1 / 1;  /* force square */
    object-fit: cover;    /* crop image to fill square without distortion */
    display: block;       /* remove inline spacing */
    
}


.listing-block:hover {
    transform: translateY(-7px);
    box-shadow: 0 0px 25px rgba(27, 162, 221, 1);
    transition: 0.2s;
    border-radius: 16px;
    background: rgba(27, 162, 221, 0.6);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

}


@media (max-width: 600px) {

    /* The container that holds the listing blocks */
    .listing-grid {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;     /* enables side-to-side scroll */
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important; /* smooth mobile snapping */
        gap: 1rem !important;
        padding-bottom: 3rem !important;  /* avoids content touching edge */
        -webkit-overflow-scrolling: touch !important; /* iOS smooth scroll */
        height: auto !important; /* allow flexibility */
    }

    /* Each listing-card becomes a scrollable item */
    .listing-grid > * {
        flex: 0 0 auto !important;           /* prevents shrinking */
        width: 250px !important;              /* perfect mobile card size */
        max-width: 80vw !important;          /* limit */
        min-height: 45vw !important;         /* gives you your desired height */
        scroll-snap-align: start !important; /* card snaps into view */
    }

    /* Optional: hide the scrollbar but keep scrolling functionality */
    .listing-grid ::-webkit-scrollbar {
        display: none;
    }

    .listing-grid {
        margin-left: 1vw ; margin-right: 1vw ;
    }

    .listing-grid {
        padding-top: 3vh;
    }

    .listing-block:hover {
        overflow: visible;
        transform: none;
        background: rgba(27, 162, 221, 0.10);
    }

}
/* End of listing block formatting*/


/* Mobile menu */

.mobmenu-left-alignment.mobmenu-panel.mobmenu-left-panel.show-panel{
    border-radius: 0 20px 20px 0;
}

.groupe-invit{
    width:max-content;
}

.listing-page-cta{
    width:max-content;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    max-width:100%;
}

.gogo-button{
    padding: 1vh !important;
}

.checkbox{
    display:none;
}

.gogo-banner{
    padding: 2vh;
    background: #ff4e51 !important;
    backdrop-filter: blur(16px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
    border-radius: 20px !important;
    border: 0px !important;
}