/* =========================
   BOOKING MODAL
========================= */

#booking-confirmation-modal{

    position:fixed;

    inset:0;

    z-index:999999;
}

.booking-modal-overlay{

    position:fixed;

    inset:0;

    width:100vw;
    height:100vh;

    background:rgba(0,0,0,0.6);

    display:flex;

    align-items:center;
    justify-content:center;

    padding:20px;

    overflow-y:auto;
}

.booking-modal{

    max-height:90vh;

    overflow-y:auto;
    width:100%;
    max-width:650px;

    background:#ffffff;

    border-radius:24px;

    box-shadow:0 20px 60px rgba(0,0,0,0.25);

    animation:modalFade .3s ease;
}

.booking-modal-header{

    padding:35px;

    background:#2E7D32;

    color:#fff;
}

.booking-modal-header h2{

    font-size:36px;

    margin-bottom:12px;
}

.booking-modal-header p{

    font-size:18px;

    opacity:.9;
}

.booking-modal-body{

    padding:25px 35px;
}

#booking-summary{

    margin-bottom:35px;
}

.booking-support{

    background:#f6faf6;

    border:1px solid #d8ead8;

    border-radius:18px;

    padding:25px;
    
    margin-top: 30px;
}

.booking-support h3{

    margin-bottom:15px;

    color:#1f2937;
}

.booking-support p{

    margin-bottom:10px;

    color:#4b5563;
}

.booking-modal-footer{

    padding:25px 35px;

    border-top:1px solid #e5e7eb;
}

#close-booking-modal{

    width:100%;

    background:#2E7D32;

    color:#fff;

    border:none;

    padding:16px;

    border-radius:16px;

    font-size:16px;
    font-weight:700;

    cursor:pointer;

    transition:.25s ease;
}

#close-booking-modal:hover{

    background:#256428;
}

@keyframes modalFade{

    from{

        opacity:0;
        transform:translateY(20px);
    }

    to{

        opacity:1;
        transform:translateY(0);
    }
}

/* =========================
   BOOKING SUMMARY
========================= */

.booking-summary-item{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:12px 0;

    border-bottom:1px solid #e5e7eb;

    font-size:16px;
}

.booking-summary-item strong{

    color:#111827;
}

.booking-summary-item span{

    color:#4b5563;

    text-align:right;
}

.booking-summary-total{

    margin-top:25px;

    padding:20px;

    background:#f6faf6;

    border-radius:16px;

    text-align:center;
}

.booking-summary-total strong{

    display:block;

    margin-bottom:10px;

    color:#111827;
}

.booking-summary-total h3{

    font-size:36px;

    color:#2E7D32;

    margin:0;
}

/* ========================================
   MOBILE RESPONSIVE
======================================== */

@media (max-width:768px){

    #booking-confirmation-modal{

        position:fixed;

        inset:0;

        z-index:999999;
    }
    
    .booking-modal{

        width:100%;

        max-width:100%;

        margin:auto;

        max-height:none;

        border-radius:20px;
    }
    
    .booking-modal-overlay{

        align-items:flex-start;

        padding:30px 15px;
    }

    .booking-modal-header{

        padding:25px;
    }

    .booking-modal-header h2{

        font-size:28px;
    }

    .booking-modal-header p{

        font-size:16px;
    }

    .booking-modal-body{

        padding:25px;
    }

    .booking-modal-footer{

        padding:25px;
    }

    .booking-summary-item{

        flex-direction:column;

        align-items:flex-start;

        gap:8px;
    }

    .booking-summary-item span{

        text-align:left;
    }

    .booking-summary-total h3{

        font-size:28px;
    }

}

/* ========================================
   SERVICES MOBILE FIX
======================================== */

@media (max-width:768px){

    .services-grid{

        display:grid;

        grid-template-columns:1fr;

        gap:24px;
    }

    .service-card{

        width:100%;

        min-height:auto;

        padding:30px 24px;
    }

    .service-card img{

        width:100%;

        height:220px;

        object-fit:cover;

        border-radius:20px;
    }

    .service-card h3{

        font-size:32px;

        line-height:1.1;

        margin-top:20px;
    }

    .service-card p{

        font-size:18px;

        line-height:1.7;
    }

    .service-card ul{

        margin-top:20px;
    }

    .service-card li{

        font-size:17px;

        line-height:1.6;
    }

    .service-card .btn{

        width:100%;

        margin-top:25px;
    }

}

/* =========================
   EXTRAS ACCORDION
========================= */

#extras-accordion{

margin-bottom:15px;

}

.extras-header{

background:#f6faf6;
border:1px solid #2E7D32;
border-radius:12px;
padding:14px;
cursor:pointer;
font-weight:600;
color:#2E7D32;
transition:.3s;

}

.extras-header:hover{

background:#eaf6ea;

}


/* Espacio entre extras y fecha */

.elementor-field-group-extras-box{

margin-bottom:35px !important;

}

.services-slider{
display:flex !important;
flex-wrap:nowrap !important;
justify-content:center !important;
gap:30px !important;
overflow:hidden !important;
}

.services-slider > .e-con{

flex:0 0 30% !important;
max-width:30% !important;

}

.services-slider > .e-con:nth-child(4),
.services-slider > .e-con:nth-child(5){

display:none !important;

}