/**************************/
/****** Planning Page *****/
/**************************/
#planningHero{
    height:600px;
}
#planningHero.page-header{
    background: url('../../medias/frontend/webp/header-planning.webp') center/cover no-repeat;
}
#planningHero h1{
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
    #planningHero{
        height:450px;
    }
}
@media only screen and (max-width:992px){
    #planningHero{
        height:350px;
    }
    #planningHero.page-header {
        padding-top: 175px;
    }
}
@media only screen and (max-width:768px){
    #planningHero{
        height:350px;
    }
    #planningHero h1{
        padding-right:0px;
    }
    #planningHero.page-header {
        padding-top: 175px;
    }
    #planningHero.page-header {
        padding-top: 200px;
        background: url('../../medias/frontend/webp/planning-header-768.webp') center/cover no-repeat;
    }
}
@media only screen and (max-width:576px){
}
@media only screen and (max-width:320px){
}
@media only screen and (max-width:480px){
    #planningHero.page-header {
        background: url('../../medias/frontend/webp/planning-header-480.webp') center/cover no-repeat;
    }
    #planningHero.page-header {
        padding-top: 180px;
    }
}

.planning-intro{
    padding:75px 0px;
}

#planningLoader{
    display:none;
    flex-direction:column;
    height:500px;
    align-items:center;
    justify-content:center;
    border:1px solid var(--beige);
    border-radius:var(--radius);
    margin-bottom:75px;
    text-align:center;
    padding:25px;
}
#planningLoader .loader {
    width:100%;
    max-width: 300px;
    height: 22px;
    border-radius: 20px;
    color: var(--purple-primary);
    border: 2px solid;
    position: relative;
}
#planningLoader .loader::before {
    content: "";
    position: absolute;
    margin: 2px;
    inset: 0 100% 0 0;
    border-radius: inherit;
    background: currentColor;
    animation: l6 5s infinite;
}
@keyframes l6 {
    100% {inset:0}
}

#planningBuilder{
    display:none;
    padding-bottom:75px;
}

#planningBuilder .card{
    background-color:#fff;
    border-color:var(--beige);
    margin-bottom:25px;
}

#planningBuilder .btn-sm{
    padding:4px 10px!important;
    font-size:14px; 
}

#planningBuilder .btn-sm{
    padding:4px 10px!important;
    font-size:14px; 
}

.planning-dates{
    padding-bottom:25px;
}
.planning-dates input{
    background:transparent!important;
    border:none;
    border-right:2px solid var(--beige)!important;
    border-radius:0px;
    color:var(--purple-primary);
    font-weight:bold;
}
.planning-dates input:focus{
    box-shadow:none;
}
.planning-dates #toInput{
    border:none!important;
}
.planning-dates .form-floating>label{
    font-weight:bold;
    color:var(--purple-primary);
}
.planning-dates .form-floating>.form-control:not(:placeholder-shown)~label::after{
    background:transparent!important;
}
.planning-dates #fromInput{

}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
}
@media only screen and (max-width:992px){
}
@media only screen and (max-width:768px){
    .planning-dates input{
        border:none!important;
    }
}
@media only screen and (max-width:576px){
}
@media only screen and (max-width:320px){
}
@media only screen and (max-width:480px){
}

.planning-participants{
    display:none;
    padding-bottom:25px;
}
/* .planning-participants .table{
    margin-bottom:0px;
}
.planning-participants .table tr td{
    background:transparent;
    border-color:var(--beige);
} */
.planning-participants input,
.planning-participants select{
    background:transparent!important;
    border:none;
    border-right:1px solid var(--beige)!important;
    border-radius:0px;
    color:var(--purple-primary);
}
.planning-participants input.is-invalid,
.planning-participants select.is-invalid{
    background:url('data:image/svg+xml,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13 16C13 16.5523 12.5523 17 12 17C11.4477 17 11 16.5523 11 16C11 15.4477 11.4477 15 12 15C12.5523 15 13 15.4477 13 16Z" fill="%23EB3737"/><path d="M12.75 7C12.75 6.58579 12.4142 6.25 12 6.25C11.5858 6.25 11.25 6.58579 11.25 7V13C11.25 13.4142 11.5858 13.75 12 13.75C12.4142 13.75 12.75 13.4142 12.75 13V7Z" fill="%23EB3737"/><path fill-rule="evenodd" clip-rule="evenodd" d="M12 1.25C6.06294 1.25 1.25 6.06294 1.25 12C1.25 17.9371 6.06294 22.75 12 22.75C17.9371 22.75 22.75 17.9371 22.75 12C22.75 6.06294 17.9371 1.25 12 1.25ZM2.75 12C2.75 6.89137 6.89137 2.75 12 2.75C17.1086 2.75 21.25 6.89137 21.25 12C21.25 17.1086 17.1086 21.25 12 21.25C6.89137 21.25 2.75 17.1086 2.75 12Z" fill="%23EB3737"/></svg>')!important;
    background-repeat:no-repeat!important;
    background-position:right 5px center!important;
    background-size:24px!important;
    border-bottom:1px solid #ff0000;
    border-radius:0px;
    color:var(--purple-primary);
}
/* .planning-participants input:focus{
    box-shadow:none;
}
.planning-participants .form-floating>label{
    color:#999;
}
.planning-participants .form-floating>.form-control:not(:placeholder-shown)~label::after{
    background:transparent!important;
} */

.participant-row .col-10,
.participant-row .col-2,
.participant-row .col-12{
    border-bottom:1px solid var(--beige)!important;
    padding:0px;
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
}
@media only screen and (max-width:992px){
}
@media only screen and (max-width:768px){
}
@media only screen and (max-width:576px){
    .planning-participants input,
    .planning-participants select{
        border:none!important;
    }
    .participant-row .col-10 input{
        border-right:1px solid var(--beige)!important;
    }
}
@media only screen and (max-width:320px){
}
@media only screen and (max-width:480px){
}

.planning-packages{
    display:none;
}
.planning-packages .card{
    background-color:#fff;
    margin-bottom:25px;
    box-shadow:none!important;
    border:none!important;
}
.planning-packages .card:hover{
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}
.planning-packages .card.active{
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}
.planning-packages .card .title{
    font-weight:bold;
    font-size:18px;
}
.planning-packages .card p{
    margin-bottom:0px;
    font-size:15px;
}

.planning-lodgings{
    display:none;
}
.planning-lodgings .include-meals{
}
.planning-lodgings .card{
    margin-bottom:8px!important;
    font-size:15px;
}
.planning-lodgings .card .title{
    font-weight:bold;
}
.planning-lodgings .card .description {
    font-size: 14px;
    margin-bottom: 0px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    position: relative;
}
.planning-lodgings .card .description::after {
    content: "... Voir plus";
    position: absolute;
    bottom: 0;
    right: 0;
    background: white;
    padding-left: 10px;
    text-decoration: underline;
    color: var(--purple-primary);
}
.planning-lodgings .card .description.expanded::after {
    display: none;
}
.planning-lodgings .card .description.expanded br,
.planning-lodgings .card .description br {
    content: "";
    display: block;
    margin: 2px 0; /* Contrôle l'espacement vertical */
}
.planning-lodgings .card .description.expanded {
    -webkit-line-clamp: unset;
    overflow: visible;
}
.planning-lodgings .card .min-person,
.planning-lodgings .card .max-person{
    font-size:14px;
}
.planning-lodgings .card .price{
    font-size:14px;
}
.planning-lodgings .card .include-meals{
    font-weight:bold;
    font-style:italic;
}
.planning-lodgings .btn.selected{
    background-image:url('data:image/svg+xml,<svg width="18" height="13" viewBox="0 0 18 13" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17 1L11.6093 7.46881C9.47319 10.0322 8.40512 11.3139 7 11.3139C5.59488 11.3139 4.52681 10.0322 2.39067 7.46881L1 5.8" stroke="white" stroke-width="1.5" stroke-linecap="round"/></svg>');
    background-repeat:no-repeat;
    background-position:right 10% center;
}
.planning-lodgings .lodging-occupants{
    border-top:1px solid var(--beige);
    margin-top:8px;
    padding-top:8px;
    display:none;
}
.planning-lodgings .lodging-occupants h5{
    font-size:15px;
}
.planning-lodgings .lodging-occupants .form-check{
    border-bottom:1px dashed var(--beige);
}
.planning-lodgings .lodging-occupants .col-md-6:last-child .form-check{
    padding-left:0px;
}
.planning-lodgings .lodging-occupants .col-md-6:last-child .form-check .form-check-input{
    float:right;
}
.planning-lodgings .lodging-occupants .form-option{
    border-bottom:1px dashed var(--beige);
    padding: 8px 0;
}

/* Styles pour les options "par personne" avec boutons radio custom */
.planning-lodgings .lodging-occupants .form-option .option-radio-group {
    display: flex;
    gap: 4px;
    justify-content: flex-end;
}

.planning-lodgings .lodging-occupants .form-option .radio-option {
    position: relative;
}

.planning-lodgings .lodging-occupants .form-option .radio-option input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.planning-lodgings .lodging-occupants .form-option .radio-label {
    display: inline-block;
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 500;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    border: 1px solid var(--purple-primary) !important;
    background: white !important;
    color: var(--purple-primary) !important;
    min-width: 28px;
    text-align: center;
}

.planning-lodgings .lodging-occupants .form-option .radio-option input[type="radio"]:checked + .radio-label {
    background: var(--purple-primary) !important;
    color: white !important;
    border-color: var(--purple-primary) !important;
}

.planning-lodgings .lodging-occupants .form-option .radio-label:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.planning-lodgings .lodging-occupants .form-check .popover-info-icon,
.planning-lodgings .lodging-occupants .form-option .popover-info-icon{
    position: relative;
    top: 5px;
    margin-left: 10px;
}

#planningLodgingsCategories{
    margin-top:1em;
}
#planningLodgingsCategories .btn{
    padding:4px 6px;
    font-size:14px;
    margin-left:12px;
    margin-bottom:1em;
}

@media only screen and (max-width:1440px){
}
@media only screen and (max-width:1200px){
}
@media only screen and (max-width:992px){
}
@media only screen and (max-width:768px){
    
}
@media only screen and (max-width:576px){
    .lodgings-inclusions h3 span{
        display:block;
    }
    .lodgings-inclusions li{
        font-size:14px;
        margin-bottom:2px!important;
    }
}
@media only screen and (max-width:320px){
}
@media only screen and (max-width:480px){
}

/********* QTY INPUT ******/
.planning-lodgings .qty-wrapper{
    float:right;
    width:75px;
    border:1px solid #DDCBEE;
    box-shadow:0px 0px 4px rgba(134, 85, 180, 0.06);
    background-color:#FAF5FF;
    border-radius:var(--radius);
}
.planning-lodgings .qty-wrapper .qty-btn{
    box-shadow:none;
    color:#A94EFF;
    width:25%;
    border:none;
    margin:0;
    background:transparent;
    height:22px;
    font-size:16px;
}
.planning-lodgings .qty-wrapper input{
    height:22px;
    width:50%;
    border:none;
    margin:0;
    text-align:center;
}
.planning-lodgings .qty-wrapper input[type="text" i] {
    padding-block: 0px;
    padding-inline: 0px;
}

.planning-lodgings .qty-wrapper input[type="number"]::-webkit-inner-spin-button,
.planning-lodgings .qty-wrapper input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.planning-lodgings .qty-wrapper input[type="number"] {
    -moz-appearance: textfield;
}

.popover-info-icon{
    background:transparent;
    background-image:url('data:image/svg+xml,<svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6.79647 5.44535C7.17769 4.30168 8.68652 4.05683 9.40984 5.02126C9.83355 5.5862 9.80399 6.37061 9.33897 6.90207L8.65491 7.68385C8.03406 8.39338 7.69186 9.30414 7.69186 10.2469V10.4826C7.69186 10.7908 7.94175 11.0407 8.25 11.0407C8.55825 11.0407 8.80814 10.7908 8.80814 10.4826V10.2469C8.80814 9.57453 9.0522 8.92497 9.49499 8.41892L10.1791 7.63714C10.9914 6.70873 11.043 5.33841 10.3029 4.35149C9.03926 2.66669 6.40345 3.09443 5.73747 5.09235L5.48794 5.84094C5.39047 6.13338 5.54851 6.44946 5.84094 6.54694C6.13338 6.64442 6.44946 6.48637 6.54694 6.19394L6.79647 5.44535Z" fill="%235F2C70"/><path fill-rule="evenodd" clip-rule="evenodd" d="M8.25 0.25C3.83172 0.25 0.25 3.83172 0.25 8.25C0.25 12.6683 3.83172 16.25 8.25 16.25C12.6683 16.25 16.25 12.6683 16.25 8.25C16.25 3.83172 12.6683 0.25 8.25 0.25ZM1.36628 8.25C1.36628 4.44823 4.44823 1.36628 8.25 1.36628C12.0518 1.36628 15.1337 4.44823 15.1337 8.25C15.1337 12.0518 12.0518 15.1337 8.25 15.1337C4.44823 15.1337 1.36628 12.0518 1.36628 8.25Z" fill="%235F2C70"/><path d="M8.99419 12.7151C8.99419 13.1261 8.661 13.4593 8.25 13.4593C7.839 13.4593 7.50581 13.1261 7.50581 12.7151C7.50581 12.3041 7.839 11.9709 8.25 11.9709C8.661 11.9709 8.99419 12.3041 8.99419 12.7151Z" fill="%235F2C70"/></svg>');
    background-repeat:no-repeat;
    width:21px;
    height:21px;
    border:none;
    box-shadow:none;
}

.planning-meals{
    display:none;
}
.planning-meals .card-body .row.align-items-center{
    border-bottom:1px dashed var(--beige);
    padding-top:4px;
    padding-bottom:4px;
}

.planning-activities{
    display:none;
}
.planning-activities .row{
    text-align:center;
}
.planning-activities .col-lg-3 .carousel{
    margin-bottom:10px;
}
.planning-activities .col-lg-3 .carousel .carousel-inner{
    border-radius:0px;
    border-top-left-radius:var(--radius);
    border-top-right-radius:var(--radius);
}
.planning-activities .col-lg-3 .carousel img{
    border-radius:0px;
    border-top-left-radius:var(--radius);
    border-top-right-radius:var(--radius);
    max-height: 250px;
    width: 100%;
    object-fit: cover;   
}
.planning-activities .card .card-body{
    padding-top:0px;
}
.planning-activities .col-lg-3 h4{
    font-size:20px;
    line-height:24px;
}
.planning-activities .col-lg-3 p{
    font-size:16px;
    line-height:24px;
}
.planning-activities .card-title{
    margin-top:15px;
}

#activityDetailsModal{

}
#activityDetailsModal .modal-header{
    background-color:#ccc;
    height:200px;
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    align-items:end;
}
#activityDetailsModal .modal-header .modal-title{
    color:#fff;
    text-shadow: 3px 2px 3px rgba(0,0,0,0.97);
}
#activityDetailsModal .modal-header .btn-close{
    position:absolute;
    top:15px;
    right:15px;
    filter: invert(1) grayscale(100%) brightness(200%);
    opacity: 1;
}
#activityDetailsModal .description {
    font-size: 14px;
    margin-bottom: 0px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    position: relative;
}
#activityDetailsModal .description::after {
    content: "... Voir plus";
    position: absolute;
    bottom: 0;
    right: 0;
    background: white;
    padding-left: 10px;
    text-decoration: underline;
    color: var(--purple-primary);
}
#activityDetailsModal .description.expanded::after {
    display: none;
}
#activityDetailsModal .description.expanded {
    -webkit-line-clamp: unset;
    overflow: visible;
}
#activityDetailsModal .participants .form-check{
    font-size:15px;
    border-bottom:1px dashed var(--beige);
}
#activityDetailsModal .total-price{
    font-weight:bold;
}

.planning-services{
    display:none;
}

.planning-services .booking-calendar{
    display:none;
}

.planning-services #listServices .card-img-top{
    height:200px;
    object-fit: cover;
}
.planning-services #listServices p{
    margin-bottom:0px;
}
.planning-services #listServices .card-footer{
    background:transparent;
    border:none;
    padding-top:0px;
}
.planning-services #listCares .card{
    cursor:pointer;
}
.planning-services #listCares .card:hover,
.planning-services #listCares .card.active{
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

.planning-summary{
    display:none;
}
/* Styles CSS responsive corrigé pour le sommaire de commande */

/* Variables de couleurs et espacement */
:root {
    --primary-color: #5F2C70;
    --primary-light: #e6d9eb;
    --border-color: #e9ecef;
    --text-color: #333333;
    --secondary-text: #666666;
    --light-bg: #f8f9fa;
}
  
/* Styles de base */
.planning-summary h4 {
    margin-bottom: 1.5rem;
    font-weight: 600;
    color: var(--text-color);
}
  
.planning-summary .card {
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 2rem;
}
  
.planning-summary .card-body {
    padding: 0;
}
  
/* En-tête du sommaire */
.planning-summary .booking-header {
    padding: 1.25rem;
    background-color: var(--light-bg);
    border-bottom: 1px solid var(--border-color);
}
  
.planning-summary .booking-header p {
    margin: 0;
    line-height: 1.5;
}
  
.planning-summary .booking-header .period-row {
    font-weight: 600;
    margin-bottom: 0.5rem;
}
  
.planning-summary .booking-header .package-row {
    display: flex;
    justify-content: space-between;
}
  
.planning-summary .booking-header .package-name {
    font-weight: 600;
}
  
.planning-summary .booking-header .package-price {
    font-weight: 600;
}
  
/* Tableaux et lignes */
.planning-summary .table {
    margin-bottom: 0;
}
  
.planning-summary .table > :not(caption) > * > * {
    padding: 0.75rem 1.25rem;
    border-bottom-width: 1px;
    border-color: var(--border-color);
}
  
/* En-têtes des sections (background violet) */
.planning-summary .table-purple td {
    background-color: var(--primary-light);
    color: var(--primary-color);
    font-weight: 600;
    border: none;
}
  
/* Lignes d'articles individuels */
.planning-summary .item-row td:first-child {
    padding-left: 2rem;
    max-width: 380px; /* Limite la largeur pour éviter les débordements */
    word-wrap: break-word; /* Permet aux longs textes de s'adapter */
    line-height: 1.4;
}
  
.planning-summary .item-row .quantity {
    text-align: center;
    color: var(--secondary-text);
    white-space: nowrap;
}
  
.planning-summary .item-row .price {
    text-align: right;
    font-weight: 500;
    white-space: nowrap;
}
  
/* Lignes de totaux par section */
.planning-summary .total-row {
    background-color: rgba(248, 249, 250, 0.5);
}
  
.planning-summary .total-row td:first-child {
    padding-left: 2rem;
    font-weight: 600;
}
  
.planning-summary .total-row .price {
    text-align: right;
    font-weight: 600;
}
  
/* Sous-total final */
.planning-summary .subtotal-row {
    background-color: var(--primary-color);
    color: white;
}
  
.planning-summary .subtotal-row th {
    padding: 0.75rem 1.25rem;
    font-weight: 600;
    border: none;
}
  
.planning-summary .subtotal-row .subtotal {
    text-align: right;
    font-weight: 700;
    font-size: 1.1rem;
}
  
/* Adaptations responsives */
@media screen and (max-width: 992px) {
    .planning-summary .table > :not(caption) > * > * {
      padding: 0.7rem 1.1rem;
    }
    
    .planning-summary .item-row td:first-child {
      padding-left: 1.8rem;
      max-width: 340px;
    }
    
    .planning-summary .total-row td:first-child {
      padding-left: 1.8rem;
    }
}
  
@media screen and (max-width: 768px) {
    .planning-summary .card {
      border-radius: 8px;
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    }
    
    .planning-summary .table > :not(caption) > * > * {
      padding: 0.625rem 1rem;
    }
    
    .planning-summary .item-row td:first-child {
      padding-left: 1.5rem;
      max-width: 300px;
    }
    
    .planning-summary .total-row td:first-child {
      padding-left: 1.5rem;
    }
    
    .planning-summary .booking-header {
      padding: 1rem;
    }
    
    .planning-summary .subtotal-row th {
      padding: 0.625rem 1rem;
    }
}
  
@media screen and (max-width: 576px) {
    .planning-summary .table > :not(caption) > * > * {
      padding: 0.5rem 0.75rem;
      font-size: 0.95rem;
    }
    
    .planning-summary .table-purple td {
      padding: 0.5rem 0.75rem;
      font-size: 0.95rem;
    }
    
    .planning-summary .item-row td:first-child {
      padding-left: 1.2rem;
      max-width: 220px;
      font-size: 0.9rem;
    }
    
    .planning-summary .total-row td:first-child {
      padding-left: 1.2rem;
    }
    
    .planning-summary .subtotal-row th {
      padding: 0.5rem 0.75rem;
      font-size: 0.95rem;
    }
    
    .planning-summary .subtotal-row .subtotal {
      font-size: 1rem;
    }
    
    .planning-summary .booking-header {
      padding: 0.75rem;
      font-size: 0.95rem;
    }
}
  
@media screen and (max-width: 480px) {
    .planning-summary .table > :not(caption) > * > * {
      padding: 0.4rem 0.6rem;
      font-size: 0.9rem;
    }
    
    .planning-summary .table-purple td {
      padding: 0.4rem 0.6rem;
      font-size: 0.9rem;
    }
    
    .planning-summary .item-row td:first-child {
      padding-left: 1rem;
      max-width: 180px;
      font-size: 0.85rem;
      line-height: 1.3;
    }
    
    .planning-summary .item-row .quantity,
    .planning-summary .item-row .price {
      font-size: 0.85rem;
    }
    
    .planning-summary .total-row td:first-child {
      padding-left: 1rem;
    }
    
    .planning-summary .subtotal-row th {
      padding: 0.4rem 0.6rem;
      font-size: 0.9rem;
    }
    
    .planning-summary .booking-header {
      padding: 0.6rem;
      font-size: 0.9rem;
    }
  }
  
  @media screen and (max-width: 360px) {
    .planning-summary .table > :not(caption) > * > * {
      padding: 0.35rem 0.5rem;
      font-size: 0.85rem;
    }
    
    .planning-summary .table-purple td {
      padding: 0.35rem 0.5rem;
      font-size: 0.85rem;
    }
    
    .planning-summary .item-row td:first-child {
      padding-left: 0.8rem;
      max-width: 150px;
      font-size: 0.8rem;
      line-height: 1.25;
    }
    
    .planning-summary .item-row .quantity,
    .planning-summary .item-row .price {
      font-size: 0.8rem;
    }
    
    .planning-summary .total-row td:first-child {
      padding-left: 0.8rem;
    }
    
    .planning-summary .subtotal-row th {
      padding: 0.35rem 0.5rem;
      font-size: 0.85rem;
    }
    
    .planning-summary .booking-header {
      padding: 0.5rem;
      font-size: 0.85rem;
    }
}

/* Styles pour les hébergements de promotion - Milestone 8 */

/* Bande promo sur la carte hébergement */
.promotion-banner {
    display: inline-block;
    background: #4caf50;
    color: #fff;
    font-weight: 500;
    font-size: 0.95em;
    text-align: center;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    padding: 4px 16px;
    margin: -30px auto 4px -2px;
    letter-spacing: 0.5px;
    box-shadow: none;
    vertical-align: middle;
    border: none;
    position: relative;
    z-index: 2;
}

.promotion-title h5 {
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    font-size: 1.15em;
    font-weight: 600;
    margin-bottom: 0;
    padding: 15px 20px;
    background: linear-gradient(135deg, #e8f5e8 0%, #f0fdf0 100%);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.promotion-title .promo-sub {
    font-size: 0.98em;
    color: #3c7c4c;
    margin-left: 16px;
    font-weight: 400;
}

.promotion-lodging {
    border: 2px solid #4caf50 !important;
    box-shadow: 0 4px 20px rgba(76, 175, 80, 0.10) !important;
    border-radius: 14px !important;
    margin-bottom: 18px;
}

@media (max-width: 768px) {
    .promotion-banner {
        font-size: 0.98em;
        padding: 7px 0 5px 0;
    }
    .promotion-title h5 {
        font-size: 1em;
        padding: 12px 10px;
    }
}

.promotion-lodging.card {
    border-top-left-radius: 0 !important;
    margin-top: 32px;
}

.packages-grid .card {
    cursor:pointer;
}

.packages-grid .card:hover {
    box-shadow: 0 4px 20px rgba(76, 175, 80, 0.10) !important;
}

.packages-grid .card svg{
    width: 14px;
    height: 14px;
    margin-right: 8px;
}

.packages-grid .card svg path{
    fill: rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important;
}

.alert-info svg{
    width: 15px;
    height: 15px;
    min-width: 15px;
}
.alert-info svg path{
    fill: #5f2c70!important;
}

.alert-success ul li{
    padding-left:0px!important;
}
.alert-success ul li::before {
    content: ""!important;
    color: #689b67;
    display: inline-block;
    width: 1em;
    font-size: 1.2em;
    font-weight: bold;
    padding-left:0px;
    margin-left:0px;
    background:none!important
}

/* Styles pour les participants avec ordering responsive */
@media only screen and (max-width: 575px) {
    /* Lignes de séparation entre champs en mobile */
    .participant-row .col-12.mb-2 {
        border-bottom: 1px solid var(--beige);
        padding-bottom: 8px;
    }
    
    /* Pas de ligne en dessous du dernier champ (Genre) */
    .participant-row .col-12.mb-2:last-of-type {
        border-bottom: none;
    }
}