/* ==========================================
   PROPERTY PAGE
========================================== */

.property-hero{
padding:160px 0 70px;
background:linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.65)),
url("../images/hero.jpg") center/cover;
text-align:center;
color:#fff;
}

.property-hero h1{
font-size:52px;
font-family:'Playfair Display',serif;
margin-bottom:10px;
}

.property-hero p{
font-size:18px;
opacity:.9;
}

.property-page{
padding:80px 0;
background:#f7f7f7;
}

.property-page .container{
max-width:1300px;
margin:auto;
}

.property-grid{
display:grid;
grid-template-columns:2fr 1fr;
gap:40px;
align-items:start;
}

/* ==========================
LEFT
========================== */

.property-left{
background:#fff;
padding:30px;
border-radius:18px;
box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.main-image{
margin-bottom:20px;
}

.main-image img{
width:100%;
height:520px;
object-fit:cover;
border-radius:16px;
display:block;
}

.thumbnail-row{
display:flex;
gap:12px;
overflow-x:auto;
margin-bottom:35px;
}

.thumb{
width:110px;
height:80px;
border-radius:10px;
cursor:pointer;
object-fit:cover;
transition:.3s;
border:3px solid transparent;
flex-shrink:0;
}

.thumb:hover{
border-color:#D4AF37;
transform:scale(1.05);
}

.property-left h2{
margin:30px 0 15px;
font-size:30px;
font-family:'Playfair Display',serif;
color:#111827;
}

.property-left p{
line-height:1.8;
color:#555;
}

.property-features{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
margin:35px 0;
}

.property-features div{
background:#fafafa;
padding:22px;
text-align:center;
border-radius:12px;
}

.property-features strong{
display:block;
margin-bottom:8px;
color:#111827;
}

.property-features p{
margin:0;
font-weight:600;
color:#D4AF37;
}

/* ==========================
Amenities
========================== */

.amenities-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:18px;
margin-top:25px;
}

.amenity{
background:#111827;
color:#fff;
padding:18px;
border-radius:10px;
font-size:15px;
}

/* ==========================
Booking Card
========================== */

.booking-card{
background:#111827;
color:#fff;
padding:35px;
border-radius:18px;
position:sticky;
top:120px;
box-shadow:0 20px 45px rgba(0,0,0,.15);
}

.booking-card h2{
font-size:42px;
margin-bottom:5px;
color:#D4AF37;
}

.booking-card p{
margin-bottom:25px;
opacity:.9;
}

.booking-card label{
display:block;
margin-bottom:8px;
font-weight:600;
}

.booking-card input,
.booking-card select{
width:100%;
padding:15px;
margin-bottom:18px;
border:none;
border-radius:10px;
font-size:16px;
}

.book-btn{
display:block;
width:100%;
padding:16px;
background:#D4AF37;
border:none;
border-radius:10px;
font-size:18px;
font-weight:bold;
cursor:pointer;
margin-top:10px;
margin-bottom:15px;
transition:.3s;
}

.book-btn:hover{
background:#c89b22;
}

.whatsapp-btn{
display:block;
width:100%;
padding:16px;
background:#25D366;
color:#fff;
text-align:center;
text-decoration:none;
border-radius:10px;
font-weight:bold;
transition:.3s;
}

.whatsapp-btn:hover{
background:#1fa851;
}

/* ==========================
Contact
========================== */

.contact-box{
margin-top:30px;
padding-top:25px;
border-top:1px solid rgba(255,255,255,.15);
}

.contact-box h3{
margin-bottom:15px;
font-size:22px;
}

.contact-box p{
margin:10px 0;
color:#eee;
}

/* ==========================
Related
========================== */

.related-properties{
padding:90px 0;
background:#fff;
}

.related-properties h2{
text-align:center;
font-size:42px;
margin-bottom:50px;
font-family:'Playfair Display',serif;
}

.related-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
gap:30px;
}

.related-card{
background:#fff;
border-radius:16px;
overflow:hidden;
box-shadow:0 18px 40px rgba(0,0,0,.08);
transition:.3s;
}

.related-card:hover{
transform:translateY(-8px);
}

.related-card img{
width:100%;
height:240px;
object-fit:cover;
display:block;
}

.related-content{
padding:25px;
}

.related-content h3{
margin-bottom:10px;
font-size:26px;
}

.related-content p{
margin-bottom:20px;
color:#555;
}

.view-btn{
display:inline-block;
padding:14px 28px;
background:#111827;
color:#fff;
text-decoration:none;
border-radius:8px;
transition:.3s;
}

.view-btn:hover{
background:#000;
}

/* ==========================
Responsive
========================== */

@media(max-width:992px){

.property-grid{
grid-template-columns:1fr;
}

.booking-card{
position:relative;
top:0;
}

}

@media(max-width:768px){

.property-hero{
padding:130px 20px 60px;
}

.property-hero h1{
font-size:36px;
}

.main-image img{
height:320px;
}

.property-features{
grid-template-columns:repeat(2,1fr);
}

.related-properties h2{
font-size:32px;
}

}

@media(max-width:480px){

.property-features{
grid-template-columns:1fr;
}

.thumb{
width:90px;
height:70px;
}

.booking-card{
padding:25px;
}

.property-left{
padding:20px;
}

}/* ==========================================
   CAMPING HIGHLIGHTS
========================================== */

.camp-highlights{

    background:#ffffff;
    padding:30px;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    margin:30px 0;

}

.camp-highlights h3{

    margin:0 0 20px;
    font-size:32px;
    font-family:'Playfair Display',serif;
    color:#111827;

}

.camp-highlight{

    background:#111827;
    color:#ffffff;
    padding:16px 18px;
    border-radius:10px;
    margin-bottom:15px;
    font-size:17px;
    font-weight:600;

}

.camp-highlight:last-child{

    margin-bottom:0;

}

/* Mobile */

@media(max-width:768px){

.camp-highlights{

padding:22px;

}

.camp-highlights h3{

font-size:26px;

}

.camp-highlight{

font-size:16px;
padding:15px;

}

}