/* SNHE Enterprise Design System V1 — Public Website UI */
:root{--snhe-primary:#2563eb;--snhe-primary-2:#7c3aed;--snhe-accent:#10b981;--snhe-warning:#f59e0b;--snhe-danger:#ef4444;--snhe-ink:#0f172a;--snhe-muted:#64748b;--snhe-line:#e2e8f0;--snhe-bg:#f8fafc;--snhe-card:#fff;--snhe-navy:#071735;--snhe-radius:16px;--snhe-shadow:0 10px 35px rgba(15,23,42,.09);--snhe-shadow-lg:0 24px 70px rgba(15,23,42,.16)}
html{scroll-behavior:smooth}body{background:var(--snhe-bg);color:var(--snhe-ink);font-family:Inter,Poppins,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}body.snhe-dark{--snhe-ink:#eef2ff;--snhe-muted:#a8b3cf;--snhe-line:#25324d;--snhe-bg:#07101f;--snhe-card:#0e1a2f;--snhe-navy:#020817;color-scheme:dark}.container{max-width:1240px}.snhe-header{position:fixed;inset:0 0 auto;z-index:1050;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(226,232,240,.8);backdrop-filter:blur(18px);transition:.25s}.snhe-dark .snhe-header{background:rgba(7,16,31,.92);border-color:#25324d}.snhe-header.is-scrolled{box-shadow:0 8px 30px rgba(15,23,42,.09)}.snhe-header__bar{height:76px}.snhe-header__inner{height:100%;display:flex;align-items:center;gap:24px}.snhe-brand{display:flex;align-items:center;gap:10px;flex:0 0 auto}.snhe-brand img{max-width:170px;max-height:54px;object-fit:contain}.snhe-brand__mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--snhe-primary),var(--snhe-primary-2));color:#fff;font-weight:800}.snhe-brand__text{font-size:20px;font-weight:800;color:var(--snhe-ink)}.snhe-nav{margin-left:auto}.snhe-nav__list{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}.snhe-nav__item{position:relative;display:flex;align-items:center}.snhe-nav__link{padding:12px 14px;color:var(--snhe-ink);font-size:14px;font-weight:600;border-radius:10px}.snhe-nav__link:hover,.snhe-nav__link:focus{background:#eff6ff;color:var(--snhe-primary)}.snhe-dark .snhe-nav__link:hover{background:#14233d}.snhe-submenu-toggle{border:0;background:transparent;color:var(--snhe-muted);padding:8px 4px}.snhe-submenu{position:absolute;top:calc(100% + 10px);left:0;min-width:220px;padding:10px;background:var(--snhe-card);border:1px solid var(--snhe-line);border-radius:14px;box-shadow:var(--snhe-shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s;list-style:none}.snhe-nav__item:hover .snhe-submenu,.snhe-nav__item.is-open .snhe-submenu{opacity:1;visibility:visible;transform:none}.snhe-submenu a{display:block;padding:10px 12px;border-radius:9px;color:var(--snhe-ink);font-size:14px}.snhe-submenu a:hover{background:#eff6ff;color:var(--snhe-primary)}.snhe-header__actions{display:flex;align-items:center;gap:8px}.snhe-language-form{display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid var(--snhe-line);border-radius:10px;background:var(--snhe-card)}.snhe-language-form select{border:0;background:transparent;color:var(--snhe-ink);font-size:12px;font-weight:700;outline:0}.snhe-icon-btn{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--snhe-line);border-radius:11px;background:var(--snhe-card);color:var(--snhe-ink)}.snhe-login-btn{display:flex;align-items:center;gap:8px;padding:11px 16px;border-radius:11px;background:linear-gradient(135deg,var(--snhe-primary),var(--snhe-primary-2));color:#fff!important;font-size:13px;font-weight:700;box-shadow:0 8px 24px rgba(37,99,235,.22)}.snhe-menu-toggle{display:none;margin-left:auto;width:44px;height:42px;border:1px solid var(--snhe-line);border-radius:12px;background:var(--snhe-card);padding:10px}.snhe-menu-toggle span{display:block;height:2px;margin:4px 0;background:var(--snhe-ink);border-radius:2px}.snhe-header-spacer{height:76px}
/* hero/search-first OTA */
.hero-banner,.hero-banner_v1,.hero-banner_v2,.hero-banner_v3{position:relative;background:linear-gradient(135deg,#071735 0%,#0d2450 56%,#1d2d5b 100%)!important;overflow:hidden}.hero-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(124,58,237,.28),transparent 32%),radial-gradient(circle at 20% 80%,rgba(37,99,235,.22),transparent 32%);pointer-events:none}.hero-banner .banner-content .title{color:#fff!important;font-weight:800!important;letter-spacing:-.035em;line-height:1.08}.hero-banner .banner-content .text,.hero-banner .banner-content p{color:#cbd5e1!important;font-size:17px}.hero-banner .banner-img img{border-radius:28px;box-shadow:var(--snhe-shadow-lg)}.banner-filter-form{position:relative;z-index:5}.banner-filter-form .form-wrapper{padding:12px!important;background:#fff!important;border:0!important;border-radius:18px!important;box-shadow:0 20px 60px rgba(2,8,23,.28)}.banner-filter-form .grid{display:grid!important;grid-template-columns:minmax(190px,1.3fr) repeat(2,minmax(145px,1fr)) minmax(150px,.8fr) auto;align-items:end}.banner-filter-form .item{padding:7px 13px;border-right:1px solid #e2e8f0}.banner-filter-form .item:last-child{border-right:0}.banner-filter-form label{color:#64748b;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.banner-filter-form .form-control,.banner-filter-form .nice-select{height:38px;border:0!important;padding-left:30px!important;font-weight:700;color:#0f172a;background:transparent!important;box-shadow:none!important}.banner-filter-form .icon{color:var(--snhe-primary)}.banner-filter-form .btn{min-height:50px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--snhe-primary),var(--snhe-primary-2));font-weight:800;white-space:nowrap}.snhe-booking-types{display:flex;gap:6px;margin:0 0 10px;padding:6px;width:max-content;max-width:100%;overflow:auto;border-radius:14px;background:rgba(2,8,23,.72);backdrop-filter:blur(12px)}.snhe-booking-type{display:flex;align-items:center;gap:7px;padding:10px 14px;border:0;border-radius:10px;background:transparent;color:#cbd5e1;font-size:12px;font-weight:750;white-space:nowrap}.snhe-booking-type.is-active{background:#fff;color:var(--snhe-primary);box-shadow:0 8px 20px rgba(0,0,0,.16)}.snhe-booking-type[data-type=night] i{color:#7c3aed}.snhe-booking-type[data-type=full_day] i{color:#f59e0b}.snhe-booking-type[data-type=multi_day] i{color:#10b981}.snhe-popular-searches{display:flex;gap:8px;align-items:center;margin-top:13px;color:#cbd5e1;font-size:12px}.snhe-popular-searches a{padding:7px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#fff;background:rgba(255,255,255,.07)}
/* shared cards */
section{position:relative}.section-title .title,h1,h2,h3,h4{color:var(--snhe-ink)}.section-title .title{font-weight:800!important;letter-spacing:-.025em}.card,.product-default,.hotel-card,.room-card,.widget,.sidebar-widget,.booking-form,.review-box,.pricing-card{background:var(--snhe-card)!important;border:1px solid var(--snhe-line)!important;border-radius:var(--snhe-radius)!important;box-shadow:0 6px 22px rgba(15,23,42,.05);transition:transform .22s,box-shadow .22s,border-color .22s}.card:hover,.product-default:hover,.hotel-card:hover,.room-card:hover{transform:translateY(-4px);box-shadow:var(--snhe-shadow);border-color:#bfdbfe!important}.card_img img,.product-img img,.product-image img,.hotel-card img,.room-card img{border-radius:14px;transition:transform .35s}.card:hover .card_img img,.product-default:hover img{transform:scale(1.035)}.btn-primary,.btn.btn-primary{border-color:transparent!important;background:linear-gradient(135deg,var(--snhe-primary),var(--snhe-primary-2))!important;color:#fff!important;box-shadow:0 8px 20px rgba(37,99,235,.2)}.btn-secondary{border-color:var(--snhe-primary)!important;background:var(--snhe-card)!important;color:var(--snhe-primary)!important}.btn{border-radius:11px;font-weight:700}.badge,.label,.tag{border-radius:999px}.price{color:var(--snhe-ink);font-weight:800}.ratings i,.rating i{color:#f59e0b}.form-control,.nice-select,.select2-container .select2-selection{border:1px solid var(--snhe-line)!important;border-radius:11px!important;background:var(--snhe-card)!important;color:var(--snhe-ink)!important}.form-control:focus{border-color:#93c5fd!important;box-shadow:0 0 0 4px rgba(37,99,235,.1)!important}.breadcrumb-area{background:linear-gradient(135deg,#071735,#102b5e)!important}.breadcrumb-area *{color:#fff!important}
/* listing and detail pages */
.product-area,.hotel-area,.room-area,.listing-area{background:var(--snhe-bg)}.product-default .product-details,.hotel-card .content,.room-card .content{padding:18px}.product-default .product-title a{color:var(--snhe-ink);font-weight:800}.product-default .product-location{color:var(--snhe-muted)}.product-default .product-price{font-size:21px;font-weight:850;color:var(--snhe-ink)}.sidebar-widget{padding:20px}.sidebar-widget .title{font-weight:800}.pagination .page-link{margin:0 4px;border:1px solid var(--snhe-line);border-radius:9px!important;background:var(--snhe-card);color:var(--snhe-ink)}.pagination .active .page-link{background:var(--snhe-primary);border-color:var(--snhe-primary)}.product-single .product-title,.hotel-details .title,.room-details .title{font-weight:850;letter-spacing:-.025em}.product-single .product-image img,.hotel-details img,.room-details img{border-radius:18px}.nav-tabs{border-bottom:1px solid var(--snhe-line)}.nav-tabs .nav-link{border:0!important;color:var(--snhe-muted);font-weight:700}.nav-tabs .nav-link.active{color:var(--snhe-primary);background:transparent;border-bottom:3px solid var(--snhe-primary)!important}.booking-form,.booking-summary{position:sticky;top:94px}.amenities li,.facilities li{border-radius:10px;background:var(--snhe-bg);color:var(--snhe-ink)}
/* booking checkout/status */
.checkout-area .card,.booking-success-area .card,.user-dashboard .card{padding:24px}.alert{border:0;border-radius:12px}.alert-success{background:#ecfdf5;color:#047857}.alert-danger{background:#fef2f2;color:#b91c1c}.table{color:var(--snhe-ink)}.table>:not(caption)>*>*{border-color:var(--snhe-line)}
/* footer */
.footer-area{background:#06142f!important;color:#cbd5e1!important}.footer-area:before{content:none!important}.footer-area h4,.footer-area .title,.footer-area a{color:#fff}.footer-area p,.footer-area li,.copy-right-area{color:#94a3b8}.footer-area a:hover{color:#93c5fd}.copy-right-area{border-top:1px solid rgba(255,255,255,.1)}.subscription-form .input-inline{border-radius:12px!important}
/* utility UI */
.snhe-mobile-nav{display:none}.snhe-skeleton{background:linear-gradient(90deg,#eef2f7 25%,#f8fafc 50%,#eef2f7 75%);background-size:200% 100%;animation:snheShimmer 1.3s infinite}@keyframes snheShimmer{to{background-position:-200% 0}}.snhe-toast{position:fixed;right:22px;bottom:22px;z-index:1200;padding:13px 17px;border-radius:12px;background:#0f172a;color:#fff;box-shadow:var(--snhe-shadow);transform:translateY(20px);opacity:0;transition:.25s}.snhe-toast.is-visible{transform:none;opacity:1}.snhe-dark img{filter:none}.snhe-dark .bg-white{background:var(--snhe-card)!important}.snhe-dark .text-dark{color:var(--snhe-ink)!important}.snhe-dark .text-muted{color:var(--snhe-muted)!important}
@media(max-width:1199px){.snhe-nav__link{padding:10px 8px;font-size:13px}.banner-filter-form .grid{grid-template-columns:1.2fr 1fr 1fr auto}.banner-filter-form .item:nth-child(4){display:none}}
@media(max-width:991px){.snhe-header__bar{height:68px}.snhe-header-spacer{height:68px}.snhe-menu-toggle{display:block}.snhe-nav{position:fixed;top:68px;left:14px;right:14px;max-height:calc(100vh - 90px);overflow:auto;margin:0;padding:12px;background:var(--snhe-card);border:1px solid var(--snhe-line);border-radius:16px;box-shadow:var(--snhe-shadow-lg);opacity:0;visibility:hidden;transform:translateY(-10px);transition:.22s}.snhe-nav.is-open{opacity:1;visibility:visible;transform:none}.snhe-nav__list{display:block}.snhe-nav__item{display:flex;flex-wrap:wrap}.snhe-nav__link{flex:1;padding:13px}.snhe-submenu{position:static;width:100%;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none}.snhe-nav__item.is-open .snhe-submenu{display:block}.snhe-header__actions .snhe-language-form{display:none}.snhe-login-btn span{display:none}.hero-banner{padding-top:55px!important}.banner-filter-form .grid{grid-template-columns:1fr 1fr}.banner-filter-form .item{border-right:0;border-bottom:1px solid #e2e8f0}.banner-filter-form .item:last-child{grid-column:1/-1;border:0}.banner-filter-form .btn{width:100%}.snhe-mobile-nav{position:fixed;left:12px;right:12px;bottom:10px;z-index:1040;display:grid;grid-template-columns:repeat(4,1fr);padding:7px;border:1px solid var(--snhe-line);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 16px 45px rgba(15,23,42,.2);backdrop-filter:blur(16px)}.snhe-dark .snhe-mobile-nav{background:rgba(14,26,47,.94)}.snhe-mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px;color:var(--snhe-muted);font-size:10px;font-weight:700}.snhe-mobile-nav a.is-active{color:var(--snhe-primary)}body{padding-bottom:78px}.booking-form,.booking-summary{position:static}}
@media(max-width:575px){.container{padding-left:16px;padding-right:16px}.snhe-brand img{max-width:136px}.hero-banner .banner-content .title{font-size:34px}.hero-banner .banner-content .text{font-size:15px}.banner-filter-form .grid{display:block!important}.banner-filter-form .item{padding:8px 10px}.snhe-booking-types{width:100%}.snhe-booking-type{flex:1;justify-content:center;padding:9px 10px}.snhe-popular-searches{overflow:auto}.section-title .title{font-size:28px}.product-default,.card{border-radius:14px!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
