.elementor-16 .elementor-element.elementor-element-f17a47d:not(.elementor-motion-effects-element-type-background), .elementor-16 .elementor-element.elementor-element-f17a47d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-8dbcd1f );background-image:url("https://promopixels.com/wp-content/uploads/2026/06/grad-white-curve-bg-scaled.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-16 .elementor-element.elementor-element-f17a47d{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:100px 0px 90px 0px;}.elementor-16 .elementor-element.elementor-element-f17a47d > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-16 .elementor-element.elementor-element-dc30e33{color:var( --e-global-color-31969fb );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-16 .elementor-element.elementor-element-36b6131 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:55px;font-weight:400;color:var( --e-global-color-31969fb );}.elementor-16 .elementor-element.elementor-element-758446e > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-ba4e21c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-16 .elementor-element.elementor-element-ba4e21c iframe{height:500px;}@media(max-width:1024px){.elementor-16 .elementor-element.elementor-element-f17a47d{padding:50px 0px 50px 0px;}.elementor-16 .elementor-element.elementor-element-dc30e33{text-align:center;}.elementor-16 .elementor-element.elementor-element-36b6131{text-align:center;}}@media(max-width:767px){.elementor-16 .elementor-element.elementor-element-f17a47d{padding:20px 10px 20px 10px;}.elementor-16 .elementor-element.elementor-element-dc30e33{text-align:center;}.elementor-16 .elementor-element.elementor-element-36b6131{text-align:center;}}/* Start custom CSS for html, class: .elementor-element-6669c0b */.booking-wrapper{
    max-width:900px;
    margin:50px auto;
    background:#ffffff;
    border-radius:20px;
    padding:40px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    font-family:'Inter',sans-serif;
}

.booking-progress{
    display:flex;
    justify-content:space-between;
    margin-bottom:40px;
    position:relative;
}

.booking-progress:before{
    content:'';
    position:absolute;
    top:20px;
    left:0;
    width:100%;
    height:2px;
    background:#e5e5e5;
    z-index:1;
}

.booking-progress .step{
    position:relative;
    z-index:2;
    text-align:center;
    flex:1;
}

.booking-progress .step span{
    width:40px;
    height:40px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 10px;
    background:#ddd;
    color:#fff;
    font-weight:700;
}

.booking-progress .step.active span{
    background:#4CAF50;
}

.booking-progress .step p{
    font-size:14px;
    margin:0;
    font-weight:600;
}

.booking-step{
    display:none;
}

.active-step{
    display:block;
}

.booking-step h2{
    font-size:32px;
    font-weight:700;
    margin-bottom:30px;
    color:#222;
}

.booking-field{
    margin-bottom:20px;
}

.booking-field label{
    display:block;
    margin-bottom:8px;
    font-size:14px;
    font-weight:600;
    color:#333;
}

.booking-field input,
.booking-field textarea{
    width:100%;
    padding:14px 16px;
    border:1px solid #ddd;
    border-radius:10px;
    font-size:15px;
    transition:.3s;
}

.booking-field input:focus,
.booking-field textarea:focus{
    border-color:#4CAF50;
    outline:none;
}

.booking-field textarea{
    min-height:120px;
    resize:vertical;
}

.booking-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
}

.full-width{
    grid-column:1/-1;
}

.time-slots{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}

.slot-btn{
    padding:12px;
    border:1px solid #ddd;
    border-radius:10px;
    background:#fff;
    cursor:pointer;
    transition:.3s;
    font-weight:600;
}

.slot-btn:hover{
    border-color:#4CAF50;
}

.slot-btn.selected{
    background:#4CAF50;
    color:#fff;
    border-color:#4CAF50;
}

.booking-buttons{
    display:flex;
    justify-content:space-between;
    margin-top:30px;
}

.next-btn,
.back-btn,
.confirm-btn{
    border:none;
    border-radius:10px;
    padding:14px 28px;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
}

.next-btn,
.confirm-btn{
    background:#4CAF50;
    color:#fff;
}

.back-btn{
    background:#f5f5f5;
    color:#333;
}

.booking-summary{
    background:#f8f8f8;
    border-radius:15px;
    padding:25px;
}

.summary-item{
    display:flex;
    justify-content:space-between;
    padding:12px 0;
    border-bottom:1px solid #e5e5e5;
}

.summary-item:last-child{
    border-bottom:none;
}

.booking-success{
    display:none;
    text-align:center;
    padding:50px 20px;
}

.success-icon{
    width:80px;
    height:80px;
    border-radius:50%;
    background:#4CAF50;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:40px;
    margin:0 auto 20px;
}

.booking-success h2{
    margin-bottom:15px;
}

@media(max-width:768px){

    .booking-wrapper{
        padding:25px;
    }

    .booking-grid{
        grid-template-columns:1fr;
    }

    .time-slots{
        grid-template-columns:repeat(2,1fr);
    }

    .booking-progress .step p{
        font-size:11px;
    }

    .booking-step h2{
        font-size:24px;
    }

}/* End custom CSS */