
.line-separator, .section_separator {
    width: 100%;
    height: 1px;
    background-color: #E0E0E0;
}

.section_separator {
    background-color: red;
    display: none;
}
.stay_detail {
    position: relative;
}

.stay_total {
    padding-top: 16px;
}

.cart_detail_title, .stay_summary, .line-separator, .file_extra_prods_title, .extra_prod {
    margin-top: 16px;
}

.pax_items, .prod_items {
    margin-top: 16px;
}

#cart_details {
    background-color: white;
    margin-bottom: 24px;
}

div.cart_detail_title, div.file_extra_prods_title, div.stay_total_label {
    font-family: Roboto-Medium;
    color: #212121;
}

.price-desc-title {
    display: inline-block;
}

.category_text_desc {
    font-size: 12px;
}

.price-value {
    display: inline-block;
}

.pax_item {
    display: inline-flex;
    margin-right: 20px;
    align-items: center;
}

.pax_title {
    display: inline-block;
    margin-right: 10px;
}

.stay_category {
    display: inline-block;
}

.extra_prod_checkbox {
    display: inline-block;
}

.extra_prod_select {
    display: inline-block;
}

.extra_prod_label {
    display: inline-block;
}

.pax_label > span.lbl_pax {
    min-width: 120px;
    display: inline-block;
}

.occupant_text {
    display: inline-block;
}

.occupant_lastname {
    text-transform: uppercase;
}

.progress-bar {
    margin: 13px;
}

.btn-icon.remove-from-cart {
    display: flex;
    justify-content: center;
    align-items: center;
}

.cart_details .remove-from-cart {
    float: right;
    width: 32px;
    height: 32px;
}

.stay_total_label {
    display: inline-block;
}

.stay_total_price {
    color: #00ADB3
}

.detail_content {
    padding-top: 12px;
}

#bottom-button-bar {
    min-height: 60px;
    margin-bottom: 12px;
}

#navigate_back {
    margin-right: 16px;

}

#navigate_back button {
    width: auto;
}

.form-wizard-step {
    font-family: Roboto;
}

.cart_detail_title {
    font-size: 18px;
}

.stay_summary > div {
    display: flex;
    align-items: center;
}

label.extra_prod_select, label.extra_prod_label {
    margin-bottom: 0 !important;
}

.price_without_reduction {
    text-decoration: line-through;
    color: grey !important;
}

.book_promo {
    margin-top: 16px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}

.book_promo_label {
    font-family: Roboto-Medium;
    display: inline-block;
}

.book_promo_value {
    display: inline-block;
    float: right;
    width: 8rem;
}

.single_stay_total_price_value,
.single_stay_line-separator,
.single_stay_total_label {
    display: none;
}

.ModuleCriteria .form-button {
    display: none
}

.ModuleThpCriteria .form-button {
    display: none
}
.ModuleCriteria {
    margin-bottom: 36px;
}
.ModuleThpCriteria {
    margin-bottom: 36px;
}

/*890 et plus : tablette paysage et PC*/
/*- Entre 700 et 889  : tablette portrait*/
/*- Entre 396 et 699 : smartphone XL*/
/*- Moins de 396 : smartphone*/

@media screen and (min-width: 700px) {
    .detail_content {
        margin-left: calc(100% / 2 - 350px); /* permet de centrer l'affichage des propositions */
        width: 700px;
    }

    /* Formatage des séjours */
    .stay_summary {
        display: flex;
        flex-wrap: wrap;
    }

    .stay_summary > .stay_summary_text {
        order: 1;
        width: calc(100% - 190px);
    }

    .stay_summary > .stay_price {
        order: 2;
        text-align: right;
        width: 140px;
    }

    .stay_summary > .cart_item_nights {
        display: none;
    }

    .cart_details .remove-from-cart {
        order: 3;
    }


    .stay_summary > .cart_item_dates {
        order: 4;
        width: 100%;
    }

    .stay_summary > .stay_payor {
        order: 5;
        width: 100%;
    }

    .cart_item_prod_desc {
        order: 6;
        display: flex;
        align-items: center;
    }

    .cart_item_prod_desc > p {
        margin-top: 0;
        margin-bottom: 0;
        color: #757575;
    }

    .stay_summary > .stay_resource_desc {
        order: 6;
        width: 100%;
    }

    /*saisi des occupants*/
    .occupant-section-title {
        display: none;
    }

    .pax_label {
        display: flex;
        align-items: center;
        margin-top: 16px;
    }

    .pax_label .occupant_text:first-of-type {
        margin-right: 16px;
    }

    .pax_label input {
        flex-grow: 1;
    }

    /* Formatage des prestations complémentaires */
    .extra_prod {
        display: grid;
        grid-template-columns: 96px auto auto;
        grid-template-rows: 32px auto;
        align-content: center;
    }

    .extra_prod > .extra_prod_label,
    .extra_prod > .extra_prod_price {
        display: grid;
        align-content: center;
    }

    .extra_prod > .extra_prod_label_with_reduction {
        display: inline-block;
        line-height: 32px;
    }

    .extra_prod_select,
    .extra_prod_select + .select-spinner {
        order: 1;
    }

    .extra_prod_label,
    .extra_prod_label_with_reduction {
        order: 2;
        flex-grow: 1;
    }

    .stay_item .extra_prod_price, .extra_prod .extra_prod_price {
        order: 3;
        margin-right: 32px;
        text-align: right;
    }

    .extra_prod_desc {
        grid-row: 2/3;
        grid-column: 1/4;
        font-size: 12px;
    }

    .extra_prod_desc > p {
        margin: 0;
        padding-left: 10px;
    }

    .stay_item .stay_price, .stay_item .extra_prod_price, .stay_item .stay_total_price {
        float: right;
    }

    /* Formatage du total */
    .stay_total_price {
        margin-right: 32px;
    }
}

@media screen and (max-width: 699px) {
    .detail_content {
        width: calc(100vw - 40px);
        margin-left: 20px;
        margin-right: 20px;
    }

    /* Formatage des séjours */
    .stay_summary {
        display: grid;
        grid-template-columns: auto auto auto 32px;
        grid-template-rows: auto auto auto;
        /*flex-wrap: wrap;*/
    }

    .stay_summary > .stay_summary_text {
        grid-column: 1/4;
        grid-row: 1/2;
    }

    .stay_summary > .cart_item_dates {
        grid-column: 1/4;
        grid-row: 2/3;
    }

    .stay_summary > .cart_item_nights {
        grid-column: 1/2;
        grid-row: 3/4;
    }

    .stay_summary > .stay_price {
        grid-column: 2/3;
        grid-row: 3/4;
        display: flex;
        justify-content: flex-end;
    }

    .stay_summary > div.cart_item_prod_desc {
        display: none;
    }

    .remove-from-cart.btn-icon {
        grid-column: 3/4;
        grid-row: 3/4;
    }


    .stay_summary > .stay_payor {
        grid-column: 1/4;
        grid-row: 4/5;
    }


    .stay_item .remove-from-cart.btn-icon {
        margin-right: 0;
    }

    .stay_summary > .stay_summary_text,
    .stay_summary > .cart_item_dates,
    .stay_summary > .stay_resource_desc,
    .stay_summary > .stay_price,
    .stay_summary > .cart_item_nights,
    .stay_summary > .stay_payor {
        font-size: 14px;
    }

    .stay_summary_text {
        order: 1;
        width: 100%;
    }

    .stay_summary > .cart_item_dates {
        order: 2;
        flex-grow: 1;
    }

    .stay_summary > .stay_price {
        order: 3;
    }

    .cart_details .remove-from-cart {
        order: 4;
        width: 32px;
    }

    .stay_summary > .stay_resource_desc {
        order: 5;
        width: 100%;
    }

    /* saisie des occupants */
    .occupant-section-title {
        display: flex;
        text-transform: uppercase;
        color: #757575;
        font-size: 8px;
        height: 20px;
        align-items: flex-end;
    }

    .pax_items {
        display: flex;
        flex-direction: column;
        margin-top: 8px;
    }

    .pax_item {
        justify-content: space-between;
        display: flex;
        margin-right: 0;
        margin-bottom: 16px;
    }

    .pax_item > label.extra_prod_select {
        order: 1;
        font-size: 14px;
    }

    .pax_item > .select-spinner {
        order: 2;
        margin-right: 0;
    }

    .pax_label {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 8px;
    }

    .pax_label input {
        width: 100%;
    }

    .pax_label .lbl_pax {
        font-size: 14px;
    }

    .select-spinner input {
        font-size: 14px;
    }

    /* Formatage des prestations complémentaires */
    .extra_prod {
        display: grid;
        grid-template-columns: auto 96px;
        grid-template-rows: 8px 8px 8px 8px 8px;
        /*flex-wrap: wrap;*/
        /*align-items: center;*/
    }

    .extra_prod > .extra_prod_label,
    .extra_prod > .extra_prod_label_with_reduction,
    .extra_prod > .select-spinner {
        grid-row: 1 / 4
    }

    .extra_prod > .extra_prod_price {
        grid-row: 4 / 6;
    }

    .extra_prod > .extra_prod_label,
    .extra_prod > .extra_prod_price {
        display: grid;
        align-content: center;
    }

    .extra_prod_label, .extra_prod_label_with_reduction, .extra_prod_price {
        font-size: 14px !important;
    }

    .extra_prod_label, .extra_prod_label_with_reduction {
        /*dans le cas ou le label de la presta complémentaire est trop long et s'affiche sur 2 lignes je diminue le line height
            pour  ne pas passer par dessus prix
        */
        line-height: 14px;
    }

    .extra_prod > .extra_prod_label_with_reduction {
        display: inline-block;
    }

    .stay_item .extra_prod_price, .file_extra_prods .extra_prod_price {
        color: #757575;
    }

    .extra_prod_select,
    .extra_prod_select + .select-spinner {
        order: 2;
    }

    .stay_item .extra_prod_price {
        order: 3;
    }

    .extra_prod_desc {
        display: none
    }

    /* Formatage du total */
    .stay_item .stay_total {
        display: flex;
    }

    .stay_item .stay_total_label {
        flex-grow: 1;
    }

    .stay_item .cart-details .btn {
        width: 100%;
    }

    #navigate_forward,
    #navigate_forward div,
    #navigate_forward button,
    #navigate_back,
    #navigate_back div,
    #navigate_back button {
        display: block;
        width: 100%;
    }

    #navigate_back {
        margin-right: 0px;
    }

    .occupant_text {
        margin-top: 4px;
    }
}

@media screen and (min-width: 396px) and (max-width: 699px) {
    .detail_content {
        width: calc(100vw - 24px);
        margin-left: 12px;
        margin-right: 12px;
    }
}




