/* =============================================
   LIGAPELANGI.INFO – style.css
   ============================================= */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --gold:   #f5c518;
  --gold2:  #e8a000;
  --teal:   #00e5c0;
  --blue:   #1a9fff;
  --blue2:  #0e6dbf;
  --text:   #ddeeff;
  --muted:  #6a8cb0;
  --max-w:  960px;
}

html { scroll-behavior: smooth; }

body {
  font-family: 'Exo 2', sans-serif;
  background-color: #050505;
  background-image: url('https://the.splg.site/images/2026/06/07/BG-1.jpeg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  background-attachment: fixed;
  color: var(--text);
  min-height: 100vh;
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  z-index: -1;
}

/* =============================================
   AMBIENT LIGHTS
   ============================================= */
.ambient-lights { position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden; }
.beam { position:absolute;width:2px;height:100vh;top:0;opacity:0; }
.beam-1 { left:15%;background:linear-gradient(180deg,transparent,rgba(0,229,192,.12),transparent);width:120px;filter:blur(18px);transform:rotate(-8deg);animation:beam-pulse 6s ease-in-out infinite; }
.beam-2 { left:40%;background:linear-gradient(180deg,transparent,rgba(26,159,255,.14),transparent);width:180px;filter:blur(22px);transform:rotate(5deg);animation:beam-pulse 8s ease-in-out infinite 2s; }
.beam-3 { right:15%;background:linear-gradient(180deg,transparent,rgba(245,197,24,.10),transparent);width:140px;filter:blur(20px);transform:rotate(-12deg);animation:beam-pulse 7s ease-in-out infinite 3.5s; }
.beam-4 { left:60%;background:linear-gradient(180deg,transparent,rgba(180,100,255,.09),transparent);width:100px;filter:blur(16px);transform:rotate(15deg);animation:beam-pulse 9s ease-in-out infinite 1s; }
@keyframes beam-pulse { 0%,100%{opacity:0}30%,70%{opacity:1} }

.orb { position:absolute;border-radius:50%;filter:blur(70px); }
.orb-1 { width:500px;height:500px;top:-180px;left:-100px;background:radial-gradient(circle,rgba(26,159,255,.18),transparent 70%);animation:orb-drift 12s ease-in-out infinite alternate; }
.orb-2 { width:600px;height:600px;top:20%;right:-200px;background:radial-gradient(circle,rgba(0,229,192,.14),transparent 70%);animation:orb-drift 15s ease-in-out infinite alternate-reverse; }
.orb-3 { width:400px;height:400px;bottom:10%;left:30%;background:radial-gradient(circle,rgba(245,197,24,.10),transparent 70%);animation:orb-drift 10s ease-in-out infinite alternate 4s; }
@keyframes orb-drift { from{transform:translate(0,0) scale(1)}to{transform:translate(30px,20px) scale(1.08)} }

.grid-overlay { position:fixed;inset:0;background-image:linear-gradient(rgba(0,229,192,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,192,.03) 1px,transparent 1px);background-size:44px 44px;pointer-events:none;z-index:0; }

/* =============================================
   TICKER BAR
   ============================================= */
.ticker-bar { position:relative;z-index:10;background:linear-gradient(90deg,rgba(229,0,218,.06),rgba(4,20,35,.96) 20%,rgba(4,20,35,.96) 80%,rgba(0,229,122,.06));border-bottom:1px solid rgba(255,255,255,.2);display:flex;align-items:center;gap:10px;padding:7px 16px;overflow:hidden;backdrop-filter:blur(8px); }
.ticker-dot { width:7px;height:7px;border-radius:50%;background:#a827e3;box-shadow:0 0 10px #df29ff;flex-shrink:0;animation:dot-pulse 1.6s ease-in-out infinite; }
.ticker-label { font-family:'Rajdhani',sans-serif;font-weight:700;font-size:11px;color:#fff;letter-spacing:2.5px;flex-shrink:0; }
.ticker-track { flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,black 6%,black 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 6%,black 94%,transparent); }
.ticker-content { display:inline-block;white-space:nowrap;font-size:15px;color:#fff;font-family:'Rajdhani',sans-serif;font-weight:600;letter-spacing:1px;animation:ticker-scroll 35s linear infinite; }
@keyframes ticker-scroll { from{transform:translateX(100vw)}to{transform:translateX(-100%)} }
@keyframes dot-pulse { 0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.5} }

/* =============================================
   HERO
   ============================================= */
.hero { position:relative;z-index:5;text-align:center;padding:56px 20px 44px;overflow:hidden; }
.logo-wrap { display:flex;justify-content:center;margin-bottom:22px; }
.logo-img { width:100px;height:100px;border-radius:50%;object-fit:cover; }
.logo-fallback { font-size:38px;display:none;align-items:center;justify-content:center; }
.brand-name { font-family:'Bebas Neue',sans-serif;font-size:clamp(38px,8.5vw,76px);letter-spacing:5px;line-height:1;color:var(--text);animation:fade-drop .7s cubic-bezier(.22,1,.36,1) both; }
.brand-accent { color:var(--gold);text-shadow:0 0 20px rgba(245,197,24,.7),0 0 60px rgba(245,197,24,.3); }
.brand-sub { font-family:'Rajdhani',sans-serif;font-weight:600;letter-spacing:1px;color:#fff;margin-top:6px; }
.nav-pills { display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px;animation:fade-up 1s cubic-bezier(.22,1,.36,1) both; }
.pill { font-family:'Rajdhani',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:2px;padding:8px 22px;border-radius:50px;border:1px solid rgba(255,255,255,.1);text-decoration:none;color:var(--text);transition:transform .2s;display:flex;align-items:center;gap:7px;backdrop-filter:blur(10px); }
.pill:hover { transform:translateY(-2px); }
.pill-dot { width:6px;height:6px;border-radius:50%;background:#00e57a;box-shadow:0 0 8px #00e57a;animation:dot-pulse 1.6s ease-in-out infinite; }
.pill-vip { background:rgba(0,229,122,.08);border-color:rgba(0,229,122,.35);color:#00e57a; }
.pill-vip:hover { background:rgba(0,229,122,.16); }
.pill-blue { background:rgba(26,159,255,.10);border-color:rgba(26,159,255,.4); }
.pill-blue:hover { background:rgba(26,159,255,.20); }

/* =============================================
   MAIN CONTENT WRAPPER
   ============================================= */
.main-content-wrapper {
  position: relative;
  z-index: 5;
  width: 100%;
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* =============================================
   SLIDER
   ============================================= */
.slider-container {
  width: 100%;
  /* Pakai padding-top untuk aspect ratio 16:5 agar tidak terpotong */
  padding-top: 31.25%; /* = 300/960 * 100 ≈ 31% untuk rasio banner */
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 8px 40px rgba(0,0,0,.6);
  background: #0a0a1a;
}

.slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  animation: fadeSlider 12s infinite;
}
.slide:nth-child(1) { animation-delay: 0s; }
.slide:nth-child(2) { animation-delay: 4s; }
.slide:nth-child(3) { animation-delay: 8s; }

/* Gambar tidak terpotong: cover + object-position bisa disesuaikan */
.slide img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;       /* cover agar penuh tanpa ruang kosong */
  object-position: center; /* ubah ke "top" jika subjek di atas */
  display: block;
}

@keyframes fadeSlider {
  0%   { opacity: 0; }
  8%   { opacity: 1; }
  33%  { opacity: 1; }
  41%  { opacity: 0; }
  100% { opacity: 0; }
}

/* Dot indicators */
.slider-dots { position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:7px;z-index:10; }
.dot { width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);animation:dot-active 12s infinite; }
.dot-1 { animation-delay:0s; }
.dot-2 { animation-delay:4s; }
.dot-3 { animation-delay:8s; }
@keyframes dot-active {
  0%,7%    { background:rgba(255,255,255,.95);transform:scale(1.4); }
  33%      { background:rgba(255,255,255,.95);transform:scale(1.4); }
  41%,100% { background:rgba(255,255,255,.3);transform:scale(1); }
}

/* =============================================
   SITE CARDS
   ============================================= */
.sites-section { width:100%;display:flex;flex-direction:column;gap:14px; }

.site-card { background:linear-gradient(145deg,rgba(8,22,48,.9),rgba(12,28,60,.85));border:1px solid rgba(26,159,255,.15);border-radius:16px;padding:18px 22px;display:flex;align-items:center;gap:16px;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden;backdrop-filter:blur(12px); }
.card-glass-shine { position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2) 50%,transparent);pointer-events:none;z-index:2; }
.site-card:hover { border-color:rgba(26,159,255,.45);transform:translateY(-3px);box-shadow:0 10px 40px rgba(26,159,255,.14); }
.site-main { border-color:rgba(0,229,192,.22);background:linear-gradient(145deg,rgba(0,35,45,.88),rgba(4,18,36,.92)); }
.site-main:hover { border-color:rgba(0,229,192,.5);box-shadow:0 10px 40px rgba(0,229,192,.12); }

.site-icon { display:flex;align-items:center;justify-content:center;width:54px;height:54px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;flex-shrink:0;backdrop-filter:blur(6px); }
.img-logo { width:40px;height:40px;object-fit:contain;border-radius:8px; }

.site-info { flex:1;min-width:0; }
.site-name { font-family:'Rajdhani',sans-serif;font-size:15.5px;font-weight:700;letter-spacing:1.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#fff; }
.site-desc { font-size:12px;color:rgba(255,255,255,.7);margin-top:4px;line-height:1.5; }
.badge-login { font-size:9.5px;font-family:'Rajdhani',sans-serif;font-weight:700;letter-spacing:1.5px;padding:2px 9px;border-radius:5px;background:rgba(247,26,255,.14);color:var(--blue);border:1px solid rgba(255,255,255,.35);animation:dot-pulse 1s ease-in-out infinite; }

.site-actions { display:flex;gap:9px;flex-shrink:0; }
.btn { font-family:'Rajdhani',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:2px;padding:8px 20px;border-radius:9px;border:none;cursor:pointer;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block;position:relative;overflow:hidden; }
.btn-masuk { background:linear-gradient(135deg,#ff11ff 0%,#0e6dbf 100%);color:#fff;box-shadow:0 4px 16px rgba(26,159,255,.35); }
.btn-masuk:hover { transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,159,255,.45); }
.btn-daftar { background:linear-gradient(135deg,#ff11ff 0%,#0e6dbf 100%);color:#fff;border:1px solid rgba(255,255,255,.14); }
.btn-daftar:hover { transform:translateY(-2px); }

/* =============================================
   FEATURES
   ============================================= */
.features-section { width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:13px;padding-bottom:8px; }
.feature { background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:22px 14px;text-align:center;transition:transform .3s,border-color .3s;position:relative;overflow:hidden;backdrop-filter:blur(8px); }
.feature-glass { position:absolute;top:0;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15) 50%,transparent);pointer-events:none; }
.feature:hover { background:rgba(255,255,255,.05);border-color:rgba(245,197,24,.28);transform:translateY(-4px); }
.feature-icon { font-size:30px;margin-bottom:10px; }
.feature-title { font-family:'Rajdhani',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;color:var(--gold); }
.feature-desc { font-size:11px;color:rgba(255, 255, 255, 0.7);margin-top:4px; }

/* =============================================
   FOOTER
   ============================================= */
.footer { text-align:center;padding:28px 20px 90px;position:relative;z-index:5; }
.footer-divider { width:120px;height:1px;background:linear-gradient(90deg,transparent,rgba(245,197,24,.4),transparent);margin:0 auto 20px; }
.footer-brand { font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:4px;color:var(--text); }
.footer-brand span { color:var(--gold); }
.footer-sub { font-size:12px;color:var(--muted);margin-top:5px;letter-spacing:1.5px; }

/* =============================================
   LIVECHAT
   ============================================= */
.livechat-btn { position:fixed;bottom:22px;right:22px;z-index:200;background:linear-gradient(135deg,#ad53fc,#c94bf3);color:#000;border:none;border-radius:50px;padding:13px 24px;font-family:'Rajdhani',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:1.5px;cursor:pointer;display:flex;align-items:center;gap:7px;box-shadow:0 6px 30px rgba(245,197,24,.5);animation:bounce-in 1.5s cubic-bezier(.22,1,.36,1) both,livechat-float 4s ease-in-out 1.5s infinite;overflow:hidden; }
.livechat-btn:hover { transform:scale(1.06) translateY(-3px);box-shadow:0 14px 44px rgba(245,197,24,.65); }
.livechat-shine { position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(237, 236, 236, 0.25),transparent);animation:livechat-sweep 3s ease-in-out infinite; }
@keyframes livechat-sweep { 0%{left:-80%}60%,100%{left:140%} }
@keyframes livechat-float { 0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)} }

/* =============================================
   ANIMATIONS
   ============================================= */
@keyframes fade-drop { from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:translateY(0)} }
@keyframes fade-up   { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }
@keyframes bounce-in { 0%{opacity:0;transform:scale(.4) translateY(20px)}65%{transform:scale(1.08)}100%{opacity:1;transform:scale(1) translateY(0)} }

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 700px) {
  .features-section { grid-template-columns:repeat(2,1fr); }
  .site-card { flex-wrap:wrap; }
  .site-actions { width:100%;justify-content:flex-end; }
  .hero { padding:40px 20px 34px; }
  .slider-container { padding-top: 45%; }
}
@media (max-width: 420px) {
  .features-section { grid-template-columns:repeat(2,1fr); }
  .brand-name { font-size:36px; }
  .slider-container { padding-top: 55%; }
}