/*==================================================
RIDENEX BOOKING V2
==================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    font-family:Arial,Helvetica,sans-serif;
    background:#f4f6fb;
    color:#222;

}

/*==========================
HEADER
==========================*/

.rnx-header{

    position:sticky;
    top:0;
    z-index:9999;

    background:#111;

    box-shadow:0 3px 15px rgba(0,0,0,.15);

}

.rnx-top{

    height:65px;

    display:flex;

    align-items:center;

    padding:0 18px;

}

.rnx-menu-btn{

    width:45px;
    height:45px;

    border:none;

    background:none;

    color:#fff;

    font-size:26px;

    cursor:pointer;

}

.rnx-logo{

    margin-left:15px;

    font-size:28px;

    font-weight:bold;

    color:#ff6a00;

    letter-spacing:1px;

}

/*==========================
MENU
==========================*/

.rnx-menu{

    display:none;

    background:#111;

}

.rnx-menu.show{

    display:block;

}

.rnx-menu a{

    display:block;

    color:#fff;

    text-decoration:none;

    padding:16px 20px;

    border-top:1px solid rgba(255,255,255,.08);

    transition:.3s;

}

.rnx-menu a:hover{

    background:#ff6a00;

}

.rnx-menu a.active{

    background:#ff6a00;

}

/*==========================
BOOKING PAGE
==========================*/

.booking-wrapper{

    max-width:900px;

    margin:25px auto;

    padding:15px;

}

.booking-title{

    text-align:center;

    margin-bottom:25px;

}

.booking-title h1{

    color:#ff6a00;

    font-size:38px;

    margin-bottom:10px;

}

.booking-title p{

    color:#666;

    font-size:18px;

}

/*==========================
CARDS
==========================*/

.booking-card{

    background:#fff;

    border-radius:18px;

    padding:25px;

    margin-bottom:20px;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

}

.booking-card h2{

    color:#ff6a00;

    margin-bottom:20px;

    font-size:26px;

}

/*==========================
FORM
==========================*/

.form-group{

    margin-bottom:20px;

}

.form-group label{

    display:block;

    font-weight:600;

    margin-bottom:8px;

}

.form-group input,
.form-group select{

    width:100%;

    height:55px;

    border:1px solid #ddd;

    border-radius:12px;

    padding:0 15px;

    font-size:16px;

    outline:none;

}

.form-group input:focus,
.form-group select:focus{

    border-color:#ff6a00;

}

/*==========================
SEARCH RESULTS
==========================*/

.form-group{

position:relative;

margin-bottom:20px;

}

.search-results{

display:none;

position:absolute;

top:100%;

left:0;

width:100%;

background:#fff;

border-radius:12px;

box-shadow:0 10px 30px rgba(0,0,0,.15);

overflow:hidden;

z-index:99999;

max-height:250px;

overflow-y:auto;

}

.search-item{

padding:15px;

cursor:pointer;

transition:.3s;

}

.search-item:hover{

background:#fff3eb;

}

.search-item{

    padding:12px 15px;

    cursor:pointer;

    border-bottom:1px solid #eee;

}

.search-item:hover{

    background:#fff4eb;

}

/*==========================
SUMMARY
==========================*/

.summary-box{

    display:flex;

    flex-direction:column;

    gap:15px;

}

.summary-item{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:15px;

    border-radius:12px;

    background:#fafafa;

}

.summary-item.total{

    background:#ff6a00;

    color:#fff;

    font-size:20px;

    font-weight:bold;

}

/*==========================
PAYMENT
==========================*/

.payment-option{

    display:block;

    padding:18px;

    border:1px solid #ddd;

    border-radius:12px;

    margin-bottom:15px;

    cursor:pointer;

}

.payment-option:hover{

    border-color:#ff6a00;

}

/*==========================
BUTTON
==========================*/

.book-btn{

    width:100%;

    height:58px;

    border:none;

    border-radius:14px;

    background:#ff6a00;

    color:#fff;

    font-size:18px;

    font-weight:bold;

    cursor:pointer;

}

.book-btn:hover{

    background:#e95d00;

}

/*==========================
MOBILE
==========================*/

@media(max-width:768px){

.booking-title h1{

font-size:30px;

}

.booking-card{

padding:20px;

}

.rnx-logo{

font-size:24px;

}

}

.search-results{

    display:none;

    position:relative;

    width:100%;

    background:#fff;

    border:1px solid #ddd;

    border-radius:10px;

    margin-top:5px;

    max-height:220px;

    overflow-y:auto;

    z-index:999;

}

.search-item{

    padding:14px;

    cursor:pointer;

    border-bottom:1px solid #eee;

}

.search-item:hover{

    background:#fff3eb;

}

/* ===========================
RIDENEX QUOTE MODAL
=========================== */

.quote-modal{

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,.65);

display:none;

justify-content:center;

align-items:center;

padding:20px;

z-index:99999;

animation:fadeIn .25s ease;

}

.quote-card{

width:100%;
max-width:430px;

background:#fff;

border-radius:25px;

overflow:hidden;

box-shadow:0 20px 60px rgba(0,0,0,.25);

}

.quote-header{

background:#ff6a00;

color:#fff;

padding:22px;

font-size:22px;

font-weight:700;

text-align:center;

}

.quote-body{

padding:25px;

}

.quote-body h3{

margin-bottom:15px;

font-size:22px;

color:#222;

}

.quote-body p{

margin-bottom:18px;

line-height:1.7;

color:#666;

}

.quote-body ul{

padding-left:18px;

line-height:2;

color:#333;

}

.quote-footer{

display:flex;

gap:12px;

padding:20px;

}

.quote-footer button{

flex:1;

height:52px;

border:none;

border-radius:12px;

font-size:16px;

font-weight:700;

cursor:pointer;

}

#cancelQuote{

background:#ececec;

}

#continueQuote{

background:#ff6a00;

color:#fff;

}

@keyframes fadeIn{

from{

opacity:0;

}

to{

opacity:1;

}

}