.elementor-28627 .elementor-element.elementor-element-4f42c15{--display:flex;--background-transition:0.3s;}.elementor-28627 .elementor-element.elementor-element-6bcf3a5{--spacer-size:50px;}.elementor-28627 .elementor-element.elementor-element-7a009c6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--background-transition:0.3s;}/* Start custom CSS for html, class: .elementor-element-aeb25a0 *//* ===========================
   GOOGLE FONT
=========================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Inter',sans-serif;
    background:#f5f7fb;
}

/* ===========================
   WRAPPER
=========================== */

.dbo-room-booking{

    display:grid;

    grid-template-columns:2fr 370px;

    gap:35px;

    align-items:start;

}

/* ===========================
   GALLERY
=========================== */

.dbo-gallery{
    width:100%;
}

.dbo-main-image{

    position:relative;

    overflow:hidden;

    border-radius:28px;

    background:#fff;

    padding:12px;

    box-shadow:
    0 10px 35px rgba(0,0,0,.08);

}

.dbo-main-image img{

    width:100%;

    display:block;

    height:540px;

    object-fit:cover;

    border-radius:22px;

}

/* ===========================
   STATUS
=========================== */

.dbo-status{

    position:absolute;

    top:26px;

    left:26px;

    background:#fff;

    padding:10px 18px;

    border-radius:100px;

    display:flex;

    align-items:center;

    gap:10px;

    font-size:14px;

    font-weight:600;

    box-shadow:0 8px 18px rgba(0,0,0,.08);

    z-index:3;

}

.dbo-status .dot{

    width:11px;

    height:11px;

    border-radius:50%;

    background:#22c55e;

}

/* ===========================
   THUMBNAIL
=========================== */

.dbo-thumbnails{

    display:flex;

    gap:18px;

    margin-top:22px;

}

.thumb{

    width:95px;

    height:95px;

    border-radius:18px;

    overflow:hidden;

    cursor:pointer;

    position:relative;

    transition:.35s;

    border:3px solid transparent;

    background:#fff;

    box-shadow:
    0 8px 20px rgba(0,0,0,.06);

}

.thumb img{

    width:100%;

    height:100%;

    object-fit:cover;

}

.thumb.active{

    border-color:#2563eb;

}

.thumb:hover{

    transform:translateY(-4px);

}

/* ===========================
   OVERLAY
=========================== */

.thumb.more .overlay{

    position:absolute;

    inset:0;

    background:rgba(32,39,52,.55);

    color:#fff;

    font-weight:700;

    font-size:20px;

    display:flex;

    justify-content:center;

    align-items:center;

}

/* ===========================
   RIGHT CARD
=========================== */

.dbo-booking-card{

    background:#fff;

    border-radius:30px;

    padding:42px;

    box-shadow:
    0 12px 35px rgba(0,0,0,.08);

}

.dbo-room-booking {
    display: flex;
    align-items: flex-start; /* Membuat kedua kolom sejajar persis dari garis paling atas */
}

.dbo-title{

    display:flex;

    gap:16px;

    align-items:flex-start;

}

.green-dot{

    width:15px;

    height:15px;

    border-radius:50%;

    background:#22c55e;

    margin-top:10px;

}

.dbo-title h2{

    font-size:32px;

    line-height:1.1;

    color:#1f2937;

    font-weight:700;

}

.dbo-title p{

    margin-top:12px;

    color:#6b7280;

    line-height:1.8;

    font-size:18px;

}

.stat .icon {
    background: #FFF8F0 !important;
}

/* ===========================
   INFO
=========================== */

.booking-info{

    margin-top:30px;

}

.check-icon{

    display:flex;

    align-items:center;

    gap:12px;

    font-size:17px;

    color:#4b5563;

    font-weight:500;

}

/* ===========================
   LINE
=========================== */

.dbo-booking-card hr{

    border:none;

    border-top:1px solid #e8edf3;

    margin:34px 0;

}

/* ===========================
   FIELD
=========================== */

.field{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:38px;

}

.field label{

    display:block;

    color:#6b7280;

    letter-spacing:1px;

    font-size:13px;

    font-weight:700;

    margin-bottom:12px;

}

.field-value{

    font-size:18px;

    color:#111827;

    font-weight:500;

}

.calendar {
    width: 48px; /* Ubah dari 38px ke ukuran yang diinginkan */
    height: 48px; /* Sesuaikan dengan width */
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Jika ikon di dalamnya berupa SVG */
.calendar svg {
    width: 100%;
    height: 100%;
}

/* Jika ikon di dalamnya berupa Font Icon (seperti FontAwesome) */
.calendar i {
    font-size: 24px; /* Sesuaikan ukuran font ikon */
}

.calendar {
    position: relative;
    cursor: pointer;
}

.hidden-date-input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

/* Styling Wadah Kalender & Input Tersembunyi */
.calendar {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    cursor: pointer !important;
    z-index: 5;
}

.calendar i {
    font-size: 24px;
    color: #B6771D !important;
    pointer-events: none; /* Agar klik langsung menembus ke input/tombol */
}

.hidden-date-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer !important;
    z-index: 10;
}

/* ===========================
   BUTTONS
=========================== */

.booking-buttons{

    margin-top:35px;

}

.btn-primary{

    width:100%;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    height:60px;

    border-radius:18px;

    text-decoration:none;

    background:#B6771D;

    color: #fff;

    font-size:20px;

    font-weight:700;

    transition:.3s;

}

.btn-primary span {
    color: #ffffff !important;
}

.btn-primary:hover{

    background:#7B542F;
    box-shadow: none !important; 

}

.btn-outline{

    margin-top:18px;

    width:100%;

    height:60px;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:12px;

    text-decoration:none;

    border:2px solid #B6771D;

    color:#B6771D;

    border-radius:18px;

    font-size:20px;

    font-weight:600;

    transition:.3s;

}

.btn-outline:hover{

    background:#B6771D;

    color:#fff;

}

.cancel-text{

    text-align:center;

    color:#6b7280;

    margin-top:28px;

    font-size:17px;

}


/* ======================================================
   THUMBNAIL ANIMATION
====================================================== */

.thumb{
    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}

.thumb:hover{

    transform:translateY(-6px);

    box-shadow:
        0 18px 40px rgba(37,99,235,.18);

}

.thumb.active{

    border-color:#2563eb;

    box-shadow:
        0 0 0 4px rgba(37,99,235,.12);

}

.thumb img{

    transition:transform .4s;

}

.thumb:hover img{

    transform:scale(1.08);

}

/* ======================================================
   MAIN IMAGE
====================================================== */

.dbo-main-image{

    transition:.4s;

}

.dbo-main-image:hover img{

    transform:scale(1.015);

}

.dbo-main-image img{

    transition:transform .45s;

}

/* ======================================================
   CARD
====================================================== */

.dbo-booking-card{

    position:sticky;

    top:30px;

}

/* ======================================================
   FIELD
====================================================== */

.field{

    padding:14px 0;

    border-bottom:1px solid #eef2f7;

}

.field:last-of-type{

    border-bottom:none;

}

.calendar{

    cursor:pointer;

    transition:.3s;

}

.calendar:hover{

    transform:scale(1.08);

}

/* ======================================================
   BUTTONS
====================================================== */

.btn-primary{

    box-shadow:
        0 12px 30px rgba(29,78,216,.28);

}

.btn-primary:hover{

    transform:translateY(-3px);

    box-shadow:
        0 18px 40px rgba(29,78,216,.38);

}

.btn-outline{

    background:#fff;

}

.btn-outline:hover svg{

    transform:translateX(4px);

}

.btn-outline svg{

    transition:.3s;

}

/* ======================================================
   SMOOTH
====================================================== */

.dbo-main-image,
.thumb,
.btn-primary,
.btn-outline{

    will-change:transform;

}

/* ======================================================
   TABLET
====================================================== */

@media(max-width:1200px){

.dbo-room-booking{

    grid-template-columns:1fr;

}

.dbo-booking-card{

    position:relative;

    top:auto;

    margin-top:35px;

}

.dbo-main-image img{

    height:500px;

}

}

/* ======================================================
   MOBILE
====================================================== */

@media(max-width:768px){

.dbo-room-booking{

    gap:24px;

}

.dbo-main-image{

    padding:8px;

    border-radius:20px;

}

.dbo-main-image img{

    height:300px;

    border-radius:16px;

}

.dbo-status{

    top:18px;

    left:18px;

    font-size:12px;

    padding:8px 14px;

}

.dbo-thumbnails{

    gap:10px;

    overflow:auto;

    padding-bottom:6px;

}

.dbo-thumbnails::-webkit-scrollbar{

    display:none;

}

.thumb{

    min-width:75px;

    width:75px;

    height:75px;

    border-radius:14px;

}

.dbo-booking-card{

    padding:26px;

    border-radius:22px;

}

.dbo-title h2{

    font-size:34px;

}

.dbo-title p{

    font-size:15px;

    line-height:1.6;

}

.field{

    margin-bottom:18px;

}

.field-value{

    font-size:19px;

}

.btn-primary{

    height:60px;

    font-size:20px;

}

.btn-outline{

    height:60px;

    font-size:20px;

}

.cancel-text{

    font-size:14px;

}

}

/* ======================================================
   SMALL MOBILE
====================================================== */

@media(max-width:480px){

.dbo-title{

    gap:10px;

}

.green-dot{

    width:12px;

    height:12px;

}

.dbo-title h2{

    font-size:28px;

}

.dbo-main-image img{

    height:240px;

}

.thumb{

    min-width:65px;

    width:65px;

    height:65px;

}

.field{

    flex-direction:column;

    align-items:flex-start;

    gap:14px;

}

.calendar{

    align-self:flex-end;

}

}

/* ======================================================
   FADE
====================================================== */

.dbo-gallery{

    animation:fadeUp .6s ease;

}

.dbo-booking-card{

    animation:fadeUp .8s ease;

}

@keyframes fadeUp{

0%{

    opacity:0;

    transform:translateY(40px);

}

100%{

    opacity:1;

    transform:translateY(0);

}

}


#mainImage{
    transition:opacity .3s ease;
}

.room-info{

background:#fff;

padding:50px;

border-radius:24px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

font-family:Inter,sans-serif;

}

.room-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:35px;

gap:20px;

}

.room-header h2{

font-size:40px;

font-weight:700;

color:#111827;

margin-bottom:10px;

}

.rating{

display:flex;

align-items:center;

gap:10px;

font-size:18px;

color:#f59e0b;

}

.rating span{

color:#6b7280;

}

.map-link{

display:flex;

align-items:center;

gap:8px;

text-decoration:none;

color:#2563eb;

font-weight:600;

}

.room-stats{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:20px;

margin-bottom:45px;

}

.stat{

display:flex;

gap:15px;

padding:22px;

border:1px solid #e5e7eb;

border-radius:18px;

transition:.3s;

}

.stat:hover{

transform:translateY(-4px);

box-shadow:0 15px 30px rgba(37,99,235,.12);

}

.icon{

width:54px;

height:54px;

background:#eff6ff;

border-radius:14px;

display:flex;

align-items:center;

justify-content:center;

font-size:26px;

}

.stat small{

display:block;

color:#6b7280;

margin-bottom:6px;

}

.stat strong{

font-size:20px;

color:#111827;

}

.about-room{

margin-bottom:45px;

}

.about-room h3{

font-size:28px;

margin-bottom:18px;

color:#111827;

}

.about-room p{

font-size:17px;

line-height:1.9;

color:#6b7280;

}

.facility h3{

font-size:28px;

margin-bottom:25px;

}

.facility-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:18px;

}

.facility-item{

display:flex;

align-items:center;

gap:15px;

padding:18px 20px;

border:1px solid #e5e7eb;

border-radius:16px;

font-size:17px;

font-weight:600;

transition:.3s;

}

.facility-item:hover{

background:#F7F4EA;

color:#fff;

border-color:#C2A68C;

transform:translateX(6px);

}

@media(max-width:768px){

.room-info{

padding:25px;

}

.room-header{

flex-direction:column;

align-items:flex-start;

}

.room-header h2{

font-size:30px;

}

.room-stats{

grid-template-columns:1fr;

}

.facility-grid{

grid-template-columns:1fr;

}

}

/* Mengubah warna tulisan dan ikon di Premium Facilities menjadi hitam */

.facility *,
.facility-item,
.facility-item span {
    color: #6b7280 !important;
}

.fa-temperature-arrow-down, .fa-tv, .fa-video, .fa-mug-hot, .fa-chalkboard, .fa-print {
  color: #B6771D !important;
}



#facilityTitle {
    color: #0e0e0e !important;
}

/* Mengatur jarak bagian atas card agar tidak menempel dengan galeri */
.room-info {
    margin-top: 30px; /* Sesuaikan nilainya (misal 20px - 40px) sesuai selera */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2ddb5fd */@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* ===========================
LOCATION
=========================== */

.dbo-location{

    background:#fff;

    border-radius:28px;

    padding:48px;

    box-shadow:
    0 12px 35px rgba(15,23,42,.08);

    font-family:Inter,sans-serif;

}

.location-title{

    font-size:38px;

    font-weight:700;

    color:#111827;

    margin-bottom:24px;

}

.location-address{

    display:flex;

    align-items:flex-start;

    gap:14px;

    color:#4b5563;

    font-size:18px;

    margin-bottom:30px;

}

.location-address svg{

    min-width:22px;

    color:#4b5563;

    margin-top:3px;

}

.map-wrapper{

    position:relative;

    overflow:hidden;

    border-radius:24px;

    height:420px;

}

.map-wrapper iframe{

    width:100%;

    height:100%;

    border:0;

}

.map-btn{

    position:absolute;

    right:20px;

    bottom:20px;

    background:#fff;

    color:#1D4ED8;

    text-decoration:none;

    padding:15px 24px;

    border-radius:14px;

    font-weight:700;

    letter-spacing:.3px;

    box-shadow:
    0 8px 25px rgba(0,0,0,.12);

    transition:.3s;

}

.map-btn:hover{

    background:#1D4ED8;

    color:#fff;

    transform:translateY(-3px);

}

/* ===========================
TABLET
=========================== */

@media(max-width:992px){

.dbo-location{

padding:35px;

}

.location-title{

font-size:30px;

}

.map-wrapper{

height:350px;

}

}

/* ===========================
MOBILE
=========================== */

@media(max-width:768px){

.dbo-location{

padding:24px;

border-radius:20px;

}

.location-title{

font-size:26px;

}

.location-address{

font-size:15px;

line-height:1.7;

}

.map-wrapper{

height:280px;

border-radius:18px;

}

.map-btn{

right:15px;

bottom:15px;

padding:12px 18px;

font-size:14px;

}

}

/* Mengubah warna teks alamat di sublokasi */
#sublokasi {
    color: #393E46 !important;
}/* End custom CSS */