/* ========================================================
   KOTAK 1: STRUKTUR UTAMA, HEADER, & BANNER HERO
   ======================================================== */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background: radial-gradient(circle at center, #420202 0%, #1c0101 60%, #0d0000 100%);
  color: #f1f5f9;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 120px 24px 40px 24px;
  position: relative;
}

body::before {
  content: "";
  position: absolute;
  top: 0; 
  left: 0; 
  right: 0; 
  bottom: 0;
  background: 
    radial-gradient(circle at 80% 20%, rgba(255, 102, 0, 0.12) 0%, transparent 40%),
    radial-gradient(circle at 20% 80%, rgba(255, 215, 0, 0.08) 0%, transparent 50%);
  pointer-events: none;
  z-index: 0;
}

header, 
.hero-banner, 
.search-filter-section, 
.dashboard-container, 
.floating-container {
  position: relative;
  z-index: 1;
}

header {
  position: fixed;
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 90px;
  background: linear-gradient(to bottom, #210101, #0d0000);
  border-bottom: 2px solid #b7791f;
  padding: 0 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 9999;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.9);
}

.logo img {
  width: 150px; 
  height: auto; 
  animation: denyut 2s infinite ease-in-out; 
}

@keyframes denyut {
  0% { 
    transform: scale(1); 
    filter: drop-shadow(0 0 0px rgba(183, 121, 31, 0)); 
  }
  50% { 
    transform: scale(1.05); 
    filter: drop-shadow(0 0 12px rgba(183, 121, 31, 0.8)); 
  }
  100% { 
    transform: scale(1); 
    filter: drop-shadow(0 0 0px rgba(183, 121, 31, 0)); 
  }
}

.menu-kanan { 
  display: flex; 
  align-items: center; 
  gap: 20px; 
}

.btn-admin { 
  display: flex; 
  align-items: center; 
  gap: 8px; 
  text-decoration: none; 
  color: #cbd5e1; 
  font-weight: 700; 
  font-size: 13px; 
  transition: color 0.2s; 
}

.btn-admin:hover { 
  color: #f59e0b; 
}

.btn-admin img { 
  height: 24px; 
  filter: drop-shadow(0 0 5px #f59e0b); 
}

.container-tombol { 
  display: flex; 
  gap: 10px; 
}

.btn-masuk, .btn-daftar {
  font-size: 13px; 
  font-weight: 800; 
  padding: 8px 22px;
  border: 2px solid rgba(255, 0, 0, 0.1); 
  border-radius: 4px;
  cursor: pointer; 
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
  letter-spacing: 0.05em; 
  transition: all 0.2s ease;
}

.btn-masuk { 
  background: linear-gradient(to bottom, #ffffff, #dcdcdc); 
  color: #800000; 
}

.btn-masuk:hover { 
  background: #000000; 
  color: #ffffff; 
  border-color: #b7791f; 
  transform: translateY(-1px); 
}

.btn-daftar { 
  background: linear-gradient(to bottom, #d32f2f, #7f0000); 
  color: #ffffff; 
  border-color: #ff5252; 
  text-shadow: 0 1px 2px rgba(0,0,0,0.5); 
}

.btn-daftar:hover { 
  filter: brightness(1.2); 
  transform: translateY(-1px); 
  box-shadow: 0 4px 15px rgba(211, 47, 47, 0.6); 
}

.hero-banner {
  width: 100%; 
  max-width: 1300px;
  background: radial-gradient(circle at center, #5c0505 0%, #1a0202 100%);
  text-align: center; 
  padding: 45px 20px; 
  border: 1px solid #9a1a1a;
  border-radius: 14px; 
  margin-bottom: 30px; 
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,0.7);
}

.hero-banner::after {
  content: ''; 
  position: absolute; 
  bottom: 0; 
  left: 0; 
  width: 100%; 
  height: 2px;
  background: linear-gradient(to right, transparent, #f59e0b, transparent);
}

.banner-title { 
  font-size: 26px; 
  font-weight: 800; 
  color: #ffffff; 
  letter-spacing: 0.08em; 
}

.banner-brand {
  font-size: 38px; 
  font-weight: 900;
  background: linear-gradient(to bottom, #fff3cc, #f59e0b);
  -webkit-background-clip: text; 
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0 20px rgba(245,158,11,0.5); 
  margin-bottom: 6px;
}

.banner-subtitle { 
  font-size: 16px; 
  color: #b0b0b0; 
  font-weight: bold; 
}
/* ========================================================
   KOTAK 2: FILTER, GRID, KARTU PASARAN, & TOMBOL MELAYANG
   ======================================================== */
.search-filter-section { 
  width: 100%; 
  max-width: 1300px; 
  margin-bottom: 24px; 
  display: flex; 
  flex-direction: row; 
  align-items: center; 
  gap: 20px; 
}

.search-input-wrapper { 
  flex: 1.5; 
}

.search-box {
  width: 100%; 
  padding: 14px 20px; 
  background: rgba(20, 2, 2, 0.6);
  backdrop-filter: blur(10px); 
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(245, 158, 11, 0.3); 
  border-radius: 8px;
  color: #ffffff; 
  font-size: 14px; 
  font-weight: 600; 
  outline: none;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.6);
}

.search-box:focus { 
  border-color: #f59e0b; 
  box-shadow: 0 0 15px rgba(245, 158, 11, 0.4); 
}

.filter-tags { 
  display: flex; 
  gap: 10px; 
  flex: 2;
}

.tag-btn {
  background: rgba(40, 5, 5, 0.5); 
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #cbd5e1; 
  padding: 10px 22px; 
  border-radius: 20px;
  font-size: 13px; 
  font-weight: 800; 
  cursor: pointer; 
  transition: all 0.2s ease;
}

.tag-btn.active { 
  background: linear-gradient(to bottom, #f59e0b, #d97706); 
  color: #ffffff; 
  border-color: #f59e0b; 
  box-shadow: 0 4px 12px rgba(245, 158, 11, 0.5); 
}

.dashboard-container { 
  width: 100%; 
  max-width: 1300px; 
}

.main-header { 
  display: flex; 
  justify-content: space-between; 
  align-items: center; 
  margin-bottom: 20px; 
  border-bottom: 1px solid rgba(255,255,255,0.08); 
  padding-bottom: 12px; 
}

.header-title { 
  display: flex; 
  align-items: center; 
  gap: 10px; 
}

.accent-bar { 
  width: 5px; 
  height: 22px; 
  background: linear-gradient(to bottom, #ffc107, #ff3333); 
  border-radius: 2px; 
  box-shadow: 0 0 10px rgba(255, 51, 51, 0.5); 
}

.header-title h1 { 
  font-size: 18px; 
  font-weight: 800; 
  color: #ff3333; 
  letter-spacing: 0.05em; 
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); 
}

.timezone-badge { 
  font-size: 13px; 
  font-weight: bold; 
  color: #ffffff; 
  background: linear-gradient(to bottom, #d32f2f, #5c0505); 
  padding: 6px 14px; 
  border-radius: 20px; 
  border: 1px solid rgba(255, 255, 255, 0.1); 
}

.highlight-text { 
  font-size: 13px; 
  font-weight: bold; 
  color: #ffffff; 
  text-shadow: 0 0 5px rgb(0, 0, 0); 
}

.grid-pasaran { 
  display: grid; 
  grid-template-columns: repeat(3, minmax(0, 1fr)); 
  gap: 24px; 
}

.card-pasaran {
  background: linear-gradient(135deg, rgba(66, 5, 5, 0.85) 0%, rgba(20, 2, 2, 0.95) 100%);
  backdrop-filter: blur(12px); 
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(245, 158, 11, 0.35); 
  border-radius: 16px;
  padding: 20px; 
  text-decoration: none; 
  display: block;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.6); 
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  overflow: hidden;
  position: relative;
}

.card-pasaran::before { 
  content: ''; 
  position: absolute; 
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 100%; 
  border-radius: 16px; 
  background: radial-gradient(circle at top right, rgba(245,158,11,0.12), transparent 60%); 
  pointer-events: none; 
}

.card-pasaran:hover { 
  transform: translateY(-5px); 
  border-color: #f59e0b; 
  box-shadow: 0 18px 35px rgba(245, 158, 11, 0.35), 0 10px 25px rgba(0, 0, 0, 0.7); 
}

.card-header h2 { 
  font-size: 23px; 
  font-weight: 800; 
  color: #ffffff; 
  letter-spacing: 0.04em; 
  text-shadow: 0 2px 4px rgba(0,0,0,0.6); 
  text-transform: uppercase; 
}

.card-header p { 
  font-size: 13px; 
  font-weight: bold; 
  color: #ffaa00; 
  margin-bottom: 16px; 
}

.numbers-section { 
  display: grid; 
  grid-template-columns: 2.1fr 0.9fr; 
  gap: 12px; 
  margin-bottom: 18px; 
}

.label-text { 
  font-size: 15px; 
  font-weight: bold; 
  color: #f59e0b; 
  text-align: center; 
  display: block; 
  width: 100%; 
  margin-bottom: 8px; 
}

.col-angka-main { 
  height: 100%; 
}

.box-number-main {
  background: linear-gradient(180deg, #ffffff 0%, #cbd5e1 100%); 
  color: #0f172a; 
  font-weight: 900;
  text-align: center; 
  height: 100%; 
  display: flex; 
  align-items: center; 
  justify-content: center;
  border-radius: 7px; 
  font-size: 28px; 
  letter-spacing: 0.1em;
  box-shadow: inset 0 -3px 0 rgba(0,0,0,0.15), 0 4px 12px rgba(0,0,0,0.4); 
  text-shadow: 1px 1px 0px #ffffff;
}

.colok-flex { 
  display: flex; 
  flex-direction: column; 
  gap: 6px; 
  height: 100%; 
}

.box-number-colok {
  background: linear-gradient(180deg, #5c0505 0%, #140202 100%); 
  color: #ffffff; 
  font-weight: 900;
  text-align: center; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  flex: 1; 
  font-size: 20px;
  border: 1px solid rgba(245, 158, 11, 0.3); 
  border-radius: 6px;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.5), 0 2px 5px rgba(0,0,0,0.2); 
  text-shadow: 0 0 8px rgba(245, 158, 11, 0.5);
}

.bottom-section { 
  display: grid; 
  grid-template-columns: 0.9fr 3.1fr; 
  gap: 14px; 
  align-items: stretch; 
  border-top: 1px solid rgba(255, 255, 255, 0.08); 
  padding-top: 16px; 
}

.shio-box { 
  text-align: center; 
  background: #420202; 
  padding: 8px; 
  border-radius: 10px; 
  border: 1px solid #d97706; 
  box-shadow: inset 0 2px 8px rgba(0,0,0,0.7), 0 4px 10px rgba(0,0,0,0.3); 
  display: flex; 
  flex-direction: column; 
  justify-content: center; 
}

.shio-image-container { 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  width: 100%; 
  height: 60px; 
  overflow: hidden; 
}

.foto-shio-item { 
  max-width: 95%; 
  max-height: 95%; 
  object-fit: contain; 
  filter: drop-shadow(0 3px 6px rgba(0,0,0,0.7)); 
}

.top-numbers-box { 
  display: flex; 
  flex-direction: column; 
  gap: 12px; 
  justify-content: center; 
}

.label-sub-text { 
  font-size: 11px; 
  text-transform: uppercase; 
  color: #ffaa00; 
  font-weight: 800; 
  letter-spacing: 0.06em; 
  margin-bottom: 4px; 
  display: block; 
  text-align: center; 
  width: 100%; 
}

div:nth-child(2) > .label-sub-text { 
  color: #ffffff; 
}

.badge-container { 
  display: flex; 
  flex-wrap: wrap; 
  gap: 6px; 
}

.badge-item-2d { 
  background: linear-gradient(135deg, #1e0202 0%, #0d0000 100%); 
  border: 2px solid #f59e0b; 
  padding: 5px 10px; 
  border-radius: 6px; 
  color: #ffffff; 
  font-size: 15px; 
  font-weight: 900; 
  box-shadow: 0 3px 6px rgba(0,0,0,0.5); 
  text-shadow: 0 0 4px rgba(245, 158, 11, 0.6); 
}

.badge-item-3d { 
  background: linear-gradient(135deg, #3a0000 0%, #0d0000 100%); 
  border: 2px solid #ff3333; 
  padding: 5px 8px; 
  border-radius: 6px; 
  color: #ffffff; 
  font-size: 14px; 
  font-weight: 900; 
  box-shadow: 0 3px 6px rgba(0,0,0,0.5); 
  text-shadow: 0 0 4px rgba(255, 51, 51, 0.6); 
}

.floating-container { 
  position: fixed; 
  bottom: 30px; 
  left: 30px; 
  display: flex; 
  flex-direction: column-reverse; 
  gap: 16px; 
  z-index: 99999; 
}

.floating-btn { 
  width: 80px; 
  height: 80px; 
  border-radius: 50%; 
  overflow: hidden; 
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.6); 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  background: transparent; 
  animation: denyutRadar 2s infinite ease-in-out; 
  transition: all 0.2s ease; 
}

.floating-btn img { 
  width: 100%; 
  height: 100%; 
  object-fit: contain; 
}

.floating-btn:hover { 
  transform: scale(1.1); 
  box-shadow: 0 0 25px #f59e0b; 
}

@keyframes denyutRadar {
  0% { 
    transform: scale(1); 
    box-shadow: 0 0 0 0 rgba(211, 47, 47, 0.6); 
  }
  70% { 
    transform: scale(1.02); 
    box-shadow: 0 0 0 15px rgba(245, 158, 11, 0); 
  }
  100% { 
    transform: scale(1); 
    box-shadow: 0 0 0 0 rgba(245, 158, 11, 0); 
  }
}

.card-pasaran.hidden { 
  display: none !important; 
}

@media (max-width: 1023px) { 
  .grid-pasaran { 
    grid-template-columns: repeat(2, minmax(0, 1fr)); 
  } 
  .search-filter-section { 
    flex-direction: column; 
    align-items: stretch; 
  } 
}

@media (max-width: 640px) { 
  .grid-pasaran { 
    grid-template-columns: repeat(1, minmax(0, 1fr)); 
  } 
  header { 
    padding: 0 15px; 
  } 
  .floating-container { 
    left: 15px; 
    bottom: 20px; 
  } 
  .floating-btn { 
    width: 65px; 
    height: 65px; 
  } 
}

.icon-phone { 
  width: 20px; 
  height: 20px; 
  object-fit: contain; 
  display: inline-block; 
  vertical-align: middle; 
  animation: floatingPhone 2s ease-in-out infinite; 
}

@keyframes floatingPhone { 
  0% { transform: translateY(0); } 
  50% { transform: translateY(-5px); } 
  100% { transform: translateY(0); } 
}
/* ========================================================
   EFEK ANIMASI TEKS GRADASI EMAS VERSi DESKTOP
   ======================================================== */
.banner-brand {
  font-size: 38px;
  font-weight: 900;
  margin-bottom: 6px;
  background: linear-gradient(
    90deg, 
    #ffe699 0%, 
    #f59e0b 25%, 
    #ffffff 50%, 
    #f59e0b 75%, 
    #ffe699 100__
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 15px rgba(245, 158, 11, 0.5));
  animation: kilatEmas 4s linear infinite;
}

@keyframes kilatEmas {
  0% {
    background-position: 0% center;
  }
  100% {
    background-position: 200% center;
  }
}
/* ===================================================
   CSS OPTIMASI ARTIKEL SEO DESKTOP — SUHUTOTO88 RESMI
   =================================================== */

.seo-desktop-section {
    display: block !important;
    box-sizing: border-box !important;
    max-width: 1200px !important;
    margin: 50px auto !important; /* Jarak proporsional dari grid atas */
    padding: 35px !important;
    
    /* Tema Gelap Mewah dengan Efek Border Glow Tipis */
    background: #110d0a !important;
    border: 1px solid rgba(255, 204, 0, 0.12) !important;
    border-radius: 14px !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.6), inset 0 1px 2px rgba(255, 255, 255, 0.03);
    
    /* Tipografi Standar Monitor Desktop */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    font-size: 14px !important;
    color: #a3948b !important; /* Warna teks hangat agar mata tidak lelah */
    line-height: 1.85 !important;
    text-align: justify !important;
}

/* Judul Utama Artikel (H3) */
.seo-desktop-section h3 {
    display: block !important;
    color: #ffffff !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    line-height: 1.4 !important;
    border-left: 4px solid #ffcc00 !important; /* Aksen Kuning Emas */
    padding-left: 15px !important;
    margin: 0 0 18px 0 !important;
}

/* Struktur Grid 2 Kolom untuk Monitor Layar Lebar */
.seo-desktop-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important; /* Membagi halaman menjadi 2 kolom sama besar */
    gap: 35px !important;
    margin-top: 25px !important;
}

/* Sub-Judul Kolom (H4) */
.seo-desktop-section h4 {
    display: block !important;
    color: #f5eae2 !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    margin: 0 0 12px 0 !important;
    letter-spacing: 0.3px !important;
    line-height: 1.4 !important;
}

/* Pengaturan Jarak Paragraf */
.seo-desktop-section p {
    display: block !important;
    margin: 0 0 15px 0 !important;
    padding: 0 !important;
}

/* Penonjolan Teks Kata Kunci Utama (Keywords) */
.seo-desktop-section strong {
    color: #ffcc00 !important; /* Warna Emas untuk kata kunci krusial */
    font-weight: 700 !important;
}

/* Sorotan Istilah Pasaran */
.seo-desktop-section em {
    color: #ffffff !important;
    font-style: normal !important;
    font-weight: 600 !important;
    background: rgba(255, 204, 0, 0.07) !important; /* Efek highlight transparan */
    padding: 2px 6px !important;
    border-radius: 4px !important;
}

/* Garis Pembatas Horisontal Bagian Bawah */
.seo-desktop-section hr {
    border: 0 !important;
    border-top: 1px solid #231a14 !important;
    margin: 30px 0 20px 0 !important;
}

/* Struktur List Kustom */
.seo-desktop-section ul {
    display: block !important;
    list-style-type: none !important;
    padding-left: 0 !important;
    margin: 10px 0 0 0 !important;
}

/* Item List dengan Ikon Diamond Emas */
.seo-desktop-section ul li {
    position: relative !important;
    display: block !important;
    padding-left: 22px !important;
    margin-bottom: 12px !important;
    color: #9c8c83 !important;
}

.seo-desktop-section ul li::before {
    content: "◆" !important; /* Simbol Diamond Khas Tema Premium */
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: #ffcc00 !important;
    font-size: 11px !important;
}
