/*
Theme Name: CasinoNeon
Theme URI: https://casinoapps.uk.com
Author: Outline Creative / Hermes
Description: Dark neon casino affiliate theme for casinoapps.uk.com. Built for Facebook traffic: distraction-free landing template, big display typography, neon green CTAs, responsible-gambling footer. Designed to work with the Online Gambling (affiliate-review) plugin shortcodes and the Casino Games gamification block.
Version: 1.1.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: casinoneon
Tags: block-patterns, full-site-editing, one-column, custom-colors, custom-logo
*/

/*
 * The bulk of styling lives in theme.json (design tokens, element styles).
 * This file holds only what theme.json cannot express.
 */

/* ---------- Base ---------- */
body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Subtle neon grid backdrop used on hero sections (via Additional CSS class .cn-hero-bg) */
.cn-hero-bg {
	background:
		radial-gradient(1100px 520px at 15% -10%, rgba(176, 38, 255, 0.55), transparent 60%),
		radial-gradient(900px 480px at 95% 15%, rgba(255, 61, 154, 0.32), transparent 55%),
		radial-gradient(700px 700px at 50% 120%, rgba(59, 255, 158, 0.18), transparent 60%),
		linear-gradient(180deg, #150B33 0%, #0B0620 100%);
	position: relative;
	overflow: hidden;
}

.cn-hero-bg::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(176, 38, 255, 0.12) 1px, transparent 1px),
		linear-gradient(90deg, rgba(176, 38, 255, 0.12) 1px, transparent 1px);
	background-size: 56px 56px;
	mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, #000 30%, transparent 80%);
	pointer-events: none;
}

.cn-hero-bg > * {
	position: relative;
	z-index: 1;
}

/* ---------- Buttons ---------- */
.cn-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	font-family: var(--wp--preset--font-family--anton);
	font-size: var(--wp--preset--font-size--large);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 999px;
	padding: 0.95rem 2.4rem;
	border: 0;
	cursor: pointer;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, color 0.15s ease;
	line-height: 1;
}

.cn-btn--green {
	background: linear-gradient(90deg, #3BFF9E 0%, #22D07E 100%);
	color: #0B0620;
	box-shadow: 0 0 22px rgba(59, 255, 158, 0.4);
}

.cn-btn--green:hover {
	transform: translateY(-2px);
	box-shadow: 0 0 34px rgba(59, 255, 158, 0.6);
	color: #0B0620;
}

.cn-btn--magenta {
	background: linear-gradient(90deg, #FF3D9A 0%, #B026FF 100%);
	color: #fff;
	box-shadow: 0 0 22px rgba(176, 38, 255, 0.45);
}

.cn-btn--magenta:hover {
	transform: translateY(-2px);
	box-shadow: 0 0 34px rgba(176, 38, 255, 0.65);
	color: #fff;
}

/* ---------- Cards ---------- */
.cn-card {
	background: linear-gradient(180deg, #1C1145 0%, #150B33 100%);
	border: 1px solid rgba(176, 38, 255, 0.35);
	border-radius: 18px;
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.45);
}

.cn-glow-ring {
	box-shadow: 0 0 0 2px rgba(59, 255, 158, 0.5), 0 0 28px rgba(59, 255, 158, 0.35);
	border-radius: 18px;
}

/* ---------- Badges ---------- */
.cn-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wp--preset--font-family--anton);
	letter-spacing: 0.08em;
	font-size: 0.85rem;
	text-transform: uppercase;
	border-radius: 999px;
	padding: 0.35rem 0.95rem;
	border: 1px solid rgba(255, 255, 255, 0.25);
	color: #fff;
}

.cn-badge--18 {
	background: #FF5470;
	border-color: #FF5470;
}

.cn-badge--green {
	background: rgba(59, 255, 158, 0.15);
	border-color: rgba(59, 255, 158, 0.6);
	color: #3BFF9E;
}

/* ---------- Content typography ---------- */
.cn-content h2,
.cn-content h3 {
	margin-top: 2.2em;
}

.cn-content p {
	color: var(--wp--preset--color--muted);
}

.cn-content strong {
	color: var(--wp--preset--color--white);
}

/* ---------- T&C footer list (matches affiliate landing pages) ---------- */
.cn-tc-list {
	counter-reset: tc;
	list-style: none;
	padding-left: 0;
	max-width: 720px;
	margin: 0 auto;
}

.cn-tc-list li {
	counter-increment: tc;
	position: relative;
	padding-left: 2.1rem;
	margin-bottom: 0.55rem;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}

.cn-tc-list li::before {
	content: counter(tc) ".";
	position: absolute;
	left: 0;
	color: var(--wp--preset--color--white);
	font-weight: 700;
}

/* ---------- Trust strip ---------- */
.cn-trust-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	justify-content: center;
}

/* ---------- Landing template: keep footers quiet ---------- */
.cn-legal {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}

.cn-legal a {
	color: var(--wp--preset--color--neon-green);
	text-decoration: underline dotted;
}

/* ---------- Site title fallback ---------- */
.cn-site-title {
	font-family: var(--wp--preset--font-family--anton);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* ---------- Affiliate-review plugin offer blocks (real markup: .page-title + .bonus-text-headline) ---------- */
.page-title.body {
	max-width: 920px;
	margin: 2.5rem auto 0;
	padding: 0.9rem 1.4rem;
	border-radius: 16px 16px 0 0;
	background: linear-gradient(90deg, #b026ff 0%, #ff3d9a 100%);
	font-family: var(--wp--preset--font-family--anton);
	font-size: 1.5rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-align: center;
	color: #fff;
	box-shadow: 0 -6px 30px rgba(176, 38, 255, 0.25);
}

.page-title.body i {
	font-style: normal;
}

.page-title.body .line {
	display: none;
}

.bonus-text-headline {
	max-width: 920px;
	margin: 0 auto 1.2rem;
	padding: 1.6rem 1.4rem;
	border-radius: 0 0 16px 16px;
	background: linear-gradient(180deg, #1c1145 0%, #150b33 100%);
	border: 1px solid rgba(176, 38, 255, 0.35);
	border-top: 0;
	box-shadow: 0 14px 40px rgba(0, 0, 0, 0.45);
}

.bonus-text-headline .row {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1rem;
}

.bonus-text-headline .col-lg-8 {
	flex: 1 1 300px;
}

.bonus-text-headline .col-lg-4 {
	flex: 0 0 auto;
}

.bonus-text-headline i.h3 {
	font-style: normal;
	font-family: var(--wp--preset--font-family--anton);
	font-size: var(--wp--preset--font-size--x-large);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: var(--wp--preset--color--gold);
}

.bonus-text-headline a.button {
	display: inline-block;
	font-family: var(--wp--preset--font-family--anton);
	font-size: var(--wp--preset--font-size--large);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	color: #0b0620;
	background: linear-gradient(90deg, #3bff9e 0%, #22d07e 100%);
	border-radius: 999px;
	padding: 0.95rem 2.4rem;
	box-shadow: 0 0 22px rgba(59, 255, 158, 0.4);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.bonus-text-headline a.button:hover {
	transform: translateY(-2px);
	box-shadow: 0 0 34px rgba(59, 255, 158, 0.6);
	color: #0b0620;
}

.bonus-text-headline .terms p {
	font-size: 0.78rem;
	color: var(--wp--preset--color--muted);
	line-height: 1.5;
	margin: 0;
}

.bonus-text-headline .terms.row {
	padding-top: 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

@media (max-width: 480px) {
	.page-title.body { font-size: 1.2rem; }
	.bonus-text-headline i.h3 { font-size: 1.25rem; }
}

/* ---------- Classic theme chrome: header, nav, layout ---------- */
.cn-header {
	background: #0a061c;
	padding: 0.9rem 1.2rem;
}

.cn-header-inner {
	max-width: 1180px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.cn-header-inner--center {
	justify-content: center;
}

.cn-brand .custom-logo {
	max-height: 44px;
	width: auto;
}

.cn-header--landing .custom-logo {
	max-height: 52px;
}

a.cn-site-title {
	color: #fff;
	text-decoration: none;
	font-size: 1.5rem;
}

.cn-nav {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.cn-nav-list {
	display: flex;
	align-items: center;
	gap: 1.3rem;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}

.cn-nav-list a {
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.95rem;
}

.cn-nav-list a:hover {
	color: var(--wp--preset--color--gold, #ffc93c);
}

.cn-main {
	min-height: 55vh;
}

.cn-page {
	max-width: 1180px;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--50, 4.5rem) 1.2rem;
}

.cn-page--landing {
	max-width: 760px;
}

.cn-page-title {
	margin-bottom: 1.2rem;
}

/* ---------- Front page sections ---------- */
.cn-hero {
	max-width: 1180px;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--60, 7rem) 1.2rem;
	text-align: center;
}

.cn-hero-badges {
	margin-bottom: 1.4rem;
}

.cn-hero-title {
	font-size: clamp(2.75rem, 7vw, 5.5rem);
	margin-bottom: 1rem;
}

.cn-text-green {
	color: var(--wp--preset--color--neon-green, #3bff9e);
}

.cn-hero-sub {
	color: var(--wp--preset--color--muted, #b9aee0);
	font-size: var(--wp--preset--font-size--large, 1.25rem);
	max-width: 640px;
	margin: 0 auto 1.8rem;
}

.cn-hero-ctas {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 1.2rem;
}

.cn-hero-legal {
	margin-top: 0.8rem;
}

.cn-section {
	max-width: 1180px;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--50, 4.5rem) 1.2rem;
	text-align: center;
}

.cn-section--alt {
	max-width: none;
	background: var(--wp--preset--color--ink-2, #120a2e);
}

.cn-section--alt > * {
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
}

.cn-section-title {
	margin-top: 1.6rem;
}

.cn-section-sub {
	color: var(--wp--preset--color--muted, #b9aee0);
	max-width: 640px;
	margin: 0.6rem auto 0;
}

.cn-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: var(--wp--preset--spacing--30, 1.75rem);
	margin-top: var(--wp--preset--spacing--30, 1.75rem);
	text-align: center;
}

.cn-offer-title {
	font-size: var(--wp--preset--font-size--x-large, 1.75rem);
	margin-top: 0.8rem;
}

.cn-offer-bonus {
	color: var(--wp--preset--color--gold, #ffc93c);
	font-size: var(--wp--preset--font-size--large, 1.25rem);
}

.cn-offer-text {
	color: var(--wp--preset--color--muted, #b9aee0);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
}

.cn-offer-card .cn-btn {
	margin-top: 0.8rem;
}

.cn-step-num {
	color: var(--wp--preset--color--neon-green, #3bff9e);
	font-family: var(--wp--preset--font-family--anton, Anton, Impact, sans-serif);
	font-size: var(--wp--preset--font-size--colossal, 5rem);
	line-height: 1;
}

.cn-step-title {
	font-size: var(--wp--preset--font-size--x-large, 1.75rem);
}

.cn-step-text {
	color: var(--wp--preset--color--muted, #b9aee0);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
}

/* ---------- Post lists ---------- */
.cn-post-list {
	display: grid;
	gap: var(--wp--preset--spacing--30, 1.75rem);
}

.cn-post-card {
	padding: var(--wp--preset--spacing--30, 1.75rem);
	text-align: left;
}

.cn-post-title a {
	color: #fff;
	text-decoration: none;
}

.cn-post-excerpt p {
	color: var(--wp--preset--color--muted, #b9aee0);
}

.cn-pagination .nav-links {
	display: flex;
	gap: 0.6rem;
	justify-content: center;
	margin-top: var(--wp--preset--spacing--30, 1.75rem);
}

.cn-cta-card {
	padding: var(--wp--preset--spacing--30, 1.75rem);
	text-align: center;
	margin-top: var(--wp--preset--spacing--40, 3rem);
}

/* ---------- Footer chrome ---------- */
.cn-footer {
	background: #0a061c;
	padding: var(--wp--preset--spacing--50, 4.5rem) 1.2rem var(--wp--preset--spacing--40, 3rem);
	margin-top: var(--wp--preset--spacing--50, 4.5rem);
}

.cn-footer-inner {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.cn-footer-title {
	margin-bottom: 1.2rem;
}

.cn-footer-rule {
	border: 0;
	border-top: 1px solid var(--wp--preset--color--surface-2, #2a1a5e);
	margin: var(--wp--preset--spacing--40, 3rem) 0 1.2rem;
}

.cn-footer-legal {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	text-align: left;
}

.cn-footer-disclaimer {
	margin-top: 1rem;
}

.cn-footer-trust {
	margin-top: var(--wp--preset--spacing--30, 1.75rem);
}

.cn-footer-links {
	margin-top: 1rem;
}

/* ---------- 404 ---------- */
.cn-404 {
	text-align: center;
}

.cn-404-num {
	font-size: var(--wp--preset--font-size--colossal, 5rem);
}

/* ---------- Block-content compatibility (pages keep block markup) ---------- */
.cn-content {
	max-width: 760px;
	margin: 0 auto;
}

.cn-content .wp-block-buttons {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
}

@media (max-width: 480px) {
	.cn-footer-legal { justify-content: center; text-align: center; }
	.cn-nav-list { gap: 0.9rem; }
}
