/*======================================
        MASALA ZONE
   PREMIUM RESERVATION V1
======================================*/

.mz-reservation{

    position:relative;

    padding:120px 0;

    background:
    linear-gradient(180deg,#0a0a0a 0%,#111111 100%);

    overflow:hidden;

}

.mz-reservation::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    top:-250px;

    left:-250px;

    border-radius:50%;

    background:radial-gradient(
        rgba(212,175,55,.08),
        transparent 70%
    );

    pointer-events:none;

}

.mz-reservation::after{

    content:"";

    position:absolute;

    width:650px;

    height:650px;

    right:-250px;

    bottom:-250px;

    border-radius:50%;

    background:radial-gradient(
        rgba(212,175,55,.05),
        transparent 70%
    );

}

/*==========================
Container
==========================*/

.mz-reservation .mz-container{

    width:min(1400px,92%);

    margin:auto;

    position:relative;

    z-index:2;

}

/*==========================
Heading
==========================*/

.mz-res-header{

    text-align:center;

    max-width:760px;

    margin:0 auto 70px;

}

.mz-res-badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:10px 22px;

    border-radius:50px;

    border:1px solid rgba(212,175,55,.25);

    background:rgba(212,175,55,.08);

    color:#D4AF37;

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

    text-transform:uppercase;

}

.mz-res-header h2{

    margin-top:28px;

    color:#fff;

    font-size:64px;

    font-family:"Playfair Display",serif;

    line-height:1.1;

}

.mz-res-header p{

    margin-top:25px;

    color:#b8b8b8;

    font-size:18px;

    line-height:1.9;

}

/*==========================
Grid
==========================*/

.mz-res-grid{

    display:grid;

    grid-template-columns:1.05fr .95fr;

    gap:45px;

    align-items:start;

}
/*======================================
      LEFT SIDE LUXURY
======================================*/

.mz-res-left{

    position:relative;

}

.mz-res-image{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    height:500px;

    border:1px solid rgba(212,175,55,.15);

    box-shadow:
    0 30px 80px rgba(0,0,0,.45);

}

.mz-res-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform 8s ease;

}

.mz-reservation:hover .mz-res-image img{

    transform:scale(1.08);

}

/* Dark Overlay */

.mz-res-image::before{

    content:"";

    position:absolute;

    inset:0;

    background:

    linear-gradient(
        to top,
        rgba(0,0,0,.75),
        rgba(0,0,0,.15)
    );

    z-index:1;

}

/* Floating Rating Card */

.mz-info-card{

    display:flex;

    align-items:flex-start;

    gap:18px;

    margin-top:18px;

    padding:22px;

    background:rgba(22,22,22,.85);

    backdrop-filter:blur(18px);

    border:1px solid rgba(212,175,55,.10);

    border-radius:22px;

    transition:.35s;

}

.mz-info-card:hover{

    transform:translateY(-8px);

    border-color:#D4AF37;

    box-shadow:

    0 20px 40px rgba(0,0,0,.35);

}

.mz-info-card i{

    width:56px;

    height:56px;

    border-radius:50%;

    background:#D4AF37;

    color:#111;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:20px;

    flex-shrink:0;

}

.mz-info-card h4{

    color:#fff;

    font-size:20px;

    margin-bottom:6px;

}

.mz-info-card p{

    color:#BDBDBD;

    line-height:1.7;

    font-size:15px;

}
/*======================================
        LUXURY FORM CARD
======================================*/

.mz-res-right{

    background:rgba(20,20,20,.88);

    border:1px solid rgba(212,175,55,.12);

    border-radius:28px;

    padding:45px;

    backdrop-filter:blur(25px);

    box-shadow:
    0 30px 70px rgba(0,0,0,.45);

}

/* Labels */

.mz-form-group label{

    display:block;

    color:#D4AF37;

    font-size:14px;

    margin-bottom:10px;

    font-weight:600;

    letter-spacing:.5px;

}

/* Inputs */

.mz-form-group input,
.mz-form-group select,
.mz-form-group textarea{

    width:100%;

    background:#191919;

    border:1px solid #2f2f2f;

    color:#fff;

    border-radius:16px;

    padding:16px 18px;

    font-size:15px;

    transition:.35s;

    outline:none;

}

.mz-form-group{

    margin-bottom:22px;

}

.mz-form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:18px;

}

/* Focus */

.mz-form-group input:focus,
.mz-form-group select:focus,
.mz-form-group textarea:focus{

    border-color:#D4AF37;

    box-shadow:0 0 20px rgba(212,175,55,.15);

}

/* Placeholder */

.mz-form-group input::placeholder,
.mz-form-group textarea::placeholder{

    color:#999;

}

/* Button */

.mz-reserve-btn{

    width:100%;

    height:62px;

    border:none;

    border-radius:18px;

    cursor:pointer;

    background:linear-gradient(135deg,#E6C85A,#C99722);

    color:#111;

    font-size:18px;

    font-weight:700;

    transition:.35s;

    box-shadow:0 15px 35px rgba(212,175,55,.28);

}

.mz-reserve-btn:hover{

    transform:translateY(-5px);

    box-shadow:0 25px 45px rgba(212,175,55,.35);

}
.mz-res-info-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:22px;

    margin-top:28px;

}

.mz-info-card{

    margin:0;

    min-height:145px;

}
/* Quick Reservation Heading */

.mz-form-top h3{

    font-family:"Playfair Display",serif;

    font-size:48px;

    font-weight:700;

    line-height:1.15;

    margin:10px 0 18px;

    background:linear-gradient(135deg,#F7E7A1,#D4AF37,#B8860B);

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

    background-clip:text;

}
.mz-form-group select{

    width:100%;
    height:58px;

    background:#181818;

    color:#ffffff !important;

    border:1px solid #2f2f2f;

    border-radius:16px;

    padding:0 18px;

    font-size:15px;

    appearance:auto;

    -webkit-appearance:menulist;

    -moz-appearance:menulist;

}

.mz-form-group select option{

    color:#ffffff;

    background:#1b1b1b;

}
/*=========================================
RESERVATION - MOBILE FIX
=========================================*/

@media (max-width: 768px){

    .mz-reservation{
        padding:80px 0;
        overflow:hidden;
    }

    .mz-reservation .mz-container{
        width:100%;
        max-width:100%;
        padding:0 20px;
    }

    /* Heading */

    .mz-res-header{
        margin-bottom:45px;
        width:100%;
    }

    .mz-res-header h2{
        font-size:42px;
        line-height:1.15;
    }

    .mz-res-header p{
        font-size:16px;
        line-height:1.7;
    }

    /* Main image + form */

    .mz-res-grid{
        grid-template-columns:1fr;
        gap:30px;
        width:100%;
    }

    .mz-res-left{
        width:100%;
        min-width:0;
    }

    .mz-res-right{
        width:100%;
        min-width:0;
        padding:28px 20px;
        border-radius:22px;
    }

    /* Image */

    .mz-res-image{
        width:100%;
        height:420px;
        border-radius:24px;
    }

    .mz-res-image img{
        width:100%;
        height:100%;
        object-fit:cover;
    }

    /* Form */

    .mz-form-row{
        grid-template-columns:1fr;
        gap:0;
    }

    .mz-form-group{
        width:100%;
    }

    .mz-form-group input,
    .mz-form-group select,
    .mz-form-group textarea{
        width:100%;
        max-width:100%;
        box-sizing:border-box;
    }

    /* Info cards */

    .mz-res-info-grid{
        grid-template-columns:1fr;
        gap:18px;
    }

    .mz-info-card{
        width:100%;
        min-width:0;
    }

    /* Form heading */

    .mz-form-top h3{
        font-size:38px;
        line-height:1.15;
    }

    /* Button */

    .mz-reserve-btn{
        width:100%;
        max-width:100%;
    }

}