/* style.css (PHP version, dibersihkan) */
:root{
  --bg:#585858;
  --panel:#222;
  --panel-2:#303030;
  --text:#fff;
  --muted:rgba(255,255,255,.85);
}

*{box-sizing:border-box}
html{
  height:100%;
}
body{
  margin:0;
  font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  display:flex;
  flex-direction:column;
  min-height:100vh;
  height:100%;
}

main {
  flex:1;
  width:100%;
  padding-bottom: 50px;
}

/* Background utama khusus halaman beranda */
body.beranda {
  background: url('utama.png') center top / cover no-repeat scroll;
  background-color: #1a1a1a;
}
header{
  background:#333;
  border-bottom:2px solid #4a4a4a;
  position:sticky;
  top:0;
  z-index:1000;
}
nav{
  max-width:1200px;
  margin:0 auto;
  padding:10px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.logo{font-size:26px;font-weight:700;letter-spacing:1px}
.nav-links{
  list-style:none;
  display:flex;
  gap:18px;
  margin:0;
  padding:0;
  align-items:center;
}
.nav-links a,.nav-summary{
  color:var(--text);
  text-decoration:none;
  font-size:18px;
  font-weight:700;
  padding:8px 10px;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.nav-links a.active{
  background:rgba(255,255,255,.08);
  border-radius:6px;
}

/* Dropdown (details) */
details.dropdown{position:relative}
details.dropdown summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
}
details.dropdown summary::-webkit-details-marker{display:none}

.dropdown-box{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  min-width:160px;
  background:var(--panel);
  border-radius:12px;
  padding:8px 0;
  box-shadow:0 8px 20px rgba(0,0,0,.45);

  opacity:0;
  transform:translateY(-8px) scale(.96);
  visibility:hidden;
  transition:
    opacity .2s cubic-bezier(.2,.9,.4,1.1),
    transform .2s cubic-bezier(.2,.9,.4,1.1),
    visibility 0s linear .2s;
  pointer-events:none;
}
details.dropdown[open] .dropdown-box{
  opacity:1;
  transform:translateY(0) scale(1);
  visibility:visible;
  pointer-events:auto;
  transition-delay:0s;
}
.dropdown-box a{
  display:block;
  padding:8px 12px;
  color:var(--text);
  text-decoration:none;
  font-weight:600;
  transition:background .15s ease, padding-left .2s ease;
}
.dropdown-box a:hover{
  background:#333;
  padding-left:18px;
}

/* Hero */
.hero{
  background:url('gamea/gambarwelcome.jpg') center/cover no-repeat;
  height:300px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  margin-bottom:30px;
}
.hero h1{
  font-size:48px;
  margin:0;
  text-shadow:2px 2px 8px rgba(0,0,0,.6);
}

.container{max-width:1200px;margin:0 auto;padding:20px}
.page-title{
  text-align:center;
  font-size:28px;
  margin:8px 0 20px;
  font-weight:800;
}

.game-container{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:24px;
  align-items:start;
}
.game-card{
  background:rgba(20,20,20,.75);
  padding:12px;
  border-radius:14px;
  text-align:center;
  border:2px solid rgba(255,255,255,.12);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.game-card:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 30px rgba(0,0,0,.4);
  background:rgba(34,34,34,.8);
}
.game-card img{
  width:100%;
  height:160px;
  object-fit:cover;
  border-radius:10px;
  display:block;
  border:3px solid #fff;
}
.game-title{
  margin-top:10px;
  font-weight:700;
  font-size:16px;
  color:var(--muted);
}
.star{color:#ffd700;font-weight:800;display:inline-block;margin-top:6px}

/* Back link */
.back-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:10px 0 20px;
  padding:8px 16px;
  background:var(--panel-2);
  color:var(--text);
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  transition:background .2s ease, transform .15s ease;
}
.back-link:hover{background:#3a3a3a;transform:translateY(-1px)}

/* Game detail */
.game-detail{max-width:800px;margin:10px auto 60px}
.game-detail h1{font-size:32px;margin:0 0 10px}
.game-subtitle{
  font-size:18px;
  line-height:1.7;
  margin:0 0 18px;
  color:var(--muted);
}
.game-section{margin-top:18px}
.game-section h2{font-size:22px;margin:0 0 6px}
.game-section ul,.game-section ol{padding-left:20px;margin:0}
.game-section li{font-size:17px;line-height:1.8}
.rating-stars{color:#ffd700;font-size:18px;letter-spacing:2px}

/* Slider */
.media-slider{position:relative;max-width:800px;margin:0 auto 20px}
.slider-wrapper{position:relative;width:100%}
.media-slider .slide{display:none}
.media-slider .slide.active{display:block}
.media-slider video,
.media-slider .slide img{
  width:100%;
  height:320px;
  border-radius:10px;
  border:3px solid #fff;
  object-fit:cover;
  display:block;
}
.media-slider .slider-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:rgba(0,0,0,.7);
  color:#fff;
  border:none;
  width:36px;
  height:36px;
  border-radius:50%;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
.media-slider:hover .slider-btn{opacity:1;pointer-events:auto}
.media-slider .slider-btn.prev{left:-26px}
.media-slider .slider-btn.next{right:-26px}
@media (max-width:600px){
  .media-slider .slider-btn{width:30px;height:30px;font-size:18px}
  .media-slider .slider-btn.prev{left:-20px}
  .media-slider .slider-btn.next{right:-20px}
}

/* Footer */
.site-footer{
  background:#333;
  border-top:2px solid #4a4a4a;
  padding:16px 20px;
  text-align:center;
  flex-shrink:0;
  width:100%;
}

/* ===== ULASAN ===== */
body.ulasan-page{
  background: url('ulasan.png') center top / cover no-repeat fixed;
  min-height: 100vh;

}
.review-page{
  flex: 1;
  width: 100%;
  align-items:center;
  justify-content:flex-start;
  padding:60px 20px 80px;
}
.review-box{
  width:100%;
  max-width:700px;
  background:rgba(0,0,0,.45);
  backdrop-filter:blur(12px);
  border-radius:32px;
  padding:28px 32px;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 20px 35px -12px rgba(0,0,0,.5);
}
.review-box h2{
  text-align:center;
  margin:0 0 24px;
  font-size:28px;
  font-weight:700;
}

#comment-input{
  width:100%;
  min-height:110px;
  padding:16px 20px;
  border-radius:48px;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(0,0,0,.4);
  color:#fff;
  font-size:16px;
  line-height:1.5;
  resize:vertical;
  transition:.2s;
}
#comment-input:focus{
  outline:none;
  border-color:rgba(96,165,250,.8);
  background:rgba(0,0,0,.6);
  box-shadow:0 0 0 3px rgba(96,165,250,.2);
}

.btn-row{
  display:flex;
  gap:14px;
  margin-top:24px;
  justify-content:center;
  flex-wrap:wrap;
}
.btn-row button{
  border-radius:60px;
  padding:10px 24px;
  font-weight:600;
  font-size:14px;
  cursor:pointer;
  transition:.2s;
  border:none;
}
.btn-primary{
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;
  box-shadow:0 4px 12px rgba(34,197,94,.3);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(34,197,94,.4)}
.btn-secondary{
  background:transparent;
  border:1px solid rgba(255,255,255,.5);
  color:#fff;
}
.btn-secondary:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.8)}
.btn-danger{
  background:transparent;
  border:1px solid rgba(239,68,68,.6);
  color:#f87171;
}
.btn-danger:hover{background:rgba(239,68,68,.15);border-color:#f87171}

.comment-section{
  width:100%;
  max-width:900px;
  margin:48px auto 0;
  background:rgba(0,0,0,.35);
  backdrop-filter:blur(8px);
  border-radius:32px;
  padding:24px 28px;
  border:1px solid rgba(255,255,255,.12);
}
.comment-section h3{
  margin:0 0 20px;
  font-size:22px;
  text-align:center;
  font-weight:600;
}
.comment-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:20px;
}
.comment-card{
  background:rgba(15,23,42,.8);
  border-radius:20px;
  padding:16px;
  border:1px solid rgba(255,255,255,.1);
  transition:.15s;
}
.comment-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 25px -8px rgba(0,0,0,.4);
  background:rgba(15,23,42,.9);
}
.comment-text{font-size:15px;line-height:1.5;margin-bottom:14px;word-break:break-word;color:#e5e7eb}
.comment-actions{display:flex;gap:12px;justify-content:flex-end}
.comment-actions button{
  background:transparent;
  border:none;
  color:#9ca3af;
  font-size:14px;
  cursor:pointer;
  padding:4px 8px;
  border-radius:40px;
  transition:.15s;
}
.comment-actions button:hover{background:rgba(255,255,255,.1);color:#fff}
.comment-actions .edit-btn:hover{color:#60a5fa}
.comment-actions .delete-btn:hover{color:#f87171}
.empty-comments{text-align:center;color:rgba(255,255,255,.6);padding:40px 0;font-style:italic}

@media (max-width:600px){
  .review-box{padding:20px}
  .btn-row button{padding:8px 18px;font-size:12px}
  .comment-section{padding:16px}
  .comment-grid{grid-template-columns:1fr}
}

/* ===== PROFIL ===== */
.profile-box,.thanks-box{
  max-width:1200px;
  margin:50px auto;
  padding:24px 32px;
  background:rgba(42,42,42,.65);
  border-radius:12px;
  backdrop-filter:blur(12px);
}
.photo-row{
  display:flex;
  justify-content:space-around;
  gap:24px;
  margin-bottom:30px;
  flex-wrap:wrap;
}
.photo-card{text-align:center}
.photo-inner{
  position:relative;
  width:160px;
  height:160px;
  border-radius:12px;
  overflow:hidden;
  transition:.2s;
  cursor:pointer;
}
.photo-inner img{width:100%;height:100%;object-fit:cover}
.photo-overlay{
  position:absolute;inset:0;
  background:rgba(0,0,0,.7);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:10px;
  opacity:0;
  transform:translateY(8px);
  transition:.2s;
}

.photo-card:hover .photo-inner{transform:translateY(-6px) scale(1.03)}
.photo-card:hover .photo-overlay{opacity:1;transform:translateY(0)}
.photo-overlay a{color:#fff;text-decoration:none}
.photo-overlay a:hover{text-decoration:underline}

/* ===== MENU UTAMA ===== */
.dg-header{
  background:#333 !important;
  border-bottom:2px solid #4a4a4a !important;
  position:sticky !important;
  top:0 !important;
  z-index:99999 !important;
}

.dg-nav{
  max-width:1200px !important;
  margin:0 auto !important;
  padding:14px 20px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
}

.dg-logo{
  color:#fff !important;
  font-size:26px !important;
  font-weight:700 !important;
  letter-spacing:1px !important;
}

.dg-menu{
  position:relative !important;
}

.dg-menu summary{
  list-style:none !important;
  cursor:pointer !important;
}

.dg-menu summary::-webkit-details-marker{
  display:none !important;
}

.dg-toggle{
  width:44px !important;
  height:44px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#111 !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:10px !important;
  font-size:24px !important;
  font-weight:700 !important;
}

.dg-panel{
  position:absolute !important;
  top:52px !important;
  right:0 !important;
  width:240px !important;
  background:#000 !important;
  border-radius:12px !important;
  padding:8px 0 !important;
  box-shadow:0 10px 25px rgba(0,0,0,.55) !important;
  display:none !important;
  z-index:100000 !important;
}

.dg-menu[open] .dg-panel{
  display:block !important;
}

.dg-panel > a{
  display:block !important;
  color:#fff !important;
  text-decoration:none !important;
  padding:12px 16px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

.dg-panel > a:hover{
  background:#1d1d1d !important;
}

/* ===== DROPDOWN KATEGORI ===== */
.dg-cat{
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

.dg-cat summary{
  color:#fff !important;
  padding:12px 16px !important;
  font-weight:600 !important;
  cursor:pointer !important;
}

.dg-cat summary:hover{
  background:#1d1d1d !important;
}

.dg-cat-panel{
  display:none !important;
  background:#111 !important;
}

.dg-cat[open] .dg-cat-panel{
  display:block !important;
}

.dg-cat-panel a{
  display:block !important;
  color:#fff !important;
  text-decoration:none !important;
  padding:10px 28px !important;
  border-top:1px solid rgba(255,255,255,.06) !important;
}

.dg-cat-panel a:hover{
  background:#222 !important;
}

/* ===== SEARCH ===== */
.dg-search{
  padding:12px 16px !important;
  display:flex !important;
  gap:8px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}

.dg-search input{
  flex:1 !important;
  min-width:0 !important;
  padding:8px 10px !important;
  border:none !important;
  border-radius:6px !important;
  outline:none !important;
}

.dg-search button{
  padding:8px 12px !important;
  border:none !important;
  border-radius:6px !important;
  background:#333 !important;
  color:#fff !important;
  cursor:pointer !important;
}

.dg-search button:hover{
  background:#444 !important;
}

/* Optional: biar tombol Save/Cancel beda */
.comment-actions .save-btn:hover{color:#22c55e}
.comment-actions .cancel-btn:hover{color:#fbbf24}

/* ===== SEARCH BAR BARU (di sebelah toggle) ===== */
.dg-search-main {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 24px;
  backdrop-filter: blur(12px);
  transition: all .2s ease;
  max-width: 280px; /* Batasi lebar di desktop */
  flex-shrink: 0; /* Jangan mengecil paksa */
}

.dg-search-main:hover {
  background: rgba(255,255,255,.12);
  box-shadow: 0 4px 12px rgba(0,0,0,.2);
  transform: translateY(-1px);
}

.dg-search-main input {
  flex: 1;
  margin: 0;
  padding: 10px 14px;
  border: none;
  background: transparent;
  color: var(--text);
  font-size: 14px;
  outline: none;
}

.dg-search-main input::placeholder {
  color: rgba(255,255,255,.6);
}

.dg-search-main button {
  width: 36px;
  height: 36px;
  border: none;
  background: rgba(255,255,255,.15);
  color: #fff;
  border-radius: 50%;
  cursor: pointer;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .15s ease;
}

.dg-search-main button:hover {
  background: rgba(255,255,255,.25);
  transform: scale(1.05);
}

/* RESPONSIF: di mobile, search lebih kecil + icon aja */
@media (max-width: 768px) {
  .dg-search-main {
    max-width: 160px;
    padding: 6px 10px;
  }
  
  .dg-search-main input {
    padding: 8px 10px;
    font-size: 13px;
  }
}

@media (max-width: 480px) {
  .dg-search-main {
    max-width: 120px;
  }
  
  .dg-search-main input {
    display: none; /* Di mobile super kecil, icon search aja */
  }
  
  .dg-search-main button {
    width: 40px;
    height: 40px;
  }
}

/* Biar kanan jadi 1 grup: search nempel sama toggle */
.dg-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:8px;            /* ini jarak search <-> toggle (kecil) */
}

/* Opsional: kalau masih terasa jauh, kecilin lagi jadi 6px */
.dg-actions{ gap:6px; }

/* pastikan dg-nav hanya 2 item besar: logo dan actions */
.dg-nav{
  gap:12px !important; /* jarak logo <-> grup kanan */
}

/* ===== ADMIN ===== */
body.admin-page .admin-box{
  max-width:1200px;
  margin:24px auto;
  padding:20px 22px;
  background:rgba(42,42,42,.65);
  border-radius:12px;
  backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.12);
}

.admin-alert{
  max-width:1200px;
  margin:10px auto 0;
  padding:12px 14px;
  border-radius:10px;
  background:rgba(34,197,94,.15);
  border:1px solid rgba(34,197,94,.35);
}

.admin-form label{display:block;margin:10px 0;font-weight:600}
.admin-form input,
.admin-form select,
.admin-form textarea{
  width:100%;
  margin-top:6px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.35);
  color:#fff;
  outline:none;
}

.admin-grid-2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
@media (max-width:800px){
  .admin-grid-2{grid-template-columns:1fr}
}

.admin-actions{display:flex;gap:10px;margin-top:14px;align-items:center}
.admin-delete{margin-top:10px}

.admin-list{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.admin-item{
  background:rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  overflow:hidden;
}
.admin-item summary{cursor:pointer;padding:14px 14px;list-style:none}
.admin-item summary::-webkit-details-marker{display:none}

.admin-item-row{display:flex;justify-content:space-between;gap:12px;align-items:center}
.admin-item-left small{display:block;opacity:.8;margin-top:4px;font-weight:500}
.admin-edit-link{color:#fff;text-decoration:none;opacity:.9}
.admin-edit-link:hover{text-decoration:underline}

.admin-item-body{padding:14px;border-top:1px solid rgba(255,255,255,.08)}
.admin-preview img{
  width:220px;
  height:120px;
  object-fit:cover;
  border-radius:10px;
  border:2px solid #fff;
  display:block;
  margin-bottom:12px;
}
.dg-admin-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:44px;
  padding:0 14px;
  border-radius:10px;
  background:#111;
  color:#fff;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.18);
  font-weight:700;
}
.dg-admin-btn:hover{
  background:#1d1d1d;
}
/* ===== AUTH (Login & Register) ===== */
.auth-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
}

.auth-box {
  background: rgba(34, 34, 34, .65);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.12);
  border-top: 3px solid #fff;
  border-radius: 12px;
  padding: 40px;
  width: 100%;
  max-width: 420px;
}

.auth-box h2 {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 900;
  letter-spacing: 3px;
  margin: 0 0 24px;
}

.auth-box input {
  width: 100%;
  padding: 12px 16px;
  margin-bottom: 16px;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 6px;
  color: #fff;
  font-size: 0.95rem;
  outline: none;
  transition: border-color .2s;
}

.auth-box input:focus {
  border-color: #fff;
}

.auth-box input::placeholder {
  color: rgba(255,255,255,.4);
}

.auth-box button[type="submit"],
.auth-box button[type="button"] {
  width: 100%;
  padding: 13px;
  background: #fff;
  color: #111;
  border: none;
  border-radius: 6px;
  font-size: 0.95rem;
  font-weight: 900;
  letter-spacing: 3px;
  cursor: pointer;
  transition: background .2s;
  margin-top: 4px;
}

.auth-box button:hover {
  background: #ddd;
}

.auth-box .error {
  background: rgba(239,68,68,.15);
  border: 1px solid rgba(239,68,68,.5);
  color: #f87171;
  padding: 10px 14px;
  border-radius: 6px;
  font-size: 0.85rem;
  margin-bottom: 16px;
  text-align: center;
}

.auth-box .success {
  background: rgba(34,197,94,.15);
  border: 1px solid rgba(34,197,94,.4);
  color: #4ade80;
  padding: 10px 14px;
  border-radius: 6px;
  font-size: 0.85rem;
  margin-bottom: 16px;
  text-align: center;
}

.auth-box p {
  text-align: center;
  margin-top: 20px;
  color: rgba(255,255,255,.5);
  font-size: 0.85rem;
}

.auth-box p a {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 1px;
}

.auth-box p a:hover {
  text-decoration: underline;
}

/* Show/Hide password */
.input-password {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 16px;
}

.input-password input {
  margin-bottom: 0;
  padding-right: 55px;
}

.input-password span {
  position: absolute;
  right: 12px;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 1px;
  color: rgba(255,255,255,.4);
  user-select: none;
}

.input-password span:hover {
  color: #fff;
}
/* ===== NAVBAR AUTH ===== */
.nav-links .nav-auth {
  display: flex;
  align-items: center;
  gap: 10px;
}

.nav-links .nav-auth a {
  color: var(--text);
  text-decoration: none;
  font-size: 18px;
  font-weight: 700;
  padding: 8px 10px;
}

.nav-links .nav-auth a.btn-logout {
  background: rgba(239,68,68,.2);
  border: 1px solid rgba(239,68,68,.4);
  border-radius: 6px;
  color: #f87171;
  padding: 6px 14px;
  font-size: 14px;
  transition: background .2s;
}

.nav-links .nav-auth a.btn-logout:hover {
  background: rgba(239,68,68,.35);
}

.nav-links .nav-auth a.btn-login {
  background: #fff;
  color: #111;
  border-radius: 6px;
  padding: 6px 16px;
  font-size: 14px;
  transition: background .2s;
}

.nav-links .nav-auth a.btn-login:hover {
  background: #ddd;
}
/* ===== AUTH DI HAMBURGER MENU ===== */
.dg-panel a.btn-login {
  display: block !important;
  color: #fff !important;
  font-weight: 700 !important;
  padding: 12px 16px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.08) !important;
  text-decoration: none !important;
}

.dg-panel a.btn-login:hover {
  background: rgba(255,255,255,.18) !important;
}

.dg-panel a.btn-logout {
  display: block !important;
  color: #f87171 !important;
  font-weight: 700 !important;
  padding: 12px 16px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  text-decoration: none !important;
}
.dg-panel a.btn-logout:hover {
  background: rgba(239,68,68,.15) !important;
}
/* ===== IMAGE TAB ADMIN ===== */
.img-tab {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
}

.tab-btn {
    padding: 6px 14px;
    border: 1px solid #444;
    background: transparent;
    color: #aaa;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 1px;
    width: auto !important;
}

.tab-btn.active {
    background: #fff;
    color: #111;
    border-color: #fff;
}

.rating-ulasan-wrapper {
  margin-top: 40px;
}

.rating-card,
.komentar-card,
.ulasan-card {
  background: #2f2f2f;
  padding: 22px;
  border-radius: 14px;
  margin-bottom: 24px;
}

.rating-card h2,
.komentar-card h2,
.ulasan-card h2 {
  color: #fff;
  margin-bottom: 16px;
}

.rating-stars-input {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
}

.rating-stars-input button {
  background: transparent;
  border: none;
  color: #777;
  font-size: 34px;
  cursor: pointer;
  transition: 0.2s ease;
}

.rating-stars-input button:hover,
.rating-stars-input button.active {
  color: #ffd700;
  transform: scale(1.12);
}

#ratingBintangDinamis {
  color: #ffd700;
  letter-spacing: 3px;
}

#ratingAngkaDinamis {
  margin-left: 6px;
}

#jumlahRatingDinamis {
  margin-left: 6px;
  color: #ddd;
  font-size: 14px;
}

#ratingInfo {
  color: #ddd;
}

.komentar-card input,
.komentar-card textarea {
  width: 100%;
  padding: 12px;
  margin-bottom: 12px;
  background: #1f1f1f;
  color: #fff;
  border: 1px solid #555;
  border-radius: 8px;
  outline: none;
}

.komentar-card textarea {
  height: 110px;
  resize: vertical;
}

.komentar-card button {
  background: #00b050;
  color: #fff;
  border: none;
  padding: 10px 18px;
  border-radius: 8px;
  cursor: pointer;
  font-weight: bold;
}

.komentar-card button:hover {
  background: #009344;
}

.ulasan-box {
  background: #1f1f1f;
  border-left: 4px solid #00b050;
  padding: 15px;
  border-radius: 10px;
  margin-bottom: 12px;
}

.ulasan-box strong {
  display: block;
  color: #fff;
  margin-bottom: 6px;
}

.ulasan-box p {
  color: #ddd;
  margin-bottom: 6px;
}

.ulasan-box small {
  color: #aaa;
}

.comment-card {
  background: #111827;
  color: #fff;
  padding: 18px;
  border-radius: 14px;
  margin-bottom: 14px;
  border-left: 4px solid #00b050;
}

.comment-game {
  font-weight: bold;
  color: #22c55e;
  margin-bottom: 6px;
}

.comment-name {
  font-weight: bold;
  margin-bottom: 8px;
}

.comment-content {
  color: #e5e7eb;
  margin-bottom: 10px;
  line-height: 1.5;
}

.comment-time {
  color: #9ca3af;
  font-size: 13px;
}

.toggle-more-comments {
  display: block;
  margin: 18px auto 0;
  padding: 10px 18px;
  background: #22c55e;
  color: white;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  font-weight: bold;
}

.toggle-more-comments:hover {
  background: #16a34a;
}

.comment-actions {
  margin-top: 12px;
  display: flex;
  gap: 10px;
}

.comment-actions button {
  padding: 6px 12px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
}

.edit-btn {
  background: #374151;
  color: white;
}

.delete-btn {
  background: #dc2626;
  color: white;
}

#commentList {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.comment-card {
  width: 100%;
}

.toggle-more-comments {
  grid-column: 1 / -1;
  display: block;
  margin: 10px auto 0;
  padding: 10px 22px;
  background: #22c55e;
  color: #fff;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  font-weight: bold;
}

.toggle-more-comments:hover {
  background: #16a34a;
}

@media (max-width: 768px) {
  #commentList {
    grid-template-columns: 1fr;
  }
}

.review-form-box input,
.review-form-box textarea {
  width: 100%;
  padding: 14px;
  margin-bottom: 12px;
  background: #111;
  color: #fff;
  border: 1px solid #444;
  border-radius: 12px;
  outline: none;
}

.review-form-box textarea {
  min-height: 90px;
  resize: vertical;
}

.comment-section {
  max-width: 760px;
  margin: 40px auto;
  padding: 24px;
  border-radius: 20px;
  background: rgba(20, 20, 20, 0.55);
  backdrop-filter: blur(8px);
}

.comment-section h2 {
  text-align: center;
  color: white;
  margin-bottom: 15px;
}

.toggle-more-comments {
  display: none;
  margin: 0 auto 18px;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: #22c55e;
  color: white;
  font-size: 24px;
  font-weight: bold;
  cursor: pointer;
}

.toggle-more-comments:hover {
  background: #16a34a;
}

#commentList {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.comment-card {
  background: #111827;
  color: #fff;
  padding: 18px;
  border-radius: 14px;
  border-left: 4px solid #22c55e;
}

.comment-game {
  font-weight: bold;
  color: #22c55e;
  margin-bottom: 8px;
}

.comment-name {
  font-weight: bold;
  color: #fff;
  margin-bottom: 10px;
}

.comment-content {
  color: #e5e7eb;
  margin-bottom: 10px;
  line-height: 1.5;
}

.comment-time {
  color: #9ca3af;
  font-size: 13px;
}

.comment-actions {
  margin-top: 12px;
  display: flex;
  gap: 10px;
}

.comment-actions button {
  padding: 6px 12px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
}

.edit-btn {
  background: #374151;
  color: white;
}

.delete-btn {
  background: #dc2626;
  color: white;
}

.empty-comments {
  grid-column: 1 / -1;
  text-align: center;
  color: #ddd;
}

@media (max-width: 768px) {
  #commentList {
    grid-template-columns: 1fr;
  }
}

/* Samakan tampilan kolom nama dengan kolom ulasan */
.review-box input#comment-name,
.review-box textarea#comment-input {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 16px 20px !important;
  margin-bottom: 14px !important;
  border-radius: 48px !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  background: rgba(0,0,0,.4) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-family: inherit !important;
  outline: none !important;
}

.review-box input#comment-name {
  height: 54px !important;
}

.review-box textarea#comment-input {
  min-height: 110px !important;
  resize: vertical !important;
  line-height: 1.5 !important;
}

.review-box input#comment-name::placeholder,
.review-box textarea#comment-input::placeholder {
  color: rgba(255,255,255,.55) !important;
}

.review-box input#comment-name:focus,
.review-box textarea#comment-input:focus {
  border-color: rgba(34,197,94,.8) !important;
  background: rgba(0,0,0,.55) !important;
  box-shadow: 0 0 0 3px rgba(34,197,94,.18) !important;
}

/* ===== TAMBAHAN PENTING ADMIN ===== */
.admin-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:18px 0 16px;
}
.admin-stat-card{
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:16px;
  text-align:center;
}
.admin-stat-card span{
  display:block;
  font-size:13px;
  opacity:.8;
  margin-bottom:6px;
}
.admin-stat-card strong{
  display:block;
  font-size:28px;
  color:#fff;
}
.admin-filter-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:16px 0;
  flex-wrap:wrap;
}
#adminSearch{
  min-width:260px;
  flex:1;
  padding:11px 14px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.35);
  color:#fff;
  outline:none;
}
.admin-filter-buttons{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.filter-btn{
  padding:10px 14px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.35);
  color:#fff;
  cursor:pointer;
  font-weight:600;
}
.filter-btn.active,
.filter-btn:hover{
  background:#22c55e;
  border-color:#22c55e;
}
.admin-empty{
  text-align:center;
  opacity:.8;
  margin:16px 0;
}
.admin-item-right{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.btn-detail{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 10px;
  border-radius:6px;
  text-decoration:none;
  font-size:13px;
}
.profile-box{
  max-width:700px;
  margin:30px auto;
  padding:24px;
  background:rgba(42,42,42,.65);
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
}
.profile-info{
  background:rgba(0,0,0,.28);
  border-radius:12px;
  padding:18px;
  line-height:1.9;
}
.profile-info p{
  margin:6px 0;
}
@media (max-width:800px){
  .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .admin-filter-box{align-items:stretch;}
  #adminSearch{min-width:100%;}
}
@media (max-width:520px){
  .admin-stats{grid-template-columns:1fr;}
  .admin-item-row{align-items:flex-start;flex-direction:column;}
  .admin-item-right{justify-content:flex-start;}
}

.game-rating {
  margin: 8px 0 6px;
  font-size: 14px;
  font-weight: 700;
  color: #facc15;
  text-align: center;
}

.game-rating span {
  color: #ddd;
  font-size: 12px;
  font-weight: 500;
}

/* ===== RATING DETAIL GAME ===== */

.rating-card {
  margin-top: 24px;
  padding: 20px;
  border-radius: 16px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.rating-card h2 {
  margin-bottom: 12px;
  color: #fff;
}

.rating-stars-input {
  display: flex;
  gap: 8px;
  margin: 12px 0;
}

.rating-stars-input button {
  border: none;
  background: transparent;
  color: #777;
  font-size: 34px;
  cursor: pointer;
  transition: 0.2s;
}

.rating-stars-input button:hover,
.rating-stars-input button.active {
  color: #facc15;
  transform: scale(1.08);
}

.rating-stars-input button.disabled {
  cursor: not-allowed;
  opacity: 0.8;
}

/* ===== RATING DI BERANDA & KATEGORI ===== */

.game-rating {
  margin: 8px 0 6px;
  font-size: 14px;
  font-weight: 700;
  color: #facc15;
  text-align: center;
}

.game-rating span {
  color: #ddd;
  font-size: 12px;
  font-weight: 500;
}
/* ===== GAME CONTAINER RESPONSIVE ===== */
.game-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
    width: 100%;
    padding: 20px 0;
}
body.kategori {
  background: url('utama.png') center top / cover no-repeat scroll;
  background-color: #1a1a1a;
}
/* ===== MOBILE RESPONSIVE FIX ===== */
@media (max-width: 600px) {

  /* Navbar: logo lebih kecil biar tidak berebut ruang */
  .dg-logo {
    font-size: 16px !important;
    letter-spacing: 0 !important;
  }

  .dg-nav {
    padding: 10px 12px !important;
    gap: 8px !important;
  }

  /* Admin navbar: tombol-tombol jadi lebih kecil dan bisa wrap */
  .dg-actions {
    flex-wrap: wrap;
    gap: 4px;
    justify-content: flex-end;
  }

  .dg-admin-btn {
    height: 36px !important;
    padding: 0 10px !important;
    font-size: 13px !important;
    border-radius: 8px !important;
  }

  /* Search bar: input hidden, icon saja */
  .dg-search-main {
    max-width: unset !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
  }

  .dg-search-main input {
    display: none !important;
  }

  .dg-search-main button {
    width: 36px !important;
    height: 36px !important;
  }

  /* Hero: judul tidak overflow */
  .hero h1 {
    font-size: 28px;
    padding: 0 12px;
  }

  .hero {
    height: 200px;
  }

  /* Container: kurangi padding samping */
  .container {
    padding: 12px;
  }

  /* Game grid: 2 kolom fix di mobile */
  .game-container {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    padding: 12px 0 !important;
  }

  .game-card img {
    height: 110px;
  }

  .game-title {
    font-size: 13px;
  }

  /* Page title */
  .page-title {
    font-size: 20px;
  }
}

/* ===== SCROLL SMOOTHNESS ===== */
@media (max-width: 768px) {

  /* Biar smothhhhhh bagian game card*/
  .game-card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(20,20,20,0.92) !important;
  }

  /* bisa scroll smoooooth*/
  body.ulasan-page {
    background-attachment: scroll !important;
  }

  /* moree smooth */
  .dg-header {
    will-change: transform;
  }
}