    /* cache par défaut la partie « supplémentaire » */
    .more-text {
      display: none;
    }
    /* style du lien */
    .more-link {
      display: inline-block;
      color: #E42620;
      cursor: pointer;
      text-decoration: none;
      margin-top: 0.5em;
      padding: 0.25em 0;      
      transition: background 0.2s, transform 0.1s;
      text-decoration: underline;
      /* agrandit la zone tactile */
      font-size: 1.1em;
      font-weight: 600;
    }
    /* feedback tactile (mobile & desktop) */
    .more-link:active {
      background: rgba(0, 123, 255, 0.1);
      transform: scale(0.96);
    }
    /* Par défaut (état compressé) on ignore les sauts de ligne */
    #description {
      white-space: normal;
    }
    /* Quand on a cliqué (état développé), on conserve les sauts de ligne */
    #description.expanded {
      white-space: pre-wrap;
    }


[data-bs-theme=dark] .btn-outline-dark {
    --bs-btn-color: #fff;
    --bs-btn-border-color: #fff;
    --bs-btn-hover-color: #212529;
    --bs-btn-hover-bg: #fff;
    --bs-btn-hover-border-color: #fff;
    --bs-btn-focus-shadow-rgb: 33, 37, 41;
    --bs-btn-active-color: #212529;
    --bs-btn-active-bg: #fff;
    --bs-btn-active-border-color: #fff;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(255, 255, 255, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #fff;
    --bs-gradient: none;
}


.annotation-container {
    word-wrap: break-word;
    overflow-wrap: break-word;
    word-break: break-all; /* Pour les références très longues */
}

.btn-xs {--bs-btn-padding-y: .25rem; --bs-btn-padding-x: .5rem; --bs-btn-font-size: .75rem}
.inspection-accordion.accordion .accordion-item .accordion-button::after {
    color: #E42620;
    font-size: 17px;
}
.ui.tag {
    padding: .4rem 1em !important;
    letter-spacing: 0px !important;    
}
.ui.tag:hover {
    color:  var(--footer-bg-color) !important;
    border-color: var(--bs-border-color2) !important;
    background-color: var(--bs-border-color2) !important;
}

.fs-26px {font-size: 26px;}

.fancybox__container {
    z-index:10000 !important
}
.modal {
    --bs-modal-zindex: 10000 !important
}
.profile-card {
    padding-bottom: 30px;
}

.profile-card .profile-image-wrap {
    width: 100px;
    height: 50px;
    margin: 0 auto;
}

.profile-card .btn-icon {
    height: 25px !important;
    width: 25px !important;
}

.swal2-confirm {margin-right: 10px}

.accordion-button:focus {
    z-index: 3;
    border-color: none;
    outline: 0;
    box-shadow: none;
}

    /* Style de base pour le bouton */
    .wiggle-button {
      /* Animation appliquée au texte du bouton */
      animation: wiggle-pause 2s ease-in-out infinite;
    }

    /* Keyframes : wiggle (0 → –10 → +10 → 0), puis pause */
    @keyframes wiggle-pause {
      /* 0% → départ sans rotation */
      0% {
        transform: rotate(0deg);
      }
      /* 5% → première bascule à gauche */
      5% {
        transform: rotate(-5deg);
      }
      /* 10% → bascule à droite */
      10% {
        transform: rotate(5deg);
      }
      /* 15% → retour à gauche */
      15% {
        transform: rotate(-5deg);
      }
      /* 20% → retour à droite */
      20% {
        transform: rotate(5deg);
      }
      /* 25% → on revient à la position neutre */
      25% {
        transform: rotate(0deg);
      }
      /* De 25% à 100% on reste immobile (pause) */
      100% {
        transform: rotate(0deg);
      }
    }


.crop-text-2 {
    -webkit-line-clamp: 2;
    overflow : hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
  }
.items-carousel.owl-nav-center.owl-theme .owl-nav [class*="owl-"] {
    color: rgb(255 255 255);
    background-color: #E42620;
}
.sidebar .inspection-accordion.accordion .accordion-item .accordion-button::after {
    right: 0rem;
}

.sidebar .form-control,
.form-select {
    height: 45px;
    font-weight: 300;
}

.sidebar .form-group label {
    font-size: 14px;
    background: rgba(var(--bs-light-rgb));
}


.search-2 .noUi-background,
.sidebar #accordion .panel .panel-body .noUi-background,
.widget .widget-content .noUi-background {
    background: #44728e;
    box-shadow: none
}

.search-2 .noUi-target,
.sidebar #accordion .panel .panel-body .noUi-target,
.widget .widget-content .noUi-target {
    border: none;
    box-shadow: none;
    border-radius: 0
}

.search-2 .noUi-horizontal,
.sidebar #accordion .panel .panel-body .noUi-horizontal,
.widget .widget-content .noUi-horizontal {
    height: 6px
}

.search-2 .noUi-origin,
.sidebar #accordion .panel .panel-body .noUi-origin,
.widget .widget-content .noUi-origin {
    border-radius: 0
}

.noUi-connect {
    background: #224357;
    box-shadow: none
}



.search-2 .noUi-handle:after,
.search-2 .noUi-handle:before,
.sidebar #accordion .panel .panel-body .noUi-handle:after,
.sidebar #accordion .panel .panel-body .noUi-handle:before {
    content: none
}

.widget .widget-content .noUi-handle::after,
.widget .widget-content .noUi-handle::before {
    background: 0 0
}

.search-2 .noUi-handle,
.sidebar #accordion .panel .panel-body .noUi-handle,
.widget .widget-content .noUi-handle {
    border-radius: 100%;
    border: 2px solid #2e566e;
    background: #94b9d0;
    box-shadow: none;
    cursor: pointer
}

.price-slider-value,
.search-form .price-slider-value,
.widget .widget-content .price-slider-value {
    display: block;
    margin-bottom: 11px;
    margin-top: 3px
}

.hoverlink a:hover {
    opacity: .8;
}

.hoverlink.linkblue a {
    color: #E42620;
    font-size: 14px;
}


.widget .widget-content .noUi-horizontal .noUi-handle {
    width: 23px;
    height: 23px;
    left: 23px;
    top: -8px
}

.widget .widget-content .noUi-handle {
    border-radius: 100%;
    border: 4px solid #bfbfbf;
    background: #000;
    box-shadow: none;
    cursor: pointer
}

.noUi-handle:focus {
    outline: -webkit-focus-ring-color auto 0 !important
}

.slid1 {
    padding: 10px 15px 20px 10px
}

.simufinan hr {
    margin: 10px 15px 15px 10px
}

.simufinan li {
    border-bottom: 0 solid #FFF !important;
    padding-bottom: 1px
}

.noUi-connects {
    background: #E42620
}

.imagel, .imaged {
    display: inline-block;
    position: relative;
  }
  @media (max-width: 767px) {
    .imagel {
    width: 132px;
    height:99px;
    }
    .imaged {
        width: 272px;
        height: 204px;
        }       
}  
@media (min-width: 768px) {
    .imagel {
    width: 227px;
    height:170px;
    }
    .imaged {
        width: 461px;
        height: 346px;
        }       
}
@media (min-width: 992px) {
    .imagel {
    width: 232px;
    height:174px;
    }
    .imaged {
        width: 472px;
        height: 354px;
        }    
}
@media (min-width: 1200px) {
    .imagel {
    width: 273px;
    height: 205px;
    }
    .imaged {
        width: 554px;
        height: 416px;
        }    
}


@media (min-width: 1400px) {
    .imagel {
    width: 318px;
    height: 239px;
    }
    .imaged {
        width: 644px;
        height: 483px;
        }
}




  .plhold {
    width: 100%;
    height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
  }

  .hiddens {
    display: none;
  }

.box-result {
    background-color: #fff;
    padding: 7px;
    margin: 10px;
    border: 2px solid #E42620;
    border-radius: 0;
    color: #000;
    font-size: 15px;
    text-align: center;
    font-weight: 300
}

.marketing {
    font-size: 12px;
    line-height: 21px;
    text-align: center
}

iframe {height:450px}
@media (max-width: 768px) {
    iframe {height:350px}
}

.mentlegal p {
    font-size: 13px
}

/* CO2*/
.badgeCO2 {
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
    float: right;
    margin-right: 16px
}

.bilan-co2 {
    display: inline-block;
    height: 15px;
    position: relative;
    text-align: center;
    line-height: 15px;
    font-weight: 600;
    padding: 0 5px;    
}

.bilan-co2:before {
    content: "";
    position: absolute;
    right: -10px;
    bottom: 0;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-top: 7px solid transparent;
    border-bottom: 8px solid transparent
}

.co2-A {
    background-color: #10884A
}

.co2-A:before {
    border-left-color: #10884A
}

.co2-B {
    background-color: #2DB549
}

.co2-B:before {
    border-left-color: #2DB549
}

.co2-C {
    background-color: #8BC741
}

.co2-C:before {
    border-left-color: #8BC741
}

.co2-D {
    background-color: #EAE846
}

.co2-D:before {
    border-left-color: #EAE846
}

.co2-E {
    background-color: #E1AC2C
}

.co2-E:before {
    border-left-color: #E1AC2C
}

.co2-F {
    background-color: #D75E27
}

.co2-F:before {
    border-left-color: #D75E27
}

.co2-G {
    background-color: #C31F28
}

.co2-G:before {
    border-left-color: #C31F28
}

/* Special mb pour les photos*/
.mb-2spec {
    margin-bottom: .4rem !important;
}

.ls-1 {
    letter-spacing: -0.05rem;
}

.ticketPrix2 {color:green;font-size: 12px;padding-left: 10px;}


.show-more {
    max-height: 600px;
    overflow: hidden;
    position: relative;
    transition: max-height 1s
}

.show-more-button {
    bottom: -10px;
    margin-left: 50%;
    transform: translateX(-50.5%);
    z-index: 10;
    text-align: center;
    opacity: 1;
    visibility: visible;
    transition: all 1s;
    padding: 10px 20px
}

.show-more-button i {
    margin-left: 3px
}

.show-more-button,
.show-more:after {
    position: absolute;
    left: 0;
    display: block
}

.show-more:after {
    content: "";
    bottom: 0;
    width: 100%;
    height: 180px;
    background: linear-gradient(rgba(255, 255, 255, 0), #f6f6f6 88%);
    z-index: 9;
    opacity: 1;
    visibility: visible;
    transition: all 1s
}

.show-more.visible {
    max-height: 6800px
}

.show-more.visible .show-more-button,
.show-more.visible:after {
    opacity: 0;
    visibility: hidden
}

.border-right {
    border-right: 1px solid #dee2e6 !important;
}

[data-bs-theme=dark]  .show-more:after {
    background: linear-gradient(rgba(255, 255, 255, 0), #151a20 88%);
}


/* DETAIL SPECIAL BOTTOM */
.contentListGeoloc {
    display: none
}

.cPostal,
#lirelasuite2 {
    display: none
}

.field-error input,
.field-error textarea,
.field-error select {
    border: 1px solid red
}

@media (max-width: 576px) {
    .contentListGeoloc {
        display: block
    }

    .blocContactsHaut {
        z-index: 10000;
        position: fixed;
        bottom: 0;
        width: 100%;
        margin: 0;
        padding: 15px 10px;
        text-align: center;
        line-height: 1.2;
        color: #fff;
        background: #262626
    }

    .blocContactsHaut a.btnTelBas,
    .blocContactsHaut p.btnTelBas {
        padding: 8px 10px;
        border-radius: 5px;
        text-decoration: none;
        font-weight: 600;
        color: #fff;
        background: #49ad1b
    }

    .blocContactsHaut a.btnTelBas:hover,
    .blocContactsHaut p.btnTelBas:hover {
        background: #3a9f15
    }

    .blocContactsHaut a.btnMailHaut,
    .blocContactsHaut p.btnMailHaut {
        margin: 0 0 0 25px;
        padding: 8px 10px;
        border-radius: 5px;
        text-decoration: none;
        font-weight: 600;
        color: #fff;
        background: #2680d1
    }

    .blocContactsHaut a.btnMailHaut.prixNegocie,
    .blocContactsHaut p.btnMailHaut.prixNegocie {
        background: #bb0035
    }

    .blocContactsHaut a.btnMailHaut.prixNegocie .border,
    .blocContactsHaut p.btnMailHaut.prixNegocie .border {
        border: 1px solid #fff;
        padding: 8px 10%
    }

    .blocContactsHaut.telOnly a.btnMailHaut,
    .blocContactsHaut.telOnly p.btnMailHaut,
    #blockContact3.telOnly #ctcUs3 {
        display: none
    }

    .layoutDetail1606 .blocContactsHaut {
        padding: 0
    }

    .layoutDetail1606 .blocContactsHaut div {
        height: 40px;
        display: flex;
        flex-direction: row;
        background-color: #fff
    }

    .layoutDetail1606 .blocContactsHaut div a,
    .layoutDetail1606 .blocContactsHaut div p {
        height: 100%;
        width: 100%;
        flex-shrink: 1;
        border-radius: 0;
        margin: 0;
        padding: 0;
        line-height: 40px;
        vertical-align: middle
    }

    .layoutDetail1606 .blocContactsHaut div a.btnTelBas,
    .layoutDetail1606 .blocContactsHaut div p.btnTelBas {
        background: #2680d1;
        background: #49ad1b
    }

    .blocContactsHaut.tel {
        background-color: transparent
    }

    .contentListGeoloc .layoutDetail1606 .blocContactsHaut.tel div {
        display: flex;
        flex-direction: row;
        background-color: #fff;
        background: linear-gradient(rgba(255, 255, 255, 0), #fff);
        padding-top: 0;
        height: 100%
    }

    [data-bs-theme=dark] .contentListGeoloc .layoutDetail1606 .blocContactsHaut.tel div {
        background: linear-gradient(rgba(255, 255, 255, 0), #000);
    }    

    .layoutDetail1606 .blocContactsHaut.tel div a,
    .layoutDetail1606 .blocContactsHaut.tel div p {
        flex-shrink: 1;
        vertical-align: middle;
        text-align: center;
        width: 40%
    }

    .txt_cta {
        color: #000;
        line-height: 14px;
        font-weight: 600;
        margin: 6px 0 12px;
        display: block;
        font-size: 13px
    }

    [data-bs-theme=dark] .txt_cta {
        color: #FFF;
    }

    #telButton_3~span.txt_cta {
        position: absolute;
        flex-shrink: 1;
        vertical-align: middle;
        text-align: center;
        width: 41%;
        bottom: 0
    }

    .cta-flottant {
        font-size: 28px;
        line-height: 50px;
        height: 50px;
        width: 50px;
        border-radius: 50%
    }

    .contentListGeoloc .layoutDetail1606 .blocContactsHaut.tel div a.btnTelBas,
    .contentListGeoloc .layoutDetail1606 .blocContactsHaut.tel div p.btnTelBas {
        background-color: transparent
    }

    .contentListGeoloc .layoutDetail1606 .blocContactsHaut.tel div a.btnTelBas.telonly,
    .contentListGeoloc .layoutDetail1606 .blocContactsHaut.tel div p.btnTelBas.telonly {
        width: 100%;
        margin-bottom: 25px
    }

    .layoutDetail1606 .blocContactsHaut.tel a.btnMailHaut,
    .layoutDetail1606 .blocContactsHaut.tel p.btnMailHaut {
        background-color: transparent
    }

    .blocContactsHaut.tel div a.btnTelBas .cta-flottant,
    .blocContactsHaut.tel div p.btnTelBas .cta-flottant {
        background-color: #5bc0de
    }

    .blocContactsHaut.tel div a.btnMailHaut .cta-flottant,
    .blocContactsHaut.tel div p.btnMailHaut .cta-flottant {
        background-color: #E42620
    }

    span.icon-mail.cta-flottant {
        background-color: #2680d1
    }

    .contentListGeoloc .layoutDetail1606 div.blocContactsHaut.tel div a.btnTelBas,
    .contentListGeoloc .layoutDetail1606 div.blocContactsHaut.tel div p.btnTelBas {
        height: 44px;
        line-height: 44px;
        border-radius: 25px;
        font-size: 15px
    }

    .contentListGeoloc .layoutDetail1606 div.blocContactsHaut.tel div a.btnTelBas[data-visible='1'],
    .contentListGeoloc .layoutDetail1606 div.blocContactsHaut.tel div p.btnTelBas[data-visible='1'] {
        background-color: #5bc0de
    }

    .layoutDetail1606 #modernGallery #slider .flex-viewport .slides li {
        display: flex !important;
        align-items: center;
        justify-content: center;
        height: 270px;
        overflow: hidden
    }

    .layoutDetail1606 #modernGallery #slider .flex-viewport .slides>img {
        flex: none
    }

    .w60 {
        width: 60% !important
    }

    .cd-top2 .cta-flottant {
        background-color: #616161 !important
    }

    .cd-top3 .cta-flottant {
        background-color: #25d366 !important
    }
}


:root [class*="five-rate-"] {
    --rating-empty: url(/assets/images/star.svg#icon-star-empty-light);
    --rating-half: url(/assets/images/star.svg#icon-star-color-half-light);
    --rating-full: url(/assets/images/star.svg#icon-star-color-light);
    --rating-color-half: url(/assets/images/star.svg#icon-star-color-half-light);
    --rating-color-full: url(/assets/images/star.svg#icon-star-color-light);
    --rating-focus: url(/assets/images/star.svg#icon-star-full-light);
}

:root [class*="five-rate-"].bullets {
    --rating-empty: url(/assets/images/star.svg#icon-bullet-empty-light);
    --rating-half: url(/assets/images/star.svg#icon-bullet-color-half-light);
    --rating-full: url(/assets/images/star.svg#icon-bullet-color-light);
    --rating-color-half: url(/assets/images/star.svg#icon-bullet-color-half-light);
    --rating-color-full: url(/assets/images/star.svg#icon-bullet-color-light);
    --rating-focus: url(/assets/images/star.svg#icon-bullet-full-light);
}

[class*="five-rate-"] {
    display: inline-block;
    text-align: center;
    margin: auto;
    font-size: 0;
    vertical-align: middle;
    white-space: nowrap;
    cursor: pointer;
}

@media (any-hover: hover) {
    .five-rate-active:hover {
        background-color: transparent;
    }
}

[class*="five-rate-"] *:not([aria-hidden]) {
    width: 1rem;
    height: 1rem;
    background-size: cover;
    display: inline-block;
    font-size: var(--font-size);
    position: relative;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: transparent;
}

[class*="five-rate-"].larger *:not([aria-hidden]) {
    width: 2.375rem;
    height: 2.375rem;
}

[class*="five-rate-"].smaller *:not([aria-hidden]) {
    width: 1.2rem;
    height: 1rem;
}

[class*="five-rate-"] button [aria-hidden="true"] {
    white-space: nowrap;
    overflow: hidden;
    width: 0 !important;
    height: 0 !important;
    text-indent: -6.25rem;
    line-height: 0;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0;
}

[class*="five-rate-"] .rate-value-empty {
    background-image: var(--rating-empty);
}

:root[class*="contrast"] [class*="five-rate-"] .rate-value-empty {
    filter: contrast(200%);
}

[class*="five-rate-"] .rate-value-half {
    background-image: var(--rating-half);
}

[class*="five-rate-"] .rate-value-full {
    background-image: var(--rating-full);
}

.five-rate-active:focus-within button {
    background-image: var(--rating-focus);
}

.five-rate-active button:focus ~ * {
    background-image: var(--rating-empty);
}

:root[class*="contrast"] .five-rate-active:focus-within button {
    filter: contrast(200%);
}

@media (any-hover: hover) {
    .five-rate-active:hover button {
        background-image: var(--rating-focus);
        background-color: inherit;
    }

    .five-rate-active button:hover ~ * {
        background-image: var(--rating-empty);
        background-color: transparent;
    }

    :root[class*="contrast"] .five-rate-active:hover button {
        filter: contrast(200%);
    }
}

.rating-scale {
    padding: var(--half-gutter);
    width: 25rem;
    display: block;
    background-color: var(--background-color-secondary);
    border-radius: var(--radius);
    text-align: left;
    margin: auto;
    max-width: 100%;
    position: relative;
}

:root[class*="contrast"] .rating-scale {
    box-shadow: 0 0 0 1px var(--box-shadow) inset;
}

.rating-scale[aria-label] {
    padding-top: 2.5rem;
}

.rating-scale[aria-label]:before {
    content: attr(aria-label);
    position: absolute;
    left: var(--half-gutter);
    top: 0.5rem;
    line-height: 2rem;
}

.rating-scale dt {
    display: inline-block;
    width: 2.5rem;
    background-position: calc(100% - 0.375rem) center;
    background-size: 0.75rem 0.75rem;
    height: 1rem;
    line-height: 1rem;
    vertical-align: middle;
    background-image: var(--rating-color-full);
    font-size: 0.8125rem;
}

.rating-scale dd {
    display: inline-block;
    width: calc(100% - 2.8125rem);
    position: relative;
    height: 1rem;
    line-height: 1rem;
    vertical-align: middle;
    font-size: 0.8125rem;
}

.rating-scale dd span.scale {
    background-color: rgba(0, 0, 0, 0.05);
    display: inline-block;
    width: calc(100% - 4.375rem);
    border-radius: var(--radius);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 0.625rem;
}

@media (prefers-color-scheme: dark) {
    .rating-scale dd span.scale {
        background-color: rgba(0, 0, 0, 0.3);
    }
}

:root[class*="contrast"] .rating-scale dd span.scale {
    box-shadow: 0 0 0 1px var(--box-shadow);
}

.rating-scale dd .scale span {
    display: block;
    background-color: var(--yellow);
    height: 0.625rem;
    border-radius: var(--radius);
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
    font-size: 1px;
    color: transparent;
}

:root[class*="contrast"] .rating-scale dd span.scale span {
    box-shadow: 0 0 0 1px var(--yellow);
}

.rating-scale dd > span:not(.scale) {
    position: absolute;
    color: var(--primary-color);
    line-height: 1rem;
    top: 50%;
    width: 3.75rem;
    text-align: right;
    right: 0;
    transform: translateY(-50%);
}

/* RATING */
.rating {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center
}

.rating>input {
    display: none
}

.rating>label {
    position: relative;
    width: 1em;
    font-size: 25px;
    font-weight: 600;
    color: #fbbc04;
    cursor: pointer
}

.rating>label::before {
    content: "\2605";
    position: absolute;
    opacity: 0
}

.rating>label:hover:before,
.rating>label:hover~label:before {
    opacity: 1 !important
}

.rating>input:checked~label:before {
    opacity: 1
}

.rating:hover>input:checked~label:before {
    opacity: 0.4
}
.lh-20 {line-height: 20px !important;}
.lh-25 {line-height: 25px !important;}

.tracking-tight {letter-spacing: -0.025em;}


.rating-point .h3 {
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    left: 50%;
    letter-spacing: -0.5px;
}

@media (pointer: coarse) {
    [class*="five-rate-active"].larger *:not([aria-hidden]), [class*="five-rate-active"] *:not([aria-hidden]) {
        width: 2.5rem;
        height: 2.5rem;
    }
}