:root{
    --primary:#E53935;
    --secondary:#EC407A;
    --dark:#222;
    --light:#ffffff;
    --gray:#6c757d;
    --border:#ececec;
}

/* ==========================
GLOBAL
========================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Segoe UI',sans-serif;
background:#f8f9fa;
color:#333;
padding-top:90px;
}

a{
text-decoration:none;
}

img{
max-width:100%;
}

/* ==========================
HEADER
========================== */

.header-fixed{
position:fixed;
top:0;
left:0;
right:0;
z-index:9999;
background:#fff;
height:90px;
box-shadow:0 2px 15px rgba(0,0,0,.08);
}

.header-wrapper{
height:90px;
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
}

/* ==========================
LOGO
========================== */

.site-logo{
font-size:30px;
font-weight:700;
white-space:nowrap;
}

.logo-main{
color:var(--primary);
}

.logo-accent{
color:var(--secondary);
}

/* ==========================
SEARCH
========================== */

.header-search{
width:350px;
}

.header-search .form-control{
border-radius:30px;
}

.header-search .input-group-text{
border-radius:30px 0 0 30px;
}

.header-search input{
border-radius:0 30px 30px 0;
}

/* ==========================
NAVIGATION
========================== */

.desktop-nav ul{
list-style:none;
display:flex;
gap:22px;
margin:0;
padding:0;
}

.desktop-nav ul li a{
color:#333;
font-weight:600;
font-size:15px;
transition:.3s;
}

.desktop-nav ul li a:hover{
color:var(--primary);
}

/* ==========================
RIGHT SIDE
========================== */

.header-right{
display:flex;
align-items:center;
gap:10px;
}

.language-switcher{
width:120px;
}

.btn-login{
background:linear-gradient(
135deg,
var(--primary),
var(--secondary)
);
color:#fff;
border:none;
border-radius:30px;
padding:10px 22px;
font-weight:600;
}

.btn-login:hover

/* ==========================
MOBILE BUTTONS
========================== */

.mobile-menu-btn,
.mobile-icon{
background:none;
border:none;
font-size:28px;
color:#333;
}

/* ==========================
DRAWER
========================== */

.drawer-menu{
list-style:none;
padding:0;
}

.drawer-menu li{
margin-bottom:15px;
}

.drawer-menu a{
color:#333;
font-size:16px;
display:block;
}

.drawer-menu i{
margin-right:10px;
color:var(--primary);
}

/* ==========================
HERO
========================== */

.hero-image{
height:550px;
object-fit:cover;
}

.carousel-caption{
background:rgba(0,0,0,.45);
border-radius:15px;
padding:20px;
}

/* ==========================
SEARCH CARD
========================== */

.search-card{
margin-top:-50px;
position:relative;
z-index:10;
}

/* ==========================
SECTION TITLE
========================== */

.section-title{
font-size:34px;
font-weight:700;
color:var(--primary);
}

/* ==========================
CATEGORY CARD
========================== */

.category-card{
border:none;
border-radius:18px;
transition:.3s;
background:#fff;
}

.category-card:hover{
transform:translateY(-5px);
box-shadow:0 8px 25px rgba(0,0,0,.08);
}

.category-card i{
color:var(--primary);
}

/* ==========================
HOTEL CARD
========================== */

.hotel-card{
border:none;
border-radius:18px;
overflow:hidden;
background:#fff;
transition:.3s;
box-shadow:0 3px 15px rgba(0,0,0,.06);
}

.hotel-card:hover{
transform:translateY(-5px);
}

.hotel-card img{
height:220px;
object-fit:cover;
}

/* ==========================
EVENT CARD
========================== */

.event-card{
border:none;
border-radius:18px;
overflow:hidden;
background:#fff;
transition:.3s;
box-shadow:0 3px 15px rgba(0,0,0,.06);
}

.event-card:hover{
transform:translateY(-5px);
}

.event-card img{
height:220px;
object-fit:cover;
}

/* ==========================
CITY CARD
========================== */

.city-card{
border-radius:18px;
overflow:hidden;
position:relative;
}

.city-card img{
width:100%;
height:180px;
object-fit:cover;
}

.city-name{
position:absolute;
bottom:0;
width:100%;
background:rgba(0,0,0,.55);
color:#fff;
text-align:center;
padding:12px;
font-weight:600;
}

/* ==========================
OFFER CARD
========================== */

.offer-card{
border:none;
border-radius:18px;
background:linear-gradient(
135deg,
var(--primary),
var(--secondary)
);
color:#fff;
padding:25px;
}

/* ==========================
REVIEW CARD
========================== */

.review-card{
background:#fff;
border-radius:18px;
padding:25px;
box-shadow:0 3px 15px rgba(0,0,0,.06);
}

/* ==========================
BLOG CARD
========================== */

.blog-card{
border:none;
border-radius:18px;
overflow:hidden;
background:#fff;
box-shadow:0 3px 15px rgba(0,0,0,.06);
}

.blog-card img{
height:220px;
object-fit:cover;
}

/* ==========================
CTA
========================== */

.cta-section{
background:linear-gradient(
135deg,
var(--primary),
var(--secondary)
);
color:#fff;
border-radius:20px;
padding:60px 30px;
}

/* ==========================
FOOTER
========================== */

.footer{
background:#111;
color:#fff;
padding:70px 0 30px;
}

.footer h3,
.footer h5{
margin-bottom:20px;
}

.footer ul{
list-style:none;
padding:0;
}

.footer ul li{
margin-bottom:10px;
}

.footer a{
color:#fff;
transition:.3s;
}

.footer a:hover{
color:var(--primary);
}

/* ==========================
MOBILE BOTTOM NAV
========================== */

.mobile-bottom-nav{
position:fixed;
left:0;
right:0;
bottom:0;
height:65px;
background:#fff;
border-top:1px solid #eee;
display:flex;
z-index:9999;
box-shadow:0 -2px 10px rgba(0,0,0,.08);
}

.mobile-bottom-nav a{
flex:1;
text-align:center;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
color:#666;
font-size:11px;
}

.mobile-bottom-nav a i{
font-size:20px;
}

.mobile-bottom-nav a.active{
color:var(--primary);
}

/* ==========================
RESPONSIVE
========================== */

@media(max-width:991px){

body{
    padding-top:80px;
    padding-bottom:70px;
}

.header-fixed{
    height:80px;
}

.header-wrapper{
    height:80px;
}

.site-logo{
    font-size:22px;
}

.hero-image{
    height:250px;
}

.section-title{
    font-size:26px;
}

.footer{
    margin-bottom:65px;
}
}

@media(max-width:576px){

.hero-image{
    height:220px;
}

.city-card img{
    height:140px;
}

.hotel-card img,
.event-card img,
.blog-card img{
    height:160px;
}

.carousel-caption h2{
    font-size:20px;
}

.carousel-caption p{
    font-size:14px;
}

}
.hotel-listing{
    background:#f8f9fa;
}
.search-box{
    background:#fff;
    padding:20px;
    border-radius:15px;
}
.filter-box{
    background:#fff;
    padding:20px;
    border-radius:15px;
    position:sticky;
    top:100px;
}
.hotel-card{
    background:#fff;
    border-radius:15px;
    padding:15px;
    margin-bottom:20px;
    box-shadow:0 3px 15px rgba(0,0,0,.08);
}
.hotel-img{
    width:100%;
    height:220px;
    object-fit:cover;
    border-radius:12px;
}
.hotel-title{
    font-size:22px;
    font-weight:700;
}
.hotel-location{
    color:#666;
}
.rating-badge{
    display:inline-block;
    background:#198754;
    color:#fff;
    padding:6px 12px;
    border-radius:6px;
    font-size:14px;
}
.amenities span{
    display:inline-block;
    background:#f1f3f5;
    padding:6px 10px;
    margin-right:5px;
    margin-bottom:5px;
    border-radius:5px;
    font-size:13px;
}
.price{
    font-size:28px;
    font-weight:700;
    color:var(--primary);
}
.price small{
    font-size:14px;
    color:#666;
}
@media(max-width:768px){

    .hotel-img{
        height:180px;
    }

    .price{
        margin-top:15px;
    }

}


