/*====================================================
        AfriQuest Africa Safaris & Tours BOOKING PAGE
====================================================*/

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{

font-family:'Poppins',sans-serif;

background:#08131f;

color:#fff;

overflow-x:hidden;

}

/*======================
NAVBAR
=======================*/

.custom-navbar{

background:rgba(8,19,31,.92);

backdrop-filter:blur(10px);

padding:15px 0;

}

.custom-navbar .nav-link{

color:#fff;

font-weight:500;

margin-left:18px;

transition:.3s;

}

.custom-navbar .nav-link:hover{

color:#d4af37;

}

/*======================
HERO
=======================*/

.booking-hero{

height:65vh;

background:
linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
url(images/booking-hero.jpg);

background-size:cover;
background-position:center;
background-repeat:no-repeat;

display:flex;
align-items:center;
justify-content:center;
text-align:center;

}

.hero-overlay{

position:absolute;

width:100%;

height:100%;

background:rgba(0,0,0,.25);

}

.hero-content{

position:relative;

z-index:5;

max-width:850px;

}

.hero-content span{

color:#d4af37;

font-weight:600;

letter-spacing:4px;

font-size:15px;

}

.hero-content h1{

font-family:'Cinzel',serif;

font-size:65px;

margin:25px 0;

text-align: center;

}

.hero-content p{

font-size:18px;

line-height:1.9;

text-align: center;

color:#f2f2f2;

}

/*======================
BOOKING SECTION
=======================*/

.booking-section{

padding:90px 0;

background:#08131f;

}

.booking-wrapper{

max-width:1050px;

margin:auto;

background:#102235;

border-radius:25px;

padding:55px;

box-shadow:

0 15px 50px rgba(0,0,0,.45);

}

/*======================
PROGRESS BAR
=======================*/

/*================ PROGRESS =================*/

.booking-progress{
    margin-bottom:60px;
}

.progress{
    position:relative;
    height:8px;
    background:#26384c;
    border-radius:50px;
    overflow:hidden;
}

.progress-bar{
    position:absolute;
    left:0;
    top:0;
    height:100%;
    width:20%;
    background:#d4af37;
    transition:.4s;
}

.progress-steps{
    display:flex;
    justify-content:space-between;
    margin-top:30px;
}

.progress-step{
    flex:1;
    text-align:center;
}

.step-circle{
    width:55px;
    height:55px;
    margin:auto;
    border-radius:50%;
    background:#22384d;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    transition:.3s;
}

.progress-step.active .step-circle{
    background:#d4af37;
    color:#08131f;
}

.progress-step span{
    display:block;
    margin-top:12px;
    color:#ddd;
    font-size:14px;
}

/*====================================================
                FORM STEPS
====================================================*/

.form-step{
    display:none;
    animation:fadeIn .5s ease-in-out;
}

.form-step.active{
    display:block;
}

.form-step h2{
    font-family:'Cinzel',serif;
    color:#fff;
    font-size:34px;
    margin-bottom:35px;
}

.form-step h2 i{
    color:#d4af37;
    margin-right:10px;
}

/*====================================================
                    LABELS
====================================================*/

.form-step label{
    display:block;
    color:#d4af37;
    font-size:15px;
    font-weight:600;
    margin-bottom:10px;
}

/*====================================================
                    INPUTS
====================================================*/

.form-control{

    background:#16293d !important;

    border:1px solid rgba(255,255,255,.08);

    color:#fff !important;

    height:55px;

    border-radius:12px;

    padding:15px 18px;

    transition:.35s;

    box-shadow:none;

}

.form-control::placeholder{

    color:#b7c3cf;

}

.form-control:focus{

    background:#1b324b !important;

    border-color:#d4af37;

    box-shadow:0 0 15px rgba(212,175,55,.35);

}

textarea.form-control{

    min-height:170px;

    resize:none;

    padding-top:18px;

}

select.form-control{

    cursor:pointer;

}

select.form-control option{

    background:#16293d;

    color:#fff;

}

/*====================================================
              SUMMARY BOX
====================================================*/

.booking-summary{

    background:#16293d;

    border:1px solid rgba(212,175,55,.25);

    border-radius:18px;

    padding:30px;

    margin-top:20px;

}

.booking-summary h4{

    color:#d4af37;

    margin-bottom:20px;

}

#summaryContent{

    color:#ddd;

    line-height:1.9;

}

.terms-box{

    margin-top:35px;

    background:#16293d;

    padding:20px;

    border-radius:12px;

}

.terms-box label{

    color:#ddd;

    font-size:15px;

}

.terms-box input{

    margin-right:10px;

}

/*====================================================
                    BUTTONS
====================================================*/

.form-buttons{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-top:45px;

}

.next-btn,
.prev-btn,
.submit-btn{

    border:none;

    padding:15px 38px;

    border-radius:50px;

    font-weight:600;

    transition:.35s;

}

.next-btn{

    background:#d4af37;

    color:#08131f;

}

.next-btn:hover{

    background:#f0c44b;

    transform:translateY(-3px);

}

.prev-btn{

    background:#26384c;

    color:#fff;

}

.prev-btn:hover{

    background:#3a5168;

}

.submit-btn{

    background:#1cb66f;

    color:#fff;

}

.submit-btn:hover{

    background:#149b5d;

    transform:translateY(-3px);

}

/*====================================================
                ANIMATION
====================================================*/

@keyframes fadeIn{

from{

opacity:0;

transform:translateY(20px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/*====================================================
                CHECKBOXES
====================================================*/

.form-step input[type="checkbox"]{
    accent-color:#d4af37;
    width:18px;
    height:18px;
    margin-right:10px;
    cursor:pointer;
}

.form-step label:has(input[type="checkbox"]){
    display:flex;
    align-items:center;
    background:#16293d;
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    padding:15px 18px;
    transition:.3s;
    cursor:pointer;
    color:#fff;
    font-weight:500;
}

.form-step label:has(input[type="checkbox"]):hover{
    border-color:#d4af37;
    background:#1b324b;
    transform:translateY(-2px);
}

/*====================================================
                PLACEHOLDERS
====================================================*/

input::placeholder,
textarea::placeholder{
    color:#9fb1c2;
}

/*====================================================
                FOCUS EFFECT
====================================================*/

input:focus,
select:focus,
textarea:focus{
    outline:none;
}

/*====================================================
                CARD HOVER
====================================================*/

.booking-wrapper:hover{
    transform:translateY(-3px);
    transition:.4s;
}

/*====================================================
                SCROLLBAR
====================================================*/

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:#08131f;
}

::-webkit-scrollbar-thumb{
    background:#d4af37;
    border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
    background:#e6c35b;
}

/*====================================================
                RESPONSIVE
====================================================*/

@media(max-width:992px){

.hero-content h1{

font-size:48px;

}

.booking-wrapper{

padding:35px;

}

.steps{

flex-wrap:wrap;

gap:20px;

}

.form-buttons{

flex-direction:column;

gap:20px;

}

.next-btn,
.prev-btn,
.submit-btn{

width:100%;

}

}

@media(max-width:768px){

.booking-hero{

height:60vh;

}

.hero-content h1{

font-size:38px;

}

.hero-content p{

font-size:16px;

}

.booking-wrapper{

padding:25px;

border-radius:18px;

}

.form-step h2{

font-size:28px;

}

.circle{

width:42px;

height:42px;

font-size:15px;

}

.step p{

font-size:12px;

}

}

@media(max-width:576px){

.hero-content h1{

font-size:30px;

line-height:1.3;

}

.hero-content span{

font-size:13px;

letter-spacing:2px;

}

.booking-section{

padding:60px 0;

}

.booking-wrapper{

padding:20px;

}

.form-control{

height:50px;

font-size:15px;

}

textarea.form-control{

min-height:140px;

}

}