﻿.wrap-bloc-option {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    align-content: flex-start;
    gap: 32px;
    align-self: stretch;
    flex-wrap: wrap;
}

nav.options-list-filter {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    align-self: stretch;
    position: relative;
    max-width: 100%;
}

nav.options-list-filter span {
    display: flex;
    width: 222.667px;
    padding-bottom: 8px;
    align-items: center;
    color: var(--Colors-BE-NOIR, #000);
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    border-bottom: 1px solid var(--Colors-BE-GRIS, #EAEAEA);
    cursor: pointer;
}

nav.options-list-filter span.active {
    border-bottom: 1px solid var(--Colors-BE-GRIS, #EAEAEA);
    color: var(--MAIN-COLOR);
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
}

nav.options-list-filter span.promo-filter {
    color: var(--Colors-BE-PROMOTION, #CC1541);
}

/* On n'utilise plus le ::after pour l'underline sur les span */
nav.options-list-filter span::after {
    display: none;
}

/* L'underline mobile */
.underlineOption {
    position: absolute;
    height: 3px;
    width: 0;
    background-color: var(--MAIN-COLOR);
    bottom: 0;
    left: 0;
    transition: all 0.3s ease-in-out;
    /* Assurez-vous qu'il soit visible, pas de display: none */
}


.options-list .bloc-option:only-child {
    margin-left: auto;
    margin-right: auto;
}

div#options-container, div#preCartItem {
    display: flex;
    align-self: stretch;
    flex-direction: column;
    gap: 24px;
}

.wrap-content-page-cartOptions, .cartOptions-content {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 24px;
    align-self: stretch;
}

.bloc-title-room-selected {
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-self: stretch;
}

.bloc-title-room-selected h1 {
    color: var(--Colors-BE-NOIR, #000);
    font-family: Inter;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.bloc-options {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    width: 100%;
}

.bloc-option-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    justify-content: space-between;
    flex: 1 0 0;
    gap: 16px;
    padding: 0 16px 16px 16px;
}

.option-rates {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-self: stretch;
}

.bloc-option {
    display: flex;
    flex: 0 0 calc((100% - 3 * 30px) / 4);
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    border-radius: 10px;
    border: 1px solid var(--Colors-BE-GRIS, #EAEAEA);
    opacity: 1;
    position: relative;
    top: 0;
}

.bloc-option.hidden {
    opacity: 0;
    transform: translateY(20px);
}

.bloc-img-option {
    position: relative;
    width: 100%;
}

.isPromoOption {
    position: absolute;
    top: 10px;
    right: 10px;
    border-radius: 30px;
    background: var(--Colors-BE-PROMOTION, #CC1541);
    display: flex;
    padding: 4px 8px;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.isPromoOption span {
    color: var(--Colors-BE-BLANC, #FFF);
    text-align: right;
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
}

.bloc-option .img-option {
    height: 180px;
    width: 100%;
    object-fit: cover;
    align-self: stretch;
    border-radius: 10px 10px 0px 0px;
}

.option-top {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
}

.option-bottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    align-self: stretch;
}

/* fil d'ariane option */

.ss-type {
    display: flex;
    gap: 4px;
}

.ss-type span {
   /* color: var(--Separator, #E5E5E5);*/
    font-size: 14px;
}

/* Limiter l'affichage à 3 lignes */
.option-description .text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Lorsque le texte est déplié, afficher tout le contenu */
.option-description .text.expanded span {
    -webkit-line-clamp: unset;
    overflow: visible;
}

/* Cacher le bouton par défaut */
.read-more-option {
    display: none;
    color: var(--MAIN-COLOR);
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-decoration: underline;
}

/* Afficher le bouton "Lire plus" si le texte est tronqué */
.option-description .text.collapsed + .read-more-option {
    display: block;
}

/* Affichage du bouton "Lire moins" lorsqu'on a déplié le texte */
.option-description .text.expanded + .read-more-option {
    display: block;
}

.option-description .text span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
}

.option-description span.expanded {
    -webkit-line-clamp: unset;
    max-height: none;
}

.bloc-price-option p {
    padding-right: 5px;
}

.bloc-options-title h3 {
    color: var(--color-black);
    font-family: Inter;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.bloc-options-title i {
    color: var(--color-black);
    font-family: Inter;
    font-size: 32px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    display:flex;
}

.options-list {
    gap: 15px;
    display: flex;
    flex-wrap: wrap;
}

.bloc-options-list {
    width: 100%;
    height: auto;
}


.option-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    align-self: stretch;
}

.option-title h4 {
    color: var(--color-black);
    font-family: Inter;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

.option-info {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
}

.option-description {
    color: var(--color-black);
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.option-bottom .addOptionToCartButton {
    text-transform: uppercase;
}

.read-more-option span.openModalOption {
    display: flex;
    border: none;
    padding: 0;
    text-transform: none;
    font-size: 14px;
}

.bloc-price-option {
    color: var(--color-black);
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    width: 100%;
}   
.bloc-price-option span {
    color: var(--color-black);
    /* PHONE/H2 BIS */
    font-family: Inter;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

/* partie horaires/tarif de l'option */

.bloc-hours-item-rates {
    display: none;
    display: flex;
    flex-direction: column;
    align-self: stretch;
}

.bloc-hours-item-rates.active {
    display: flex;
}

.modal-option .package, .modal-option .option-prestation-package {
    display: flex;
    align-self: stretch;
    flex-direction: column;
    width: 100%;
}

/* Bloc pour l quantité */

.bloc-addMoreItem {
    display: flex;
    align-items: flex-start;
    align-self: stretch;
    border-radius: 5px;
    border: 1px solid var(--Colors-BE-GRIS, #EAEAEA);
}

.wrap-OptionRateItem {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    gap: 16px;
}

.bloc-addMoreItem img {
    width: 80px;
    align-self: stretch;
    border-radius: 5px;
    object-fit: cover;
}

.addMoreItem-content {
    display: flex;
    justify-content: space-between;
    align-self: stretch;
    width: 100%;
}

.MoreItem-title {
    color: var(--Colors-BE-NOIR, #000);
    font-family: Inter;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.MoreItem-price strong {
    color: var(--Colors-BE-NOIR, #000);
    font-family: Inter;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.MoreItem-price span {
    color: var(--Colors-BE-NOIR, #000);
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.MoreItem-maxCapacity span {
    color: var(--Colors-BE-NOIR, #000);
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.MoreItem-leftSide {
    display: flex;
    padding: 8px;
    align-items: center;
    gap: 12px;
    flex: 1 0 0;
    align-self: stretch;
    justify-content: space-between;
}

.MoreItem-rightSide {
    display: flex;
    padding: 8px;
    gap: 12px;
    align-items: center;
    align-self: stretch;
    justify-content: space-between;
}

.MoreItem-maxCapacity {
    display: flex;
    gap: 6px;
    align-items: center;
}

/* Bouton ajout */

.btn-add-option {
    display: flex;
    height: 30px;
    padding: 10px 15px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 5px;
    border-width: 0.25px;
    border-style: solid;
    border-color: var(--MAIN-COLOR);
    background: var(--color-white);
}
.btn-add-option span {
    color: var(--MAIN-COLOR);
    text-align: center;
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
}

span.openModalOption {
    display: flex;
    padding: 12px 24px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 5px;
    border-width: 0.25px;
    border-style: solid;
    border: 1px solid var(--HEB-LIGHT, #E1EAF8);
    background: var(--color-white);
    color: var(--MAIN-COLOR);
    height: 44px;
    text-align: center;
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    cursor: pointer;
}

span.openModalOption:hover {
    background: var(--MAIN-COLOR);
    color: var(--color-white);
}

/* Popup des options */

.booking-period {
    display: flex;
    gap: 8px;
    align-items: center;
    align-self: stretch;
    color: var(--color-black);
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.booking-period div strong {
    color: var(--MAIN-COLOR);
}

.wrap-content-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    align-self: stretch;
}

.content-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.content-title span {
    color: var(--color-black);
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.content-title-desc {
    color: var(--color-black);
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.content-calendar {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
}

span.monthly-period {
    color: var(--color-black);
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: capitalize;
}

.days-period {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 25px;
    flex-wrap: wrap;
    row-gap: 10px;
}

/* item du calendrier des périodes pour autres que restauration */

.day-period {
    display: flex;
    width: 80px;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.day-period input {
    display: flex;
    width: 15px;
    height: 15px;
    justify-content: space-between;
    align-items: center;
    flex-shrink: 0;
    border-radius: 5px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border-radius: 5px;
    border: 0.25px solid var(--BASIC-NOIR, #000);
}

.day-period input:checked {
    background: var(--MAIN-COLOR);
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.day-period span {
    color: var(--color-black);
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

span.infos-calendar {
    color: var(--color-black);
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.wrap_btn-cart-options {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    align-self: stretch;
}

.preCart-recap-multi-room {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    flex: 1 0 0;
    gap: 12px;
}

.preCart-recap-multi-room strong {
    display: flex;
    width: 170px;
}

.preCart-recap-multi-room span {
    display: flex;
    width: 170px;
    gap: 6px;
    align-items: center;
}

.preCart-recap-multi-room span i {
    display: flex;
}


.preCart-recap-initialRQ, .preCart-item-booked {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex: 1 0 0;
    gap: 16px;
}

.wrap-btn-pre-cart {
    display: flex;
    gap: 24px;
    align-items: baseline;
    justify-content: flex-end;
    align-self: stretch;
    width: 100%;
}

.nextRoom {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

.nextRoom span.stopAddRoom {
    color: var(--Colors-BE-PROMOTION, #CC1541);
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
    text-transform: initial;
}

a.continue-btn-resa-bottom {
    display: flex;
    padding: 12px 24px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 5px;
    text-decoration: none;
    text-align: center;
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
}

a.continue-btn-resa-bottom.disabled {
    background: var(--Colors-BE-GRIS-L, #F8F8F8);
    color: var(--Colors-BE-GRIS-D, #BFBFBF);
    pointer-events: none;
}

a.continue-btn-resa-bottom:not(.disabled) {
    background: var(--HEB-BOUTON, #3951AC);
    color: var(--color-white);
    border: 1px solid var(--MAIN-COLOR);
    transition: all .4s ease-out;
}

a.continue-btn-resa-bottom:not(.disabled):hover {
    background: var(--color-white);
    color: var(--HEB-BOUTON, #3951AC);
    border: 1px solid var(--MAIN-COLOR);
}

a.btn-next-room {
    color: var(--color-white);
    background: var(--MAIN-COLOR);
    transition: all .4s ease-out;
    display: flex;
    height: 40px;
    padding: 10px 40px;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    box-sizing: border-box;
    text-decoration: none;
}

a.btn-next-room span {
    color: var(--Colors-BE-BLANC, #FFF);
    text-align: center;
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

a.btn-next-room:hover {
    background: var(--color-white);
    border: 0.25px solid var(--MAIN-COLOR);
}

a.btn-next-room:hover span {
    color: var(--MAIN-COLOR);
}

a.btn-complete-cart {
    color: var(--MAIN-COLOR);
    background: var(--color-white);
    transition: all .4s ease-out;
    display: flex;
    height: 40px;
    padding: 10px 40px;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
    box-sizing: border-box;
    text-decoration: none;
    border: 0.25px solid var(--MAIN-COLOR);
}

a.btn-complete-cart span {
    color: var(--MAIN-COLOR);
    text-align: center;
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

a.btn-complete-cart:hover {
    background: var(--MAIN-COLOR);    
}

a.btn-complete-cart:hover span {
    color: var(--color-white);
}

/* MEDIA QUERIES */

@media (min-width: 769px) and (max-width: 1024px) {

    .bloc-option {
        width: calc(50% - 16px);
        flex: auto;
        max-width: calc(50% - 16px);
    }

    .bloc-options-title h3 {
        font-size: 28px;
    }

    .bloc-options-title i {
        font-size: 28px;
    }

}
    

@media (max-width: 768px) {

    span.openModalOption {
        font-size: 14px;
    }

    .wrap-content-page-cartOptions, .cartOptions-content {
        gap: 20px;
    }

    nav.options-list-filter {
        flex-direction: column;
        align-self: stretch;
    }

    nav.options-list-filter span {
        width: 100%;
        font-size: 14px;
    }

    a.btn-next-room span {
        text-transform: initial;
    }

    .bloc-option-wrap {
        gap: 16px;
        padding: 0 16px 16px 16px;
    }

    .bloc-title-room-selected h1 {
        font-size: 20px;
    }

    .wrap-btn-pre-cart {
        align-self: stretch;
    }

    a.btn-complete-cart {
        width: 100%;
    }

    .wrap_btn-cart-options {
        flex-direction: column;
    }

    .bloc-options {
        flex-direction: column;
        width: 100%;
    }

    .bloc-option .img-option {
        height: 200px;
    }

    .bloc-options-title {
       color: var(--Colors-BE-NOIR, #000);
        font-family: Inter;
        font-size: 16px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .bloc-price-option {
        display: flex;
        align-items: center;
    }

    .img-option {
        height: 130px;
    }

    .add-option img, a.add-offer-cart img {
        display: none;
    }

    .options-list {
        column-count: 1;
        width: 100%;
        margin: auto;
        flex-direction: column;
    }

    .bloc-option {
        border-radius: 10px;
        border: 1px solid var(--Colors-BE-GRIS, #EAEAEA);
        min-width: 200px;
        width: 100%;
        flex: 1 0 0;
    }

    .option-bottom {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        align-self: stretch;
    }

    .btn-add-option span {
        font-size: 14px;
    }

}
