.riva-home-booking-widget{
    width:min(1120px,calc(100% - 32px));
    margin:42px auto;
    padding:28px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:20px;
    box-shadow:0 18px 50px rgba(15,23,42,.10);
    position:relative;
    z-index:20;
}

.riva-home-booking-widget .riva-widget-title{
    text-align:center;
    margin:0 0 8px;
    font-size:28px;
    line-height:1.2;
    font-weight:800;
    color:#0f172a;
}

.riva-home-booking-widget .riva-widget-subtitle{
    text-align:center;
    margin:0 0 24px;
    color:#64748b;
    font-size:15px;
}

.riva-widget-grid{
    display:grid;
    grid-template-columns:1.25fr 1.25fr .8fr .7fr auto;
    gap:12px;
    align-items:end;
}

.riva-widget-field{
    position:relative;
}

.riva-widget-field label{
    display:block;
    margin:0 0 7px;
    font-size:12px;
    font-weight:700;
    color:#334155;
}

.riva-widget-field input{
    width:100%;
    height:52px;
    box-sizing:border-box;
    padding:0 14px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    background:#fff;
    color:#0f172a;
    font-size:14px;
    outline:none;
}

.riva-widget-field input:focus{
    border-color:#0f172a;
    box-shadow:0 0 0 3px rgba(15,23,42,.08);
}

.riva-widget-submit{
    height:52px;
    border:0;
    border-radius:10px;
    padding:0 24px;
    background:#0f172a;
    color:#fff;
    font-weight:800;
    font-size:14px;
    cursor:pointer;
    white-space:nowrap;
}

.riva-widget-submit:hover{
    opacity:.92;
}

.riva-widget-suggestions{
    position:absolute;
    left:0;
    right:0;
    top:78px;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:10px;
    box-shadow:0 12px 35px rgba(15,23,42,.15);
    overflow:hidden;
    z-index:9999;
    display:none;
}

.riva-widget-suggestion{
    display:block;
    width:100%;
    padding:11px 13px;
    border:0;
    background:#fff;
    text-align:left;
    cursor:pointer;
    color:#334155;
    font-size:13px;
}

.riva-widget-suggestion:hover{
    background:#f8fafc;
}

@media(max-width:900px){
    .riva-widget-grid{
        grid-template-columns:1fr 1fr;
    }

    .riva-widget-submit{
        width:100%;
    }
}

@media(max-width:600px){
    .riva-home-booking-widget{
        width:calc(100% - 24px);
        padding:20px 16px;
        margin:28px auto;
        border-radius:16px;
    }

    .riva-home-booking-widget .riva-widget-title{
        font-size:23px;
    }

    .riva-widget-grid{
        grid-template-columns:1fr;
    }

    .riva-widget-field input,
    .riva-widget-submit{
        height:50px;
    }
}

/* ============================================================
   RIVA.AZ HERO BOOKING WIDGET
   ============================================================ */

.riva-hero-booking{
    width:100%;
    padding:42px 16px 36px;
    box-sizing:border-box;
    position:relative;
    z-index:50;
}

.riva-hero-booking-inner{
    width:min(1160px,100%);
    margin:0 auto;
}

.riva-hero-booking-heading{
    text-align:center;
    margin-bottom:18px;
}

.riva-hero-booking-heading span{
    display:block;
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;
    color:#64748b;
    margin-bottom:7px;
}

.riva-hero-booking-heading h2{
    margin:0;
    color:#0f172a;
    font-size:clamp(28px,4vw,44px);
    line-height:1.12;
    font-weight:900;
}

.riva-hero-booking-heading p{
    margin:9px 0 0;
    color:#64748b;
    font-size:15px;
}

.riva-hero-booking .riva-home-booking-widget{
    width:100%;
    max-width:none;
    margin:0 auto;
    padding:18px;
    box-sizing:border-box;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:18px;
    box-shadow:0 20px 55px rgba(15,23,42,.14);
}

.riva-hero-booking .riva-widget-grid{
    display:grid;
    grid-template-columns:1.25fr 1.25fr .75fr .65fr auto;
    gap:10px;
    align-items:end;
}

.riva-hero-booking .riva-widget-field input{
    background:#fff;
}

.riva-hero-booking .riva-widget-submit{
    min-width:125px;
}

@media(max-width:950px){

    .riva-hero-booking .riva-widget-grid{
        grid-template-columns:1fr 1fr;
    }

    .riva-hero-booking .riva-widget-submit{
        width:100%;
    }
}

@media(max-width:600px){

    .riva-hero-booking{
        padding:25px 12px 28px;
    }

    .riva-hero-booking-heading h2{
        font-size:27px;
    }

    .riva-hero-booking .riva-home-booking-widget{
        padding:14px;
        border-radius:14px;
    }

    .riva-hero-booking .riva-widget-grid{
        grid-template-columns:1fr;
    }
}

