/* =========================
RESET
========================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

:root{
--gold:#d4af37;
--dark:#0f172a;
--white:#ffffff;
--gray:#f8fafc;
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Segoe UI',sans-serif;
background:white;
overflow-x:hidden;
color:#111;
}

/* =========================
NAVBAR
========================= */

.navbar{
position:absolute;
top:0;
left:0;
width:100%;
z-index:999;
padding:18px 0;
transition:.3s;
}

.navbar-brand{
font-size:1.6rem;
font-weight:800;
color:white !important;
margin-left:130px;
}

.gold{
color:var(--gold);
}

.navbar-nav .nav-link{
color:rgba(255,255,255,.88) !important;
font-size:1rem;
font-weight:600;
margin-left:18px;
letter-spacing:.5px;
position:relative;
transition:.3s;
padding:6px 2px;
}

.navbar-nav .nav-link:hover{
color:var(--gold) !important;
transform:translateY(-1px);
}

.navbar-nav .nav-link::after{
content:"";
position:absolute;
left:0;
bottom:-3px;
width:0;
height:2px;
background:var(--gold);
transition:.3s;
}

.navbar-nav .nav-link:hover::after{
width:100%;
}

.contact-top{
color:white;
font-size:.88rem;
display:flex;
gap:20px;
align-items:center;
}

.contact-top i{
color:var(--gold);
}

/* =========================
LOGO
========================= */

.logo-brand{
display:flex;
align-items:center;
gap:12px;
text-decoration:none;
}

.logo-img{
height:48px;
width:auto;
object-fit:contain;
filter:
drop-shadow(0 0 8px rgba(212,175,55,.25));
transition:.3s;
}

.logo-brand:hover .logo-img{
transform:scale(1.05);
}

.logo-text{
display:flex;
flex-direction:column;
line-height:1;
}

.logo-top{
font-size:1.55rem;
font-weight:300;
letter-spacing:2px;
color:white;
font-family:Georgia, serif;
}

.logo-bottom{
font-size:.82rem;
font-weight:700;
letter-spacing:2px;
color:#d4af37;
margin-top:6px;
}

/* =========================
HERO
========================= */

.hero{

min-height:30vh;

background:
linear-gradient(
rgba(0,0,0,.55),
rgba(0,0,0,.45)
),

url('images/wrimg/img18.jpg');

background-size:cover;
background-position:center;

display:flex;
align-items:center;

position:relative;

padding:90px 0 40px;

}

.hero-content{

max-width:650px;
color:white;

margin-left:-420px;

}

.hero-sub{

color:var(--gold);
font-size:.82rem;
letter-spacing:4px;
margin-bottom:18px;
text-transform:uppercase;
font-weight:700;

}

.hero-title{

font-size:3.2rem;
font-weight:700;
line-height:.95;
color:white;
margin-bottom:18px;
font-family:Georgia, serif;
letter-spacing:1px;

}

.hero-title span{

color:var(--gold);

}

.hero-text{

font-size:1.1rem;
line-height:1.8;
color:#f1f5f9;
margin-bottom:32px;
max-width:520px;

}

.hero-buttons{
display:flex;
gap:14px;
flex-wrap:wrap;
}

.btn-gold{
background:var(--gold);
color:white;
padding:13px 26px;
border-radius:12px;
font-weight:600;
border:none;
text-decoration:none;
transition:.3s;
display:inline-block;
}

.btn-gold:hover{
background:#b8932f;
transform:translateY(-3px);
color:white;
}

.btn-dark-custom{
border:1px solid rgba(255,255,255,.4);
padding:13px 26px;
border-radius:12px;
color:white;
text-decoration:none;
transition:.3s;
backdrop-filter:blur(10px);
display:inline-block;
}

.btn-dark-custom:hover{
background:white;
color:black;
}

/* =========================
HOTELS
========================= */

.hotels{
padding:90px 0;
background:#f8fafc;
}

/* =========================
TOP HOTEL BAR
========================= */

.hotel-top-bar{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:35px;
gap:20px;
flex-wrap:wrap;
}

.hotel-section-title{
font-size:1.5rem;
font-weight:500;
letter-spacing:1px;
text-transform:uppercase;
color:#0f172a;
position:relative;
padding-left:18px;
margin:0;
}

.hotel-section-title::before{
content:"";
position:absolute;
left:0;
top:50%;
transform:translateY(-50%);
width:6px;
height:28px;
background:var(--gold);
border-radius:10px;
}

.hotel-filter{
padding:12px 18px;
border:1px solid #e5e7eb;
border-radius:12px;
background:white;
font-weight:600;
outline:none;
cursor:pointer;
min-width:220px;
transition:.3s;
}

.hotel-filter:hover{
border-color:var(--gold);
}

/* =========================
HOTEL CARD
========================= */

.hotel-card{
background:white;
border-radius:20px;
overflow:hidden;
transition:.3s;
height:100%;
box-shadow:0 10px 25px rgba(0,0,0,.06);
border:1px solid #f1f5f9;
}

.hotel-card:hover{
transform:translateY(-8px);
box-shadow:0 18px 40px rgba(0,0,0,.12);
}

.hotel-card img{
width:100%;
height:230px;
object-fit:cover;
}

.hotel-content{
padding:22px;
}

.hotel-content h4{
font-size:1.15rem;
font-weight:700;
margin-bottom:8px;
color:#111827;
}

.hotel-ville{
color:#6b7280;
font-size:.92rem;
margin-bottom:12px;
display:flex;
align-items:center;
gap:7px;
}

.hotel-desc{
font-size:.94rem;
line-height:1.7;
color:#4b5563;
margin-bottom:18px;
}

.hotel-price{
font-size:1rem;
font-weight:800;
margin-bottom:18px;
color:#111827;
}

.hotel-actions{
display:flex;
gap:10px;
}

.btn-hotel{
background:var(--gold);
color:white;
padding:11px 18px;
border-radius:10px;
text-decoration:none;
font-weight:700;
transition:.3s;
display:inline-block;
}

.btn-hotel:hover{
background:#b8932f;
color:white;
}

/* =========================
STATS
========================= */

.stats{
padding:90px 0;

background:
linear-gradient(
rgba(0,0,0,.7),
rgba(0,0,0,.7)
),

url('images/wrimg/img17.jpg');

background-size:cover;
background-position:center;

color:white;
}

.stat-box{
text-align:center;
}

.stat-box h3{
font-size:2.7rem;
font-weight:800;
color:var(--gold);
}

.stat-box p{
font-size:1rem;
margin-top:10px;
}

/* =========================
VOIR PLUS
========================= */

.more-hotels{
text-align:center;
margin-top:50px;
}

.btn-more-hotels{
background:#0f172a;
color:white;
padding:14px 28px;
border-radius:14px;
text-decoration:none;
font-weight:700;
display:inline-block;
transition:.3s;
}

.btn-more-hotels:hover{
background:#1e293b;
transform:translateY(-3px);
color:white;
}

/* =========================
FOOTER
========================= */

footer{
background:#0b1120;
color:white;
padding:80px 0 30px;
}

.footer-logo{
font-size:1.8rem;
font-weight:800;
margin-bottom:20px;
}

.footer-text{
color:#cbd5e1;
line-height:1.9;
}

.footer-contact{
margin-top:25px;
}

.footer-contact div{
margin-bottom:10px;
}

.footer-contact i{
color:var(--gold);
margin-right:10px;
}

.footer-bottom{
border-top:1px solid rgba(255,255,255,.08);
margin-top:50px;
padding-top:25px;
text-align:center;
color:#94a3b8;
}

/* =========================
RESPONSIVE
========================= */

@media(max-width:992px){

.hero-title{
font-size:3.2rem;
}

.navbar-brand{
margin-left:20px;
}

}

@media(max-width:768px){

.navbar{
background:rgba(0,0,0,.88);
padding:14px 0;
}

.hero{
min-height:auto;
padding:110px 0 60px;
}

.hero-content{
text-align:center;
margin:auto;
}

.hero-title{
font-size:2.1rem;
}

.hero-text{
font-size:1rem;
margin:auto auto 28px;
}

.hero-buttons{
justify-content:center;
}

.hotel-top-bar{
flex-direction:column;
align-items:flex-start;
}

.hotel-section-title{
font-size:1.2rem;
}

}

@media(max-width:480px){

.hero-title{
font-size:2rem;
}

.hero-sub{
font-size:.72rem;
}

.hero-text{
font-size:.92rem;
}

.btn-gold,
.btn-dark-custom{
width:100%;
text-align:center;
}

.hotel-filter{
width:100%;
}

}