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

body{
font-family:'Inter',sans-serif;
background:#f6f7fb;
color:#111827;
overflow-x:hidden;
}



img{
width:100%;
display:block;
}
/* =========================
HEADER
========================= */

.header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 40px;
    background:#fff;
    border-bottom:1px solid #ececec;
    position:sticky;
    top:0;
    z-index:999;
}

/* =========================
LOGO
========================= */

.logo{
    display:flex;
    align-items:center;
    flex-shrink:0;
    text-decoration:none;
}

.logo img{
    width:180px;
    height:auto;
    display:block;
    object-fit:contain;
    transition:.3s ease;
}

.logo:hover img{
    transform:scale(1.03);
}

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

.header-actions{
    display:flex;
    align-items:center;
}

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

.back-btn{
    height:46px;
    padding:0 22px;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#fff;
    color:#111827;
    font-size:14px;
    font-weight:600;
    text-decoration:none;

    display:flex;
    align-items:center;
    justify-content:center;

    transition:.3s ease;
}

.back-btn:hover{
    border-color:#ff6b00;
    color:#ff6b00;
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(255,107,0,.12);
}

/* =========================
RESPONSIVE
========================= */

@media(max-width:768px){

    .header{
        padding:12px 16px;
    }

    .logo img{
        width:140px;
    }

    .back-btn{
        height:42px;
        padding:0 16px;
        font-size:13px;
        border-radius:10px;
    }
}

@media(max-width:480px){

    .header{
        padding:10px 14px;
    }

    .logo img{
        width:125px;
    }

    .back-btn{
        height:40px;
        padding:0 14px;
        font-size:12px;
    }
}

.container{
max-width:1380px;
margin:auto;
padding:0 20px;
}


.top-fields-row{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-bottom:12px;
}

.btn-flex{
    display:flex;
    gap:10px;
}

.back-btn2{
    background:#6b7280 !important;
}

@media(max-width:768px){

    .top-fields-row{
        gap:6px;
    }

    .top-fields-row select{
        font-size:11px !important;
        padding:0 8px !important;
    }

    .btn-flex{
        gap:8px;
    }
}

/* SUMMARY BOX */

.booking-summary-box{
    background:#fff;
    border:1px solid #eee;
    border-radius:18px;
    padding:16px;
    margin-bottom:18px;
}

/* ROW */

.summary-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}

.summary-row span{
    font-size:14px;
    font-weight:600;
    color:#374151;
    min-width:130px;
}

.summary-row select{
    width:180px;
    height:42px;
    border:1px solid #ddd;
    border-radius:8px;
    padding:0 10px;
    font-size:13px;
    outline:none;
}

/* PRICE */

.price-box{
    text-align:center;
    padding-top:10px;
}

.price-amount{
    font-size:30px;
    font-weight:800;
    color:#15548a;
}

.view-details-btn{
    background:none;
    border:none;
    color:#15548a;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
}

/* MOBILE */

@media(max-width:768px){

    .booking-summary-box{
        padding:14px;
        border-radius:16px;
    }

    .summary-row{
        gap:8px;
    }

    .summary-row span{
        font-size:12px;
        min-width:110px;
    }

    .summary-row select{
        width:120px;
        height:38px;
        font-size:11px;
    }

    .price-amount{
        font-size:26px;
    }
}

/* PAGE */

.igoride-booking-page{
    padding:30px 15px;
}

.igoride-container{
    max-width:550px;
    margin:auto;
}

/* CARD */

.igoride-card{
    background:#fff;
    border-radius:24px;
    padding:24px;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
}

.igoride-top{
    text-align:center;
    margin-bottom:20px;
}

.igoride-top h1{
    font-size:30px;
    font-weight:800;
}

/* GRID */

.igoride-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}

.igoride-full{
    grid-column:1 / -1;
}

/* INPUTS */

.igoride-input-group input,
.igoride-input-group select,
.igoride-input-group textarea{
    width:100%;
    height:48px;
    border:1px solid #ddd;
    border-radius:8px;
    padding:0 12px;
    font-size:13px;
    outline:none;
    background:#fff;
}

.igoride-input-group textarea{
    height:85px;
    resize:none;
    padding-top:12px;
}

.igoride-input-group input:focus,
.igoride-input-group select:focus,
.igoride-input-group textarea:focus{
    border-color:#ff6b00;
}

/* BUTTON */

.igoride-btn{
    width:100%;
    height:50px;
    border:none;
    border-radius:10px;
    background:#ff6b00;
    color:#fff;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    margin-top:14px;
}

.btn-flex{
    display:flex;
    gap:10px;
}

.back-btn2{
    background:#6b7280 !important;
}

@media(max-width:768px){

    .btn-flex{
        gap:8px;
    }
}

/* MOBILE */

@media(max-width:768px){

    body{
        background:#f6f7fb;
    }

    .header{
        padding:10px 14px;
    }

    .logo img{
        width:120px;
    }

    .back-btn{
        height:36px;
        padding:0 14px;
        font-size:12px;
    }

    .igoride-booking-page{
        padding:15px 12px 35px;
    }

    .igoride-container{
        max-width:360px;
        margin:auto;
    }

    .igoride-card{
        margin-top:10px;
        margin-bottom:10px;
        background:#f4f4f4;
        border-radius:22px;
        padding:16px;
        border:8px solid rgba(255,255,255,.4);
    }

    .igoride-top h1{
        font-size:22px;
    }

    .igoride-grid{
        gap:8px;
    }

    .igoride-input-group input,
    .igoride-input-group select,
    .igoride-input-group textarea{
        height:40px;
        font-size:12px;
        padding:10px 10px;
    }

    .igoride-input-group textarea{
        height:70px;
    }

    .igoride-btn{
        height:42px;
        font-size:14px;
    }
}

/* PRICE SECTION */

.price-box{
    text-align:center;
    margin:18px 0 18px;
}

.price-amount{
    font-size:28px;
    font-weight:800;
    color:#ff6b00;
}

.view-details-btn{
    background:none;
    border:none;
    color:#ff6b00;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    margin-top:4px;
}

/* POPUP */

.price-popup{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:99999;
    padding:20px;
}

.popup-content{
    background:#fff;
    width:100%;
    max-width:540px;
    border-radius:24px;
    padding:28px;
    box-shadow:0 20px 50px rgba(0,0,0,.2);
}

.popup-content h3{
    font-size:24px;
    margin-bottom:14px;
}

.popup-content ul{
    padding-left:18px;
    margin-bottom:20px;
}

.popup-content li{
    margin-bottom:10px;
    color:#444;
    line-height:1.5;
}

.popup-close-btn{
    width:120px;
    height:46px;
    border:none;
    border-radius:10px;
    background:#ff6b00;
    color:#fff;
    font-weight:700;
    cursor:pointer;
}

/* MOBILE */

@media(max-width:768px){

    .price-amount{
        font-size:24px;
    }

    .popup-content{
        border-radius:20px;
        padding:22px;
    }

    .popup-content h3{
        font-size:20px;
    }
}