/* =========================
   Game Page (column-only)
   يعتمد على base.css للمتغيرات والمشتركات
   ========================= */

/* Section & stack */
.game-section{padding:1.5rem 0}
.stack{display:grid;gap:1rem}

/* ===== Player card ===== */
.game-container{
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0));
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r);
  box-shadow:var(--shadow);
  padding:1rem;
}

/* Wrapper بأبعاد محجوزة لتجنّب أي قفزة */
.game-wrapper{
  position:relative;width:100%;
  aspect-ratio:16/9;      /* مساحة محجوزة تمنع CLS */
  min-height:500px;       /* تأمين للشاشات القصيرة */
  border-radius:var(--r);
  overflow:hidden;
  background:#000;
  outline:1px solid rgba(255,255,255,.06);
  outline-offset:-1px;
}
.game-iframe{width:100%;height:100%;border:none}

/* Overlay ثابت الأبعاد (لا يغيّر الحجز) */
.game-overlay{
  position:absolute;inset:0;
  background:radial-gradient(120% 120% at 50% 50%,rgba(0,0,0,.76) 0%,rgba(0,0,0,.85) 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;
  z-index:10;
}
.game-thumbnail-preview{
  width:400px;height:200px; /* أبعاد ثابتة */
  border-radius:var(--r);overflow:hidden;
  border:2px solid rgba(255,255,255,.08);
  box-shadow:0 8px 32px rgba(0,0,0,.4);
}
.thumbnail-preview{width:100%;height:100%;object-fit:cover;display:block}

/* زر التشغيل – لون بتباين أعلى (WCAG AA) */
.play-button{
  background:#4f46e5;      /* كان #6366f1، الآن تباينه أعلى مع الأبيض */
  color:#ffffff;
  padding:1rem 2rem;border:none;border-radius:var(--r);
  font-size:1.1rem;font-weight:600;cursor:pointer;
  display:flex;align-items:center;gap:.5rem;
  box-shadow:0 10px 24px rgba(67,56,202,.35);
  transition:transform .2s var(--ease),background-color .2s var(--ease);
}
.play-button:hover{background:#4338ca;transform:translateY(-2px) scale(1.02)}
.play-icon{width:24px;height:24px}
.hidden{display:none!important}

/* ===== Controls ===== */
.game-controls{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;
  border-radius:var(--r);
  padding:.5rem;
}
.control-btn{
  background:transparent;color:var(--text-2);
  border:1px solid rgba(255,255,255,.1);
  padding:.75rem 1.25rem;border-radius:var(--r);
  font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;justify-content:center;
  min-height:44px;min-width:120px; /* حجز مساحة = لا CLS */
  transition:transform .15s ease,background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);
}
.control-btn:hover{background:rgba(99,102,241,.12);color:#fff;border-color:rgba(99,102,241,.5);transform:translateY(-1px)}
.control-icon{width:16px;height:16px}

/* ===== Details / Meta ===== */
.game-header{
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0));
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r);
  padding:1rem 1.25rem;
  box-shadow:var(--shadow);
  margin-top:.7rem;
}
.game-info{display:grid;gap:.5rem}

/* حجز ارتفاعات لطيف يمنع القفز، مع قصّ الأسطر */
.game-title{
  font-size:clamp(2rem,2vw + 1rem,2.5rem);
  font-weight:800;line-height:1.2;
  text-shadow:0 1px 0 rgba(0,0,0,.2);
  min-height:48px;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}
.game-subtitle{
  color:var(--text-2);font-size:1.05rem;
  min-height:28px;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}
/* روابط داخل السطر الثانوي – ألوان بتباين أعلى */
.game-subtitle a{
  color:#6d72ff;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color .2s var(--ease),color .2s var(--ease);
}
.game-subtitle a:hover{border-bottom-color:var(--primary);color:#a5b4ff}

.game-meta{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;min-height:40px}

/* شارة التصنيف – خلفية صلبة لتباين ثابت */
.game-category{
  background:#4338ca !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,0.18);
  padding:.35rem .75rem;border-radius:999px;
  font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;
}
.game-plays{color:var(--text-3);font-size:.9rem}

.game-description{
  color:var(--text-2);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  min-height:72px; /* ~3 أسطر */
}

/* ===== Loading / Error ===== */
.game-loading{
  display:flex;align-items:center;justify-content:center;gap:1rem;
  min-height:300px;color:var(--text-2);
}
.spinner{
  width:24px;height:24px;border:3px solid var(--border);
  border-top:3px solid var(--primary);
  border-radius:50%;animation:spin 1s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

.error-state{text-align:center;padding:4rem 1rem;min-height:300px;display:flex;align-items:center}
.error-content{max-width:560px;margin:0 auto}
.error-content h2{font-size:2rem;color:var(--error);margin-bottom:1rem}
.error-content p{color:var(--text-2);margin-bottom:1.5rem;font-size:1.05rem}

/* ===== Responsive ===== */
@media (max-width:768px){
  .container{padding:0 1rem}
  .game-wrapper{aspect-ratio:4/3}
  .game-thumbnail-preview{width:320px;height:180px}
}
@media (max-width:480px){
  .game-thumbnail-preview{width:280px;height:160px}
  .control-btn{min-width:110px}
}

/* ===== Reduced motion ===== */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
