/* Saikou Rivera — Scandinavian Elegant theme (v1) */
:root{
 --bg:#EAF4FD; --surface:#FFFFFF; --sand:#DCEBF9; --ink:#16324F; --muted:#5B7186;
 --line:#CFE2F3; --accent:#1C86D6; --accent-dark:#1668B0; --sage:#5B9BD5;
 --serif:'Fraunces',Georgia,'Times New Roman',serif; --sans:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
html{scroll-behavior:smooth}
body{background:var(--bg)!important;color:var(--ink)!important;font-family:var(--sans)!important;font-size:1.02rem;line-height:1.72;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.h1,.h2,.h3{font-family:var(--serif)!important;color:var(--ink);letter-spacing:-.015em;font-weight:600}
p{color:#4b453d}
a{text-decoration:none}
.container{max-width:1160px}
/* NAVBAR */
.navbar.sticky-top{background:rgba(250,248,244,.82)!important;backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);box-shadow:none!important;border-bottom:1px solid var(--line);padding-top:.7rem!important;padding-bottom:.7rem!important}
.navbar-brand{font-family:var(--serif)!important;font-weight:600;font-size:1.3rem;color:var(--ink)!important;letter-spacing:-.01em}
.navbar .nav-link{color:#3a352e!important;font-weight:500;font-size:.95rem;padding:.5rem .9rem!important;border-radius:8px;transition:.2s}
.navbar .nav-link:hover{color:var(--accent)!important;background:rgba(180,85,63,.06)}
.dropdown-menu{border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(35,32,28,.10);padding:.4rem}
.dropdown-item{border-radius:8px;font-size:.92rem;padding:.5rem .8rem}
.dropdown-item:hover{background:var(--sand);color:var(--accent)}
/* BUTTONS */
.btn{font-family:var(--sans);font-weight:600;letter-spacing:.01em;border-radius:999px!important;transition:.25s}
.btn-main{background:var(--accent)!important;border:none!important;color:#fff!important;padding:.72rem 1.7rem;box-shadow:0 8px 22px rgba(180,85,63,.24)}
.btn-main:hover{background:var(--accent-dark)!important;transform:translateY(-2px);box-shadow:0 12px 30px rgba(180,85,63,.30);color:#fff!important}
.btn-lg{padding:.9rem 2.2rem!important;font-size:1.02rem}
.btn-secondary,.btn-outline-secondary{background:transparent!important;border:1.5px solid var(--ink)!important;color:var(--ink)!important}
.btn-secondary:hover{background:var(--ink)!important;color:#fff!important}
/* SECTIONS */
section{position:relative}
section.py-5{padding-top:5.5rem!important;padding-bottom:5.5rem!important}
section .container>h2:first-child,section .container>.text-center h2,section h2{font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.15;margin-bottom:2.2rem;text-align:center}
section h2::after{content:"";display:block;width:56px;height:3px;border-radius:3px;background:var(--accent);margin:.9rem auto 0;opacity:.9}
.section-overline,.overline{font-family:var(--sans)!important;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:700;color:var(--accent)}
/* CARDS */
.card{border:1px solid var(--line)!important;border-radius:20px!important;background:var(--surface);box-shadow:0 8px 28px rgba(35,32,28,.06)!important;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(35,32,28,.13)!important}
.card img,.card-img-top{object-fit:cover;width:100%}
.card-title,.card h5{font-family:var(--serif)!important;font-weight:600}
.card-body{padding:1.35rem 1.4rem}
/* HERO */
.hero-full h1{font-family:var(--serif)!important;font-weight:600;letter-spacing:-.02em;line-height:1.08;font-size:clamp(2.6rem,6vw,4.4rem)}
.hero-full p,.hero-full .lead{font-family:var(--sans);font-weight:400;opacity:.95}
.hero-full .btn-main{box-shadow:0 12px 34px rgba(0,0,0,.35)}
/* KEUNGGULAN / facility items */
.facility,.feature-item,section:nth-of-type(3) .col,section:nth-of-type(3) .col-6{transition:.25s}
img[src*="iconify"]{filter:none}
/* GALLERY */
.gallery img,section:nth-of-type(6) img{border-radius:16px;box-shadow:0 8px 26px rgba(35,32,28,.10);transition:.35s;width:100%;object-fit:cover}
.gallery img:hover{transform:scale(1.02)}
/* MAPS / iframe */
iframe{border-radius:18px!important;border:1px solid var(--line)!important;box-shadow:0 8px 28px rgba(35,32,28,.08)}
/* nearby list */
ul li{margin-bottom:.35rem}
/* FOOTER */
footer{background:var(--ink)!important;color:#d9d2c7!important}
footer a{color:#e9e2d6!important}
footer a:hover{color:var(--accent)!important}
footer h5,footer h4{font-family:var(--serif)!important;color:#fff!important}
/* misc polish */
.badge{border-radius:999px;font-weight:600;letter-spacing:.02em}
.shadow-sm{box-shadow:0 6px 20px rgba(35,32,28,.06)!important}
::selection{background:var(--accent);color:#fff}

/* HEROFIX + polish v2 */
.hero-full h1,.hero-full h1 *{color:#fff!important;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.hero-full p,.hero-full .lead,.hero-full span{color:#f4efe8!important}
.hero-full .lead strong,.hero-full p strong{color:#fff!important}
.navbar .btn-main{padding:.5rem 1.4rem}

/* MOBILEPOLISH */
@media (max-width:576px){
 section.py-5{padding-top:3.2rem!important;padding-bottom:3.2rem!important}
 section h2{font-size:1.65rem!important;margin-bottom:1.4rem}
 .hero-full h1{font-size:2.35rem!important;line-height:1.12}
 .hero-full{min-height:90vh}
 .hero-full p,.hero-full .lead{font-size:.98rem}
 .navbar-brand{font-size:1.02rem}
 .btn-lg{padding:.8rem 1.7rem!important;font-size:.98rem}
 .card-body{padding:1.05rem 1.1rem}
 .container{padding-left:1.05rem;padding-right:1.05rem}
 iframe{min-height:360px}
}
@media (max-width:400px){ .hero-full h1{font-size:2.05rem!important} }

/* WA FLOAT */
.wa-float{position:fixed;right:20px;bottom:20px;z-index:1050;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(37,211,102,.45);transition:.25s;animation:waPulse 2.6s infinite}
.wa-float:hover{transform:translateY(-3px) scale(1.06);box-shadow:0 16px 34px rgba(37,211,102,.55)}
.wa-float svg{width:30px;height:30px;fill:#fff}
@keyframes waPulse{0%{box-shadow:0 10px 26px rgba(37,211,102,.45),0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 10px 26px rgba(37,211,102,.45),0 0 0 14px rgba(37,211,102,0)}100%{box-shadow:0 10px 26px rgba(37,211,102,.45),0 0 0 0 rgba(37,211,102,0)}}
@media(max-width:576px){.wa-float{right:16px;bottom:16px;width:52px;height:52px}}

/* TIPE CARDS pro */
.badge.bg-danger{background:var(--accent)!important;color:#fff}
.tipe-tag{display:inline-block;background:var(--sand);color:#5b5248;border:1px solid var(--line);border-radius:8px;padding:2px 10px;font-size:.78rem;font-weight:600;margin:0 6px 4px 0}
.tipe-price{font-family:var(--serif);font-weight:700;font-size:1.4rem;color:var(--accent);line-height:1.12;margin:.55rem 0 .15rem}
.tipe-price-lbl{font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#9a8f82}
.tipe-price-call{font-size:1.05rem;color:#5b5248;font-weight:600}
.tipe-specs{display:flex;flex-wrap:wrap;gap:8px;font-size:.8rem;color:#5b5248;margin-top:.5rem}
.tipe-specs span{display:inline-flex;align-items:center;gap:5px;background:#faf7f3;border:1px solid var(--line);border-radius:8px;padding:3px 9px}
.tipe-promo{display:inline-block;background:var(--accent);color:#fff;border-radius:999px;padding:3px 12px;font-size:.72rem;font-weight:700;margin-bottom:.5rem}
.card .btn-main{border-radius:11px!important;padding:.62rem 1rem;box-shadow:0 6px 16px rgba(180,85,63,.2)}
#tipe .card-img-top{height:220px;object-fit:cover}

/* HERO pro */
.hero-pill{display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.38);color:#fff;border-radius:999px;padding:6px 18px;font-family:var(--sans);font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.hero-wa{background:#25D366!important;color:#fff!important;border:none!important;font-weight:600;border-radius:999px!important;box-shadow:0 10px 26px rgba(37,211,102,.35)}
.hero-wa:hover{background:#1eb257!important;color:#fff!important;transform:translateY(-2px)}
.hero-trust span{color:#f4efe8;font-size:.86rem;font-weight:500;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:5px 14px}
@media(max-width:576px){.hero-trust span{font-size:.76rem;padding:4px 10px}}

/* PROMO banner + FAQ */
.promo-banner{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%)}
.promo-banner h2{font-size:clamp(1.6rem,3.2vw,2.3rem)}
.promo-banner .btn-light{color:var(--accent-dark)}
.faq-acc .accordion-item{border:1px solid var(--line);border-radius:14px!important;overflow:hidden;margin-bottom:10px;background:var(--surface)}
.faq-acc .accordion-button{font-family:var(--serif);font-weight:600;font-size:1.02rem;color:var(--ink);background:var(--surface)}
.faq-acc .accordion-button:not(.collapsed){color:var(--accent);background:#faf7f3;box-shadow:none}
.faq-acc .accordion-button:focus{box-shadow:none;border-color:var(--line)}
.faq-acc .accordion-body{color:#4b453d;font-size:.95rem}
.faq-acc .accordion-button::after{filter:sepia(1) saturate(3) hue-rotate(-10deg)}

/* HEROBRIGHT — gambar lebih terang, teks tetap tajam */
.hero-full .hero-bg{filter:brightness(.86) saturate(1.06)!important}
.hero-full .hero-overlay{background:linear-gradient(180deg, rgba(9,22,40,.16) 0%, rgba(9,22,40,.30) 55%, rgba(9,22,40,.52) 100%)!important}
.hero-full h1,.hero-full h1 *{text-shadow:0 3px 22px rgba(0,0,0,.82), 0 1px 4px rgba(0,0,0,.75)!important}
.hero-full .lead,.hero-full p{text-shadow:0 2px 16px rgba(0,0,0,.9), 0 1px 3px rgba(0,0,0,.7)!important}
.hero-pill{background:rgba(9,22,40,.35)!important;border-color:rgba(255,255,255,.45)!important}
.hero-trust span{background:rgba(9,22,40,.34)!important;border-color:rgba(255,255,255,.30)!important}

/* PAGE HEAD */
.page-head{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);color:#fff;padding:54px 0 40px;text-align:center}
.page-head h1{color:#fff!important;font-size:clamp(1.9rem,4vw,2.8rem);margin:.2rem 0 .3rem}
.page-head p{color:#eaf4fd;margin:0}
.page-head .section-overline{color:#cfe6fb!important}

/* HOME-TRIM: sembunyikan section yang sudah punya halaman sendiri (hanya ada di home) */
body.page-home #roomtour, body.page-home #siteplan, body.page-home #galeri, body.page-home #lokasi, body.page-home #kontak{display:none!important}
#tipe, #roomtour, #siteplan, #galeri, #lokasi, #kontak{display:none!important}

/* ===== PROMO POPUP + FAQ SIDE IMAGE (v17) ===== */
.promo-popup .modal-dialog{max-width:560px}
.promo-popup .modal-content{border:0;border-radius:18px;overflow:hidden;position:relative;max-height:94vh}
.promo-popup-close{position:absolute;top:10px;right:12px;z-index:5;width:38px;height:38px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s}
.promo-popup-close:hover{background:#E53935;transform:rotate(90deg)}
.promo-popup-link,.promo-popup-link img{display:block;width:100%;text-decoration:none}
.promo-popup-link img{width:100%;height:auto;max-height:80vh;object-fit:contain;background:#fff}
.promo-popup-fallback{padding:56px 24px;text-align:center;background:linear-gradient(135deg,var(--accent,#1C86D6),#0f5ca3);color:#fff}
.promo-popup-fallback h4{color:#fff;font-weight:800}
.promo-popup-body{padding:14px 20px 18px;text-align:center}
.promo-popup-body h5{font-weight:800;margin:.5rem 0 1rem;font-family:var(--serif,serif)}
.badge-promo{display:inline-block;background:#ffe1e1;color:#E53935;font-size:.72rem;font-weight:700;padding:.28rem .75rem;border-radius:20px;letter-spacing:.4px;text-transform:uppercase}
.faq-row .faq-img{width:100%;height:100%;min-height:360px;border-radius:18px;background-size:cover;background-position:center;box-shadow:0 14px 34px rgba(15,36,56,.18)}
.faq-acc .accordion-button:not(.collapsed){color:var(--accent,#1C86D6);background:#eaf4fc}
.faq-acc .accordion-button:focus{box-shadow:0 0 0 .18rem rgba(28,134,214,.2)}
@media(max-width:991px){.faq-row .faq-img{min-height:220px;margin-bottom:1rem}}

/* popup responsive */
@media(max-width:575.98px){
  .promo-popup .modal-dialog{max-width:88vw;margin:1.4rem auto}
  .promo-popup-link img{max-height:64vh}
  .promo-popup-body{padding:12px 16px 16px}
}
@media(min-width:1600px){
  .promo-popup .modal-dialog{max-width:620px}
}

/* ===== NAV + FOOTER (moved from @push, v20) ===== */
.site-nav{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 22px rgba(15,36,56,.07);border-bottom:1px solid #eef1f4}
.brand-wrap{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.brand-emblem{width:40px !important;height:40px !important;flex:0 0 auto;filter:drop-shadow(0 3px 6px rgba(198,40,40,.25))}
.brand-text{line-height:1.05;display:flex;flex-direction:column}
.brand-text .b1{font-family:var(--serif,'Playfair Display',serif);font-weight:800;font-size:1.35rem;color:#0f2438;letter-spacing:.2px}
.brand-text .b2{font-size:.66rem;font-weight:700;letter-spacing:3.5px;color:#E53935;text-transform:uppercase;margin-top:2px}
.site-nav .nav-link{font-size:1rem;font-weight:600;color:#33404d !important;padding:.5rem 1rem !important;position:relative;transition:color .2s}
.site-nav .nav-link::after{content:"";position:absolute;left:1rem;right:1rem;bottom:.3rem;height:2px;border-radius:2px;background:#E53935;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.site-nav .nav-link:hover,.site-nav .nav-link.active{color:#E53935 !important}
.site-nav .nav-link:hover::after,.site-nav .nav-link.active::after{transform:scaleX(1)}
.site-nav .dropdown-toggle::after{margin-left:.3em;vertical-align:.15em}
.site-nav .dropdown-menu{border:0;box-shadow:0 14px 34px rgba(15,36,56,.15);border-radius:14px;padding:.45rem;margin-top:.5rem;min-width:230px}
.site-nav .dropdown-item{border-radius:9px;font-weight:500;padding:.55rem .85rem;transition:.15s}
.site-nav .dropdown-item:hover{background:#fdeaea;color:#E53935}
.site-nav .btn-login{display:inline-block;background:#E53935;color:#fff;border-radius:30px;padding:.5rem 1.5rem;font-weight:600;text-decoration:none;transition:.2s;box-shadow:0 6px 16px rgba(229,57,53,.28)}
.site-nav .btn-login:hover{background:#c62828;transform:translateY(-1px)}
.site-nav .navbar-toggler:focus{box-shadow:none}
@media(max-width:991px){.site-nav .navbar-nav{padding:.3rem 0}.site-nav .nav-link::after{display:none}.site-nav .nav-link{padding:.6rem .5rem !important}.brand-text .b1{font-size:1.2rem}}
.site-footer{background:#0f2438;color:#cdd8e4;margin-top:4rem}
.site-footer .ft-brand{color:#fff;font-weight:800;font-family:var(--serif,serif);letter-spacing:.3px;margin-bottom:.7rem}
.site-footer .ft-about{font-size:.93rem;line-height:1.7;color:#9fb0c2;margin-bottom:1.1rem}
.site-footer .ft-h{color:#fff;font-weight:700;font-size:1rem;margin-bottom:1rem;position:relative;padding-bottom:.5rem}
.site-footer .ft-h:after{content:"";position:absolute;left:0;bottom:0;width:38px;height:3px;border-radius:3px;background:var(--accent,#1C86D6)}
.site-footer .ft-list{list-style:none;padding:0;margin:0}
.site-footer .ft-list li{display:flex;align-items:flex-start;gap:.6rem;font-size:.92rem;margin-bottom:.7rem;color:#b9c6d4}
.site-footer .ft-list li i{color:var(--accent,#1C86D6);margin-top:2px;flex-shrink:0}
.site-footer .ft-menu li a{color:#b9c6d4;text-decoration:none;transition:.2s}
.site-footer .ft-menu li a:hover{color:#fff;padding-left:3px}
.site-footer .ft-social{display:flex;gap:.55rem;flex-wrap:wrap}
.site-footer .ft-social a{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:#fff;font-size:1.15rem;transition:.2s;text-decoration:none}
.site-footer .ft-social a:hover{background:var(--accent,#1C86D6);transform:translateY(-3px)}
.site-footer .ft-bottom{background:rgba(0,0,0,.22)}
.site-footer .ft-bottom small{color:#8fa0b2;font-size:.85rem}

/* LIGHTBOX */
.zoom-img{cursor:zoom-in;transition:filter .2s}
.zoom-img:hover{filter:brightness(1.06)}
.lb-overlay{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:20000;display:none;align-items:center;justify-content:center}
.lb-overlay.open{display:flex}
.lb-img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:6px;box-shadow:0 12px 46px rgba(0,0,0,.55);touch-action:pan-y;user-select:none}
.lb-close{position:absolute;top:14px;right:20px;font-size:2.4rem;color:#fff;background:none;border:0;cursor:pointer;line-height:1;z-index:2}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;font-size:1.7rem;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:2}
.lb-overlay.multi .lb-nav{display:flex}
.lb-prev{left:14px}.lb-next{right:14px}
.lb-nav:hover{background:rgba(255,255,255,.32)}
.lb-count{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#fff;font-size:.9rem;letter-spacing:1px;display:none}
.lb-overlay.multi .lb-count{display:block}
@media(max-width:576px){.lb-nav{width:44px;height:44px;font-size:1.4rem}.lb-close{top:8px;right:12px}}
