@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@400;600;700;800&display=swap');

:root{
  --bg:#ece8e8;
  --card:#f6f3f3;
  --text:#171717;
  --muted:#666270;
  --primary:#163a90;
  --light:#ebe5e5;
  --border:#d8d2d2;
  --shadow:0 10px 30px rgba(0,0,0,.06);
  --radius:24px;
  --green:#e4f2e3;
  --green-text:#1f8b46;
  --danger:#ffe3e3;
  --danger-text:#b91c1c;
  --success:#e7f8ea;
  --success-text:#18794e;
}
*{box-sizing:border-box}
html,body{
  margin:0;
  padding:0;
  background-color:#f0f6ff;
  color:var(--text);
  position:relative;
  z-index:0;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  background:url('../bk.jpg') center top / cover no-repeat;
  opacity:0.1; 
  z-index:-1;
}
body{font-family:'Cairo',Arial,sans-serif}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1280px,calc(100% - 32px));margin:auto}

.site-header{padding:16px 0}
.header-shell{
background: #1f9492;
background: linear-gradient(90deg, rgba(31, 148, 146, 0.31) 0%, rgba(97, 139, 207, 1) 100%);
  border:1px solid rgba(255,255,255,.7);
  border-radius:32px;
  padding:18px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  box-shadow:var(--shadow)
}
.logo-box{
  width:120px;
  min-width:120px;
  background:#fff;
  border-radius:22px;
  padding:8px
}
.logo-box img{width:100%;height:auto}
.main-nav{
  display:flex;
  align-items:center;
  gap:14px;
  flex:1;
  justify-content:center;
  flex-wrap:wrap
}
.nav-btn,.lang-btn,.more-btn,.view-btn,.copy-btn,.logout-btn,.admin-form button,.filter-form button,.page-link,.search-bar button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  padding:14px 22px;
  background:var(--light);
  color:#222;
  border:1px solid transparent;
  font-weight:700;
  transition:.25s ease;
  cursor:pointer
}
.nav-btn:hover,.lang-btn:hover,.more-btn:hover,.view-btn:hover,.copy-btn:hover,.logout-btn:hover,.admin-form button:hover,.filter-form button:hover,.page-link:hover,.search-bar button:hover{
  transform:translateY(-1px)
}
.lang-switch{display:flex;gap:10px}
.lang-btn.active,.more-btn,.logout-btn,.admin-form button,.filter-form button,.search-bar button{
  background:var(--primary);
  color:#fff
}
.dropdown{position:relative}
.dropdown-menu{
  position:absolute;
  top:100%;
  inset-inline-start:0;
  min-width:260px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:10px;
  box-shadow:var(--shadow);
  display:none;
  z-index:50
}
.dropdown:hover .dropdown-menu{display:block}
.dropdown-menu a{
  display:block;
  padding:5px 14px;
  border-radius:12px
}
.dropdown-menu a:hover{background:#f3efef}

.hero-section,.page-hero,.game-page{padding:10px 0 24px}
.hero-card,.game-page-card,.admin-card{
  background:rgba(255,255,255,.75);
  border:1px solid rgba(255,255,255,.95);
  border-radius:34px;
  box-shadow:var(--shadow);
  padding:34px
}
.hero-card h1{
  margin:0 0 10px;
  font-size:clamp(34px,5vw,68px);
  line-height:1.1;
  text-align:center;
  font-weight:800
}
.hero-card p{
  margin:0;
  text-align:center;
  color:var(--muted);
  font-size:clamp(16px,2vw,28px)
}
.search-bar{
  display:flex;
  gap:12px;
  margin:22px auto 0;
  max-width:760px
}
.search-bar input{
  flex:1;
  border:1px solid var(--border);
  background:#fff;
  border-radius:18px;
  padding:16px 18px;
  font:inherit
}

.home-categories,.category-page{padding:8px 0 36px}
.category-block{
  background:#dfe4ee;
  border:2px dashed #4b76f7;
  border-radius:28px;
  padding:22px;
  margin-bottom:28px
}
.section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px
}
.section-head h2{margin:0;font-size:32px}

.games-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px
}
.game-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow)
}
.game-thumb{
  display:block;
  aspect-ratio:4/3;
  overflow:hidden
}
.game-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.35s ease
}
.game-card:hover .game-thumb img{transform:scale(1.04)}
.game-card h3,.game-card h2{
  margin:0;
  padding:16px;
  font-size:20px;
  line-height:1.4
}

.game-main-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px
}
.game-main-head h1{margin:8px 0 0;font-size:42px}
.game-page-thumb{
  width:220px;
  border-radius:24px;
  border:1px solid var(--border)
}
.bread{
  display:flex;
  gap:8px;
  color:var(--muted);
  font-size:15px;
  flex-wrap:wrap
}
.game-frame-wrap{
  background:#dfe4ee;
  border:2px dashed #4b76f7;
  border-radius:24px;
  padding:18px;
  margin-bottom:24px;
  overflow:auto
}
.game-frame-wrap iframe{
  width:100%;
  min-height:600px;
  border:0;
  border-radius:16px;
  background:#fff
}
.game-info-grid{
  display:grid;
  grid-template-columns:1.4fr .9fr;
  gap:20px
}
.info-box,.seo-keywords-box{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:24px;
  padding:22px
}
.info-box h2,.seo-keywords-box h2{margin:0 0 10px;font-size:24px}
.info-box p,.seo-keywords-box p{margin:0 0 18px;color:#3b3b3b;line-height:1.9}
.seo-keywords-box{margin-top:20px}
.related-games{margin-top:24px}

.pagination{
  display:flex;
  gap:10px;
  justify-content:center;
  margin-top:24px;
  flex-wrap:wrap
}
.page-link.active{background:var(--primary);color:#fff}

.site-footer{padding:10px 0 28px}
.footer-shell{
  background:rgba(255,255,255,.45);
  border:1px solid rgba(255,255,255,.65);
  border-radius:34px;
  box-shadow:var(--shadow);
  padding:30px
}
.footer-desc h2{margin:0 0 10px}
.footer-desc p{margin:0 0 20px;line-height:1.9;color:var(--muted)}
.footer-links{margin-bottom:18px}

.admin-body{background:var(--bg)}
.admin-wrap{width:min(1400px,calc(100% - 30px));margin:24px auto}
.admin-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:20px
}
.admin-topbar h1{margin:0;font-size:36px}
.admin-tabs{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:20px
}
.admin-tabs a{
  padding:12px 18px;
  border-radius:16px;
  background:#ebe5e5;
  font-weight:700
}
.admin-tabs a.active{
  background:var(--primary);
  color:#fff
}
.admin-grid{
  display:grid;
  grid-template-columns:420px 1fr;
  gap:20px;
  margin-bottom:20px
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  margin-bottom:20px
}
.stat-card{
  background:#fff;
  border-radius:24px;
  padding:24px;
  box-shadow:var(--shadow);
  text-align:center
}
.stat-card strong{
  display:block;
  font-size:34px;
  margin-bottom:8px
}
.stat-card span{
  color:var(--muted);
  font-weight:700
}
.admin-form{
  display:grid;
  gap:12px
}
.admin-form label{
  font-weight:700;
  margin-top:4px
}
.admin-form input[type="text"],
.admin-form input[type="password"],
.admin-form input[type="number"],
.admin-form input[type="date"],
.admin-form select,
.admin-form textarea,
.filter-form select,
.filter-form input[type="date"]{
  width:100%;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
  font:inherit
}
.check-row{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:4px
}
.two-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px
}
.three-cols{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px
}
.table-wrap{overflow:auto}
.admin-table{
  width:100%;
  border-collapse:collapse;
  min-width:1000px
}
.admin-table th,.admin-table td{
  padding:14px 12px;
  border-bottom:1px solid var(--border);
  vertical-align:top;
  text-align:start
}
.admin-thumb{
  width:90px;
  height:70px;
  object-fit:cover;
  border-radius:12px
}
.url-actions{
  display:flex;
  gap:8px;
  align-items:center;
  min-width:360px
}
.url-actions input{
  flex:1;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid var(--border)
}
.copy-btn,.view-btn{
  padding:10px 16px;
  background:#e9e4e4;
  border:1px solid var(--border)
}
.view-btn{background:var(--green);color:var(--green-text)}
.filter-form{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  margin-bottom:16px
}
.admin-login-card{
  width:min(430px,calc(100% - 30px));
  margin:80px auto;
  background:#fff;
  border-radius:30px;
  padding:28px;
  box-shadow:var(--shadow);
  text-align:center
}
.admin-login-card img{
  width:110px;
  margin:0 auto 14px
}
.admin-login-card h1{margin:0 0 16px}
.admin-login-card form{
  display:grid;
  gap:12px
}
.admin-login-card input,.admin-login-card button{
  width:100%;
  padding:14px 16px;
  border-radius:16px;
  border:1px solid var(--border);
  font:inherit
}
.admin-login-card button{
  background:var(--primary);
  color:#fff;
  border:none;
  font-weight:700;
  cursor:pointer
}
.alert{
  border-radius:16px;
  padding:12px 16px;
  margin-bottom:12px;
  font-weight:700
}
.alert.error{
  background:var(--danger);
  color:var(--danger-text)
}
.alert.success{
  background:var(--success);
  color:var(--success-text)
}
.helper-text{
  margin-top:14px;
  color:var(--muted)
}

@media (max-width:1200px){
  .stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1100px){
  .games-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-grid{grid-template-columns:1fr}
}
@media (max-width:800px){
  .header-shell{flex-direction:column}
  .main-nav{justify-content:center}
  .games-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .game-main-head{flex-direction:column}
  .game-info-grid{grid-template-columns:1fr}
  .search-bar{flex-direction:column}
  .three-cols{grid-template-columns:1fr}
}
@media (max-width:520px){
  .games-grid{grid-template-columns:1fr}
  .hero-card,.game-page-card,.admin-card,.footer-shell{padding:22px}
  .hero-card h1{font-size:34px}
  .stats-grid{grid-template-columns:1fr}
}
.nav-btn{    font-family: 'Cairo', Arial, sans-serif;}