/**
 * Neumorphism — guest_facilities.php
 * Luar: Cool Slate gelap | Dalam kad: dark navy blue
 */
body.guest-facilities-page{
  /* Slate — halaman */
  --slate:#1e293b;
  --slate-deep:#172033;
  --slate-light:rgba(255,255,255,.06);
  --slate-dark:rgba(0,0,0,.52);
  --slate-dark-soft:rgba(0,0,0,.36);
  --slate-text:#f1f5f9;
  --slate-muted:#94a3b8;
  --slate-border:rgba(148,163,184,.18);
  --slate-raised:10px 10px 22px var(--slate-dark), -8px -8px 18px var(--slate-light);
  --slate-raised-sm:6px 6px 14px var(--slate-dark-soft), -5px -5px 12px var(--slate-light);
  --slate-raised-hover:12px 12px 28px var(--slate-dark), -10px -10px 22px var(--slate-light);
  --slate-inset:inset 7px 7px 14px var(--slate-dark-soft), inset -5px -5px 10px var(--slate-light);
  --slate-inset-sm:inset 4px 4px 8px var(--slate-dark-soft), inset -3px -3px 6px var(--slate-light);
  --slate-flat:5px 5px 12px var(--slate-dark-soft), -4px -4px 10px var(--slate-light);

  /* Dark navy blue — kad fasiliti */
  --card:#0f1d32;
  --card-deep:#0a1528;
  --card-light:rgba(96,165,250,.08);
  --card-dark:rgba(0,0,0,.55);
  --card-dark-soft:rgba(0,0,0,.38);
  --card-text:#eef4fc;
  --card-muted:#8fa3be;
  --card-accent:#60a5fa;
  --card-accent-line:rgba(96,165,250,.48);
  --card-accent-glow:rgba(37,99,235,.28);
  --card-raised:10px 10px 22px var(--card-dark), -8px -8px 18px var(--card-light);
  --card-raised-sm:6px 6px 14px var(--card-dark-soft), -5px -5px 12px var(--card-light);
  --card-raised-hover:12px 12px 28px var(--card-dark), -10px -10px 22px var(--card-light);
  --card-inset:inset 7px 7px 14px var(--card-dark-soft), inset -5px -5px 10px var(--card-light);
  --card-inset-sm:inset 4px 4px 8px var(--card-dark-soft), inset -3px -3px 6px var(--card-light);

  /* Aksen umum */
  --accent-blue:#3b82f6;
  --accent-blue-soft:#60a5fa;
  --accent-gold:#eab308;
  --accent-gold-soft:rgba(234,179,8,.45);
  --accent-red:#dc2626;
  --accent-red-deep:#b91c1c;
  --accent-green:#22c55e;
  --accent-green-soft:rgba(34,197,94,.15);

  color:var(--slate-text);
  background:var(--slate);
  color-scheme:dark;
}

body.guest-facilities-page .muted{color:var(--slate-muted)!important;}

/* ===== Premium neumorphic nav (navy) ===== */
body.guest-facilities-page .nav-shell{
  background:var(--card);
  border-bottom:none;
  box-shadow:0 10px 28px rgba(0,0,0,.38), inset 0 -1px 0 rgba(96,165,250,.1);
  position:relative;
}
body.guest-facilities-page .nav-shell::after{
  content:'';
  position:absolute;
  left:8%;
  right:8%;
  bottom:0;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg, transparent, var(--accent-gold) 20%, var(--accent-gold) 80%, transparent);
  opacity:.75;
  pointer-events:none;
}
body.guest-facilities-page .nav-inner{
  padding:13px 20px;
  gap:16px;
}
body.guest-facilities-page .nav-left{
  padding:6px 14px 6px 8px;
  border-radius:13px;
  background:var(--card);
  box-shadow:var(--card-raised-sm);
}
body.guest-facilities-page .brand-title{
  color:var(--card-text);
  font-weight:800;
  font-size:14px;
  letter-spacing:.015em;
}
body.guest-facilities-page .brand-logo img,
body.guest-facilities-page .kk-logo-3d img{
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.28));
}
body.guest-facilities-page .nav-menu{
  background:var(--card-deep);
  padding:5px;
  border-radius:14px;
  box-shadow:var(--card-inset);
  gap:5px;
  position:relative;
}
body.guest-facilities-page .nav-link-top{
  color:var(--card-muted);
  padding:8px 16px;
  border-radius:10px;
  font-weight:600;
  font-size:13px;
  border:1px solid transparent;
  text-decoration:none;
  position:relative;
  overflow:hidden;
  z-index:1;
  transition:box-shadow .28s ease, color .28s ease, transform .28s ease, background .28s ease;
}
body.guest-facilities-page .nav-link-top:not(.active){
  background:var(--card);
  box-shadow:var(--card-raised-sm);
}
body.guest-facilities-page .nav-link-top:not(.active):hover{
  color:var(--card-text);
  transform:translateY(-1px);
  box-shadow:var(--card-raised-sm), 0 0 12px rgba(96,165,250,.08);
}
body.guest-facilities-page .nav-link-top.active{
  background:var(--card-deep);
  color:var(--card-accent);
  border-color:transparent;
  box-shadow:var(--card-inset-sm), 0 0 0 1px rgba(96,165,250,.14);
  font-weight:700;
  animation:neu-nav-tab-glow 2.8s ease-in-out infinite;
}
body.guest-facilities-page .nav-link-top.active::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(105deg, transparent 38%, rgba(96,165,250,.14) 50%, transparent 62%);
  background-size:220% 100%;
  animation:neu-nav-shimmer 3.2s ease-in-out infinite;
  pointer-events:none;
}
body.guest-facilities-page .nav-link-top.active::after{
  content:'';
  position:absolute;
  left:16%;
  right:16%;
  bottom:4px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg, transparent, var(--card-accent) 20%, var(--card-accent) 80%, transparent);
  transform:scaleX(0);
  opacity:0;
  animation:neu-nav-slide-in .42s cubic-bezier(.22,1,.36,1) forwards, neu-nav-glow-line 2.4s ease-in-out .42s infinite;
  pointer-events:none;
}

@keyframes neu-nav-tab-glow{
  0%,100%{
    box-shadow:var(--card-inset-sm), 0 0 0 1px rgba(96,165,250,.12), 0 0 12px rgba(96,165,250,.08);
  }
  50%{
    box-shadow:var(--card-inset-sm), 0 0 0 1px rgba(96,165,250,.28), 0 0 24px rgba(96,165,250,.2);
  }
}
@keyframes neu-nav-slide-in{
  from{transform:scaleX(0);opacity:0;}
  to{transform:scaleX(1);opacity:1;}
}
@keyframes neu-nav-glow-line{
  0%,100%{opacity:.6;filter:drop-shadow(0 0 3px rgba(96,165,250,.35));}
  50%{opacity:1;filter:drop-shadow(0 0 8px rgba(96,165,250,.65));}
}
@keyframes neu-nav-shimmer{
  0%,100%{background-position:220% 0;}
  50%{background-position:-220% 0;}
}
body.guest-facilities-page .btn-login-top{
  background:linear-gradient(160deg, #163456 0%, var(--card) 55%);
  border:none;
  color:var(--card-text);
  padding:9px 20px;
  border-radius:12px;
  font-weight:700;
  font-size:13px;
  letter-spacing:.025em;
  text-decoration:none;
  box-shadow:var(--card-raised-sm), inset 0 1px 0 rgba(255,255,255,.07);
  transition:box-shadow .2s ease, transform .2s ease, filter .2s ease;
}
body.guest-facilities-page .btn-login-top:hover{
  color:#fff;
  transform:translateY(-1px);
  filter:brightness(1.05);
  box-shadow:var(--card-raised), inset 0 1px 0 rgba(255,255,255,.1);
}
body.guest-facilities-page .btn-login-top:active{
  transform:translateY(0);
  box-shadow:var(--card-inset-sm);
}

/* ===== Premium neumorphic banner (navy) ===== */
body.guest-facilities-page .guest-site-banner-wrap{
  background:var(--card);
  border-bottom:none;
  box-shadow:var(--card-inset), 0 12px 28px rgba(0,0,0,.32);
  position:relative;
}
body.guest-facilities-page .guest-site-banner-wrap::before{
  content:'';
  position:absolute;
  top:0;
  left:6%;
  right:6%;
  height:2px;
  z-index:3;
  border-radius:2px;
  background:linear-gradient(90deg, transparent, var(--accent-gold) 25%, var(--accent-gold) 75%, transparent);
  opacity:.7;
  pointer-events:none;
}
body.guest-facilities-page .guest-site-banner-wrap::after{
  content:'';
  position:absolute;
  bottom:0;
  left:6%;
  right:6%;
  height:2px;
  z-index:3;
  border-radius:2px;
  background:linear-gradient(90deg, transparent, rgba(96,165,250,.55) 25%, rgba(96,165,250,.55) 75%, transparent);
  opacity:.55;
  pointer-events:none;
}
body.guest-facilities-page .guest-site-banner.carousel{
  padding:10px 12px 12px;
}
body.guest-facilities-page .guest-site-banner .carousel-inner{
  border-radius:12px;
  overflow:hidden;
  box-shadow:var(--card-raised-sm);
}
body.guest-facilities-page .guest-site-banner .carousel-item{
  background:var(--card-deep);
}
body.guest-facilities-page .guest-banner-control{
  width:42px;
  opacity:1;
}
body.guest-facilities-page .guest-banner-control .carousel-control-prev-icon,
body.guest-facilities-page .guest-banner-control .carousel-control-next-icon{
  filter:invert(1);
  width:36px;
  height:36px;
  background-color:var(--card);
  border-radius:50%;
  box-shadow:var(--card-raised-sm);
  opacity:1;
  transition:box-shadow .2s ease, transform .2s ease;
}
body.guest-facilities-page .guest-banner-control:hover .carousel-control-prev-icon,
body.guest-facilities-page .guest-banner-control:hover .carousel-control-next-icon{
  transform:scale(1.06);
  box-shadow:var(--card-raised);
}
body.guest-facilities-page .guest-banner-indicators{
  margin-bottom:6px;
  gap:6px;
}
body.guest-facilities-page .guest-banner-indicators [data-bs-target]{
  background:var(--card-deep);
  box-shadow:var(--card-inset-sm);
  border:none;
  opacity:1;
  width:10px;
  height:10px;
  border-radius:50%;
  transition:box-shadow .25s ease, transform .25s ease, background .25s ease;
}
body.guest-facilities-page .guest-banner-indicators .active{
  background:var(--card-accent);
  box-shadow:var(--card-raised-sm), 0 0 10px rgba(96,165,250,.35);
  transform:scale(1.15);
}

/* ===== DARK NAVY: hero & toolbar ===== */
body.guest-facilities-page .corp-page-hero{
  background:var(--card);
  border:none;
  border-top:3px solid var(--accent-gold);
  border-radius:18px;
  box-shadow:var(--card-raised);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body.guest-facilities-page .corp-page-hero .corp-kicker{color:var(--accent-gold);font-weight:800;letter-spacing:.12em;}
body.guest-facilities-page .corp-page-hero .corp-page-title{color:var(--card-text);}
body.guest-facilities-page .corp-page-hero .corp-page-lead{color:var(--card-muted);}
body.guest-facilities-page .corp-page-hero .muted{color:var(--card-muted)!important;}
body.guest-facilities-page .corp-pill{
  background:var(--card-deep);
  border:none;
  color:var(--card-muted);
  box-shadow:var(--card-inset-sm);
}
body.guest-facilities-page .corp-pill-success{color:#86efac;box-shadow:var(--card-inset-sm);}
body.guest-facilities-page .corp-pill-dot{background:var(--accent-green);box-shadow:0 0 6px rgba(34,197,94,.5);}

body.guest-facilities-page .fac-toolbar{
  background:var(--card);
  border:none;
  border-radius:14px;
  box-shadow:var(--card-raised-sm);
}
body.guest-facilities-page .fac-toolbar .fac-count{color:var(--card-text);font-weight:700;}

body.guest-facilities-page .fac-empty{
  background:var(--card);
  border:1px dashed rgba(96,165,250,.22);
  border-radius:16px;
  box-shadow:var(--card-inset);
  color:var(--card-muted);
}
body.guest-facilities-page .fac-empty-title{color:var(--card-text);}

body.guest-facilities-page .fac-toolbar .corp-btn-outline{
  background:var(--card);
  border:none;
  color:var(--card-text);
  box-shadow:var(--card-raised-sm);
}
body.guest-facilities-page .fac-toolbar .corp-btn-outline:hover{
  background:var(--card-deep);
  color:#fff;
  box-shadow:var(--card-inset-sm);
}

/* ===== DARK NAVY: kad fasiliti ===== */
body.guest-facilities-page .fac-card{
  background:var(--card);
  border:none;
  border-top:2px solid var(--card-accent-line);
  border-radius:16px;
  box-shadow:var(--card-raised);
  backdrop-filter:none;
}
body.guest-facilities-page .fac-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--card-raised-hover), 0 0 0 1px var(--card-accent-glow);
}
body.guest-facilities-page .fac-img-wrap{
  background:var(--card-deep);
  border:none;
  border-radius:12px;
  box-shadow:var(--card-inset);
}
body.guest-facilities-page .fac-img-empty{color:var(--card-muted);}
body.guest-facilities-page .fac-tag{
  background:var(--card);
  border:none;
  color:var(--card-accent);
  box-shadow:var(--card-inset-sm);
}
body.guest-facilities-page .fac-tag-dot{
  background:var(--accent-green);
  box-shadow:0 0 5px rgba(34,197,94,.45);
}
body.guest-facilities-page .fac-name{color:var(--card-text);}
body.guest-facilities-page .fac-meta{color:var(--card-muted);}
body.guest-facilities-page .fac-pill{
  border:none;
  box-shadow:var(--card-inset-sm);
  font-weight:700;
}
body.guest-facilities-page .fac-pill-cap{
  background:var(--accent-green-soft);
  color:#86efac;
}
body.guest-facilities-page .fac-pill-price{
  background:rgba(37,99,235,.2);
  color:#93c5fd;
}
body.guest-facilities-page .fac-pill-active{
  background:var(--accent-green-soft);
  color:#86efac;
}
body.guest-facilities-page .fac-card-foot{
  border-top:none;
  background:var(--card-deep);
  box-shadow:var(--card-inset-sm);
  border-radius:10px;
  padding:12px;
  margin-top:12px;
}

/* Butang dalam kad — navy */
body.guest-facilities-page .fac-card .corp-btn-view{
  background:var(--card);
  border:none;
  color:var(--card-text);
  box-shadow:var(--card-raised-sm);
}
body.guest-facilities-page .fac-card .corp-btn-view:hover:not(:disabled){
  background:var(--card-deep);
  color:#fff;
  box-shadow:var(--card-inset-sm);
}
body.guest-facilities-page .fac-card .corp-btn-view:disabled{opacity:.45;}
body.guest-facilities-page .fac-card .corp-btn-amenities{
  background:var(--card);
  border:none;
  color:#7dd3fc;
  box-shadow:var(--card-raised-sm);
}
body.guest-facilities-page .fac-card .corp-btn-amenities:hover{
  background:var(--card-deep);
  color:#e0f2fe;
  box-shadow:var(--card-inset-sm);
}
body.guest-facilities-page .fac-card .corp-btn-book{
  background:linear-gradient(145deg, var(--accent-red-deep), var(--accent-red));
  border:none;
  color:#fff;
  box-shadow:var(--card-raised-sm), 0 6px 18px rgba(220,38,38,.28);
}
body.guest-facilities-page .fac-card .corp-btn-book:hover{
  filter:brightness(1.08);
  color:#fff;
  box-shadow:var(--card-raised), 0 8px 22px rgba(220,38,38,.35);
}

/* Carousel dalam kad */
body.guest-facilities-page .fac-img-wrap .carousel-control-prev-icon,
body.guest-facilities-page .fac-img-wrap .carousel-control-next-icon{
  filter:invert(1);
  width:28px;
  height:28px;
  border-radius:50%;
  background-color:var(--card);
  background-size:55%;
  box-shadow:var(--card-raised-sm);
  opacity:.9;
}

/* ===== Modal — slate ===== */
body.guest-facilities-page .corp-viewer-modal .modal-content{
  background:var(--slate);
  border:none;
  border-top:3px solid var(--accent-red);
  border-radius:18px;
  box-shadow:var(--slate-raised), 0 24px 50px rgba(0,0,0,.55);
  color:var(--slate-text);
}
body.guest-facilities-page .corp-viewer-modal .modal-header,
body.guest-facilities-page .corp-viewer-modal .modal-footer{border-color:var(--slate-border);}
body.guest-facilities-page .corp-viewer-modal .modal-title{color:var(--slate-text);font-weight:900;}
body.guest-facilities-page .viewer-wrap{
  background:var(--slate-deep);
  border:none;
  border-radius:12px;
  box-shadow:var(--slate-inset);
}
body.guest-facilities-page .viewer-nav{
  background:var(--slate);
  border:none;
  color:var(--slate-text);
  box-shadow:var(--slate-raised-sm);
}
body.guest-facilities-page .viewer-nav:hover{
  background:var(--slate-deep);
  color:var(--accent-blue-soft);
  box-shadow:var(--slate-inset-sm);
}
body.guest-facilities-page .viewer-count{color:var(--slate-muted);}
body.guest-facilities-page .corp-modal-close{
  background:var(--slate);
  border:none;
  color:var(--slate-text);
  box-shadow:var(--slate-raised-sm);
}
body.guest-facilities-page .corp-modal-close:hover{
  background:var(--slate-deep);
  color:#fff;
  box-shadow:var(--slate-inset-sm);
}

body.guest-facilities-page .fb-amenities-modal .modal-content{
  background:var(--slate);
  border:none;
  border-top:3px solid var(--accent-blue);
  border-radius:18px;
  box-shadow:var(--slate-raised), 0 24px 50px rgba(0,0,0,.55);
  color:var(--slate-text);
}
body.guest-facilities-page .fb-amenities-modal .modal-header,
body.guest-facilities-page .fb-amenities-modal .modal-footer{border-color:var(--slate-border);}
body.guest-facilities-page .fb-amenities-modal .modal-sub{color:var(--slate-muted);}
body.guest-facilities-page .fb-amenities-modal .fb-amenities-list li{
  background:var(--slate-deep);
  border:none;
  box-shadow:var(--slate-inset-sm);
  color:var(--slate-text);
}
body.guest-facilities-page .fb-amenities-modal .fb-amenities-list li::before{color:var(--accent-green);}
body.guest-facilities-page .fb-amenities-modal .fb-modal-close-btn{
  background:var(--slate);
  border:none;
  color:var(--slate-text);
  box-shadow:var(--slate-raised-sm);
}
body.guest-facilities-page .fb-amenities-modal .fb-modal-close-btn:hover{
  background:var(--slate-deep);
  box-shadow:var(--slate-inset-sm);
}

/* ===== Premium neumorphic footer (navy) ===== */
body.guest-facilities-page .guest-site-footer{
  background:var(--card);
  border-top:none;
  box-shadow:0 -10px 28px rgba(0,0,0,.32), inset 0 1px 0 rgba(96,165,250,.08);
  color:var(--card-text);
  position:relative;
  margin-top:40px;
}
body.guest-facilities-page .guest-site-footer::before{
  content:'';
  position:absolute;
  top:0;
  left:8%;
  right:8%;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg, transparent, var(--accent-gold) 20%, var(--accent-gold) 80%, transparent);
  opacity:.75;
  pointer-events:none;
}
body.guest-facilities-page .guest-site-footer .guest-footer-inner{
  padding:44px 16px 28px;
}
body.guest-facilities-page .guest-site-footer .guest-footer-title{
  color:var(--accent-gold);
  border-bottom:none;
  padding:8px 14px;
  margin-bottom:16px;
  display:inline-block;
  border-radius:10px;
  background:var(--card-deep);
  box-shadow:var(--card-inset-sm);
  font-weight:800;
  text-shadow:0 0 12px rgba(234,179,8,.22);
}
body.guest-facilities-page .guest-site-footer .guest-footer-text{color:var(--card-muted);}
body.guest-facilities-page .guest-site-footer .guest-footer-motto{
  color:var(--accent-gold);
  font-weight:600;
}
body.guest-facilities-page .guest-site-footer .guest-footer-links a{
  color:var(--card-text);
  padding:4px 0;
  transition:color .2s ease, transform .2s ease;
}
body.guest-facilities-page .guest-site-footer .guest-footer-links a::before{color:var(--card-accent);}
body.guest-facilities-page .guest-site-footer .guest-footer-links a:hover{
  color:var(--card-accent);
  transform:translateX(3px);
}
body.guest-facilities-page .guest-site-footer .guest-footer-contact li{
  padding:6px 10px;
  border-radius:8px;
  background:var(--card-deep);
  box-shadow:var(--card-inset-sm);
  margin-bottom:8px!important;
}
body.guest-facilities-page .guest-site-footer .guest-footer-contact a{color:var(--card-accent);}
body.guest-facilities-page .guest-site-footer .guest-footer-contact a:hover{color:#93c5fd;}
body.guest-facilities-page .guest-site-footer .guest-footer-bottom{
  border-top:none;
  margin-top:20px;
  padding:14px 16px;
  border-radius:12px;
  background:var(--card-deep);
  box-shadow:var(--card-inset-sm);
  color:var(--card-muted);
  text-align:center;
}
body.guest-facilities-page .guest-site-footer .guest-footer-bottom a{color:var(--card-accent);}
body.guest-facilities-page .guest-site-footer .guest-footer-bottom a:hover{color:#93c5fd;}

@media (max-width:576px){
  body.guest-facilities-page .nav-inner{padding:10px 12px;gap:10px;}
  body.guest-facilities-page .nav-left{
    width:100%;
    justify-content:center;
    padding:8px 12px;
  }
  body.guest-facilities-page .nav-menu{
    width:100%;
    justify-content:space-between;
    padding:4px;
    border-radius:12px;
  }
  body.guest-facilities-page .nav-link-top{
    flex:1 1 0;
    text-align:center;
    padding:7px 6px;
    font-size:11.5px;
    border-radius:8px;
  }
  body.guest-facilities-page .btn-login-top{
    width:100%;
    text-align:center;
    justify-content:center;
    padding:8px 16px;
  }
  body.guest-facilities-page .nav-shell::after{left:4%;right:4%;}
  body.guest-facilities-page .guest-site-banner.carousel{padding:8px 8px 10px;}
  body.guest-facilities-page .guest-site-footer .guest-footer-contact li{
    padding:8px;
    font-size:12px;
  }
}

@media (prefers-reduced-motion:reduce){
  body.guest-facilities-page .nav-link-top.active,
  body.guest-facilities-page .nav-link-top.active::before,
  body.guest-facilities-page .nav-link-top.active::after{
    animation:none;
  }
  body.guest-facilities-page .nav-link-top.active::after{
    transform:scaleX(1);
    opacity:1;
  }
}
