/*
 Theme Name:   Toddly Child
 Theme URI:    http://example.com/twenty-fifteen-child/
 Description:  Toddly Child Theme
 Author:       John Doe
 Author URI:   http://example.com
 Template:     toddly
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
 Text Domain:  toddly-child
*/

:root {
}
/*-------- général --------*/
.border-radius-custom {
	border: 1px solid transparent;
  	border-radius: 20px;
	
}
/* bordure dashed supprimée */
.vs-about--story__tab .nav-tabs button.active, .vs-about--image__figure2, .vs-blog--style2 .vs-blog__inner, .vs-featureh3__icon::before {
    border: 1px solid transparent !important;
}
.vs-about--story__tab .nav-tabs button, .vs-list li, .vs-event-schedule .vs-event__txt-right p, .vs-about-h8 .vs-about-h8__text, .accordion .accordion-button, .vs-featureh5, ul.vs-list.style2 li, .vs-list li, .vs-title--right-text, .vs-feature.style2 .vs-feature__text, .vs-blog--style2 .vs-blog__desc, .vs-pricing--content-h7 .vs-pricing__list, .vs-featureh3__text {
    text-transform: none !important;
}
.main-menu > ul > li:hover > ul.sub-menu {

}
.sidemenu-wrapper p, footer p {
    color:#ffffff;
}

.feature-box-custom .vs-feature {
  position: relative;
  cursor: pointer;
}

.feature-box-custom .vs-feature a {
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
	align-items: center; 
	justify-content: flex-end;
  text-decoration: none;
  color: #fff;
}

.feature-box-custom .vs-feature a i {
  padding-right: 60px;
}


/*-------- menu --------*/
.main-menu .weglot-lang ul.sub-menu li a::before {
    content-visibility: hidden;
}

/* menu mobile */
.vs-menu-toggle.style2 {
    background-color: var(--bs-white) !important;
    color: var(--vs-theme-color1) !important;
    width: 155px !important;
    font-weight: 800;
}
/*-------- déco --------*/
.vs-balls {
    height: 8px !important;
}

.category-custom-link {
    width: auto;
    height: auto;
    transition: all ease 0.4s;
    margin: 5px;
}

.category-custom-link:hover {
    background-color: var(--vs-white-color);
}

/* social header */
.vs-header__top .social-style a {
    background-color: rgb(98, 180, 228);
    border: none;
}
.vs-header__top .social-style a svg {
    fill: #fff;
    height: 20px;
}

/* ombre légère sous le H1 du hero*/
.breadcrumb-wrapper__title {
    text-shadow: 0px 2px 6px rgba(0, 0, 0, 0.5);
}

.breadcrumb-wrapper__menu {
    text-shadow: 0px 1px 3px rgba(0, 0, 0, 1);
}

/* enlève les antennes*/
.vs-feature__top {
    display: none;
}

/* redimensionne les hero par le haut*/
.breadcrumb-wrapper.background-image {
    background-position: top center;
}



/* -------- Page accueil --------*/
.accueil-section-video video {
    margin: 0 0 1px 0;
}
.titre-accueil {
    text-align: center;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

.elementor-background-slideshow__slide__image {
    background-repeat: no-repeat;
}

.titre-accueil .elementor-heading-title.elementor-size-default {
    animation-name: slideinleft;
    animation-fill-mode: both;
    opacity: 1;
    animation-duration: 1s;
    font-size: clamp(3.438rem, 2.642rem + 3.98vw, 5.625rem);
    margin: 0 0 15px 0;
    line-height: 1;
    text-transform: capitalize;
    color: var(--vs-white-color);
}

.bouton-accueil.vs-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    text-transform: uppercase;
    text-align: center;
    background-color: var(--vs-theme-color2);
    color: var(--vs-white-color);
    font-family: var(--vs-title-font);
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
    padding: 18.5px 36px;
    z-index: 1;
    overflow: hidden;
    letter-spacing: 0.5px;
    border-radius: 50px;
}

.elementor-element-ff9bf31 .bouton-accueil.vs-btn {
    background-color: var(--vs-theme-color1);
}

.elementor-element-ff9bf31 .vs-btn::after, .vs-btn::before {
    background: var(--vs-theme-color2);
}

.space-accueil {
    background-color: var(--vs-theme-color2);
}

.accueil-tabs .e-n-tab-title {
    border-radius: 10px 10px 0px 0px !important;
}

.accueil-tabs .e-n-tab-title-text h2 {
    color: var(--vs-white-color);
    font-size: clamp(1.5rem, 2vw + 0.25rem, 2.5rem);
    line-height: 1.3;
	margin-bottom: 0;
}

.accueil-tabs .elementor-widget-text-editor {
    font-size: 18px;
    font-weight: 700;
    font-family: var(--vs-title-font);
}

.accueil-tabs .elementor-element-9010945 .elementor-widget-text-editor {
    font-weight: normal !important;
}

.accueil-tabs .elementor-widget-text-editor span {
    font-size: 32px;
}

.accueil-tabs .elementor-widget-n-tabs .e-n-tabs-heading {
    justify-content: unset;
}

.accueil-tabs .elementor-widget-n-tabs {
    --n-tabs-gap: 0;
}

.accueil-tabs .elementor-widget-n-tabs #e-n-tab-title-995096591 {
    background-color: var(--vs-theme-color1);
    background-image: none;
}

.accueil-tabs .elementor-widget-n-tabs #e-n-tab-title-995096592 {
    background-color: var(--vs-theme-color2);
    background-image: none;
}

.accueil-tabs .elementor-widget-n-tabs #e-n-tab-title-995096593 {
    background-color: var(--vs-theme-color3);
    background-image: none;
}

.accueil-tabs .e-n-tabs-content {
}

.accueil-tabs .e-n-tabs-content #e-n-tab-content-995096591 {
    background-color: var(--vs-theme-color1) !important;
}

.accueil-tabs .e-n-tabs-content #e-n-tab-content-995096592 {
    background-color: var(--vs-theme-color2) !important;
}

.accueil-tabs .e-n-tabs-content #e-n-tab-content-995096593 {
    background-color: var(--vs-theme-color3) !important;
}

.accueil-tabs .elementor-widget-n-tabs .e-n-tab-title {
    color: #fff !important;
}

.accueil-tabs .vs-countdown__overlay {
    margin: 0;
    color: var(--e-global-color-toddly_opt_light_color);
    border-radius: 0 0 10px 10px;
}

.elementor-element-4102290 {
    text-align: center;
}

.accueil-tabs .e-div-block-base.elementor-element-4102290 {

}
.accueil-tabs {
    animation: accueilFadeIn 3.5s ease-in forwards !important;
}

@keyframes accueilFadeIn {
    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/*.accueil-tabs {
    animation: accueilSlideUp 1.8s ease forwards !important;
}

@keyframes accueilSlideUp {
    from {
        opacity: 0;
        transform: translateY(150px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
*/
.vs-about--image__ele1, .vs-about--image__ele2 {
    min-width: 150px;
}

.vs-about--image__ele3 {
    background-color: #ffcc00 !important;
}

.elementor-element-0670717.e-div-block-base {
    min-width: 100% !important;
}


.elementor-element-d413b97 .accueil-tableau-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 35px auto;
	align-items: stretch;
}

.elementor-element-d413b97 .accueil-tableau {
	display: contents;
}

.elementor-element-d413b97 .accueil-tableau-container .col {
	padding: 12px 15px;
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content:center;
	min-height: 52px;
}

.elementor-element-d413b97 .accueil-tableau .col:first-child {
font-weight: 600;
  padding: 12px 0;
  color: #000;
  text-align: right
}

.elementor-element-d413b97 .accueil-tableau .col:last-child {
font-weight: 600;
  text-align: center;
  color: #003d8f;
  border-right: none;
}

.accueil-tableau:last-child .col {
  border-bottom: none;
}

.elementor-element-a6f450c h3 {
	margin-bottom:45px;
}

.elementor-element-a6f450c p:last-child {
	margin-top: 45px;
}


.elementor-element-d3c6ae6 img, .elementor-element-70063c8 img {
    border: solid 1px #fff !important;
    border-radius: 5px !important;
}

.sejour-accueil .vs-btn {
	padding: 10px 36px;
}

.vs-about--yoe__text{
	padding-right: 150px !important;
}

#myTab-3e9fa5e {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px 30px;
  padding: 0;
  list-style: none;
}
.vs-about--story__tab .nav-tabs button {
	width: 100%;
	border: none;
	background-color: rgba(0, 0, 0, 0.15);
	color: #555;
	box-shadow: inset 0px 0px 6px rgba(0, 0, 0, 0.2);
}

#myTabContent-3e9fa5e .vs-list li::before {
	content: "\f058";
}

.elementor-element-e173ebb .vs-event-schedule .vs-event__button .nav-link.active span.days {
	margin-bottom: 0;
}

.vs-event-schedule.z-index-common {
	padding-bottom: 20px;
}

.vs-event-schedule.z-index-common .fa-location-dot::before{
	content: "\f073";
}



/* --------Page Toutes les attractions --------*/

.vs-event__content .vs-event__user,
.vs-event__btn::before {
    display: none;
}

.elementor.elementor-2748 {
    background-color: #e9f6f9;
}

.elementor.elementor-2748 .row {
    --bs-gutter-x: 0;
}

.vs-masonry--content .vs-masonry__teacher {
    flex-direction: row-reverse;
}

.elementor-2748 .vs-masonry--content .vs-masonry__rating a.category {
    width: auto;
    padding: 0 20px;
    text-transform: initial;
}

.elementor-2748 .fa-file-lines::before {
    content: "\f251";
}

.elementor-2748 .vs-masonry--content .vs-masonry__price {
    width: auto;
    height: 40px;
    font-size: 20px;
}

.icon-AdultChild {
    content: url('/wp-content/uploads/2026/08/Icon-Accompagne2.png');
    display: inline-block;
    width: 20px !important;
    height: 20px !important;
    vertical-align: middle;
    margin: 0;
}

.grands .vs-masonry--content .vs-masonry__rating {
    background-color: #ffbfbd;
}

.petits .vs-masonry--content .vs-masonry__rating {
    background-color: #d1e687;
}

.spectacles .vs-masonry--content .vs-masonry__rating {
    background-color: #e688e8;
}

.elementor-2748 .vs-masonry--content .vs-masonry__rating {
    width: fit-content;
    padding: 0 20px;
	font-size: 0.9em;
    text-transform: initial;
	margin: 10px 0px 20px;
    display: block;
    height: 25px;
    border-radius: 20px;
    color: var(--vs-title-color);
    text-align: center;
    line-height: 25px;
    font-weight: 600;
}

.elementor.elementor-2748 .vs-masonry__divider {
	margin-top : 2px;
}

.elementor.elementor-2748 .vs-masonry__features {
	height: 25px;
	font-size: 13px;
	font-weight: 600;
	color: #62b4e4;
	justify-content: start;
    gap: 10px;
}

.elementor.elementor-2748 .vs-masonry__features li {
	display: flex;
	align-items: end;
	line-height: 1em;
}

.elementor.elementor-2748 .vs-masonry__features li i {
	color: #62b4e4 !important; 
	font-size: 20px;
	margin-right: 5px;
	margin-left: 0;
}

.elementor.elementor-2748 .vs-masonry__features li i.icon-AdultChild {
	fill: #62b4e4 !important; 
	height: 20px !important;
	width: 18px !important;
}

.elementor.elementor-2748 .vs-masonry__features li i.fa-person-arrow-up-from-line {
	content: url('/wp-content/uploads/2026/08/picto-person_maxi.png');
	height: 20px !important;
	width: 20px !important;
}

.elementor.elementor-2748 .vs-masonry__features li i.person-circle-minus {
	content: url('/wp-content/uploads/2026/08/picto-person-minus.png');
	height: 20px !important;
	width: 21px !important;
}

/* -------- Page Attraction Single -------- */

.vs-blog__meta--link {
	display: flex !important;
	text-transform: initial !important;
}




.single-attraction ul {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

.single-attraction ul li {
  position: relative;
  padding-left: 30px;
  line-height: 1.5;
}

.single-attraction ul li::before {
  content: "";
  position: absolute;
  left: 0;                 /* Position horizontale */
  top: 2px;                /* Ajuste selon ta hauteur de ligne */
  width: 20px;             /* Largeur de l'image */
  height: 20px;            /* Hauteur de l'image */
  background-image: url('/wp-content/uploads/2026/08/Cloche_Prix2.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.attraction-navigation .nav-prev-1, .events-restaurants .nav-prev-1 {
    left: 0px;
    font-weight: bold;
}

.attraction-navigation .nav-next-2, .events-restaurants .nav-next-2 {
    right: 0px;
    font-weight: bold;
}

.nav-prev-1::after, .nav-next-2::after, .nav-prev-1, .nav-next-2 {
    display: block !important;
}




/* -------- Page Events Blog Restaurant --------*/
.blog-restaurant .vs-event__figure--img.wp-post-image {
  max-width: 376px;
}
/* -------- Page Events single --------*/
.events-restaurants .elementor-post__card {
    border-radius: 15px;
    padding: 35px 27px;
}

/* -------- Services visiteurs --------*/
#parkings .vs-event .vs-time__features,
#parkings .vs-event__user,
#parkings .vs-event__btn::before {
    display: none;
}

#parkings .vs-event__figure {
	text-align: center;
}





/* -------- Page blog cigognes et animaux --------*/

/* 
.blog-post-cigognes-et-animaux {
    background-image: url("/wp-content/uploads/2026/06/class-bg.png");
    padding: 0 0 50px;
} */

.blog-post-cigognes-et-animaux .vs-title {
    margin-bottom: 0;
    margin-top: 30px;
}
.elementor-element-398db68 {
    margin-bottom: 20px;
}

.elementor-element-398db68 .vs-class::before {
    background-color: #4d593c;
}

.class_category-cigognes-et-animaux .elementor-post__card {
    overflow: unset;
    min-height: unset !important;
}

.class_category-cigognes-et-animaux .vs-class {
    border: 1.5px dashed rgba(var(--vs-title-color-rgb), 0.4) !important;
    border-radius: 21px !important;
}

.class_category-cigognes-et-animaux .vs-class__text {
    text-transform: initial;
}

.class_category-cigognes-et-animaux .vs-class__icon--color3 {
    background-color: var(--vs-white-color);
}

.class_category-cigognes-et-animaux .vs-class__icon {
    border: 3px solid rgb(0, 61, 143);
}

.class_category-cigognes-et-animaux .vs-class__icon--color3 img {
    height: 36px;
}

.single-cigognes-et-animaux-img.elementor-widget-theme-post-featured-image img {
    border-radius: 16px 16px 16px 16px;
}

.elementor-element-8373b26 .feedback-block__icon--quote {
	border: none;
}

.feature-box-custom a {
    color: var(--vs-white-color);
    font-weight: bold;
}

.feature-box-custom a:hover {
    color: var(--vs-theme-color2);
    font-weight: bold;
}

.feature-box-custom-2 a {
    color: var(--vs-white-color);
    font-weight: bold;
}

.feature-box-custom-2 a:hover {
    color: var(--vs-theme-color2);
    font-weight: bold;
}

.feature-box-custom .vs-feature__content {
    display: flex;
    flex: 1;
}

.feature-box-custom .vs-feature__text {
    margin-left: auto;
}

.feature-box-custom .vs-feature__title {
    text-transform: uppercase;
}

.event-acceuil .row {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.event-acceuil .row > div {
    float: none;
}

.accueil-svg-selecteur svg {
    min-height: 190px;
}

.accueil-svg-selecteur .elementor-shape-top {
    background-color: #ffffff;
}

.accueil .wpsbc-container .wpsbc-tooltip-corner {
    border-color: transparent;
}

.column-count-2 {
    gap: 20px;
}

.column-count-2 li{
    width: 85%;
}

@media (max-width: 991px) {
    .column-count-2 li{
        width: 100%;
    }
}

/* single cigogne et animaux */

.single-cigognes-et-animaux {
    visibility: visible;
    animation-delay: 0.65s;
    animation-name: fadeInUp;
}






/* Calendrier */
.wpsbc-legend .wpsbc-legend-item-name {
    font-size: unset !important;
}

.wpsbc-calendars-wrapper.wpsbc-legend-position-side {
    padding-right: 350px !important;
    margin: 0 auto;
}

.wpsbc-calendars-wrapper.wpsbc-legend-position-side .wpsbc-legend {
    margin-top: 92px;
    width: initial;
}

.wpsbc-calendars-wrapper.wpsbc-legend-position-side {
    width: 560px;
}

.wpsbc-legend {
    padding: 30px;
    background-color: #ffffff80;
}

/* -------- Séjourner -------- */
.sejourner-activities .vs-room {
    border: none;
    background-color: white !important;
    padding: 0;
}
.sejourner-activities .vs-room img {
    border-radius: 20px;
}
.elementor-element-4e1ca84 .space-extra-bottom {
	padding-bottom: 0;
}

.sejourner-activities .vs-room__ele2 {
	z-index:10;
}

/* -------- tarifs-------- */

.pricing-icons {
    display: flex;
    justify-content: space-between;
    gap: 0px;
    margin: 0 10px;
}

.vs-pricing .vs-pricing__icon span {
    font-size: 20px !important;
}

.pricing-icons .vs-pricing__icon {
    flex: 1;
}

.vs-pricing h4 {
    text-transform: none;
}

.vs-pricing__icon,
.vs-pricing-second__icon {
    margin-left: 0;
    margin-right: 0;
}
.price-label {
    width: 100%;
    height: 100%;
}

.price-label .arc-text {
    font-family: "Montserrat", "Arial", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.8px;
    fill: #ffffff;
}
/*.elementor-widget-toddly-ticket-pricing-custom .vs-pricing h4, .elementor-widget-toddly-ticket-pricing-custom .vs-pricing__icon, .elementor-widget-toddly-ticket-pricing-custom .vs-pricing__bg-shape {
    background-color: var(--vs-theme-color1) !important;
}*/

.elementor-widget-toddly-ticket-pricing-custom .vs-pricing-second__icon {
    background-color: var(--vs-theme-color1) !important;
}
.vs-pricing .vs-pricing__content ul li {
    margin: 0 3px;
    text-transform: none;
}
.vs-about--content .vs-room {
    display: none;
}
.vs-about--image2::before {
    background-color: var(--vs-theme-color1) !important;
}

/* pour les textes arrondis au dessus des prix */
.vs-pricing__icon {
    position: relative;
}

.price-label {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
    top: 5px;
}

.price-label text {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    fill: #fff;
}
/* -------- Page Aux alentours -------- */
.elementor-3793 .vs-blog__heading,
.elementor-3793 p.vs-blog__desc,
.elementor-3793 .vs-blog__link {
    text-transform: initial;
}

.elementor-3793 .vs-middle-title__text {
	font-size: 2em;
}

/* -------- Page Groupes -------- */
.elementor-element-224a23e .vs-pricing__button {
    display: none;
}

.elementor-element-224a23e .vs-carousel {
	justify-content: center;
}
.elementor-element-224a23e section {
	padding-top: 60px ;
}

.elementor-element-fa15bd5 {
	padding-top: 60px !important;
}

.elementor-element-fa15bd5 .vs-title {
	margin-bottom: 0px;
}

.elementor-element-224a23e .text-center {
	flex-direction: column;
}

.elementor-element-224a23e .vs-pricing--content-h7::before {
	
	background-color: var(--vs-theme-color2);
}

.elementor-element-224a23e .vs-pricing--content-h7::after {
	background-color: var(--vs-theme-color4);
}


/* -------- Page CSE -------- */
.elementor-element-0b91b3c .mt-5 {
    text-align: center;
}


/* -------- Page Toute la Restauration -------- */
.elementor-element-25a48ea .vs-time__features {
    display: none;
}


/* -------- Page single Restauration -------- */
.elementor-6811 .elementor-element.elementor-element-6919d38 .elementor-post__card {
    padding-bottom: 0;
}

/* -------- Page Contact -------- */
.elementor-3875 .e-font-icon-svg {
    width: 35px;
    fill: white;
}

.elementor-3875 .social-style.style2 {
	display: flex;
	padding-top: 0;
}

.elementor-3875 .social-style.style2 a {
    height: 50px;
}

.elementor-3875 .social-style.style2 a svg{
    fill: #3498db;
	width: 30px;
  height: 30px;
}
/* -------- Page Recrutement  -------- */
.candidature .vs-title__main {
	color: #fff;
}

/* -------- Page Presse  -------- */
.telechargement_rapide .vs-information__border,
.telechargement_rapide .vs-information__border::after {
	border: none;
}
.telechargement_rapide .vs-information--content .vs-information__icon {
	border: none;
	align-self: start;
    overflow: hidden; /* Cache ce qui dépasse */
	border-radius: 7px;
}

.telechargement_rapide .vs-information--content .vs-information__txt {
	border: none;
	align-self: center;
}

.telechargement_rapide .vs-information--content {
    position: relative;
    cursor: pointer;
	background-color: #62b4e4;
	border-radius: 12px;
	padding: 5px;
	transition: transform 0.25s ease-out,
    background-color 0.25s ease-out,
    color 0.25s ease-out;
    will-change: transform;
    backface-visibility: hidden;
}
.telechargement_rapide .vs-information--content:hover {

    background-color: #003d8f;
}

.telechargement_rapide .vs-information--content a p{
	color: #fff;
}

.telechargement_rapide .vs-information--content a::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.telechargement_rapide .vs-information__icon img {
    max-width: 100%;
    height: auto;
    display: block;
}

.elementor-element.elementor-widget-call-to-action:hover .elementor-cta__button {
	background-color: #003D8F;
}

.medias-hd .elementor-cta__title,
.medias-hd .elementor-cta__description {
	text-shadow: 0px 2px 6px rgba(0, 0, 0, 0.5);
}


/* ================================= */
/*-------- Footer Newsletter --------*/
.newsletter-form {
    font-family: "Baloo 2", Sans-serif;
    font-weight: 700;
    text-transform: initial;
    color: #FFFFFF;
    margin-top: 1em;
}

.newsletter-form .wpcf7-list-item {
    display: flex;
    flex-direction: row;
    margin: .7em 0 0;
    padding: 0;
}

.newsletter-form h3 {
    color: var(--vs-white-color);
    font-size: 21px;
    position: relative;
    padding: 0;
    margin-bottom: 0;
}

.elementor-element-289b6bc .icon-call {
    margin-bottom: .7em;
}

.newsletter-form input[type="email"].wpcf7-form-control {
    height: 30px;
    padding-left: 0.5em;
    padding-bottom: 0.3em;
    margin: 0.6em 0 0;
}

.newsletter-form input[type="checkbox"] {
    margin-left: .4em;
}

.wpcf7-form-control .wpcf7-list-item-label {
    display: inline-block;
    line-height: 1em;
    padding-left: .7em;
    font-size: 1em;
    color: #ddd;
    font-weight: normal;
    text-transform: initial;
}

footer .icon-call__number {
    color: var(--vs-white-color);
    font-size: 15px;
    font-weight: initial;
    padding-left: 0.6em;
}

.newsletter-form .vs-btn.wpcf7-submit {
    font-size: 14px;
    font-weight: 700;
    padding: 8px 26px 7px;
    margin-top: 0.9em;
}

.vs-btn.wpcf7-submit .vs-btn__border {
    border-width: 2px;
    top: 3px;
    left: 3px;
    right: 3px;
    bottom: 3px;
}

.wpcf7-not-valid-tip {
    display: block;
    color: #f88;
    font-size: 0.9em;
    font-weight: normal;
    line-height: 1.2em;
    padding-left: 2.1em;
}

#wpcf7-f2084-o1 form.wpcf7-form.invalid .wpcf7-response-output {
    border-color: #f88;
    border-radius: 10px;
    color: #fff;
    margin: 1em 0 0;
    background-color: #503b4c;
}

footer .wpcf7 form .wpcf7-response-output {
    color: #fff !important;
}

/* ====================================== */
/* Calendrier WP Single Booking Calendar */
/* ====================================== */

@font-face {
    font-family: 'Bubblegum Sans';
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.gstatic.com/s/bubblegumsans/v22/AYCSpXb_Z9EORv1M5QTjEzMEteaOxIL_bw.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
    font-family: 'Bubblegum Sans';
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.gstatic.com/s/bubblegumsans/v22/AYCSpXb_Z9EORv1M5QTjEzMEteaAxII.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/*--------------------------------------*/
.wpsbc-calendars-wrapper.wpsbc-legend-position-side .wpsbc-legend .wpsbc-legend-item {
    display: flex;
	align-items: center;
}

.wpsbc-legend .wpsbc-legend-item-icon {
    flex-shrink: 0;
    border-radius: 50%;
}

.wpsbc-container.wpsbc-calendar-2 .wpsbc-legend-item-10 .wpsbc-date-number {
    color: #000 !important;
}

.wpsbc-container.wpsbc-calendar-2 .wpsbc-legend-item-10 .wpsbc-date-number::after {
    content: '';
    position: absolute;
    top: 38px;
    right: 10%;
    width: 25px;
    height: 22px;
    background-image: url('/wp-content/uploads/2026/06/pumpkin_halloween.png');
    background-size: cover;
    background-position: center;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.wpsbc-container .wpsbc-calendars .wpsbc-calendar {
    background: #fff8;
}

.wpsbc-legend .wpsbc-legend-item .wpsbc-legend-item-icon.wpsbc-legend-item-icon-10 .wpsbc-legend-item-icon-color {
    background-image: url('/wp-content/uploads/2026/06/pumpkin_halloween.png') !important;
    background-size: cover !important;
    background-color: transparent !important;
}

.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-calendar-header-navigation .wpsbc-prev .wpsbc-arrow {
    left: 40%;
    margin-left: -5px;
    border-width: 8px 14px 8px 0;
    border-color: transparent #003d8f transparent transparent;
    top: 43%;
}

.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-calendar-header-navigation .wpsbc-next .wpsbc-arrow {
    right: 40%;
    margin-right: -5px;
    border-width: 8px 0 8px 14px;
    border-color: transparent transparent transparent #003d8f;
    top: 43%;
}

/* pastilles pour dates actives*/
.wpsbc-calendars .wpsbc-legend-item-icon {
    aspect-ratio: 1;
    border-radius: 50%;
    transform: scale(60%, 60%);
}

/* pastilles pour dates muettes*/
.wpsbc-container .wpsbc-calendars .wpsbc-calendar table tr td .wpsbc-date.wpsbc-gap {
    background: #f0f0f0;
    aspect-ratio: 1;
    border-radius: 50%;
    transform: scale(30%, 30%);
}

/* largeur du calendrier */
.wpsbc-calendar {
    max-width: 520px !important;
}

/*---------------------------*/
.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header {
    text-align: center;
    padding: 010px;
    background: #003d8f;
    height: 100%;
    border-radius: 10px 10px 0 0
}

/* boutons ronds */
.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-calendar-header-navigation .wpsbc-next, .wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-calendar-header-navigation .wpsbc-prev {
    position: absolute;
    display: block;
    top: 0%;
    height: 41px;
    width: 41px;
    line-height: 26px;
    margin-top: 0;
    text-decoration: none;
    border: 0;
    box-shadow: none;
    color: #003d8f;
    background: #b0e0ff;
    border-radius: 50%;
}

.wpsbc-container.wpsbc-calendar-2 .wpsbc-date-today .wpsbc-legend-item-icon {
    border: 0;
    outline: 3px solid rgba(3, 102, 140, 0.9);
    outline-offset: 7px;
}

/* typo et couleurs des pastilles */
.wpsbc-date-number {
    font-family: 'Bubblegum Sans', cursive;
    font-size: 21px !important;
}

.wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-1 div:first-of-type {
    background-color: #85d83e !important;
}

.wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-2 div:first-of-type {
    background-color: #f9530b !important;
}

.wpsbc-container.wpsbc-calendar-1 .wpsbc-legend-item-icon-3 div:first-of-type {
    background-color: #eee !important;
    color: #fff !important;
}

/* select fond couleur */
.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-calendar-header-navigation {
    padding: 0px 60px;
}

/* select */
.wpsbc-container .wpsbc-calendars .wpsbc-calendar .wpsbc-calendar-header .wpsbc-select-container select {
    border: 0;
    width: 100%;
    height: 41px;
    line-height: 26px;
    margin: 0;
    padding: 0 10px;
    font-size: 22px;
    box-sizing: border-box !important;
    background-color: #003d8f;
    color: white;
    text-align: center;
    font-family: 'Bubblegum Sans', cursive;
}

/* -------- Fin Calendrier WP SBC --------*/
/* -------------------------------------- */



/* ======================================= */
/* -----------form Devis-Groupes---------- */
/* ======================================= */

#wpforms-form-5124 {
    --wpforms-field-size-input-spacing: 5px;
    --wpforms-field-size-input-height: 40px;
    --wpforms-field-size-font-size: 16px;
    --wpforms-field-size-line-height: 19px;
}

#wpforms-form-5124 .wpforms-head-container .wpforms-title {
    font-family: var(--vs-title-font);
    font-size: 29px;
    font-weight: 700;
    margin: 0 0 10px 0;
}

#wpforms-form-5124 .wpforms-head-container .wpforms-description {
    font-family: var(--vs-body-font);
    font-weight: 400;
}

#wpforms-form-5124 .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress-wrap {
    height: 7px;
}

/*---------------*/
/*--- étape1 ----*/
/*---------------*/
#wpforms-5124-field_117-container {
    padding: 0;
}

#wpforms-form-5124 .progress {
    display: initial;
}

/* Tous les champs de la mise en page */
#wpforms-5124-field_6-container .wpforms-field {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: flex-start;
}

/* Label sur la même ligne que le champ */
#wpforms-5124-field_6-container .wpforms-field > .wpforms-field-label {
    display: inline-block;
    margin: 0 10px 0 0;
    white-space: nowrap;
    flex: none;
}

/* Largeur des champs numériques */
#wpforms-form-5124 input[type="number"] {
    width: 100px;
    padding: 0;
    text-align: center;
}

/* Les descriptions passent à la ligne */
#wpforms-5124-field_6-container .wpforms-field-description {
    flex: 0 0 100%;
    margin-top: 6px;
    font-size: 0.8em;
}

/* Les colonnes sont alignées en haut */
#wpforms-5124-field_6-container .wpforms-layout-column {
    align-self: flex-start;
}

/*---------------*/
/*--- étape2 ----*/
/*---------------*/

/*****************************************************************
 ZONES DE CARTES (2 par ligne sur ordinateur) */
#wpforms-5124 .restauration-zone-box,
#wpforms-5124 .restauration-zone-menu {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

/*****************************************************************
 CARTES */
#wpforms-5124 .restauration-box,
#wpforms-5124 .restauration-menu,
#wpforms-5124 .restauration-gouter {
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 20px 20px 0;
    margin-bottom: 20px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
    display: flex;
    flex-direction: column;
}

/* La carte Goûter est indépendante : pas dans la grille des menus,
   mais elle garde la même largeur qu'une carte de la grille (50% - la moitié du gap) */
#wpforms-5124 .restauration-gouter {
    width: calc(50% - 10px);
    margin-bottom: 25px;
}

/* Tous les champs à l'intérieur d'une carte : pas de marge basse */
#wpforms-5124 .restauration-box .wpforms-field,
#wpforms-5124 .restauration-menu .wpforms-field,
#wpforms-5124 .restauration-gouter .wpforms-field {
    margin: 0;
    padding: 0
}

/*****************************************************************
 DESCRIPTION HTML (en-tête, prix, détails) */
#wpforms-5124 .restauration-card {
    margin-bottom: 15px;
    padding-top: 0;
    padding-top: 0;
}

#wpforms-5124 .restauration-card p {
    font-style: italic;
    font-size: .875em;
}

#wpforms-5124 .restauration-entete {
    display: flex;
    justify-content: start;
    align-items: baseline;
    gap: 15px;
    width: 100%;
    overflow: hidden;
}

#wpforms-5124 .restauration-entete h4 {
    margin: 0;
    font-size: 25px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; /* points de suspension si texte tronqué */
    flex-shrink: 1; /* Empêche le h4 de rétrécir */
}

#wpforms-5124 .restauration-prix {
    margin-left: auto; /* Pousse le span à droite */
    flex-shrink: 0; /* Empêche le span de rétrécir */
    font-weight: normal;
    white-space: nowrap;
    font-size: 1.5em;
    color: dimgray;
}

/* détails*/
#wpforms-5124 .restauration-card details {
    margin-top: 0px;
}

#wpforms-5124 .restauration-card summary {
    cursor: pointer;
    font-weight: normal;
    font-size: 15px;
    color: cornflowerblue;
}

#wpforms-5124 .restauration-card ul {
    background: #deeaff;
    margin-left: 15px;
    padding: 10px 30px 10px 15px !important;
    display: inline-block;
    margin-bottom: 0 !important;
}

#wpforms-5124 .restauration-card ul, #wpforms-5124 .restauration-card ul li {
    list-style-type: none !important;
    margin-bottom: 5px !important;
}

#wpforms-5124 .restauration-ligne-produits {
    margin-bottom: 20px;
}


/*****************************************************************
 TITRE "NOMBRE DE BOX" (champs 147 / 149) */
#wpforms-5124-field_147-container,
#wpforms-5124-field_149-container {
    margin-top: 5px;
}

#wpforms-5124-field_147-container p,
#wpforms-5124-field_149-container p {
    font-weight: normal;
    margin-bottom: 0;
}

/*****************************************************************
 LIGNE PRODUITS EN 3 COLONNES (Poulet / Jambon / Thon)
 Cible générique via la classe ajoutée par le JS */
#wpforms-5124 .restauration-ligne-produits .wpforms-layout-row {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

#wpforms-5124 .restauration-ligne-produits .wpforms-layout-column {
    flex: 1;
}

#wpforms-5124 .restauration-ligne-produits .wpforms-field {
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 10px;
    margin-bottom: 0;
}

#wpforms-5124 .restauration-ligne-produits .wpforms-field-label {
    margin: 0;
    white-space: nowrap;
}

#wpforms-5124 .restauration-ligne-produits input[type="number"] {
    width: 80px;
}

/*****************************************************************
 CHAMP QUANTITÉ ISOLÉ (menus spaghetti - champs 158 / 160)
 Label centré verticalement par rapport à l'input */
#wpforms-5124 .restauration-champ-quantite {
    display: flex;
    align-items: center;
    gap: 8px;
}

#wpforms-5124 .restauration-champ-quantite .wpforms-field-label {
    margin: 0;
    white-space: nowrap;
}

#wpforms-5124 .restauration-champ-quantite input[type="number"] {
    width: 70px;
}

/*****************************************************************
 TOTAUX (par produit) */
#wpforms-5124 .restauration-total {
    margin: 15px 0;
    padding: 0;
    border-top: 0 solid #eee;
    font-weight: bold;
    font-size: 1.1em;
    background-color: aliceblue;
    line-height: 2.2em;
    text-align: center;
}

/*****************************************************************
 TOTAL RESTAURATION GLOBAL (#total-restauration) */
#total-restauration {
    margin-top: 10px;
    font-weight: bold;
    color: black;
    border-top: 1px solid lightgray;
    padding-top: 25px;
}

/*****************************************************************
 TOTAL GENERAL RESTAURATION (champ 165) */
#wpforms-5124-field_165-container {
    margin-top: 0;
}

#wpforms-5124-field_165-container .restauration-total {
    font-size: 1.2rem;
    font-weight: bold;
    border-top: 2px solid #999;
    padding-top: 15px;
}


/*****************************************************************
 RECAPITULATIF (étape 4) */

#wpforms-5124 .recap-general {
    font-size: var(--wpforms-label-size-font-size);
}

#wpforms-5124 .recap-general h3 {
    margin: 0 0 15px;
}

/* 2 blocs côte à côte, empilés en dessous de 768px */
#wpforms-5124 .recap-colonnes {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-end;
    margin-bottom: 20px;
    width: 500px;
}

#wpforms-5124 .recap-bloc {
    flex: 1 1 auto;
    display: grid;
    grid-template-columns: 10fr 3fr;
    row-gap: 6px;
    align-items: end;
    width: 100%;

}

#wpforms-5124 .recap-ligne-label {
    color: #444;
    text-align: right;
    padding-right: 20px;
    padding-left: 50px;
}

#wpforms-5124 .recap-ligne-montant {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    padding-right: 20px;
}

#wpforms-5124 .recap-detail-ingredients {
    font-size: 0.85em;
    color: #777;
}

#wpforms-5124 .recap-ligne-total-label,
#wpforms-5124 .recap-ligne-total-montant {
    font-weight: bold;
    padding-top: 8px;
    margin-top: 4px;
    text-align: right;
    color: var(--vs-body-color);
}

#wpforms-5124 .recap-ligne-total-label {
    padding-right: 20px;
    padding-left: 50px;
}

#wpforms-5124 .recap-ligne-total-montant {
    padding-right: 20px;
    white-space: nowrap;
}

#wpforms-5124 .recap-titre {
    padding: 0 0 5px 20px;
    font-weight: bolder;
    text-transform: capitalize;
    border-bottom: 1px solid #bbb;
    margin-bottom: 10px;
}

#wpforms-5124 .recap-modifier {
    grid-column: 1 / -1;
    justify-self: end;
    margin-top: 10px;
    padding: 2px 25px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #f7f7f7;
    cursor: pointer;
    font-size: 0.9em;
    color: cornflowerblue;
}

#wpforms-5124 .recap-modifier:hover {
    background: #eee;
}

#wpforms-5124 .recap-total-general {
    font-size: 1.2rem;
    padding: 15px 50px;
    background-color: aliceblue;
    color: black;
    width: 500px;
    padding-right: 20px;
    text-align: right
}

#wpforms-5124 .recap-total-general strong {
    display: inline-block;
    padding-left: 30px;
}

#wpforms-5124-field_110 li {
    margin-bottom: 3px !important
}

#wpforms-5124-field_111-container label {
    font-size: calc(1.4 * var(--wpforms-label-size-font-size));
    font-family: "Baloo 2", sans-serif;
    margin-top: 15px;
}

/*****************************************************************
 MOBILE */
@media (max-width: 768px) {

    #wpforms-5124 .restauration-zone-box,
    #wpforms-5124 .restauration-zone-menu {
        grid-template-columns: 1fr;
    }

    #wpforms-5124 .restauration-gouter {
        width: 100%;
    }

    /* Poulet / Jambon / Thon empilés verticalement */
    #wpforms-5124 .restauration-ligne-produits .wpforms-layout-row {
        flex-direction: column;
        gap: 8px;
    }

    #wpforms-5124 .restauration-ligne-produits .wpforms-field {
        justify-content: space-between;
        width: 100%;
    }

    /* Champ quantité menu sur toute la largeur */
    #wpforms-5124 .restauration-champ-quantite {
        justify-content: space-between;
    }
}

/*---------------*/
/* mise en page  */
/*---------------*/

/* page 1 --------------------------*/
#wpforms-form-5124 .wpforms-page-indicato .wpforms-page-indicator-page-progress-wrap {
    height: 10px;
}

wpforms-form-5124 .wpforms-field.wpforms-field-content .wpforms-field-row h3:first-child {
    margin-bottom: 0;
}

#wpforms-5124-field_118-container {
    padding: 0;
}

#wpforms-5124-field_118 > strong:nth-child(5) {
    padding-top: 20px;
    display: inline-block;
}

#wpforms-5124-field_18-container {
    padding-top: 30px;
}

/* page 2 ------------------------*/

/*****************************************************************
 CHAMP "SOUHAITEZ-VOUS RESERVER DES REPAS ?" SUR UNE LIGNE */

#wpforms-5124-field_136-container fieldset,
#wpforms-5124-field_138-container fieldset {
    display: block;
    overflow: hidden; /* contient les éléments flottants (clearfix) */
}

#wpforms-5124-field_136-container .wpforms-field-label,
#wpforms-5124-field_138-container .wpforms-field-label {
    float: left;
    margin: 0 40px 0 0;
    line-height: 1.4;
}

#wpforms-5124-field_136-container ul#wpforms-5124-field_136,
#wpforms-5124-field_138-container ul#wpforms-5124-field_138 {
    clear: none !important;
    float: left;
    display: flex;
    align-items: center;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#wpforms-5124-field_136-container li,
#wpforms-5124-field_138-container li {
    display: flex;
    align-items: center;
    gap: 0px;
    margin: 0;
}
/* --------- Fin Devis Groupes ---------- */
/* -------------------------------------- */



/* ------ fin modifs Richard-------- */
/* ================================= */





/*Responsive */

@media (min-width: 768px) {
    .cigo-app {
        display: none;
    }

    .elementor-element-d3c6ae6 {
        border-right: solid 1px #fff !important;
        border-left: solid 1px #fff !important;
    }
	
	.elementor .elementor-element-ceab51b {
		display: flex;
	}

	.elementor .elementor-element-ceab51b > :first-child {
		flex: 0 0 auto;
		width: auto;
	}

	.elementor .elementor-element-ceab51b > :not(:first-child, :last-child) {
		flex: 0 0 auto;
		width: auto;
		padding-left: 40px;
		padding-right: 40px;
		border-right: solid 1px #fff;
		justify-content: center;
	}
	
	.elementor .elementor-element-62f3732 {
		display: flex;
	}

	.elementor .elementor-element-62f3732 > :first-child {
		flex: 0 0 auto;
		width: auto;
	}

	.elementor .elementor-element-62f3732  > :nth-child(2) {
		border-right: solid 1px #fff;
	}
	
	.elementor .elementor-element-62f3732 > :not(:first-child) {
		flex: 0 0 auto;
		width: auto;
		padding-left: 40px;
		padding-right: 40px;
		justify-content: center;
	}
	
	.elementor .e-bd364e9-3a1d733, .elementor .e-481a781-525abc4 {
		align-self: center;
}
/* la dernière box des prix, le pass saison */
    .elementor-repeater-item-d5d69c7 {
        margin-left:100px;
    }

}

@media (max-width: 767px) {
    .titre-accueil .elementor-heading-title.elementor-size-default, .vs-hero__title--main.vs-hero__anim1.manimated {
        font-size: 45px;
    }

    .elementor-element-ec8966d, .elementor-element-a208a0c, .elementor-element-4468a14, .elementor-element-12b5f7d, .elementor-element-931895f, .elementor-element-d3c6ae6, .elementor-element-d3c6ae6 {
        border-bottom: solid 1px #fff;
    }

    .evenement-actu nav {
        display: none;
    }
    .vs-header__top .col-lg-auto.d-none.d-lg-block {
        display: block !important;
    }
    .vs-header__top .social-style {
        display: flex;
    }
    .vs-header__top .gap-4 {
        gap: unset !important;
    }
    .vs-header__action {
        margin-left: 0;
    }
    .blog-mobile-scroll {
        display: flex;
        gap: 20px;
        overflow-x: auto;
        overflow-y: hidden;

        /* Smooth horizontal scrolling */
        scroll-behavior: smooth;

        /* Better touch scrolling on mobile */
        -webkit-overflow-scrolling: touch;

        /* Prevent vertical scrolling from being blocked */
        touch-action: pan-x;

        /* Optional: hide scrollbar */
        scrollbar-width: none;
    }

    .blog-mobile-scroll::-webkit-scrollbar {
        display: none;
    }

    blog-restaurant .vs-event {
        flex: 0 0 auto;
        width: 320px;
    }
}

@media (max-width: 575px) {
    .accueil-tabs .vs-countdown__overlay {
        padding: 0 20px 20px !important;
    }

    .accueil-tabs .elementor-element-0d646f4 .elementor-widget-text-editor, .accueil-tabs .elementor-element-ff9bf31 .elementor-widget-text-editor, .accueil-tabs .elementor-element-9010945 .elementor-widget-text-editor {
        text-align: center;
    }
    .vs-header__action {
        margin-left: 0px !important;
    }
}
@media (max-width: 1700px) {
    .vs-about-h8 .vs-about-h8__ele1 {
        bottom: -20px;
        width: 200px;
    }
}