/* =========================
   BOOKING BAR: GUESTS + MEAL PLAN + MOBILE
   Paste at the very bottom of style.css
========================= */

/* Desktop: fit 5 fields + button */
.booking-card{
    gap:18px;
}

.booking-column{
    flex:1;
    min-width:0;
}

.booking-select{
    text-overflow:ellipsis;
}

/* Guests picker */
.pax-wrap{
    position:relative;
}

.pax-toggle{
    background:transparent;
    border:none;
    color:#f5f2eb;
    font-family:'Inter',sans-serif;
    font-size:14px;
    font-weight:300;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    width:100%;
    padding:0;
    cursor:pointer;
    text-align:left;
    white-space:nowrap;
}

.pax-arrow{
    color:#c27935;
}

.pax-panel{
    display:none;
    position:absolute;
    left:0;
    top:calc(100% + 16px);
    min-width:240px;
    background:#111;
    border:1px solid rgba(194,121,53,0.5);
    padding:14px 16px 16px;
    z-index:50;
    box-shadow:0 20px 50px rgba(0,0,0,0.5);
}

.pax-panel.open{
    display:block;
}

.pax-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:#fff;
    font-size:14px;
    padding:8px 0;
}

.pax-ctrl{
    display:flex;
    align-items:center;
    gap:14px;
}

.pax-ctrl button{
    width:32px;
    height:32px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,0.35);
    background:transparent;
    color:#fff;
    font-size:18px;
    line-height:1;
}

.pax-ctrl button:hover{
    border-color:#c27935;
    color:#c27935;
}

.pax-ctrl span{
    min-width:18px;
    text-align:center;
}

.pax-done{
    width:100%;
    margin-top:10px;
    padding:11px;
    background:#c27935;
    color:#fff;
    font-size:11px;
    letter-spacing:2px;
    text-transform:uppercase;
    border-radius:3px;
}

/* Tablet and mobile: bar sits inside the hero as a clean grid of boxes */
@media(max-width:1100px){

    .hero{
        height:auto;
        min-height:0;
        padding:50px 5% 30px;
    }

    .booking-card{
        position:relative;
        left:auto;
        bottom:auto;
        transform:none;
        width:100%;
        margin-top:32px;
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:12px;
        align-items:stretch;
        padding:16px;
        overflow:visible;
    }

    .booking-card .divider{
        display:none;
    }

    .booking-card .booking-column{
        min-width:0;
        padding:10px 14px 12px;
        border:1px solid rgba(255,255,255,0.14);
        background:rgba(255,255,255,0.04);
        border-radius:6px;
    }

    .booking-card .booking-column:first-child{
        grid-column:1 / -1;
    }

    .booking-label{
        font-size:10px;
        letter-spacing:2px;
        margin-bottom:6px;
        color:#c27935;
    }

    .booking-select,
    .booking-date,
    .pax-toggle{
        font-size:15px;
        min-height:24px;
    }

    .booking-date{
        -webkit-appearance:none;
        appearance:none;
        padding:0;
        margin:0;
    }

    .booking-btn{
        grid-column:1 / -1;
        width:100%;
        padding:16px;
        font-size:12px;
        letter-spacing:2px;
        margin-top:4px;
    }

    .pax-panel{
        left:-1px;
        right:-1px;
        min-width:0;
        top:calc(100% + 8px);
    }

    .luxury-section{
        padding-top:80px;
    }
}

/* Phones: every field gets its own full row so nothing is cut off */
@media(max-width:600px){

    .booking-card{
        grid-template-columns:1fr;
    }

    .booking-card .booking-column:nth-child(3),
    .booking-card .booking-column:nth-child(5){
        grid-column:auto;
    }

    /* keep Check in / Check out side by side */
    .booking-card{
        grid-template-columns:1fr 1fr;
    }
    .booking-card .booking-column:nth-child(7),
    .booking-card .booking-column:nth-child(9){
        grid-column:1 / -1;
    }
}


/* DESKTOP ONLY: white booking bar, rounded, black text and icons */
@media(min-width:1101px){

    .booking-card{
        background:#fff;
        border:none;
        border-radius:18px;
        box-shadow:0 20px 60px rgba(0,0,0,0.35);
    }

    .booking-card .booking-select,
    .booking-card .booking-date,
    .booking-card .pax-toggle{
        color:#111;
    }

    .booking-card .booking-select option{
        background:#fff;
        color:#111;
    }

    .booking-card input[type="date"]::-webkit-calendar-picker-indicator{
        filter:none;
        opacity:0.8;
    }

    .booking-card .pax-arrow{ color:#111; }

    .booking-card .divider{
        background:linear-gradient(to bottom, transparent, rgba(0,0,0,0.2), transparent);
    }

    .booking-card .booking-btn{
        border-radius:10px;
    }
}
