/**
 * Tema B — Neumorphism Premium (seluruh portal guest)
 * Luar: Cool Slate | Kad: dark navy blue
 */
body.guest-neumo,
body.guest-facilities-page,
body.guest-home-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,
body.guest-home-page .muted{color:var(--slate-muted)!important;}

/* ===== Premium neumorphic nav (navy) — semua halaman guest neumo ===== */
body.guest-facilities-page .nav-shell,
body.guest-home-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,
body.guest-home-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,
body.guest-home-page .brand-logo img,
body.guest-home-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),
body.guest-home-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,
body.guest-home-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,
body.guest-home-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,
body.guest-home-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,
body.guest-home-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,
body.guest-home-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;
  }
}

/* ========== guest_home.php — chrome + kandungan ========== */
body.guest-home-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-home-page .nav-inner{padding:13px 20px;gap:16px;}
body.guest-home-page .nav-left{padding:6px 14px 6px 8px;border-radius:13px;background:var(--card);box-shadow:var(--card-raised-sm);}
body.guest-home-page .nav-menu{background:var(--card-deep);padding:5px;border-radius:14px;box-shadow:var(--card-inset);gap:5px;position:relative;}
body.guest-home-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-home-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;}
body.guest-home-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-home-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-home-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-home-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-home-page .guest-site-banner.carousel{padding:10px 12px 12px;}
body.guest-home-page .guest-site-banner .carousel-inner{border-radius:12px;overflow:hidden;box-shadow:var(--card-raised-sm);}
body.guest-home-page .guest-site-banner .carousel-item{background:var(--card-deep);}
body.guest-home-page .guest-banner-control{width:42px;opacity:1;}
body.guest-home-page .guest-banner-control .carousel-control-prev-icon,
body.guest-home-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-home-page .guest-banner-control:hover .carousel-control-prev-icon,
body.guest-home-page .guest-banner-control:hover .carousel-control-next-icon{transform:scale(1.06);box-shadow:var(--card-raised);}
body.guest-home-page .guest-banner-indicators{margin-bottom:6px;gap:6px;}
body.guest-home-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-home-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);}

body.guest-home-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-home-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-home-page .guest-site-footer .guest-footer-inner{padding:44px 16px 28px;}
body.guest-home-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-home-page .guest-site-footer .guest-footer-text{color:var(--card-muted);}
body.guest-home-page .guest-site-footer .guest-footer-motto{color:var(--accent-gold);font-weight:600;}
body.guest-home-page .guest-site-footer .guest-footer-links a{color:var(--card-text);padding:4px 0;transition:color .2s ease,transform .2s ease;}
body.guest-home-page .guest-site-footer .guest-footer-links a::before{color:var(--card-accent);}
body.guest-home-page .guest-site-footer .guest-footer-links a:hover{color:var(--card-accent);transform:translateX(3px);}
body.guest-home-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-home-page .guest-site-footer .guest-footer-contact a{color:var(--card-accent);}
body.guest-home-page .guest-site-footer .guest-footer-contact a:hover{color:#93c5fd;}
body.guest-home-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-home-page .guest-site-footer .guest-footer-bottom a{color:var(--card-accent);}
body.guest-home-page .guest-site-footer .guest-footer-bottom a:hover{color:#93c5fd;}

/* Hero */
body.guest-home-page .corp-hero{
  background:var(--card);
  border:none;
  border-top:3px solid var(--accent-gold);
  border-radius:18px;
  box-shadow:var(--card-raised);
  margin-top:8px;
  margin-bottom:28px;
  text-align:center;
}
body.guest-home-page .corp-hero::before{display:none;}
body.guest-home-page .corp-hero-inner{padding:32px 22px 28px;}
body.guest-home-page .corp-kicker{color:var(--accent-gold);font-weight:800;letter-spacing:.12em;font-size:11px;text-transform:uppercase;}
body.guest-home-page .corp-hero-title{color:var(--card-text);font-weight:950;font-size:clamp(1.75rem,4vw,2.35rem);margin:0 0 10px;}
body.guest-home-page .corp-hero-lead{color:var(--card-muted);max-width:560px;margin:0 auto 14px;}
body.guest-home-page .corp-hero-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
body.guest-home-page .corp-pill{background:var(--card-deep);border:none;color:var(--card-muted);box-shadow:var(--card-inset-sm);}
body.guest-home-page .corp-pill-success{color:#86efac;}
body.guest-home-page .corp-pill-dot{background:var(--accent-green);box-shadow:0 0 6px rgba(34,197,94,.5);}

/* Seksyen */
body.guest-home-page .corp-section{margin-bottom:28px;}
body.guest-home-page .corp-section-title{color:var(--slate-text);font-weight:950;font-size:1.15rem;text-align:center;margin:0 0 6px;}
body.guest-home-page .corp-section-sub{text-align:center;font-size:.92rem;}

/* Langkah 1-2-3 */
body.guest-home-page .corp-step-card{
  background:var(--card);
  border:none;
  border-top:2px solid var(--card-accent-line);
  border-radius:16px;
  padding:18px 16px;
  box-shadow:var(--card-raised);
  transition:transform .18s ease,box-shadow .18s ease;
}
body.guest-home-page .corp-step-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--card-raised-hover);
}
body.guest-home-page .corp-step-num{
  background:linear-gradient(145deg,#1d4ed8,#2563eb);
  color:#fff;
  box-shadow:var(--card-raised-sm),0 6px 14px rgba(37,99,235,.28);
}
body.guest-home-page .corp-step-card h3{color:var(--card-text);font-weight:800;}
body.guest-home-page .corp-step-card p{color:var(--card-muted);}

/* Kad perkhidmatan */
body.guest-home-page .corp-action-card{
  background:var(--card);
  border:none;
  border-top:2px solid var(--card-accent-line);
  border-radius:16px;
  padding:20px 18px;
  box-shadow:var(--card-raised);
  transition:transform .18s ease,box-shadow .18s ease;
}
body.guest-home-page .corp-action-card:hover{
  transform:translateY(-3px);
  box-shadow:var(--card-raised-hover);
}
body.guest-home-page .corp-action-featured{
  border-top:3px solid var(--accent-gold);
  box-shadow:var(--card-raised),0 0 0 1px rgba(234,179,8,.12);
}
body.guest-home-page .corp-action-icon{
  background:var(--card-deep);
  border:none;
  color:var(--card-accent);
  box-shadow:var(--card-inset-sm);
}
body.guest-home-page .corp-action-featured .corp-action-icon{
  color:#fecaca;
  background:rgba(220,38,38,.12);
  box-shadow:var(--card-inset-sm);
}
body.guest-home-page .corp-action-card h3{color:var(--card-text);font-weight:900;}
body.guest-home-page .corp-action-card p{color:var(--card-muted);flex:1;}

/* Butang */
body.guest-home-page .corp-btn{
  border-radius:11px;
  font-weight:800;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  padding:10px 16px;
  font-size:13px;
  transition:box-shadow .2s ease,transform .2s ease,filter .2s ease;
}
body.guest-home-page .corp-btn-primary{
  background:linear-gradient(145deg,var(--accent-red-deep),var(--accent-red));
  border:none;
  color:#fff;
  box-shadow:var(--card-raised-sm),0 6px 16px rgba(220,38,38,.22);
}
body.guest-home-page .corp-btn-primary:hover{color:#fff;filter:brightness(1.06);transform:translateY(-1px);box-shadow:var(--card-raised),0 8px 20px rgba(220,38,38,.3);}
body.guest-home-page .corp-btn-outline{
  background:var(--card-deep);
  border:none;
  color:var(--card-text);
  box-shadow:var(--card-raised-sm);
}
body.guest-home-page .corp-btn-outline:hover{color:#fff;box-shadow:var(--card-inset-sm);}

/* Syarat & FAQ */
body.guest-home-page .corp-info-list{
  background:var(--card);
  border-radius:16px;
  padding:18px 20px 18px 36px;
  box-shadow:var(--card-inset);
  color:var(--card-muted);
}
body.guest-home-page .corp-faq-item{
  background:var(--card);
  border:none;
  border-radius:14px;
  padding:4px 14px;
  box-shadow:var(--card-raised-sm);
  margin-bottom:10px;
}
body.guest-home-page .corp-faq-item summary{
  color:var(--card-text);
  font-weight:800;
  padding:10px 0;
  cursor:pointer;
}
body.guest-home-page .corp-faq-item p{color:var(--card-muted);padding-bottom:10px;}

/* Alert DB */
body.guest-home-page .alert-warning{
  background:var(--card);
  border:none;
  color:#fde68a;
  box-shadow:var(--card-inset-sm),0 0 0 1px rgba(234,179,8,.2);
}

@media (max-width:576px){
  body.guest-home-page .nav-inner{padding:10px 12px;gap:10px;}
  body.guest-home-page .nav-left{width:100%;justify-content:center;padding:8px 12px;}
  body.guest-home-page .nav-menu{width:100%;justify-content:space-between;padding:4px;border-radius:12px;}
  body.guest-home-page .nav-link-top{flex:1 1 0;text-align:center;padding:7px 6px;font-size:11.5px;border-radius:8px;}
  body.guest-home-page .btn-login-top{width:100%;text-align:center;padding:8px 16px;}
  body.guest-home-page .nav-shell::after{left:4%;right:4%;}
  body.guest-home-page .guest-site-banner.carousel{padding:8px 8px 10px;}
  body.guest-home-page .corp-hero-inner{padding:28px 16px 24px;}
  body.guest-home-page .corp-action-card{padding:16px 14px;}
}

@media (prefers-reduced-motion:reduce){
  body.guest-home-page .nav-link-top.active,
  body.guest-home-page .nav-link-top.active::before,
  body.guest-home-page .nav-link-top.active::after{animation:none;}
  body.guest-home-page .nav-link-top.active::after{transform:scaleX(1);opacity:1;}
}

/* ========== Chrome bersama: guest-neumo (semua halaman) ========== */
body.guest-neumo .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-neumo .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-neumo .nav-inner{padding:13px 20px;gap:16px;}
body.guest-neumo .nav-left{padding:6px 14px 6px 8px;border-radius:13px;background:var(--card);box-shadow:var(--card-raised-sm);}
body.guest-neumo .brand-title{color:var(--card-text);font-weight:800;font-size:14px;}
body.guest-neumo .nav-menu{background:var(--card-deep);padding:5px;border-radius:14px;box-shadow:var(--card-inset);gap:5px;position:relative;}
body.guest-neumo .nav-link-top{color:var(--card-muted);padding:8px 16px;border-radius:10px;font-weight:600;font-size:13px;position:relative;overflow:hidden;z-index:1;text-decoration:none;transition:box-shadow .28s ease,color .28s ease,transform .28s ease,background .28s ease;}
body.guest-neumo .nav-link-top:not(.active){background:var(--card);box-shadow:var(--card-raised-sm);}
body.guest-neumo .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-neumo .nav-link-top.active{background:var(--card-deep);color:var(--card-accent);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-neumo .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-neumo .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;}
body.guest-neumo .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;text-decoration:none;box-shadow:var(--card-raised-sm),inset 0 1px 0 rgba(255,255,255,.07);}
body.guest-neumo .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-neumo .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-neumo .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-neumo .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-neumo .guest-site-banner.carousel{padding:10px 12px 12px;}
body.guest-neumo .guest-site-banner .carousel-inner{border-radius:12px;overflow:hidden;box-shadow:var(--card-raised-sm);}
body.guest-neumo .guest-site-banner .carousel-item{background:var(--card-deep);}
body.guest-neumo .guest-banner-control .carousel-control-prev-icon,
body.guest-neumo .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;}
body.guest-neumo .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%;}
body.guest-neumo .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);}
body.guest-neumo .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-neumo .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-neumo .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-neumo .guest-site-footer .guest-footer-text{color:var(--card-muted);}
body.guest-neumo .guest-site-footer .guest-footer-motto{color:var(--accent-gold);font-weight:600;}
body.guest-neumo .guest-site-footer .guest-footer-links a{color:var(--card-text);}
body.guest-neumo .guest-site-footer .guest-footer-links a::before{color:var(--card-accent);}
body.guest-neumo .guest-site-footer .guest-footer-links a:hover{color:var(--card-accent);transform:translateX(3px);}
body.guest-neumo .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-neumo .guest-site-footer .guest-footer-contact a{color:var(--card-accent);}
body.guest-neumo .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-neumo .guest-site-footer .guest-footer-bottom a{color:var(--card-accent);}

/* ========== semak_tempahan.php ========== */
body.guest-neumo.semak-page .corp-page-hero{
  background:var(--card);
  border:none;
  border-top:3px solid var(--accent-gold);
  border-radius:18px;
  box-shadow:var(--card-raised);
  margin-top:8px;
  margin-bottom:18px;
  text-align:center;
  backdrop-filter:none;
}
body.guest-neumo.semak-page .corp-page-hero .corp-kicker{color:var(--accent-gold);font-weight:800;letter-spacing:.12em;}
body.guest-neumo.semak-page .corp-page-hero .corp-page-title{color:var(--card-text);}
body.guest-neumo.semak-page .corp-page-hero .corp-page-lead{color:var(--card-muted);}
body.guest-neumo.semak-page .corp-pill{background:var(--card-deep);border:none;color:var(--card-muted);box-shadow:var(--card-inset-sm);}
body.guest-neumo.semak-page .card-main{
  background:var(--card);
  border:none;
  border-top:2px solid var(--card-accent-line);
  border-radius:16px;
  box-shadow:var(--card-raised);
  padding:18px;
  margin-top:0;
  backdrop-filter:none;
}
body.guest-neumo.semak-page .card-main .form-control{
  background:var(--card-deep)!important;
  border:none!important;
  color:var(--card-text)!important;
  border-radius:10px!important;
  box-shadow:var(--card-inset-sm)!important;
  min-height:42px;
}
body.guest-neumo.semak-page .card-main .form-control:focus{
  box-shadow:var(--card-inset-sm),0 0 0 2px rgba(96,165,250,.25)!important;
  border:none!important;
}
body.guest-neumo.semak-page .card-main .list-group-item{
  background:var(--card-deep)!important;
  border:none!important;
  color:var(--card-text)!important;
  box-shadow:var(--card-inset-sm);
  margin-bottom:6px;
  border-radius:8px!important;
}
body.guest-neumo.semak-page .card-main .list-group-item b{color:var(--card-text);}
body.guest-neumo.semak-page .semak-form .corp-btn-primary{
  background:linear-gradient(145deg,var(--accent-red-deep),var(--accent-red))!important;
  border:none!important;
  color:#fff!important;
  box-shadow:var(--card-raised-sm),0 6px 16px rgba(220,38,38,.25)!important;
}
body.guest-neumo.semak-page .corp-btn-outline{
  background:var(--card-deep);
  border:none;
  color:var(--card-text);
  box-shadow:var(--card-raised-sm);
}
body.guest-neumo.semak-page .corp-btn-outline:hover{
  background:var(--card);
  box-shadow:var(--card-inset-sm);
  color:#fff;
}
body.guest-neumo.semak-page .alert-danger,
body.guest-neumo.semak-page .alert-info{
  background:var(--card-deep);
  border:none;
  color:var(--card-text);
  box-shadow:var(--card-inset-sm);
}

/* ========== login.php ========== */
body.guest-neumo.login-page{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background:var(--slate)!important;
  background-image:none!important;
}
body.guest-neumo.login-page .nav-center{
  display:none;
}
body.guest-neumo.login-page .nav-inner{
  max-width:520px;
  margin:0 auto;
  padding:12px 16px;
  justify-content:space-between;
  flex-direction:row;
  align-items:center;
  gap:12px;
}
body.guest-neumo.login-page .nav-left{
  flex:1;
  min-width:0;
}
body.guest-neumo.login-page .brand-title{
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.guest-neumo.login-page .btn-login-top.is-current,
body.guest-neumo.login-page .btn-login-top.is-current:hover{
  background:var(--card-deep);
  color:var(--card-accent);
  box-shadow:var(--card-inset-sm),0 0 0 1px rgba(96,165,250,.22);
  transform:none;
  filter:none;
  pointer-events:none;
  cursor:default;
}
body.guest-neumo.login-page .nav-inner > .d-flex{
  width:auto;
  flex-shrink:0;
  order:0;
  justify-content:flex-end;
}
body.guest-neumo.login-page .btn-login-top{
  width:auto;
  flex-shrink:0;
}
body.guest-neumo.login-page .login-page-main{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px 16px 32px;
}
body.guest-neumo.login-page .login-page-center{
  width:100%;
  max-width:440px;
  margin:0 auto;
}
body.guest-neumo.login-page .login-back-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0 0 14px 4px;
  font-size:13px;
  font-weight:600;
  color:var(--card-muted);
  text-decoration:none;
  transition:color .2s ease;
}
body.guest-neumo.login-page .login-back-link:hover{
  color:var(--card-accent);
}
body.guest-neumo.login-page .login-card{
  width:100%;
  background:var(--card);
  border:none;
  border-top:3px solid var(--accent-gold);
  border-radius:18px;
  box-shadow:var(--card-raised),0 20px 44px rgba(0,0,0,.42);
  padding:26px 26px 22px;
}
body.guest-neumo.login-page .login-card-head{
  text-align:center;
  margin-bottom:22px;
}
body.guest-neumo.login-page .login-card-logo{
  width:88px;
  height:88px;
  margin:0 auto 14px;
  padding:10px;
  border-radius:50%;
  background:var(--card-deep);
  box-shadow:var(--card-inset-sm);
  display:flex;
  align-items:center;
  justify-content:center;
}
body.guest-neumo.login-page .login-card-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
body.guest-neumo.login-page .login-card-title{
  margin:0 0 4px;
  font-size:1.35rem;
  font-weight:800;
  color:var(--card-text);
  letter-spacing:.01em;
}
body.guest-neumo.login-page .login-card-sub{
  margin:0;
  font-size:12px;
  color:var(--card-muted);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:600;
}
body.guest-neumo.login-page .login-alert{
  margin-bottom:16px;
  padding:10px 12px;
  border-radius:10px;
  font-size:13px;
  text-align:center;
  color:#fecaca;
  background:var(--card-deep);
  box-shadow:var(--card-inset-sm),inset 0 0 0 1px rgba(239,68,68,.22);
}
body.guest-neumo.login-page .login-form{
  display:flex;
  flex-direction:column;
  gap:14px;
}
body.guest-neumo.login-page .login-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  align-items:center;
  text-align:center;
}
body.guest-neumo.login-page .login-label{
  font-size:13px;
  font-weight:600;
  color:var(--card-muted);
  margin:0;
  width:100%;
  text-align:center;
}
body.guest-neumo.login-page .login-input{
  width:100%;
  min-height:44px;
  padding:10px 14px;
  border-radius:11px;
  border:none;
  background:var(--card-deep);
  color:var(--card-text);
  font-size:14px;
  text-align:center;
  box-shadow:var(--card-inset-sm);
  transition:box-shadow .2s ease;
}
body.guest-neumo.login-page .login-input::placeholder{
  color:var(--card-muted);
  opacity:.7;
  text-align:center;
}
body.guest-neumo.login-page .login-input:focus{
  outline:0;
  box-shadow:var(--card-inset-sm),0 0 0 2px rgba(96,165,250,.28);
}
body.guest-neumo.login-page .login-submit{
  width:100%;
  margin-top:4px;
  min-height:46px;
  padding:11px 16px;
  border:none;
  border-radius:11px;
  font-size:15px;
  font-weight:800;
  color:#fff;
  background:linear-gradient(145deg,var(--accent-red-deep),var(--accent-red));
  box-shadow:var(--card-raised-sm),0 6px 18px rgba(220,38,38,.26);
  transition:transform .2s ease,filter .2s ease;
}
body.guest-neumo.login-page .login-submit:hover{
  filter:brightness(1.06);
  transform:translateY(-1px);
}
body.guest-neumo.login-page .login-guest-box{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid rgba(148,163,184,.12);
}
body.guest-neumo.login-page .login-guest-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
}
body.guest-neumo.login-page .login-guest-btn{
  display:block;
  width:100%;
  padding:10px 12px;
  border-radius:10px;
  text-align:center;
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  color:var(--card-text);
  background:var(--card-deep);
  box-shadow:var(--card-raised-sm);
  transition:box-shadow .2s ease,color .2s ease,transform .2s ease;
}
body.guest-neumo.login-page .login-guest-btn:hover{
  color:var(--card-accent);
  transform:translateY(-1px);
  box-shadow:var(--card-raised-sm),0 0 12px rgba(96,165,250,.1);
}
body.guest-neumo.login-page .login-page-note{
  margin:16px 0 0;
  text-align:center;
  font-size:12px;
  color:var(--card-muted);
}
body.guest-neumo.login-page .login-page-note a{
  color:var(--card-accent);
  text-decoration:none;
  font-weight:600;
}
body.guest-neumo.login-page .login-page-note a:hover{
  text-decoration:underline;
}

@media (max-width:576px){
  body.guest-neumo.login-page .nav-shell{
    box-shadow:0 6px 18px rgba(0,0,0,.32);
  }
  body.guest-neumo.login-page .nav-inner{
    max-width:none;
    padding:10px 12px;
    padding-left:max(12px, env(safe-area-inset-left));
    padding-right:max(12px, env(safe-area-inset-right));
    flex-direction:row!important;
    flex-wrap:nowrap;
    align-items:center;
    gap:10px;
  }
  body.guest-neumo.login-page .nav-left{
    width:auto!important;
    flex:1;
    min-width:0;
  }
  body.guest-neumo.login-page .nav-inner > .d-flex{
    width:auto!important;
    order:0!important;
    flex-shrink:0;
    justify-content:flex-end!important;
  }
  body.guest-neumo.login-page .brand-logo,
  body.guest-neumo.login-page .kk-logo-3d{
    width:40px;
    height:40px;
    min-height:40px;
    max-width:40px;
  }
  body.guest-neumo.login-page .brand-logo img,
  body.guest-neumo.login-page .kk-logo-3d img{
    max-width:32px;
    max-height:32px;
  }
  body.guest-neumo.login-page .brand-title{
    font-size:11.5px;
    letter-spacing:0;
  }
  body.guest-neumo.login-page .btn-login-top{
    width:auto!important;
    padding:7px 10px;
    font-size:11px;
    white-space:nowrap;
  }
  body.guest-neumo.login-page .login-page-main{
    align-items:flex-start;
    justify-content:flex-start;
    padding:14px 12px max(24px, env(safe-area-inset-bottom));
    padding-left:max(12px, env(safe-area-inset-left));
    padding-right:max(12px, env(safe-area-inset-right));
  }
  body.guest-neumo.login-page .login-page-center{
    max-width:none;
  }
  body.guest-neumo.login-page .login-back-link{
    display:block;
    width:100%;
    text-align:center;
    margin:0 0 12px;
    font-size:12.5px;
  }
  body.guest-neumo.login-page .login-card{
    padding:20px 16px 16px;
    border-radius:16px;
  }
  body.guest-neumo.login-page .login-card-logo{
    width:76px;
    height:76px;
    margin-bottom:12px;
  }
  body.guest-neumo.login-page .login-card-title{
    font-size:1.15rem;
  }
  body.guest-neumo.login-page .login-card-sub{
    font-size:10.5px;
    letter-spacing:.05em;
    line-height:1.45;
  }
  body.guest-neumo.login-page .login-input{
    font-size:16px;
    min-height:46px;
  }
  body.guest-neumo.login-page .login-submit{
    min-height:48px;
    font-size:15px;
  }
  body.guest-neumo.login-page .login-guest-btn{
    font-size:12.5px;
    padding:11px 10px;
  }
  body.guest-neumo.login-page .login-page-note{
    font-size:11px;
    line-height:1.5;
    padding:0 4px;
  }
}

@media (max-width:360px){
  body.guest-neumo.login-page .brand-title{
    font-size:10.5px;
  }
  body.guest-neumo.login-page .btn-login-top{
    padding:7px 8px;
    font-size:10.5px;
  }
  body.guest-neumo.login-page .login-input::placeholder{
    font-size:14px;
  }
}

/* ========== guest_booking.php ========== */
body.guest-neumo.guest-booking-page .page-header{
  background:var(--card);
  border:none;
  border-top:3px solid var(--accent-gold);
  border-radius:18px;
  box-shadow:var(--card-raised);
  padding:22px 20px;
  margin-bottom:18px;
  text-align:center;
}
body.guest-neumo.guest-booking-page .welcome-title{
  color:var(--card-text);
  font-weight:950;
  font-size:clamp(1.4rem,3vw,1.85rem);
  margin:0 0 6px;
}
body.guest-neumo.guest-booking-page .welcome-sub{color:var(--card-muted)!important;}
body.guest-neumo.guest-booking-page .panel,
body.guest-neumo.guest-booking-page .cardish{
  background:var(--card)!important;
  border:none!important;
  border-top:2px solid var(--card-accent-line)!important;
  border-radius:16px!important;
  box-shadow:var(--card-raised)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.guest-neumo.guest-booking-page .cardish::before{display:none!important;}
body.guest-neumo.guest-booking-page .section-title,
body.guest-neumo.guest-booking-page .sec-title{color:var(--card-text);}
body.guest-neumo.guest-booking-page .form-control,
body.guest-neumo.guest-booking-page .form-select,
body.guest-neumo.guest-booking-page textarea{
  background:var(--card-deep)!important;
  border:none!important;
  color:var(--card-text)!important;
  border-radius:10px!important;
  box-shadow:var(--card-inset-sm)!important;
}
body.guest-neumo.guest-booking-page .form-control:focus,
body.guest-neumo.guest-booking-page .form-select:focus,
body.guest-neumo.guest-booking-page textarea:focus{
  box-shadow:var(--card-inset-sm),0 0 0 2px rgba(96,165,250,.22)!important;
  border:none!important;
}
body.guest-neumo.guest-booking-page .btn-main{
  background:linear-gradient(145deg,var(--accent-red-deep),var(--accent-red))!important;
  border:none!important;
  color:#fff!important;
  box-shadow:var(--card-raised-sm),0 6px 16px rgba(220,38,38,.25)!important;
}
body.guest-neumo.guest-booking-page .btn-toggle-calendar{
  background:var(--card-deep)!important;
  border:none!important;
  color:var(--card-text)!important;
  box-shadow:var(--card-raised-sm)!important;
}
body.guest-neumo.guest-booking-page .btn-toggle-calendar:hover{
  background:var(--card)!important;
  box-shadow:var(--card-inset-sm)!important;
  color:#fff!important;
}
body.guest-neumo.guest-booking-page .table-wrap{
  background:var(--card-deep);
  border:none;
  box-shadow:var(--card-inset);
  border-radius:12px;
}
body.guest-neumo.guest-booking-page .table thead th{
  background:var(--card)!important;
  color:var(--card-text)!important;
  border:none!important;
}
body.guest-neumo.guest-booking-page .table td{
  color:var(--card-muted)!important;
  border-color:rgba(148,163,184,.12)!important;
}
body.guest-neumo.guest-booking-page .budget-card{
  background:var(--card-deep);
  border:none;
  box-shadow:var(--card-inset-sm);
  color:var(--card-muted);
}
body.guest-neumo.guest-booking-page .pill{
  background:var(--card-deep);
  border:none;
  box-shadow:var(--card-inset-sm);
  color:var(--card-muted);
}
body.guest-neumo.guest-booking-page .modal-content{
  background:var(--card)!important;
  border:none!important;
  border-top:3px solid var(--card-accent)!important;
  border-radius:16px!important;
  box-shadow:var(--card-raised),0 24px 50px rgba(0,0,0,.55)!important;
  color:var(--card-text)!important;
}
body.guest-neumo.guest-booking-page .modal-header,
body.guest-neumo.guest-booking-page .modal-footer{border-color:rgba(148,163,184,.15)!important;}

/* Kalendar dalam modal — pastikan grid FC kelihatan pada tema neumo */
body.guest-neumo.guest-booking-page .calendar-mount{
  width:100%;
  height:460px;
  min-height:360px;
  flex:0 0 auto;
}
body.guest-neumo.guest-booking-page .calendar-modal #guestCalendar{
  width:100%;
  height:100%;
  min-height:inherit;
}
body.guest-neumo.guest-booking-page .calendar-modal .fc{
  --fc-page-bg-color:transparent;
  --fc-border-color:rgba(148,163,184,.22);
  --fc-neutral-bg-color:rgba(15,29,50,.6);
  --fc-today-bg-color:rgba(96,165,250,.14);
  color:var(--card-text);
  min-height:340px;
}
body.guest-neumo.guest-booking-page .calendar-modal .fc .fc-view-harness{
  min-height:300px;
}
body.guest-neumo.guest-booking-page .calendar-modal .fc .fc-toolbar-title,
body.guest-neumo.guest-booking-page .calendar-modal .fc .fc-col-header-cell-cushion,
body.guest-neumo.guest-booking-page .calendar-modal .fc .fc-daygrid-day-number{
  color:var(--card-text)!important;
}
body.guest-neumo.guest-booking-page .calendar-modal .fc .fc-button{
  background:var(--card-deep)!important;
  border:1px solid rgba(148,163,184,.2)!important;
  color:var(--card-text)!important;
  box-shadow:var(--card-inset-sm)!important;
}
body.guest-neumo.guest-booking-page .calendar-modal .fc .fc-button:hover{
  background:var(--card)!important;
}
body.guest-neumo.guest-booking-page .calendar-modal .fc .fc-button-primary:not(:disabled).fc-button-active,
body.guest-neumo.guest-booking-page .calendar-modal .fc .fc-button-primary:not(:disabled):active{
  background:rgba(96,165,250,.28)!important;
  border-color:rgba(96,165,250,.45)!important;
}

@media (max-width:575.98px){
  body.guest-neumo.guest-booking-page .calendar-modal.modal .modal-dialog{
    margin:0;
  }
  body.guest-neumo.guest-booking-page .calendar-modal .modal-content{
    border-radius:0!important;
    min-height:100dvh;
    height:100%;
    display:flex;
    flex-direction:column;
  }
  body.guest-neumo.guest-booking-page .calendar-modal .modal-body{
    flex:1;
    min-height:0;
    overflow-y:auto;
  }
  body.guest-neumo.guest-booking-page .calendar-mount{
    height:calc(100dvh - 290px);
    min-height:300px;
    max-height:560px;
  }
  body.guest-neumo.guest-booking-page .calendar-modal #guestCalendar{
    height:100%;
    min-height:inherit;
  }
  body.guest-neumo.guest-booking-page .calendar-modal .fc{
    min-height:280px;
    height:100%;
  }
  body.guest-neumo.guest-booking-page .calendar-modal .fc .fc-view-harness{
    min-height:240px;
  }
  body.guest-neumo.guest-booking-page .calendar-modal .form-select{
    background:var(--card-deep)!important;
    color:var(--card-text)!important;
    border:none!important;
    box-shadow:var(--card-inset-sm)!important;
  }
  body.guest-neumo.guest-booking-page #publicEventModal .modal-content{
    border-radius:0!important;
    min-height:100dvh;
  }
}

body.guest-neumo.guest-booking-page .alert-success,
body.guest-neumo.guest-booking-page .alert-danger{
  background:var(--card-deep);
  border:none;
  box-shadow:var(--card-inset-sm);
}

@media (max-width:576px){
  body.guest-neumo:not(.login-page) .nav-inner{padding:10px 12px;gap:10px;}
  body.guest-neumo:not(.login-page) .nav-menu{width:100%;justify-content:space-between;}
  body.guest-neumo:not(.login-page) .nav-link-top{flex:1 1 0;text-align:center;padding:7px 6px;font-size:11.5px;}
  body.guest-neumo:not(.login-page) .btn-login-top{width:100%;text-align:center;}
}

@media (prefers-reduced-motion:reduce){
  body.guest-neumo .nav-link-top.active,
  body.guest-neumo .nav-link-top.active::before,
  body.guest-neumo .nav-link-top.active::after{animation:none;}
  body.guest-neumo .nav-link-top.active::after{transform:scaleX(1);opacity:1;}
}
