.left-side .ajout-favori {
    font-size: 23px
}
.left-side .ajout-favori .star-img {
    height: 25px
}
section.product-info .container .left-side .ajout-favori {
    font-size: 14px
}
section.product-info .container .left-side .ajout-favori .star-img {
    height: 14px;
    margin-left: 5px
}
/************** Evolution whish list *******************/
.card-container .card-search .card .favori-wrapper {
    position: absolute;
    top: 10px;   /* distance du haut */
    right: 10px; /* distance de la droite */
    z-index: 2;  /* au-dessus de l’image */
}

.card-container .card-search .card .favori-wrapper .ajout-favori {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.3s;
}

.card-container .card-search .card .favori-wrapper .ajout-favori .star-img {
    width: 18px;
    height: 18px;
    stroke: #0f1f28;
    fill: none;
}

.card-container .card-search .card .favori-wrapper .ajout-favori.active .cls-1 {
    fill: gold; /* étoile dorée si actif */
    stroke: gold;
}

.dflex-header-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.account-text {
    display: inline;
}
.card-container .card-search .card .card-body .ajout-favori  {
    color: #0f1f28;
    font-family: dinregular;
    font-size: 13px
}
section.product-info .container .left-side .ajout-favori {
    float: right;
}
section.product-info .container .left-side .ajout-favori.active .cls-1,.card-container .card-search .card .card-body .ajout-favori.active .cls-1 {
    fill: #0f1f28
}

section.product-info .container .left-side .ajout-favori .star-img,.card-container .card-search .card .card-body .ajout-favori .star-img {
    height: 15px
}
a.account{
    color: #fff;
    padding-left: 1px;
    padding-bottom: 5px;
    padding-top: 2px;
    padding-right: 1px;
}
a.favori span{
    color: #212529;
    position: absolute;
    top: 8px;
    padding-left: 7px;
}
section.product-info .container .left-side .ajout-favori{
    font-family: dincondbold;
    font-size: 20px;
    text-decoration: underline !important;
}
.user-tools .star-img{
    width:22px;
}
.user-tools .star-img path {
    stroke: #fff !important; /* forcer en blanc */
    fill: white;
}
#favorisModal.modal {
    display: block;
    position: absolute;
    top: 50px;
    right: 24%;
    width: 400px;
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    z-index: 2000;
    bottom: 0;
    display: none;
}

#favorisModal .modal-dialog {
    margin: 0;
    max-width: 100%;
}

#favorisModal .modal-content {
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    padding: 10px;
}

#favorisModal .modal-header {
    border-bottom: 1px solid #eee;
    padding: 8px 10px;
}

#favorisModal .modal-body {
    max-height: 250px;
    overflow-y: auto;
    padding: 10px;
}

/* Suppression du fond noir Bootstrap */
.modal-backdrop {
    display: none !important;
}

/* Petite flèche comme un vrai tooltip */
#favorisModal::before {
    content: "";
    position: absolute;
    top: -10px;
    right: 25px; /* Ajuster pour pointer vers l’étoile */
    border-width: 0 10px 10px 10px;
    border-style: solid;
    border-color: transparent transparent #fff transparent;
    filter: drop-shadow(0 -1px 1px rgba(0,0,0,0.1));
}
#sendFavoris{
    padding: 6px;
}
#panier-count,
#favoris-count {
    position: absolute;
    right: -3px;    /* position horizontale */
    top: 23px;      /* position verticale */
    background-color: #fdc800; /* jaune */
    color: #000; /* texte noir */
    font-size: 11px;
    font-weight: bold;
    border-radius: 50%;
    padding: 2px 6px;
    line-height: 1;
    min-width: 18px;
    min-height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 2px rgba(0,0,0,0.3);
}

/* Conteneurs */
a.basket,
a.favori {
    position: relative;
    display: inline-block;
}
#favoris-count:empty {
    display: none;
}
/* --- Styles généraux du modal --- */
#loginFavorisModal .modal-dialog {
    max-width: 420px;         /* largeur sur desktop */
    margin: 2rem auto;
}

#loginFavorisModal .modal-content {
    border-radius: 10px;
    border: none;
    box-shadow: 0 5px 25px rgba(0, 0, 0, 0.3);
    top: 200px;
}

#loginFavorisModal .modal-header {
    border-bottom: none;
    text-align: center;
    justify-content: center;
    position: relative;
}

#loginFavorisModal .modal-title {
    font-size: 1.2rem;
    font-weight: bold;
    color: #fdc800; /* orange */
    text-transform: uppercase;
}

#loginFavorisModal .close {
    position: absolute;
    right: 1rem;
    top: 1rem;
    color: #000;
    font-size: 1.5rem;
    opacity: 0.7;
}

#loginFavorisModal .close:hover {
    opacity: 1;
}

/* --- Message d'alerte --- */
#loginFavorisModal .alert {
    font-size: 0.9rem;
    padding: 10px;
    border-radius: 5px;
    text-align: center;
}

/* --- Formulaire --- */
#loginFavorisModal form .form-group {
    margin-bottom: 1rem;
}

#loginFavorisModal input.form-control {
    border-radius: 6px;
    border: 1px solid #ccc;
    font-size: 0.95rem;
    padding: 10px;
}

#loginFavorisModal input.form-control:focus {
    border-color: #fdc800;
    box-shadow: 0 0 5px rgba(247, 148, 30, 0.4);
}

/* --- Bouton de connexion --- */
#loginFavorisModal .btn {
    background-color: #fdc800;
    border: none;
    border-radius: 6px;
    font-weight: bold;
    padding: 10px;
    width: 100%;
}

#loginFavorisModal .btn:hover {
    background-color: #ffd20f;
}

/* --- Liens --- */
#loginFavorisModal .form-link,
#loginFavorisModal a {
    font-size: 0.85rem;
    color: #555;
    display: inline-block;
    margin-top: 5px;
    text-decoration: underline;
}

#loginFavorisModal .form-link:hover,
#loginFavorisModal a:hover {
    color: #fdc800;
}
/* --- Responsive --- */
@media (max-width: 576px) {
    #loginFavorisModal .modal-dialog {
        max-width: 90%;
        margin: 1rem auto;
    }

    #loginFavorisModal .modal-title {
        font-size: 1rem;
    }

    #loginFavorisModal .btn {
        font-size: 0.9rem;
        padding: 8px;
    }

    #loginFavorisModal input.form-control {
        font-size: 0.9rem;
    }
    .fratrie{
        margin-left: 10px;
    }
}
/******/
@media screen and (max-width: 992px) {
    .flexbox-footer {
        width: 85%;
    }
    #favorisModal.modal {
        right: 5%;
        width: 90%;   /* prend quasi toute la largeur */
        top: 30px;
    }
    #favorisModal #sendFavoris {
        padding: 0px;
        font-size: 14px!important;
    }
    a.account {
        background-color: transparent;
    }
}
@media screen and (max-width: 768px) {
    .flexbox-footer {
        width: 100%;
    }
    .flexbox-footer .container {
        padding: 0;
    }
    #favorisModal .modal-dialog {
        max-width: 95% !important;
        margin: 10px auto;
    }
    #favorisModal .modal-content {
        border-radius: 10px;
        padding: 10px;
    }
    #favorisModal .modal-body {
        font-size: 14px;
    }
    #favorisModal .input-group input {
        font-size: 14px;
    }
    #favorisModal #sendFavoris {
        padding: 0px;
        font-size: 14px!important;
    }
    .account-text {
        display: none;
    }
    a.account {
        background-color: transparent;
    }
    #panier-count,
    #favoris-count {
        font-size: 9px;       /* texte plus petit */
        min-width: 14px;      /* cercle plus petit */
        min-height: 14px;
        padding: 1px 4px;
        top: 18px;            /* ajuste la hauteur */
        right: -2px;          /* ajuste la position à droite */
    }
    section.product-section .card-container {
        display: flex !important;
    }

    /* CB-3 — Réordonnancement des blocs fiche séjour sur mobile */
    section.product-info .container {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
    }
    section.product-info .container .left-fix {
        order: 1;
    }
    section.product-info .container #bloc-points-forts {
        order: 2;
    }
    section.product-info .container .left-fix.left-infos {
        order: 3; /* Infos pratiques + Dispos/CTA (+ avis) */
    }

    /* CB-3b — Troncature de la description sur mobile */
    #desc-presentation.desc-collapsed {
        max-height: 4.5em;
        overflow: hidden;
    }
    #desc-presentation.desc-expanded {
        max-height: none;
        overflow: visible;
    }
     .btn-voir-plus.for-mobile {
        display: block;
        float: none;          /* annule le float global pour le mobile */
        width: fit-content;
        margin-left: auto;    /* aligne à droite sans float */
        margin-right: 0;
        font-size: 26px;
    }
     #desc-presentation.desc-collapsed {
        display: none;   /* tout le bloc masqué, titre inclus */
    }
    #desc-presentation.desc-expanded {
        display: block;
    }
    .dispo-list-head {
        display: flex !important;
        flex-wrap: wrap;
        align-items: baseline;
    }
    .dispo-list-head .ref {
        order: 1;
        display: inline-flex;
        align-items: baseline;
        gap: 6px;
        flex: 0 0 auto;
        order: 1;
    }
    .dispo-list-head .list-age {
        order: 2;
        margin-left: 8px;
        flex: 0 0 auto;
    }
    .dispo-list-head .list-date {
        order: 3;
        flex: 1 1 100%;
    }
    .dispo-list-head .price {
        order: 4;
    }
   .share-product ul {
        display: flex;
        justify-content: space-evenly;
        align-items: center;
    }

  .share-product ul li {
        float: none;
    }
}
.btn-voir-plus {
    display: none;
    background: none;
    border: none;
    color: #0f1f28;
    text-decoration: underline;
    font-family: dincondbold;
    padding: 8px 0;
    cursor: pointer;
}
/* Mobile très petit (<576px) */
@media (max-width: 576px) {
    #favorisModal.modal {
        right: 0;
        left: 0;
        width: 100%;  /* full width */
        top: 0;
        height: 100%; /* occupe tout l’écran si besoin */
        border-radius: 0;
    }

    #favorisModal .modal-content {
        height: 100%;
        border-radius: 0;
    }

    #favorisModal .modal-body {
        overflow-y: auto;
    }
    #favorisModal #sendFavoris {
        font-size: 14px!important;
        padding: 0px;    /* plus haut pour les doigts */
    }
    a.favori span {
        top:6px;
    }
    a.account {
        background-color: transparent;
    }
}
/* CB-4 — Empêcher la coupure de la tranche d'âge (ex. "6/11 ans") sur mobile */
.list-age {
    white-space: nowrap;
}

/* CB-5 — Menu d'ancre Infos pratiques : positionnement sticky */
.sticky-list-sub {
 /*   position: sticky;*/
    top: 0;
    z-index: 100;
    background: #fff;
}

.fratrie{
    display: inline-flex;
    align-items: baseline;
    gap: 0.5em;
    margin-left: 100px;

}
#sp_fratrie{
    text-decoration: underline;
}

.swal2-popup {
    width: 25em;
}
/******* Responsive ******/

@media ( max-width :1024px) {
    header .navbar .navbar-nav.navbar-secondary {
        order: 3
    }
    header .navbar .user-tools {
        order: 2;
    }
    header .navbar .navbar-nav.navbar-secondary.nav-tel {
        order: 1
    }
}
@media (max-width: 991px) {
    .share-product {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        text-align: center;
    }

    .share-product span {
        font-weight: bold;
    }

    .share-product span::after {
        content: ":";
    }

    .share-product ul {
        display: flex;
        align-items: center;
        gap: 20px;
    }
}
@media ( max-width :768px) {
    /* CB-1 / CB-2 — Affichage de l'image d'accroche sur mobile (univers et séjour) */
    .header-image {
        display: block;
        height: auto;
    }
    .header-image .for-desk {
        display: block !important;
        height: auto !important;
    }
    .header-image .for-desk img {
        width: 100%;
        height: auto;
        max-height: 300px;
        object-fit: cover;
        display: block;
    }
    /* Fallback si image absente (MOBNAV-AC-003 / MOBNAV-AC-006) */
    .header-image .for-desk:empty,
    .header-image .for-desk img[src=""] {
        background-color: #0f1f28;
        min-height: 120px;
        display: block;
    }

    .navbar-scroll {
        flex: 0 0 50%;
    }
    header .header-content .navbar .navbar-collapse {
		top: 90px !important;   /* juste sous la navbar fixed */
	}
    .header-filter{
        top:49px;
    }
    header .navbar .mobile-header {
        display: flex;
        justify-content: space-between;
    }
    header .navbar .navbar-collapse .fix-position {
        background: #eee;
        height: 100vh;
        display: flex;
        flex-direction: column;
        overflow-y: auto;
    }
       /* header .navbar .navbar-collapse .fix-position>div {
            top:30px;
        }*/
    .float-right.col-12.nav-bottom.navbar-scroll {
        background-color: #fff !important;
    }

    ul.mobile_icn_top.d-md-none.d-sm-block {

        padding: 12px 26px;
        display: block !important;
        order: 2;
    }

    header .navbar .navbar-collapse .mobile_icn_top li a{
        font-family: metabold;
        color:#0f1f28;
        font-size: 22px;
    }
    ul.mobile_icn_top li:not(:last-child) {
        margin-bottom: 28px;
    }

    /* CB-7 — Stabiliser la couleur de l'en-tête sur la page Actualités au chargement (mobile) */
    .no-header .mobile-header {
        background-color: rgb(15, 31, 40) !important;
    }

    /*header .navbar .navbar-collapse {
        top: 5px !important;
    }*/
    #banniere_pertimm_home{
        padding-top: 2.5em !important;
    }
       section.product-info .container .left-side .ajout-favori  {
             float: none !important;
             margin-left: 34%;
             font-size: 26px;
}

    form#module_resa > .container > .filter-info.for-desk {
    display: none!important;
}
header .navbar .navbar-nav.navbar-secondary{
    order: 1;
}
ul.navbar-nav.navbar-secondary.nav-tel.mt-2.mt-lg-0.d-none.d-md-block.for-desk {
    display: none !important;
}
    
.header-filter .form-filter .select2-container.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 80px !important;
}
.pf-body ul li {font-size: 30px; list-style: disc inside;}

.pf-head h3{ font-size:35px; }
.pf-head h6{ font-size:30px; }
section.product-info .container .left-side.left-fix {
		display: flex;
		flex-direction: column;
	}

	section.product-info .container .left-side.left-fix > .h2-like {
		order: -1;          /* le h1 passe en premier */
		margin-bottom: .5rem;
	}

	section.product-info .container .left-side.left-fix > .ajout-favori {
		align-self: flex-start;  /* évite qu'il prenne toute la largeur ; passer à flex-end pour le mettre à droite */
		margin-bottom: 1rem;
	}
   .point-fort .pf-head {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: space-between;
	}

	.point-fort .pf-head h3 {
		flex: 1 1 auto;
		min-width: 0;
		margin: 0;
		font-size: 34px;
		line-height: 1.1;
	}

	.point-fort .pf-head h6 {
		flex: 0 0 auto;
		margin: 0 0 0 12px;     /* annule le margin-top de 24px / 11px */
		font-size: 22px;
		white-space: nowrap;
		text-align: right;
	}

	.point-fort .pf-head h6 img {
		width: 22px;
		margin-left: 8px;
	}
}
@media (max-width: 767px) {
	header .header-content .navbar .navbar-collapse {
		position: absolute;
		top: 40px !important;   /* juste sous la navbar fixed */
		left: 0;
	}
    header .navbar .navbar-collapse .fix-position>div {
        top: 50px !important;
    }
       section.intro-section .sticky {
        top:55px !important;
    }
    
}
@media ( max-width :560px) {

    header .navbar .navbar-collapse .mobile_icn_top li a {
        font-size: 15px;
    }
    ul.mobile_icn_top li:not(:last-child) {
        margin-bottom: 20px;
    }
    ul.mobile_icn_top.d-md-none.d-sm-block {
        padding: 12px;
    }
       
/*section.product-info .container .left-fix {
        margin-top: 9%;
    }*/
    
   form#module_resa > .container > .filter-info.for-desk {
    display: none!important;
}
}

@media ( max-width :460px) {
    .navbar-scroll {
        flex: 0 0 38%;
    }
    #panier-count, #favoris-count {
        bottom: 7px;
        right: 0;
        top: auto;
    }

    section.product-section .card-container .card .card-body {
        padding: 0 20px 20px !important;
    }
    section.product-section .card-container .card-footer .jour_nuit .start-by, section.product-section .card-container .card .card-footer .price .start-by {
        font-size: 17px !important;
    }
    section.product-section .card-container .card .card-footer .price .price-number {
        font-size: 24px !important;
        line-height: 31px !important;
    }
/*section.product-info .container .left-fix {
        margin-top: 11%;
    }*/
     form#module_resa > .container > .filter-info.for-desk {
    display: none!important;
}
    header .navbar .mobile-header {
        min-height: 60px;
    }
    .m-0.pertim-banner.pertim-top-banner p{
        margin-top: -50px !important;
    }
    .pf-body ul li {font-size: 20px;list-style: disc inside;}
   .point-fort .pf-head h3 { font-size: 22px; }
	.point-fort .pf-head h6 { font-size: 14px; }
	.point-fort .pf-head h6 img { width: 14px; }

}
.special-offer.special-offer--in-carousel.special-offer--product.card .card-body {
    margin-top: 0;
}