/* ROOM SLIDER */

.room-slider{
padding-top:50px;
}

.slider-container{
max-width:1200px;
margin:auto;
padding:20px;
}

.main-slide img{
width:100%;
height:600px;
object-fit:cover;
border-radius:10px;
cursor:pointer;
}



/* THUMBNAILS */

.thumbnail-slider{
display:flex;
gap:10px;
margin-top:15px;
overflow-x:auto;
}

.thumb{
width:120px;
height:80px;
object-fit:cover;
cursor:pointer;
border-radius:6px;
opacity:0.6;
border:2px solid transparent;
transition:0.3s;
}

.thumb:hover{
opacity:1;
}

.thumb.active{
border:3px solid #ff7a00;
opacity:1;
}

/* HERO ROOM */

.hero-room{
position:relative;
width:100%;
height:90vh;
overflow:hidden;
}

/* SLIDES */

.hero-slider{
position:relative;
height:100%;
}

.hero-slide.active{
opacity:1;
}

.hero-btn {
  display: inline-block;
  margin-top: 15px;
  padding: 12px 22px;
  background: var(--primary);
  color: #fff;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
  font-size: 16px;
  transition: 0.3s;
}

.hero-btn:hover {
  background: var(--primary-dark);
}


/* THUMBNAILS */

.hero-thumbnails{
position:absolute;
bottom:30px;
left:50%;
transform:translateX(-50%);
display:flex;
gap:10px;
z-index:10;
}

.hero-thumb{
width:90px;
height:60px;
object-fit:cover;
cursor:pointer;
border-radius:6px;
opacity:0.6;
border:2px solid transparent;
transition:.3s;
}

.hero-thumb:hover{
opacity:1;
}

.hero-thumb.active{
border:3px solid #ff7a00;
opacity:1;
}

/* HERO TEXT */

.hero-text{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
text-align:center;
color:white;
z-index:5;
display:flex;
flex-direction:column;
align-items:center; /* supaya tetap center */
}

.hero-btn{
  display:inline-block;
  margin-top:12px; /* jarak dari hero-trust */
}

.hero-text h1{
font-size:30px;
font-weight:500;
margin-bottom:10px;
text-shadow:0 3px 10px rgba(0,0,0,0.8);
}

.hero-text p{
font-size:16px;
text-shadow:0 2px 8px rgba(0,0,0,0.8);
}

.hero-trust{
  display:inline-block;
  font-size:13px;
  margin-top:10px;
  padding:5px 10px;
  background:rgba(0,0,0,0.45);
  border-radius:4px;
  color:#fff;
}

.room-subtitle{
  display:inline-block;
  background:rgba(0,0,0,0.5);
  padding:8px 14px;
  border-radius:6px;

  font-size:15px;
  line-height:1.5;
  color:#fff;

  margin-top:8px;
}

@media(max-width:768px){

.room-subtitle{
  font-size:13px;
  padding:6px 10px;
  max-width:90%;
}

}

/* DARK OVERLAY FOR BETTER TEXT */

.hero-room::after{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.45);
pointer-events:none;
}

@media(max-width:768px){

.hero-text h1{
font-size:24px;
}

.hero-text p{
font-size:14px;
}

}

/* SECTION TITLES */

.section-title{
font-size: var(--fs-h3);
margin-top:40px;
margin-bottom:20px;
padding-bottom:10px;
border-bottom:2px solid #eee;
font-weight:600;
}

/* ROOM CONTENT */

.room-content{
padding:50px 20px;
background:#f7f7f7;
}

/* CENTER CONTENT */

.container{
max-width:1200px;
margin:auto;
}

.room-main h2{
font-size: var(--fs-h2); /* 32px */
line-height: var(--lh-tight);
margin-bottom:15px;
}

.room-main p{
  line-height: 1.8;
  margin-bottom: 18px;
  color: var(--text-light);
  font-size: var(--fs-body);
}

.room-info-list i{
color:#ff7a00;
margin-right:8px;
font-size:14px;
}

/* WHY BOOK SECTION */

.booking-label{
font-size:14px;
color:#666;
margin-bottom:10px;
font-weight:500;
}

.why-book{
margin-top:20px;
padding-top:20px;
border-top:1px solid #eee;
}

.why-book h4{
font-size:16px;
margin-bottom:12px;
}

.why-book ul{
list-style:none;
padding:0;
margin:0;
}

.why-book li{
display:flex;
align-items:center;
gap:10px;
margin-bottom:10px;
font-size:14px;
color: var(--text-light);
}

.why-book i{
color:#ff7a00;
}

/* ROOM LAYOUT */

.room-left{
flex:2;
}

.room-left p{
  line-height: 1.8;
  margin-bottom: 18px;
  color: var(--text-light);
  font-size: var(--fs-body);
}

/* RIGHT INFO PANEL */

.room-urgency{
  text-align:center;
  font-size:13px;
  margin-top:10px;
  color:#666;
}

.room-facts{
background:#fff;
padding:25px;
border-radius:8px;
box-shadow:0 5px 20px rgba(0,0,0,0.08);
height:fit-content;
}

.room-facts h3{
margin-bottom:15px;
}

.room-facts ul{
list-style:none;
padding:0;
margin:0;
}

.room-facts li{
display:flex;
justify-content:space-between;
padding:10px 0;
border-bottom:1px solid #eee;
font-size:14px;
}

.room-facts span{
color:#666;
}

.room-facts strong{
color: var(--text-dark);
}

/* ROOM DETAILS LAYOUT */

.room-details{
display:grid;
grid-template-columns:2fr 1fr;
gap:40px;
margin-top:40px;
}


/* ROOM INFO PANEL */

.room-info-box{
background:#fff;
padding:25px;
border-radius:8px;
box-shadow:0 8px 25px rgba(0,0,0,0.08);
height:fit-content;
}

.room-info-box h3{
margin-bottom:15px;
}


/* ROOM INFO LIST */

.room-info-list{
list-style:none;
padding:0;
margin:0 0 20px 0;
}

.room-info-list li{
  display:flex;
  justify-content:space-between;
  padding:8px 0;
  border-bottom:1px solid #eee;
  font-size:13px; /* ↓ from 14px */
}

.room-info-list span{
  color:#777;
  font-size:13px;
}

.room-info-list strong{
  color: var(--text-dark);
  font-size:13.5px; /* slightly stronger */
  font-weight:600;
}


/* BOOK BUTTON */

.room-book-btn{
display:block;
text-align:center;
background:var(--primary);
color:white;
padding:14px;
border-radius:6px;
text-decoration:none;
font-weight:600;
transition:.3s;
}

.room-book-btn:hover{
background:var(--primary-dark);
}

.room-info-list i{
color:#ff7a00;
margin-right:6px;
}

.amenity i{
color:#ff7a00;
font-size:16px;
width:20px;
}

.amenity:hover{
transform:translateY(-2px);
box-shadow:0 6px 15px rgba(0,0,0,0.08);
}


/* MOBILE */

@media(max-width:900px){

.room-details{
grid-template-columns:1fr;
}

.room-info-box{
margin-top:20px;
}

}


/* AMENITIES GRID */

.amenities-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap:16px;
  margin-top:15px;
}

.amenity{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  background:#fafafa;
  transition:all 0.2s ease;
}

.amenity:hover{
  background:#fff;
  box-shadow:0 4px 12px rgba(0,0,0,0.06);
}

.amenity svg{
  width:18px;
  height:18px;
  color:var(--primary);
  flex-shrink:0;
}

.amenity span{
  font-size:13px;
}

/* MOBILE */

@media(max-width:768px){

.amenities-grid{
  grid-template-columns:repeat(2,1fr);
}

}

/* ROOM INFO ICONS */

.room-info-icons{
display:flex;
gap:25px;
margin:15px 0 25px 0;
}

.room-info-item{
display:flex;
align-items:center;
gap:8px;
font-weight:500;
color: var(--text-light);
}

.room-info-item .icon{
font-size:20px;
}


/* ROOM HIGHLIGHTS */

.room-highlights{
margin:15px 0 25px;
padding-left:18px;
}

.room-highlights li{
margin-bottom:8px;
line-height:1.6;
color: var(--text-light);
}


/* AMENITIES */

.amenities{
list-style:none;
display:grid;
grid-template-columns:repeat(2,1fr);
gap:12px;
margin:20px 0 40px;
}



/* BOOKING BOX */

.room-book{
flex:1;
}

.booking-box{
background:white;
padding:30px;
border-radius:10px;
box-shadow:0 4px 10px rgba(0,0,0,0.08);
position:sticky;
top:120px;
}

.price{
font-size:16px;
font-weight:bold;
margin:15px 0;
color: #fff;
}

.book-room-btn{
display:block;
background:#ff7a00;
color:white;
text-align:center;
padding:14px;
border-radius:6px;
text-decoration:none;
margin-top:20px;
}



/* ROOM GALLERY */

.room-gallery{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:15px;
}

.room-gallery img{
width:100%;
border-radius:8px;
}



/* MOBILE */

@media(max-width:900px){

.room-layout{
flex-direction:column;
}

.booking-box{
position:relative;
top:auto;
}

.main-slide img{
height:400px;
}

}

/* KEN BURNS EFFECT */

.hero-slide{
position:absolute;
width:100%;
height:100%;
object-fit:cover;
opacity:0;
transition:opacity .6s ease;
animation:kenburns 20s ease-in-out infinite;
}

.hero-slide.active{
opacity:1;
}

/* ZOOM ANIMATION */

@keyframes kenburns{

0%{
transform:scale(1);
}

50%{
transform:scale(1.08);
}

100%{
transform:scale(1);
}

}

/* STICKY BOOKING BAR */

.sticky-booking{
position:fixed;
bottom:-100px;
left:0;
width:100%;
background:white;
box-shadow:0 -5px 20px rgba(0,0,0,0.15);
transition:bottom .4s ease;
z-index:999;
}

.sticky-booking.show{
bottom:0;
}

.sticky-container{
max-width:1200px;
margin:auto;
padding:15px 20px;
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
}

.sticky-room{
font-size:16px;
font-weight:600;
}

.sticky-room span{
display:block;
font-size:14px;
color:#666;
}

.sticky-btn{
background:#ff7a00;
color:white;
padding:12px 25px;
border-radius:5px;
text-decoration:none;
font-weight:600;
transition:.3s;
}

.sticky-btn:hover{
background:#e96d00;
}

@media(max-width:768px){

.sticky-container{
flex-direction:row;
justify-content:space-between;
}

.sticky-room{
font-size:14px;
}

.sticky-btn{
padding:10px 18px;
font-size:14px;
}

}

/* ROOM GALLERY */

.room-gallery-section{
padding:80px 20px;
background:#fff;
}

/* MASONRY LAYOUT */

.room-gallery-masonry{
column-count:4;
column-gap:15px;
margin-top:30px;
}

.room-gallery-masonry a{
display:block;
margin-bottom:15px;
break-inside:avoid;
border-radius:8px;
overflow:hidden;
}

.room-gallery-masonry img{
width:100%;
height:auto;
display:block;
transition:transform .4s ease;
}

.room-gallery-masonry img:hover{
transform:scale(1.05);
}

@media(max-width:900px){

.room-gallery-masonry{
column-count:2;
}

}

@media(max-width:768px){
.hero-room{
height:70vh;
}

.hero-text{
top:55%;
}	
	
.amenity{
padding:8px 10px;
font-size:13px;
}
	
.hero-btn {
    padding: 10px 18px;
    font-size: 13px;
  }
	
 .header-book-btn{
    display:none;
  }
	
}

@media(max-width:500px){

.room-gallery-masonry{
column-count:1;
}

}

/* FORM BOX */
.form-box{
  background:#fff;
  padding:25px;
  border-radius:10px;
  box-shadow:0 10px 25px rgba(0,0,0,0.08);
}

/* GROUP */
.form-group{
  margin-bottom:18px;
}

/* LABEL */
.form-group label{
  display:block;
  font-size:14px;
  margin-bottom:6px;
  color:#555;
}

/* INPUT + TEXTAREA */
.contact-form input,
.contact-form textarea{
  width:100%;
  padding:12px 14px;
  border:1px solid #ddd;
  border-radius:6px;
  font-size:14px;
  transition:all 0.2s ease;
}

/* FOCUS EFFECT */
.contact-form input:focus,
.contact-form textarea:focus{
  border-color:var(--primary);
  outline:none;
  box-shadow:0 0 0 2px rgba(180,0,0,0.1);
}

/* BUTTON */
.form-btn{
  width:100%;
  background:var(--primary);
  color:#fff;
  padding:12px;
  border:none;
  border-radius:6px;
  font-size:15px;
  cursor:pointer;
  transition:all 0.25s ease;
}

/* HOVER */
.form-btn:hover{
  background:#8c0000;
  transform:translateY(-2px);
}

/* NOTE */
.form-note{
  font-size:12px;
  color:#666;
  margin-top:10px;
  text-align:center;
}

.contact-card{
  background:#fff;
  padding:25px;
  border-radius:14px;
  box-shadow:0 10px 25px rgba(0,0,0,0.08);
}

.contact-title{
  margin-bottom:15px;
  color:#8B5E3C;
}

.contact-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:15px;
}

.contact-icon{
  font-size:20px;
}

.contact-text span{
  display:block;
  font-size:13px;
  color:#777;
}

.contact-text strong{
  display:block;
  font-size:15px;
  color: var(--text-dark);
}

.map-container{
  margin:15px;
  border-radius:10px;
  overflow:hidden;
}

.map-container iframe{
  width:100%;
  height:200px;
  border:0;
}

.contact-map-btn{
  display:block;
  margin-top:15px;
  padding:12px;
  text-align:center;
  background:#8B5E3C;
  color:#fff;
  border-radius:8px;
  text-decoration:none;
  font-size:14px;
}

.contact-note{
  margin-top:10px;
  font-size:13px;
  color:#666;
  text-align:center;
}

/* ROOM FAQ SECTION */

.faq{
  padding:60px 0;
  background:var(--bg-soft);
}

.faq-title{
  text-align:center;
  margin-bottom:30px;
}

.faq-item{
  background:#fff;
  border-radius:10px;
  margin-bottom:15px;
  box-shadow:0 4px 10px rgba(0,0,0,0.05);
  overflow:hidden;
}

.faq-question{
  width:100%;
  padding:18px;
  background:none;
  border:none;
  text-align:left;
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
}

.faq-question span{
  font-size:18px;
  color:#8B5E3C;
}

.faq-answer{
  display:none;
  padding:0 18px 15px;
  font-size:14px;
  color:#555;
}

.room-trust{
  font-size:13px;
  color:#666;
  margin-bottom:10px;
  text-align: center;
}

.room-tagline {
  color: #fff;
  font-weight: 500;
  text-shadow: 0 4px 12px rgba(0,0,0,0.9);
  display: inline-block;
  padding: 6px 12px;
  background: rgba(0,0,0,0.45);
  border-radius: 6px;
}

/* FIX HERO TEXT SPACING ON MOBILE */
@media (max-width: 768px) {

  .hero-text {
    top: 58%; /* push slightly lower */
    width: 90%;
    padding: 0 10px;
  }

  .hero-text h1 {
    font-size: 22px;
    line-height: 1.3;
    margin-bottom: 8px;
  }

  .hero-text p {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 10px;
  }

  .hero-btn {
    margin-top: 10px;
    padding: 10px 18px;
    font-size: 13px;
  }
  .hero-thumbnails{
    display:none;
  }
   .hero-trust{
    display:none;
  }

}
.room-trust .icon svg,
.room-urgency .icon svg{
  stroke: var(--primary);
  flex-shrink:0;
}

.room-extra{
  font-size:12.5px;
  opacity:0.75;
  margin-top:8px;
  line-height:1.5;
}

.room-tag{
  display:inline-block;
  font-size:12px;
  padding:4px 10px;
  border-radius:20px;
  background:#f5f5f5;
  margin:6px 0 10px;
}
