/* Greenfish Arcade - shared styles for the game pages and the games hub */

/* ---------- game container ---------- */

.gfg {
	margin: 6px auto 0 auto;
	text-align: center;
	-webkit-user-select: none;
	user-select: none;
}

.gfg-stage {
	position: relative;
	margin: 0 auto;
	overflow: hidden;
	border-radius: 10px;
	background: #2c84b6;
	box-shadow: 0 3px 14px rgba(0, 0, 0, 0.35);
	line-height: normal;
	text-align: center;
	font-family: Arial, Helvetica, sans-serif;
	touch-action: none;
	-webkit-touch-callout: none;
	-webkit-tap-highlight-color: transparent;
}

.gfg-canvas {
	display: block;
	width: 100%;
	height: 100%;
}

.gfg-help {
	margin: 8px 0 0 0;
	text-align: center;
	font-size: 12px;
	color: #777;
}

/* full screen / mobile play mode */
.gfg.gfg-full {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 10000;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #062d47;
}

.gfg.gfg-full .gfg-stage {
	border-radius: 0;
	box-shadow: none;
}

.gfg.gfg-full .gfg-help {
	display: none;
}

html.gfg-noscroll,
html.gfg-noscroll body {
	overflow: hidden;
}

/* ---------- overlays (sizes in em: they scale with the game) ---------- */

.gfg-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(3, 30, 50, 0.4);
}

.gfg-overlay.gfg-bottom {
	align-items: flex-end;
	padding-bottom: 0.7em;
	background: transparent;
}

.gfg-overlay.gfg-bottom .gfg-panel {
	max-width: 86%;
	padding: 0.7em 1em 0.8em 1em;
}

.gfg-play.gfg-alt {
	background: #5b7286;
	box-shadow: 0 0.18em 0 #3a4c5c;
}

.gfg-play.gfg-alt:hover {
	background: #6c859a;
}

.gfg-buttons .gfg-play {
	margin-left: 0.2em;
	margin-right: 0.2em;
	padding-left: 0.9em;
	padding-right: 0.9em;
	font-size: 1em;
}

.gfg-panel {
	max-width: 78%;
	padding: 1em 1.3em 1.1em 1.3em;
	border-radius: 0.8em;
	border: 0.12em solid rgba(255, 255, 255, 0.18);
	background: rgba(6, 42, 66, 0.88);
	box-shadow: 0 0.3em 1.2em rgba(0, 0, 0, 0.4);
	color: #fff;
}

.gfg-title {
	font-size: 1.75em;
	font-weight: bold;
	color: #8fe37f;
	letter-spacing: -0.02em;
}

.gfg-sub {
	margin-top: 0.4em;
	font-size: 0.9em;
	color: #d6eef8;
}

.gfg-score {
	margin-top: 0.15em;
	font-size: 2.6em;
	font-weight: bold;
	color: #fff;
}

.gfg-record {
	font-size: 0.95em;
	font-weight: bold;
	color: #ffd54a;
}

.gfg-small {
	margin-top: 0.35em;
	font-size: 0.75em;
	color: #b6d6e6;
}

.gfg-small b {
	color: #fff;
}

.gfg-play {
	margin: 0.7em 0 0.2em 0;
	padding: 0.45em 1.4em;
	border: 0;
	border-radius: 0.4em;
	background: #3fa43a;
	box-shadow: 0 0.18em 0 #24760f;
	color: #fff;
	font: bold 1.15em Arial, Helvetica, sans-serif;
	cursor: pointer;
}

.gfg-play:hover {
	background: #4cb846;
}

.gfg-play:active {
	transform: translateY(0.1em);
	box-shadow: 0 0.08em 0 #24760f;
}

a.gfg-promo {
	display: flex;
	align-items: center;
	margin-top: 0.9em;
	padding: 0.45em 0.7em;
	border-radius: 0.5em;
	background: #fff;
	color: #1a1a1a;
	font-size: 0.8em;
	text-align: left;
	text-decoration: none;
	box-shadow: 0 0.15em 0.5em rgba(0, 0, 0, 0.3);
}

a.gfg-promo:hover {
	background: #eaf7e8;
	text-decoration: none;
}

a.gfg-promo img {
	width: 2.6em;
	height: 2.6em;
	margin-right: 0.6em;
	flex: none;
}

a.gfg-promo b {
	color: #2e8b2a;
}

a.gfg-promo small {
	display: block;
	font-size: 0.85em;
	color: #666;
}

label.gfg-remember {
	display: block;
	margin-top: 0.7em;
	font-size: 0.72em;
	color: #b6d6e6;
	cursor: pointer;
}

label.gfg-remember input {
	width: 1.1em;
	height: 1.1em;
	margin: 0 0.3em 0 0;
	vertical-align: -0.2em;
	cursor: pointer;
}

.gfa-note {
	margin-top: 4px;
	font-size: 12px;
	color: #888;
	text-align: center;
}

.gfa-note a {
	color: #3fa43a;
}

a.gfg-more {
	display: inline-block;
	margin-top: 0.7em;
	font-size: 0.8em;
	color: #9fd8f0;
}

/* ---------- toolbar and toast ---------- */

.gfg-tools {
	position: absolute;
	top: 0.35em;
	right: 0.35em;
	z-index: 2;
	display: flex;
}

.gfg-tool {
	width: 1.7em;
	height: 1.7em;
	margin-left: 0.3em;
	padding: 0.3em;
	border: 0;
	border-radius: 0.35em;
	background: rgba(3, 30, 50, 0.35);
	color: #fff;
	cursor: pointer;
	opacity: 0.8;
}

.gfg-tool:hover {
	opacity: 1;
	background: rgba(3, 30, 50, 0.6);
}

.gfg-toast {
	position: absolute;
	left: 0;
	right: 0;
	top: 36%;
	color: #fff;
	font-size: 1.5em;
	font-weight: bold;
	text-shadow: 0 0 0.25em rgba(0, 40, 70, 0.9), 0 0.08em 0 rgba(0, 40, 70, 0.9);
	opacity: 0;
	transition: opacity 0.3s;
	pointer-events: none;
}

.gfg-toast.gfg-show {
	opacity: 1;
}

/* ---------- navigation on game pages ---------- */

p.gfg-nav {
	margin-bottom: 6px;
}

p.gfg-nav a {
	color: #3fa43a;
	font-weight: bold;
}

.gfg-others {
	margin-top: 22px;
	text-align: center;
	font-size: 13px;
}

.gfg-others a {
	color: #3fa43a;
}

/* ---------- games hub (games.php) ---------- */

.gfa-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 10px;
}

a.gfa-card {
	display: block;
	width: 283px;
	margin-bottom: 22px;
	overflow: hidden;
	border-radius: 10px;
	background: #f4f8f4;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
	color: #181b20;
	text-align: left;
	text-decoration: none;
	transition: transform 0.15s, box-shadow 0.15s;
}

a.gfa-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
	text-decoration: none;
}

a.gfa-card img {
	display: block;
	width: 283px;
	height: 177px;
	object-fit: cover;
	object-position: center 70%;
	background: #2c84b6;
}

.gfa-name {
	display: block;
	padding: 10px 14px 0 14px;
	font-size: 20px;
	font-weight: bold;
	color: #3fa449;
}

.gfa-blurb {
	display: block;
	padding: 4px 14px 0 14px;
	line-height: 150%;
	font-size: 13px;
}

.gfa-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 14px 12px 14px;
}

.gfa-best {
	font-size: 12px;
	color: #777;
}

.gfa-btn {
	padding: 5px 14px;
	border-radius: 4px;
	background: #3fa43a;
	color: #fff;
	font-size: 13px;
	font-weight: bold;
}

a.gfa-card:hover .gfa-btn {
	background: #24860f;
}
