/* ==========================================================
   FOODEATO
   Booking Page
========================================================== */


/*==========================================================
    HERO
==========================================================*/

.booking-hero{

    padding:90px 0 70px;

    background:linear-gradient(135deg,#071426,#13263b);

    color:#fff;

}

.booking-hero-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:60px;

}

.booking-content h1{

    font-size:58px;

    line-height:1.1;

    margin:20px 0;

    color:#fff;

}

.booking-content h1 span{

    color:var(--primary);

}

.booking-content p{

    color:#cfd8e6;

    line-height:1.9;

    max-width:600px;

}

.hero-tag{

    display:inline-block;

    padding:10px 22px;

    border-radius:50px;

    background:rgba(255,255,255,.12);

    font-weight:600;

    letter-spacing:1px;

}

.hero-features{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

    margin-top:35px;

}

.hero-feature{

    background:rgba(255,255,255,.12);

    padding:12px 22px;

    border-radius:50px;

    backdrop-filter:blur(10px);

    transition:.3s;

}

.hero-feature:hover{

    transform:translateY(-5px);

    background:var(--primary);

}

.booking-image{

    text-align:center;

}

.booking-image img{

    width:70%;

    border-radius:25px;

    box-shadow:0 30px 70px rgba(0,0,0,.35);

}



/*==========================================================
    SECTION TITLE
==========================================================*/

.section-heading{

    text-align:center;

    margin-bottom:35px;

}

.section-heading span{

    color:var(--primary);

    font-weight:700;

    letter-spacing:2px;

}

.section-heading h2{

    font-size:38px;

    margin:8px 0 12px;

}

.section-heading p{

    color:#777;

}



/*==========================================================
    GAME PACKAGES
==========================================================*/

.game-packages{

    padding:30px 0;

    background:#09182d;

}

.game-packages .section-heading h2{

    color:#fff;

}

.game-packages .section-heading p{

    color:#cfd8e6;

}

.package-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.package-card{

    background:#13263b;

    border:2px solid transparent;

    border-radius:24px;

    padding:12px;

    cursor:pointer;

    transition:.35s;

}

.package-card:hover{

    transform:translateY(-12px);

    border-color:var(--primary);

    box-shadow:0 20px 45px rgba(255,122,0,.25);

}

.package-card.active{

    border-color:var(--primary);

}

.package-icon{

    font-size:38px;

    margin-bottom:8px;

}

.package-card h3{

    color:#fff;

    margin-bottom:8px;

}

.package-card p{

    color:#cfd8e6;

    min-height:40px;

    font-size:14px;



}

.package-price{

    margin-top:12px;

    color:var(--primary);

    font-size:28px;

    font-weight:700;

}



.package-price span{

    display:block;

    color:#fff;

    font-size:15px;

    margin-top:10px;

}



/*==========================================================
    BOOKING FORM
==========================================================*/

.booking-form-section{

    padding:50px 0;

    background:#fff;

}

.booking-form-wrapper{

    background:#fff;

    border-radius:20px;

    padding:40px;

    height:100%;

    box-shadow:0 15px 45px rgba(0,0,0,.08);

}

.form-row{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:25px;

    margin-bottom:25px;

}

.form-group label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

}

.form-group input{

    width:100%;

    padding:15px;

    border-radius:12px;

    border:1px solid #ddd;

    transition:.3s;

}

.form-group input:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(255,122,0,.15);

}



/*==========================================================
    BOOKING INFO
==========================================================*/

.booking-info{

    padding:90px 0;

    background:#f5f7fb;

}

.info-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.info-card{

    background:#fff;

    padding:35px;

    border-radius:18px;

    text-align:center;

    box-shadow:0 15px 40px rgba(0,0,0,.07);

}

.info-card h3{

    margin-bottom:15px;

}



/*==========================================================
    RESPONSIVE
==========================================================*/

@media(max-width:991px){

    .booking-hero-grid{

        grid-template-columns:1fr;

        text-align:center;

    }

    .package-grid{

        grid-template-columns:1fr;

    }

    .form-row{

        grid-template-columns:1fr;

    }

    .info-grid{

        grid-template-columns:1fr;

    }

    .booking-content h1{

        font-size:42px;

    }

    .booking-image img{

        width:90%;

    }

}

/*==========================================
    BOOKING LAYOUT
==========================================*/

.booking-layout{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:35px;

    align-items:stretch;

}

.booking-summary{

    position:sticky;

    top:120px;

    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    background:#0f2035;

    color:#fff;

    border-radius:20px;

    padding:30px;

    box-shadow:0 20px 45px rgba(0,0,0,.25);

}

.booking-summary h3{

    margin-bottom:25px;

    color:var(--primary);

}

.summary-item{

    display:flex;

    justify-content:space-between;

    margin-bottom:18px;

    padding-bottom:15px;

    border-bottom:1px solid rgba(255,255,255,.08);

}

.summary-item span{

    color:#9fb0c5;

}

.summary-item strong{

    color:#fff;

}

.summary-total{

    margin-top:30px;

    padding-top:20px;

    border-top:2px solid rgba(255,255,255,.15);

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.summary-total span{

    font-size:20px;

}

.summary-total strong{

    font-size:34px;

    color:var(--primary);

}