@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

.upse-front-wrap{
    font-family:'Inter',sans-serif;
    max-width:1800px;
    margin:auto;
    padding:12px;
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    background:#f5f7fa;
}

/*
|--------------------------------------------------------------------------
| CARD
|--------------------------------------------------------------------------
*/

.upse-package-card{
    background:#fff;
    border:2px solid #065f46;
    border-radius:18px;
    overflow:hidden;
    box-shadow:
        0 3px 10px rgba(15,23,42,0.04);
}

/*
|--------------------------------------------------------------------------
| TOP
|--------------------------------------------------------------------------
*/

.upse-package-top{
    background:linear-gradient(
        90deg,
        #065f46,
        #047857
    );
    padding:14px 18px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
}

.upse-package-top h2{
    color:#fff;
    font-size:26px;
    font-weight:800;
}

.upse-total-nights{
    margin-top:6px;
    display:inline-flex;
    padding:6px 12px;
    background:rgba(255,255,255,0.12);
    border-radius:10px;
    color:#fff;
    font-size:12px;
    font-weight:700;
}

.upse-badge{
    background:#facc15;
    color:#111827;
    padding:8px 14px;
    border-radius:10px;
    font-size:12px;
    font-weight:700;
}

/*
|--------------------------------------------------------------------------
| TOP STRIP
|--------------------------------------------------------------------------
*/

.upse-top-strip{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    border-bottom:1px solid #e5e7eb;
}

.upse-strip-item{
    padding:14px;
    border-right:1px solid #e5e7eb;
}

.upse-strip-item:last-child{
    border-right:none;
}

.upse-strip-title{
    font-size:12px;
    font-weight:800;
    color:#065f46;
    margin-bottom:6px;
}

.upse-strip-value{
    font-size:13px;
    line-height:1.7;
    color:#111827;
}

/*
|--------------------------------------------------------------------------
| HOTELS
|--------------------------------------------------------------------------
*/

.upse-hotels-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    padding:14px;
}

/*
|--------------------------------------------------------------------------
| SERVICES
|--------------------------------------------------------------------------
*/

.upse-services-row{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    border-top:1px solid #e5e7eb;
    border-bottom:1px solid #e5e7eb;
}

.upse-service-box{
    padding:14px;
    border-right:1px solid #e5e7eb;
}

.upse-service-box:last-child{
    border-right:none;
}

.upse-service-box h4{
    font-size:14px;
    font-weight:800;
    color:#065f46;
    margin-bottom:8px;
}

.upse-service-box div{
    font-size:12px;
    line-height:1.8;
    color:#111827;
}

/*
|--------------------------------------------------------------------------
| PRICING
|--------------------------------------------------------------------------
*/

.upse-pricing-row{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:14px;
    padding:14px;
}

.upse-room-section,
.upse-child-box{
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:16px;
}

.upse-room-section h3,
.upse-child-box h3{
    font-size:18px;
    font-weight:800;
    color:#065f46;
    margin-bottom:12px;
}

.upse-room-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

.upse-room-card{
    border:1px solid #dbe2ea;
    border-radius:12px;
    padding:12px;
    background:#fff;
}

.upse-room-title{
    font-size:13px;
    font-weight:700;
    color:#111827;
    margin-bottom:8px;
}

.upse-room-price{
    font-size:22px;
    font-weight:800;
    color:#065f46;
    margin-bottom:6px;
}

.upse-room-occ{
    font-size:12px;
    color:#475569;
}

.upse-child-item{
    padding:10px 0;
    border-bottom:1px solid #e5e7eb;
    font-size:14px;
    font-weight:600;
    color:#111827;
}

.upse-child-item:last-child{
    border-bottom:none;
}

/*
|--------------------------------------------------------------------------
| DESCRIPTION
|--------------------------------------------------------------------------
*/

.upse-description-card{
    margin:0 14px 14px;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:16px;
}

.upse-description-card h3{
    font-size:18px;
    color:#065f46;
    margin-bottom:10px;
}

.upse-description-card p{
    font-size:13px;
    line-height:1.8;
    color:#334155;
}

/*
|--------------------------------------------------------------------------
| BUTTON
|--------------------------------------------------------------------------
*/

.upse-front-actions{
    padding:0 14px 14px;
}

.upse-request-btn{
    width:100%;
    height:52px;
    border:none;
    border-radius:14px;
    background:linear-gradient(
        90deg,
        #065f46,
        #047857
    );
    color:#fff;
    font-size:16px;
    font-weight:800;
    cursor:pointer;
}

.upse-request-btn.disabled{
    background:#9ca3af;
}

/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/

@media(max-width:1200px){

    .upse-top-strip{
        grid-template-columns:1fr 1fr;
    }

    .upse-services-row{
        grid-template-columns:1fr 1fr;
    }

    .upse-pricing-row{
        grid-template-columns:1fr;
    }

}

@media(max-width:700px){

    .upse-package-top{
        flex-direction:column;
        align-items:flex-start;
    }

    .upse-package-top h2{
        font-size:22px;
    }

    .upse-top-strip,
    .upse-hotels-row,
    .upse-services-row,
    .upse-room-grid{
        grid-template-columns:1fr 1fr;
    }

    .upse-strip-item,
    .upse-service-box{
        border-right:none;
        border-bottom:1px solid #e5e7eb;
    }

    .upse-request-btn{
        height:48px;
        font-size:15px;
    }

}

/*
|--------------------------------------------------------------------------
| ULTRA COMPACT PATCH
|--------------------------------------------------------------------------
*/

.upse-package-card{
    border-radius:14px !important;
}

.upse-package-top{
    padding:10px 14px !important;
}

.upse-top-strip{
    gap:0 !important;
}

.upse-strip-item{
    padding:10px 12px !important;
}

.upse-strip-title{
    margin-bottom:4px !important;
}

.upse-hotels-row{
    padding:10px !important;
    gap:10px !important;
}

.upse-services-row{
    gap:0 !important;
}

.upse-service-box{
    padding:10px 12px !important;
}

.upse-service-box h4{
    margin-bottom:6px !important;
}

.upse-pricing-row{
    padding:10px !important;
    gap:10px !important;
}

.upse-room-section,
.upse-child-box{
    padding:12px !important;
    border-radius:14px !important;
}

.upse-room-section h3,
.upse-child-box h3{
    margin-bottom:10px !important;
}

.upse-room-grid{
    gap:8px !important;
}

.upse-room-card{
    padding:10px !important;
    border-radius:10px !important;
}

.upse-room-title{
    margin-bottom:6px !important;
}

.upse-room-price{
    margin-bottom:4px !important;
    line-height:1.1 !important;
}

.upse-child-item{
    padding:8px 0 !important;
}

.upse-description-card{
    margin:0 10px 10px !important;
    padding:12px !important;
    border-radius:14px !important;
}

.upse-description-card h3{
    margin-bottom:8px !important;
}

.upse-front-actions{
    padding:0 10px 10px !important;
}

.upse-request-btn{
    height:48px !important;
    border-radius:12px !important;
}

/*
|--------------------------------------------------------------------------
| HOTELS
|--------------------------------------------------------------------------
*/

.upse-hotels-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:10px;
}

/*
|--------------------------------------------------------------------------
| MAKKAH CARD
|--------------------------------------------------------------------------
*/

.upse-hotel-card{
    border:1px solid #111827;
    border-radius:14px;
    padding:12px;
    background:#111827;
    color:#ffffff;
}

/*
|--------------------------------------------------------------------------
| MADINAH CARD
|--------------------------------------------------------------------------
*/

.upse-hotel-card.gold{
    border:1px solid #065f46;
    background:#065f46;
    color:#ffffff;
}

/*
|--------------------------------------------------------------------------
| CITY LABEL
|--------------------------------------------------------------------------
*/

.upse-city-label{
    display:inline-flex;
    align-items:center;
    padding:5px 10px;
    border-radius:999px;
    background:#000000;
    color:#ffffff;
    font-size:11px;
    font-weight:700;
    margin-bottom:8px;
    letter-spacing:0.3px;
}

.upse-city-label.gold{
    background:#064e3b;
}

/*
|--------------------------------------------------------------------------
| HOTEL LABEL
|--------------------------------------------------------------------------
*/

.upse-hotel-label{
    font-size:11px;
    font-weight:700;
    opacity:0.75;
    margin-bottom:2px;
    text-transform:uppercase;
    letter-spacing:0.5px;
}

/*
|--------------------------------------------------------------------------
| HOTEL TITLE
|--------------------------------------------------------------------------
*/

.upse-hotel-title{
    font-size:22px;
    font-weight:800;
    color:#ffffff;
    margin-bottom:5px;
    line-height:1.2;
}

/*
|--------------------------------------------------------------------------
| SUB INFO
|--------------------------------------------------------------------------
*/

.upse-hotel-sub{
    font-size:13px;
    line-height:1.5;
    color:rgba(255,255,255,0.85);
    margin-bottom:10px;
}

/*
|--------------------------------------------------------------------------
| DATES
|--------------------------------------------------------------------------
*/

.upse-hotel-dates{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
    padding:8px 0;
    border-top:1px solid rgba(255,255,255,0.12);
    border-bottom:1px solid rgba(255,255,255,0.12);
}

.upse-hotel-dates div{
    font-size:12px;
    line-height:1.5;
    color:#ffffff;
}

/*
|--------------------------------------------------------------------------
| MEAL
|--------------------------------------------------------------------------
*/

.upse-meal-box{
    margin-top:8px;
    font-size:12px;
    line-height:1.7;
    color:#ffffff;
}

/*
|--------------------------------------------------------------------------
| MOBILE
|--------------------------------------------------------------------------
*/

@media(max-width:700px){

    .upse-hotels-row{
        grid-template-columns:1fr;
    }

    .upse-hotel-dates{
        grid-template-columns:1fr;
    }

}