:root{
  --emerald-900:#064E3B;--emerald-700:#047857;--emerald-500:#10B981;--gold:#D4AF37;
  --bg:#F8FAFC;--surface:#FFFFFF;--surface-soft:#F1F5F9;--heading:#0F172A;--body:#475569;
  --muted:#64748B;--border:#E2E8F0;--shadow-sm:0 8px 24px rgba(15,23,42,.06);
  --shadow-md:0 18px 45px rgba(15,23,42,.10);--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--body);font-size:16px;line-height:1.7;overflow-x:hidden}
h1,h2,h3,h4,h5,h6,.main-header{font-family:'Plus Jakarta Sans',sans-serif;color:var(--heading);letter-spacing:-.025em}
a{transition:all .25s ease}
img{max-width:100%;height:auto}
.container{max-width:1200px}
::selection{background:rgba(16,185,129,.18);color:var(--emerald-900)}

/* top information bar */
.top{background:var(--emerald-900)!important;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px}
.top .container{padding-top:8px;padding-bottom:8px}
.top ul{margin:0;padding:0;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.top .right{justify-content:flex-end}
.top li{opacity:.94}.top a{color:#fff!important;text-decoration:none}.top a:hover{opacity:.75}

/* navbar */
.navbar-area{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(226,232,240,.8);transition:box-shadow .25s ease,background .25s ease}
.navbar-area.is-scrolled{box-shadow:0 10px 35px rgba(15,23,42,.09);background:rgba(255,255,255,.98)}
.main-nav{background:transparent!important;box-shadow:none!important}
.main-nav .navbar{min-height:82px;padding:10px 0}
.main-nav .navbar-brand img,.mobile-nav .logo img{max-height:54px;width:auto;object-fit:contain}
.main-nav nav .navbar-nav .nav-item{margin-left:3px}
.main-nav nav .navbar-nav .nav-item a{font-family:'Inter',sans-serif!important;font-size:14px!important;font-weight:600!important;color:#1E293B!important;padding:12px 13px!important;border-radius:10px;position:relative}
.main-nav nav .navbar-nav .nav-item>a:after{content:'';position:absolute;height:2px;left:14px;right:14px;bottom:7px;background:var(--emerald-500);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.main-nav nav .navbar-nav .nav-item>a:hover:after{transform:scaleX(1)}
.main-nav nav .navbar-nav .nav-item a:hover{color:var(--emerald-900)!important}
.main-nav .dropdown-menu{border:1px solid var(--border)!important;border-radius:14px!important;padding:8px!important;box-shadow:var(--shadow-md)!important;background:#fff!important;min-width:220px}
.main-nav .dropdown-menu li a{border-radius:8px!important;padding:10px 12px!important}
.main-nav .dropdown-menu li a:hover{background:#ECFDF5!important;color:var(--emerald-900)!important}
.mobile-nav{background:#fff!important;box-shadow:0 8px 25px rgba(15,23,42,.07)!important}
.mean-container .mean-bar{background:#fff!important}
.mean-container a.meanmenu-reveal{color:var(--emerald-900)!important;border-color:var(--emerald-900)!important}
.mean-container a.meanmenu-reveal span{background:var(--emerald-900)!important}
.mean-container .mean-nav{background:#fff!important;box-shadow:var(--shadow-md)}
.mean-container .mean-nav ul li a{color:var(--heading)!important;border-top-color:var(--border)!important}

/* hero */
.slider{background:var(--emerald-900)}
.slider .slide-carousel .item{min-height:78vh!important;height:auto!important;background-position:center!important;background-size:cover!important;display:flex;align-items:center;position:relative}
.slider .slide-carousel .item .bg,.slider .bg{background:linear-gradient(90deg,rgba(2,44,34,.88) 0%,rgba(6,78,59,.72) 42%,rgba(6,78,59,.28) 72%,rgba(6,78,59,.12) 100%)!important}
.slider .text{max-width:760px!important;text-align:left!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;padding:110px 15px 135px!important;position:relative!important;margin:0 auto;width:100%}
.slider .text:before{content:'HOTEL & HOSPITALITY';display:inline-flex;align-items:center;letter-spacing:.16em;font-size:12px;font-weight:700;color:#D1FAE5;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);padding:8px 12px;border-radius:999px;margin-bottom:18px;backdrop-filter:blur(8px)}
.slider .text h2{font-size:clamp(38px,5.4vw,68px)!important;line-height:1.08!important;font-weight:800!important;color:#fff!important;max-width:800px;margin-bottom:20px!important;text-shadow:0 5px 25px rgba(0,0,0,.18)}
.slider .text p{font-size:clamp(16px,1.5vw,19px)!important;line-height:1.75!important;color:rgba(255,255,255,.88)!important;max-width:650px;margin:0 0 28px!important}
.slider .text .button a{display:inline-flex!important;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--emerald-500),#059669)!important;color:#fff!important;border:none!important;border-radius:12px!important;padding:14px 22px!important;font-weight:700!important;box-shadow:0 12px 30px rgba(16,185,129,.28);transition:.25s ease!important}
.slider .text .button a:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(16,185,129,.34)}
.slide-carousel.owl-carousel .owl-nav .owl-prev,.slide-carousel.owl-carousel .owl-nav .owl-next{width:48px!important;height:48px!important;border-radius:50%!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;backdrop-filter:blur(10px)}

/* booking/search */
.search-section{margin-top:-54px!important;position:relative;z-index:20;background:transparent!important;padding:0 0 36px!important}
.search-section .inner{background:#fff!important;border:1px solid rgba(226,232,240,.9);border-radius:20px!important;padding:24px!important;box-shadow:0 24px 60px rgba(15,23,42,.14)!important}
.search-section .form-group{margin-bottom:0!important}
.form-control,.form-select,.select2-container--bootstrap .select2-selection{min-height:50px!important;border-radius:11px!important;border:1px solid var(--border)!important;background:#fff!important;color:var(--heading)!important;font-size:14px!important;box-shadow:none!important;transition:.2s ease!important}
.form-control:focus,.form-select:focus,.select2-container--bootstrap.select2-container--focus .select2-selection{border-color:var(--emerald-500)!important;box-shadow:0 0 0 4px rgba(16,185,129,.10)!important}
.search-section button[type=submit],.btn-primary,.bg-website{background:linear-gradient(135deg,var(--emerald-900),var(--emerald-700))!important;border-color:transparent!important;color:#fff!important;border-radius:11px!important;min-height:50px;font-weight:700;padding:12px 20px!important;box-shadow:0 8px 22px rgba(6,78,59,.16);transition:.25s ease!important}
.search-section button[type=submit]:hover,.btn-primary:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(6,78,59,.24)!important;background:linear-gradient(135deg,#053F31,#059669)!important}
.btn-secondary,.btn-outline-primary{border-radius:11px!important}

/* sections */
.home-feature,.home-rooms,.blog-item,.photo-gallery,.video-gallery,.room,.room-detail,.page-content,.contact,.faq,.cart,.checkout,.payment,.terms,.privacy{padding-top:88px!important;padding-bottom:88px!important;background:var(--bg)}
.home-feature{padding-top:72px!important}
.main-header{font-size:clamp(30px,4vw,44px)!important;font-weight:750!important;text-align:center!important;margin-bottom:46px!important;position:relative}
.main-header:after{content:'';width:54px;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--gold),var(--emerald-500));display:block;margin:14px auto 0}

/* feature cards */
.home-feature .inner{height:100%;background:#fff!important;border:1px solid var(--border);border-radius:20px!important;padding:30px 24px!important;box-shadow:var(--shadow-sm)!important;transition:.3s ease!important;text-align:left!important}
.home-feature .inner:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)!important;border-color:#A7F3D0}
.home-feature .inner .icon i{width:54px;height:54px;display:flex!important;align-items:center;justify-content:center;border-radius:15px!important;background:#ECFDF5!important;color:var(--emerald-700)!important;font-size:24px!important;margin-bottom:18px}
.home-feature .inner .text h2{font-size:19px!important;font-weight:700!important;margin-bottom:8px!important}.home-feature .inner .text p{color:var(--muted)!important;margin:0!important}

/* room & content cards */
.home-rooms{background:#fff!important}
.home-rooms .inner,.blog-item .inner,.room .inner{height:100%;background:#fff!important;border:1px solid var(--border)!important;border-radius:20px!important;overflow:hidden!important;box-shadow:var(--shadow-sm)!important;transition:.3s ease!important}
.home-rooms .inner:hover,.blog-item .inner:hover,.room .inner:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)!important}
.home-rooms .inner .photo,.blog-item .inner .photo,.room .inner .photo{overflow:hidden;background:#E2E8F0;aspect-ratio:16/10}
.home-rooms .inner .photo img,.blog-item .inner .photo img,.room .inner .photo img{width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .5s ease}
.home-rooms .inner:hover .photo img,.blog-item .inner:hover .photo img,.room .inner:hover .photo img{transform:scale(1.035)}
.home-rooms .inner .text,.blog-item .inner .text,.room .inner .text{padding:22px!important}
.home-rooms .inner .text h2,.blog-item .inner .text h2,.room .inner .text h2{font-size:20px!important;line-height:1.35!important;margin-bottom:10px!important}
.home-rooms .inner .text h2 a,.blog-item .inner .text h2 a,.room .inner .text h2 a{color:var(--heading)!important}
.home-rooms .inner .text .price{color:var(--emerald-700)!important;font-weight:800!important;font-size:18px!important;margin:7px 0 15px!important}
.home-rooms .inner .text .button a,.blog-item .inner .text .button a{background:transparent!important;color:var(--emerald-900)!important;border:1px solid #A7F3D0!important;border-radius:10px!important;padding:10px 15px!important;font-weight:700!important}
.home-rooms .inner .text .button a:hover,.blog-item .inner .text .button a:hover{background:#ECFDF5!important;border-color:var(--emerald-500)!important;transform:translateY(-1px)}
.home-rooms .big-button{margin-top:34px!important}.home-rooms .big-button a{border-radius:12px!important;background:linear-gradient(135deg,var(--emerald-900),var(--emerald-700))!important;padding:14px 24px!important}

/* testimonials */
.testimonial{padding:100px 0!important;background-position:center!important;background-size:cover!important;position:relative}
.testimonial .bg{background:linear-gradient(135deg,rgba(2,44,34,.93),rgba(6,78,59,.83))!important}
.testimonial .main-header{color:#fff!important}.testimonial .item{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:20px!important;padding:28px!important;backdrop-filter:blur(10px);box-shadow:none!important}
.testimonial .item .photo img{border:3px solid rgba(255,255,255,.45)!important}.testimonial .item h4,.testimonial .item p,.testimonial .description p{color:#fff!important}
.testimonial-carousel .owl-dots .owl-dot{background:rgba(255,255,255,.35)!important}.testimonial-carousel .owl-dots .owl-dot.active{background:var(--gold)!important}

/* generic page banners and content */
.page-top,.page-banner,.inner-banner{background:linear-gradient(135deg,var(--emerald-900),var(--emerald-700))!important}
.page-top .bg,.page-banner .bg{background:linear-gradient(135deg,rgba(2,44,34,.82),rgba(6,78,59,.55))!important}
.page-top h2,.page-banner h2{font-family:'Plus Jakarta Sans',sans-serif!important;font-weight:800!important;letter-spacing:-.03em!important}

/* galleries */
.photo-gallery .item,.video-gallery .item{border-radius:18px!important;overflow:hidden!important;box-shadow:var(--shadow-sm)!important;background:#fff!important}
.photo-gallery .item img,.video-gallery .item img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:.4s ease}.photo-gallery .item:hover img,.video-gallery .item:hover img{transform:scale(1.035)}

/* tables */
.table-responsive{border-radius:16px;box-shadow:var(--shadow-sm);background:#fff;border:1px solid var(--border);overflow-x:auto}
.table{margin-bottom:0!important;color:var(--body)}
.table thead th,.cart .table-cart tr th{background:#F1F5F9!important;color:#334155!important;border:0!important;font-weight:700!important;padding:15px!important}
.table td{padding:15px!important;vertical-align:middle!important;border-top:1px solid #EEF2F7!important}

/* forms/cards across pages */
.card,.widget,.room-detail .right .widget,.contact .form{border:1px solid var(--border)!important;border-radius:18px!important;box-shadow:var(--shadow-sm)!important;background:#fff!important}
.room-detail .right .widget .book-now{background:linear-gradient(135deg,var(--emerald-900),var(--emerald-700))!important;border-radius:11px!important}

/* CTA */
.modern-cta{padding:32px 0 88px;background:var(--bg)}
.modern-cta__box{position:relative;overflow:hidden;border-radius:28px;padding:48px 54px;background:linear-gradient(135deg,#052E2B 0%,#064E3B 55%,#047857 100%);box-shadow:0 28px 60px rgba(6,78,59,.2)}
.modern-cta__box:after{content:'';position:absolute;width:270px;height:270px;border-radius:50%;right:-80px;top:-100px;background:rgba(212,175,55,.11)}
.modern-cta__content{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:30px}
.modern-cta h2{color:#fff;font-size:clamp(28px,3.4vw,42px);font-weight:800;margin:0 0 10px}.modern-cta p{color:rgba(255,255,255,.78);margin:0;max-width:650px}
.modern-cta .btn{position:relative;z-index:3;white-space:nowrap;background:#fff!important;color:var(--emerald-900)!important;border:none!important;border-radius:12px!important;padding:14px 22px!important;font-weight:800}

/* footer */
.footer{background:#022C22!important;padding:72px 0 56px!important;color:#C7D2D0!important}
.footer .heading{color:#fff!important;font-size:17px!important;font-weight:750!important;margin-bottom:20px!important}
.footer p,.footer .right,.footer li,.footer a{color:#B8C7C4!important;font-size:14px!important}
.footer a:hover{color:#fff!important;padding-left:2px}
.footer .useful-links li{margin-bottom:9px!important}.footer .list-item{display:flex;gap:12px;margin-bottom:13px}.footer .list-item .left i{color:#6EE7B7!important}
.footer ul.social li a{width:38px!important;height:38px!important;border-radius:10px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.08);display:flex!important;align-items:center;justify-content:center}
.footer input[type=submit]{background:linear-gradient(135deg,var(--emerald-500),#059669)!important;border:none!important;border-radius:10px!important;padding:12px 18px!important;color:#fff!important;font-weight:700}
.footer .form-control{background:rgba(255,255,255,.07)!important;border-color:rgba(255,255,255,.14)!important;color:#fff!important}
.copyright{background:#011F19!important;color:#8FA6A1!important;border-top:1px solid rgba(255,255,255,.06)!important;padding:18px 15px!important;font-size:13px!important;text-align:center}
.scroll-top{background:var(--emerald-500)!important;border-radius:12px!important;box-shadow:0 10px 25px rgba(16,185,129,.25)!important}

/* toast */
.iziToast{border-radius:14px!important;box-shadow:var(--shadow-md)!important;font-family:'Inter',sans-serif!important}

/* reveal */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
[data-reveal].is-visible{opacity:1;transform:none}

/* accessibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(16,185,129,.25)!important;outline-offset:2px!important}

@media(max-width:991.98px){
  .top .left-side,.top .right-side{text-align:center!important}.top ul,.top .right{justify-content:center!important}
  .slider .slide-carousel .item{min-height:68vh!important}.slider .text{padding:92px 24px 120px!important}
  .search-section{margin-top:-38px!important}.search-section .form-group{margin-bottom:12px!important}.search-section button{width:100%}
  .home-feature,.home-rooms,.blog-item,.photo-gallery,.video-gallery,.room,.room-detail,.page-content,.contact,.faq,.cart,.checkout,.payment,.terms,.privacy{padding-top:66px!important;padding-bottom:66px!important}
  .home-feature .col-md-3,.home-rooms .col-md-3{margin-bottom:22px}.blog-item .col-md-4{margin-bottom:22px}
  .modern-cta__box{padding:38px 30px}.modern-cta__content{display:block}.modern-cta .btn{margin-top:22px}
}
@media(max-width:767.98px){
  body{font-size:15px}.top{display:none}
  .slider .slide-carousel .item{min-height:620px!important}.slider .text{padding:82px 18px 110px!important;text-align:left!important}.slider .text:before{font-size:10px}
  .slider .text h2{font-size:39px!important}.slider .text p{font-size:15px!important;line-height:1.65!important}
  .search-section{margin-top:-52px!important;padding-left:10px!important;padding-right:10px!important}.search-section .inner{padding:18px!important;border-radius:17px!important}
  .main-header{font-size:30px!important;margin-bottom:32px!important}
  .home-feature,.home-rooms,.blog-item,.photo-gallery,.video-gallery,.room,.room-detail,.page-content,.contact,.faq,.cart,.checkout,.payment,.terms,.privacy{padding-top:54px!important;padding-bottom:54px!important}
  .modern-cta{padding:18px 12px 60px}.modern-cta__box{padding:32px 22px;border-radius:22px}.modern-cta h2{font-size:28px}
  .footer{padding:55px 0 35px!important}.footer .col-md-3{margin-bottom:28px}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}[data-reveal]{opacity:1!important;transform:none!important}}
