/* Unelma Games - modern dark theme layer.
 * Loaded after the legacy stylesheets; overrides them where they clash.
 * Palette matches the Unelma Originals game shell (games/_ug). */

:root{
	--ug-bg:#0d1020;
	--ug-bg-2:#1c2350;
	--ug-surface:rgba(255,255,255,.06);
	--ug-surface-2:rgba(255,255,255,.1);
	--ug-border:rgba(255,255,255,.09);
	--ug-text:#eef1ff;
	--ug-text-dim:rgba(238,241,255,.62);
	--ug-accent:#7c8cff;
	--ug-accent-2:#8a5cff;
	--ug-gold:#ffd166;
	--ug-radius:14px;
}

html{background:var(--ug-bg)}
body{
	background:var(--ug-bg) radial-gradient(ellipse at 50% -10%,var(--ug-bg-2) 0%,var(--ug-bg) 55%) fixed;
	color:var(--ug-text);
	font-family:'Segoe UI',system-ui,-apple-system,Roboto,sans-serif;
}
a{color:var(--ug-accent)}
a:hover{color:#aab4ff;text-decoration:none}

/* ---------- top navigation ---------- */
.top-nav{
	background:rgba(13,16,32,.82);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
	border-bottom:1px solid var(--ug-border);
	padding:10px 0;
	position:sticky;top:0;z-index:1030;
}
.top-nav .navbar-toggler{border-color:var(--ug-border);color:var(--ug-text)}
.top-nav .site-logo{max-height:38px}
.top-nav .nav-link{color:var(--ug-text-dim);font-size:14px;font-weight:600;text-transform:none;letter-spacing:0}
.top-nav .nav-link:hover,.top-nav .nav-link:focus{color:#fff}
.search-bar .form-control{
	background:var(--ug-surface);border:1px solid var(--ug-border);
	color:var(--ug-text);border-radius:20px 0 0 20px;font-size:14px;height:38px;
}
.search-bar .form-control::placeholder{color:var(--ug-text-dim)}
.search-bar .form-control:focus{background:var(--ug-surface-2);border-color:var(--ug-accent);box-shadow:none;color:#fff}
.search-bar .btn,.search-bar .btn-secondary{
	background:var(--ug-surface);border:1px solid var(--ug-border);border-left:none;
	border-radius:0 20px 20px 0;color:var(--ug-accent);height:38px;
}
.search-bar .btn:hover{background:var(--ug-surface-2);color:#fff}
.user-avatar img{border-radius:50%;border:2px solid var(--ug-accent)}
.user-links{
	background:#181d3f;border:1px solid var(--ug-border);border-radius:12px;
	box-shadow:0 12px 30px rgba(0,0,0,.5);
}
.user-links li:hover{background:var(--ug-surface-2)}
.user-links a{color:var(--ug-text)}
.user-links .label-xp{color:var(--ug-gold)}

/* ---------- category chips ---------- */
.nav-categories{
	background:rgba(13,16,32,.65);
	border-bottom:1px solid var(--ug-border);
	padding:8px 0;
}
nav.greedy{display:flex;align-items:center}
nav.greedy ul.links{
	display:flex;gap:8px;flex-wrap:nowrap;overflow:hidden;
	list-style:none;margin:0;padding:0;
}
nav.greedy ul.links a li{
	display:inline-block;white-space:nowrap;
	background:var(--ug-surface);border:1px solid var(--ug-border);
	color:var(--ug-text-dim);font-size:13px;font-weight:600;
	padding:6px 14px;border-radius:20px;
	transition:all .15s;
}
nav.greedy ul.links a li:hover{background:var(--ug-accent);border-color:var(--ug-accent);color:#fff}
nav.greedy button{
	background:var(--ug-surface);border:1px solid var(--ug-border);color:var(--ug-text);
	border-radius:20px;font-size:13px;font-weight:700;padding:6px 14px;margin-left:auto;
}
nav.greedy ul.hidden-links{
	background:#181d3f;border:1px solid var(--ug-border);border-radius:12px;
	box-shadow:0 12px 30px rgba(0,0,0,.5);list-style:none;padding:6px;
	position:absolute;right:0;top:100%;z-index:1040;
}
nav.greedy ul.hidden-links a li{display:block;padding:8px 16px;border-radius:8px;background:none;border:none;color:var(--ug-text)}
nav.greedy ul.hidden-links a li:hover{background:var(--ug-surface-2)}

/* ---------- hero ---------- */
.ug-hero{
	padding:44px 0 26px;text-align:center;
}
.ug-hero h1{
	font-size:clamp(28px,4.5vw,46px);font-weight:800;letter-spacing:-.5px;
	background:linear-gradient(135deg,#fff 30%,var(--ug-accent));
	-webkit-background-clip:text;background-clip:text;
	-webkit-text-fill-color:transparent;color:transparent;
	margin-bottom:10px;
}
.ug-hero p{color:var(--ug-text-dim);font-size:clamp(14px,2vw,17px);max-width:560px;margin:0 auto 22px}
.ug-hero .hero-cta{
	display:inline-block;
	background:linear-gradient(135deg,#5a6cff,#8a5cff);color:#fff;
	font-weight:700;font-size:15px;padding:12px 30px;border-radius:12px;
	box-shadow:0 4px 18px rgba(90,108,255,.35);transition:all .15s;
}
.ug-hero .hero-cta:hover{transform:translateY(-2px);filter:brightness(1.1);color:#fff}
.ug-hero .hero-stats{display:flex;gap:26px;justify-content:center;margin-top:22px;flex-wrap:wrap}
.ug-hero .hero-stats .stat b{display:block;font-size:22px;color:var(--ug-gold)}
.ug-hero .hero-stats .stat span{font-size:12px;color:var(--ug-text-dim)}

/* ---------- sections & cards ---------- */
.item-title{
	font-size:17px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;
	color:var(--ug-text);margin:34px 0 16px;display:flex;align-items:center;gap:10px;
}
.item-title .fa{color:var(--ug-accent);font-size:19px}
.item-title .badge-originals{
	background:linear-gradient(135deg,#5a6cff,#8a5cff);color:#fff;
	font-size:10px;letter-spacing:1px;padding:4px 10px;border-radius:10px;font-weight:800;
}
.item-title .view-all{margin-left:auto;font-size:13px;font-weight:600;color:var(--ug-accent);text-transform:none;letter-spacing:0}

.item-grid{margin-bottom:20px}
.item-grid>a{display:block;text-decoration:none}
.gcard{display:block}
.gcard .list-thumbnail{
	border-radius:var(--ug-radius);overflow:hidden;
	border:1px solid var(--ug-border);
	background:var(--ug-surface);
	aspect-ratio:1/1;
	transition:transform .18s,box-shadow .18s,border-color .18s;
}
.gcard .list-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}
.gcard:hover .list-thumbnail{
	transform:translateY(-4px) scale(1.02);
	border-color:var(--ug-accent);
	box-shadow:0 12px 28px rgba(0,0,0,.45),0 0 0 1px var(--ug-accent);
}
.gcard .list-content{padding:8px 4px 0}
.gcard .list-title{
	font-size:13px;font-weight:600;color:var(--ug-text);
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;
}
.gcard:hover .list-title{color:var(--ug-accent)}
/* hide legacy star-rating bitmap rows in cards */
.list-content .star-rating{display:none}

/* ---------- game page ---------- */
.game-iframe-container{
	border-radius:var(--ug-radius);overflow:hidden;
	border:1px solid var(--ug-border);
	background:#000;
	box-shadow:0 14px 40px rgba(0,0,0,.45);
	margin-bottom:18px;
}
.game-iframe{display:block;width:100%}
.single-info-container{
	background:var(--ug-surface);border:1px solid var(--ug-border);
	border-radius:var(--ug-radius);padding:14px 18px;
	display:flex;flex-wrap:wrap;gap:12px;align-items:center;
	margin-bottom:18px;
}
.single-title{font-size:22px;font-weight:800;color:var(--ug-text);margin:0}
.header-left p{color:var(--ug-text-dim);font-size:13px;margin:4px 0 0}
.header-right{margin-left:auto}
.stats-vote{display:flex;align-items:center;gap:10px}
.stats-vote .txt-stats{color:var(--ug-text-dim);font-size:13px}
.stats-vote .icon-vote{
	cursor:pointer;font-size:20px;color:var(--ug-text-dim);transition:color .15s;
}
.stats-vote .icon-vote:hover{color:var(--ug-accent)}
.stats-vote .text-success{color:#4ce084}
.action-btn{display:flex;gap:14px;flex-wrap:wrap;width:100%;border-top:1px solid var(--ug-border);padding-top:12px}
.action-btn .single-icon,.action-btn .social-share{display:inline-flex;align-items:center;gap:6px;font-size:13px}
.action-btn .single-icon .fa{color:var(--ug-accent);font-size:15px}
.action-btn a{color:var(--ug-text-dim)}
.action-btn a:hover{color:#fff}
.action-btn .social-icon{width:22px;height:22px;border-radius:6px}
.single-description,.single-instructions,.cat-list{color:var(--ug-text-dim);font-size:14px;line-height:1.65}
.cat-link{
	display:inline-block;background:var(--ug-surface);border:1px solid var(--ug-border);
	color:var(--ug-text-dim);font-size:12px;font-weight:600;
	padding:4px 12px;border-radius:16px;margin:0 6px 6px 0;
}
.cat-link:hover{background:var(--ug-accent);color:#fff;border-color:var(--ug-accent)}
.game-content b{color:var(--ug-text)}

/* ---------- pagination ---------- */
.pagination .page-link{
	background:var(--ug-surface);border:1px solid var(--ug-border);color:var(--ug-text-dim);
	margin:0 3px;border-radius:10px;font-weight:600;
}
.pagination .page-link:hover{background:var(--ug-surface-2);color:#fff;border-color:var(--ug-accent)}
.pagination .disabled .page-link{background:var(--ug-accent);border-color:var(--ug-accent);color:#fff}
.pagination .page-item.disabled span.page-link{background:transparent;color:var(--ug-text-dim)}

/* ---------- sidebar / widgets ---------- */
.sidebar .list-game,.widget-content{
	background:var(--ug-surface);border:1px solid var(--ug-border);border-radius:12px;
}
.widget-title,.sidebar h3,.sidebar h4{color:var(--ug-text);font-size:14px;font-weight:700}

/* ---------- footer ---------- */
.footer{
	background:rgba(10,12,26,.9);border-top:1px solid var(--ug-border);
	color:var(--ug-text-dim);padding:40px 0;margin-top:50px;font-size:14px;
}
.footer a{color:var(--ug-text-dim)}
.footer a:hover{color:var(--ug-accent)}
.footer .widget-title,.footer h4{color:var(--ug-text)}
.copyright{
	background:#0a0c1a;color:var(--ug-text-dim);font-size:13px;
	border-top:1px solid rgba(255,255,255,.05);
}
.copyright a{color:var(--ug-accent)}

/* ---------- misc legacy overrides ---------- */
.content-wrapper{color:var(--ug-text)}
.category-description{color:var(--ug-text-dim)}
p,h1,h2,h4,h5,h6,td,li{color:inherit}
.form-control{
	background:var(--ug-surface);border:1px solid var(--ug-border);color:var(--ug-text);
}
.form-control:focus{background:var(--ug-surface-2);border-color:var(--ug-accent);color:#fff;box-shadow:none}
.btn-primary,.btn-secondary{
	background:linear-gradient(135deg,#5a6cff,#8a5cff);border:none;
}
.btn-primary:hover,.btn-secondary:hover{filter:brightness(1.1)}
.comments-container,.comments .comment{background:transparent}
.text-muted{color:var(--ug-text-dim)!important}
hr{border-color:var(--ug-border)}
.table{color:var(--ug-text-dim)}
.table td,.table th{border-color:var(--ug-border)}

@media (max-width:767px){
	.ug-hero{padding:30px 0 18px}
	.single-info-container{padding:12px}
	.header-right{margin-left:0;width:100%}
	.item-title{font-size:15px}
}

/* language switcher on game pages */
.lang-bar{margin-bottom:14px}
.lang-bar .lang-active{background:var(--ug-accent);color:#fff;border-color:var(--ug-accent)}
