/*
Theme Name:   FAMA PRAGIS
Theme URI:    http://bookeleven11.com/
Description:  Child theme for Kadence. Premium dark gaming store design system, WooCommerce top-up fields (Player ID / Server ID), category grid, demo-product handling, performance and security tweaks for FAMA PRAGIS.
Author:       FAMA PRAGIS
Template:     kadence
Version:      1.1.3
Requires at least: 6.5
Requires PHP: 8.0
License:      GNU General Public License v3 or later
License URI:  https://www.gnu.org/licenses/gpl-3.0.html
Text Domain:  fama-pragis
*/


/* ==========================================================================
   FAMA PRAGIS — design system for Kadence
   Tokens -> base -> components -> WooCommerce -> utilities
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root {
	--fp-bg: #0B0F19;
	--fp-bg-2: #151B2B;
	--fp-card: #1C2435;
	--fp-card-hover: #222c41;
	--fp-accent: #7C3AED;
	--fp-accent-strong: #6D28D9;
	--fp-accent-2: #06B6D4;
	--fp-text: #F8FAFC;
	--fp-text-2: #CBD5E1;
	--fp-muted: #94A3B8;
	--fp-border: #334155;
	--fp-border-soft: rgba(51, 65, 85, .6);
	--fp-success: #22C55E;
	--fp-warning: #F59E0B;
	--fp-danger: #F43F5E;

	--fp-font-head: "Space Grotesk", "Sora", system-ui, sans-serif;
	--fp-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	--fp-radius-sm: 8px;
	--fp-radius: 12px;
	--fp-radius-lg: 18px;
	--fp-radius-pill: 999px;

	--fp-space-1: 4px;
	--fp-space-2: 8px;
	--fp-space-3: 12px;
	--fp-space-4: 16px;
	--fp-space-5: 24px;
	--fp-space-6: 32px;
	--fp-space-7: 48px;
	--fp-space-8: 64px;
	--fp-section-y: clamp(40px, 6vw, 80px);
	--fp-container: 1240px;

	--fp-shadow: 0 10px 30px rgba(0, 0, 0, .35);
	--fp-shadow-glow: 0 0 0 1px rgba(124, 58, 237, .45), 0 12px 32px rgba(124, 58, 237, .18);
	--fp-ring: 0 0 0 3px rgba(6, 182, 212, .55);
	--fp-ease: cubic-bezier(.2, .7, .2, 1);
	--fp-gradient: linear-gradient(135deg, #7C3AED 0%, #06B6D4 100%);
}

/* Kadence palette/button variables (palette itself is set in the Customizer). */
body {
	--global-palette-btn-bg: var(--fp-accent);
	--global-palette-btn-bg-hover: var(--fp-accent-2);
	--global-palette-btn: #FFFFFF;
	--global-palette-btn-hover: var(--fp-bg);
	background-color: var(--fp-bg);
	color: var(--fp-text-2);
	font-family: var(--fp-font-body);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* ---------- 2. Base ---------- */
h1, h2, h3, h4, h5, h6,
.site-title, .entry-title, .product_title, .fp-section-title {
	font-family: var(--fp-font-head);
	color: var(--fp-text);
	letter-spacing: -0.01em;
}

a { color: var(--fp-accent-2); text-underline-offset: 3px; }
a:hover { color: #67E8F9; }

::selection { background: rgba(124, 58, 237, .55); color: #fff; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--fp-accent-2);
	outline-offset: 2px;
	box-shadow: none;
	border-radius: 6px;
}

.site, .content-bg, .site-container, body.content-style-unboxed .site { background-color: var(--fp-bg); }

hr, .wp-block-separator { border-color: var(--fp-border); opacity: 1; }

/* Skip link visible on focus */
.skip-link:focus { background: var(--fp-accent); color: #fff; }

/* ---------- 3. Header ---------- */
#masthead .site-header-row-container-inner,
.site-header-row-container-inner {
	background-color: rgba(11, 15, 25, .92);
}
#masthead .site-main-header-wrap .site-header-row-container-inner {
	border-bottom: 1px solid var(--fp-border-soft);
	-webkit-backdrop-filter: saturate(140%) blur(10px);
	backdrop-filter: saturate(140%) blur(10px);
}
.site-header-item .custom-logo { max-height: 56px; width: auto; border-radius: 4px; }
.main-navigation .primary-menu-container > ul > li.menu-item > a {
	font-family: var(--fp-font-head);
	font-weight: 500;
	font-size: 15px;
	color: var(--fp-text-2);
	position: relative;
}
.main-navigation .primary-menu-container > ul > li.menu-item > a::after {
	content: "";
	position: absolute;
	left: 50%;
	right: 50%;
	bottom: 6px;
	height: 2px;
	background: var(--fp-gradient);
	border-radius: 2px;
	transition: left .2s var(--fp-ease), right .2s var(--fp-ease);
}
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
.main-navigation .primary-menu-container > ul > li.current-menu-item > a { color: var(--fp-text); }
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover::after,
.main-navigation .primary-menu-container > ul > li.current-menu-item > a::after { left: 1em; right: 1em; }

.header-navigation .header-menu-container ul ul.sub-menu {
	background: var(--fp-card);
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius);
	box-shadow: var(--fp-shadow);
	padding: 6px;
}
.header-navigation .header-menu-container ul ul li.menu-item > a {
	border-radius: var(--fp-radius-sm);
	color: var(--fp-text-2);
}
.header-navigation .header-menu-container ul ul li.menu-item > a:hover { background: var(--fp-bg-2); color: var(--fp-text); }

/* Header icons: search, account, cart */
.search-toggle-open, .header-account-button, .header-cart-button, .menu-toggle-open {
	color: var(--fp-text) !important;
	border-radius: var(--fp-radius-sm);
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.search-toggle-open:hover, .header-account-button:hover, .header-cart-button:hover { background: var(--fp-card) !important; }
.header-cart-wrap .header-cart-button .header-cart-total {
	background: var(--fp-accent);
	color: #fff;
}

/* Off-canvas mobile drawer + search modal */
#mobile-drawer .drawer-inner, .popup-drawer .drawer-inner { background: var(--fp-bg-2); color: var(--fp-text); }
.mobile-navigation ul li > a, .mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap {
	border-bottom: 1px solid var(--fp-border-soft) !important;
	color: var(--fp-text) !important;
	min-height: 48px;
}
#search-drawer .drawer-inner { background: rgba(11, 15, 25, .97); }
#search-drawer .drawer-inner input.search-field {
	border-bottom: 2px solid var(--fp-accent);
	color: var(--fp-text);
	font-family: var(--fp-font-head);
}

/* ---------- 4. Buttons ---------- */
.button, button.button, .wp-block-button__link, input[type="submit"], .wp-element-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .wc-block-components-button:not(.is-link) {
	font-family: var(--fp-font-head);
	font-weight: 600;
	border-radius: var(--fp-radius-sm) !important;
	padding: .8em 1.4em;
	line-height: 1.2;
	min-height: 44px;
	transition: background-color .18s var(--fp-ease), color .18s var(--fp-ease), transform .18s var(--fp-ease), box-shadow .18s var(--fp-ease);
}
.button:hover, .wp-block-button__link:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { transform: translateY(-1px); }

.wp-block-button.is-style-outline > .wp-block-button__link,
.fp-btn-ghost .wp-block-button__link {
	background: transparent !important;
	color: var(--fp-text) !important;
	border: 1.5px solid var(--fp-border) !important;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.fp-btn-ghost .wp-block-button__link:hover {
	border-color: var(--fp-accent-2) !important;
	color: var(--fp-accent-2) !important;
}
.fp-btn-gradient .wp-block-button__link { background: var(--fp-gradient) !important; color: #fff !important; }
.fp-btn-gradient .wp-block-button__link:hover { box-shadow: 0 8px 24px rgba(6, 182, 212, .3); color: #fff !important; }

/* ---------- 5. Layout helpers ---------- */
.fp-section { padding-block: var(--fp-section-y); }
.fp-section--alt { background: var(--fp-bg-2); }
.fp-container { max-width: var(--fp-container); margin-inline: auto; padding-inline: 20px; }
.fp-eyebrow {
	font-family: var(--fp-font-head);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--fp-accent-2);
	margin: 0 0 var(--fp-space-2);
}
.fp-section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--fp-space-4);
	margin-bottom: var(--fp-space-6);
}
.fp-section-title { font-size: clamp(26px, 3.2vw, 38px); line-height: 1.15; margin: 0; }
.fp-section-sub { color: var(--fp-muted); margin: var(--fp-space-2) 0 0; max-width: 60ch; }
.fp-link-arrow { font-family: var(--fp-font-head); font-weight: 600; text-decoration: none; white-space: nowrap; }
.fp-link-arrow span { display: inline-block; transition: transform .18s var(--fp-ease); }
.fp-link-arrow:hover span { transform: translateX(4px); }
.fp-muted { color: var(--fp-muted); }

/* Full-width sections: keep their content in a centred container */
.entry-content > .wp-block-group.alignfull { padding-left: 0; padding-right: 0; }
.entry-content > .wp-block-group.alignfull > * {
	max-width: var(--fp-container);
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(16px, 4vw, 32px);
	padding-right: clamp(16px, 4vw, 32px);
	box-sizing: border-box;
}
.entry-content > .wp-block-group.alignfull > .fp-promo,
.entry-content > .wp-block-group.alignfull > .fp-newsletter { width: calc(100% - 2 * clamp(16px, 4vw, 32px)); }
.entry-content > .wp-block-group.alignfull > .wp-block-columns { gap: clamp(24px, 4vw, 48px); }
.fp-section.fp-section--products:not(:has(.fp-product-section, .fp-reviews)) { display: none; }
.fp-section--products { padding-block: 0 !important; }
.fp-section--products .fp-product-section, .fp-section--products .fp-reviews { padding-block: var(--fp-section-y) 0; }
.fp-section--products > :last-child { padding-bottom: var(--fp-section-y); }
[id] { scroll-margin-top: 96px; }
.entry-content .fp-cat-grid, .entry-content .fp-review-grid { padding: 0 !important; margin: 0; }
.fp-faq .wp-block-details summary { display: block; line-height: 1.4; }
.fp-newsletter .wpcf7-form input[type="email"] { width: 100%; }
.fp-newsletter .wpcf7-form .fp-nl-submit input[type="submit"] { min-height: 46px; }
.fp-newsletter .wpcf7-form .fp-consent label { display: inline-flex; gap: 8px; align-items: flex-start; }
.fp-newsletter .wpcf7-form .fp-consent input[type="checkbox"] { margin-top: 3px; accent-color: var(--fp-accent); }
.fp-newsletter .wpcf7-form .wpcf7-list-item { margin: 0; }
.fp-section--alt + .fp-faq, .fp-faq + .fp-section { padding-top: calc(var(--fp-section-y) * .6); }
.fp-hero-note { font-size: 14px; color: var(--fp-muted); margin-top: var(--fp-space-5) !important; }
.fp-hero .fp-eyebrow { margin-bottom: var(--fp-space-4); }
.main-navigation .primary-menu-container > ul > li.fp-anchor > a::after { left: 50% !important; right: 50% !important; }
.main-navigation .primary-menu-container > ul > li.fp-anchor > a:hover::after { left: 1em !important; right: 1em !important; }
.main-navigation .primary-menu-container > ul > li.fp-anchor.current-menu-item > a { color: var(--fp-text-2); }

/* Full-bleed homepage: remove Kadence content spacing */
.home .content-area { margin-top: 0; margin-bottom: 0; }
.home .entry-content > .alignfull:first-child { margin-top: 0; }
.home .entry-content-wrap { padding: 0; }
.home article.entry { box-shadow: none; background: transparent; }

/* ---------- 6. Hero ---------- */
.fp-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(60% 80% at 85% 20%, rgba(6, 182, 212, .16), transparent 60%),
		radial-gradient(60% 80% at 15% 90%, rgba(124, 58, 237, .22), transparent 60%),
		var(--fp-bg);
	padding-block: clamp(56px, 9vw, 120px) !important;
	border-bottom: 1px solid var(--fp-border-soft);
}
.fp-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(148, 163, 184, .06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(148, 163, 184, .06) 1px, transparent 1px);
	background-size: 48px 48px;
	-webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
	mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
	pointer-events: none;
}
.fp-hero > * { position: relative; }
.fp-hero h1 {
	font-size: clamp(34px, 5vw, 60px);
	line-height: 1.02;
	letter-spacing: -0.03em;
	font-weight: 700;
	margin: 0 0 var(--fp-space-5);
	text-transform: uppercase;
}
.fp-hero h1 .fp-grad, .fp-grad {
	background: var(--fp-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.fp-hero .fp-hero-lead { font-size: clamp(16px, 1.6vw, 19px); color: var(--fp-text-2); max-width: 52ch; margin-bottom: var(--fp-space-6); }
.fp-hero .wp-block-buttons { gap: 12px; }
.fp-hero-stats { display: flex; flex-wrap: wrap; gap: var(--fp-space-5); margin-top: var(--fp-space-6) !important; color: var(--fp-muted); font-size: 14px; }
.fp-hero-stats strong { color: var(--fp-text); font-family: var(--fp-font-head); }
.fp-hero-visual { width: 100%; max-width: 520px; margin-inline: auto; aspect-ratio: 520 / 440; }
.fp-hero-visual svg { width: 100%; height: 100%; display: block; }
@media (prefers-reduced-motion: no-preference) {
	.fp-float { animation: fpFloat 6s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
	.fp-float--b { animation-delay: -2s; }
	.fp-float--c { animation-delay: -4s; }
	@keyframes fpFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
}

/* ---------- 7. Category cards ---------- */
.fp-cat-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--fp-space-4);
}
.fp-cat-card { margin: 0; }
.fp-cat-card__link {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	height: 100%;
	padding: var(--fp-space-5);
	background: var(--fp-card);
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius-lg);
	text-decoration: none;
	color: var(--fp-text);
	transition: transform .2s var(--fp-ease), border-color .2s var(--fp-ease), box-shadow .2s var(--fp-ease), background-color .2s var(--fp-ease);
}
.fp-cat-card__link:hover { transform: translateY(-3px); border-color: rgba(124, 58, 237, .7); box-shadow: var(--fp-shadow-glow); background: var(--fp-card-hover); color: var(--fp-text); }
.fp-cat-card__icon {
	display: inline-grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(124, 58, 237, .22), rgba(6, 182, 212, .14));
	border: 1px solid rgba(124, 58, 237, .35);
	color: #C4B5FD;
	margin-bottom: var(--fp-space-3);
}
.fp-cat-card__icon .fp-icon { width: 26px; height: 26px; }
.fp-cat-card__link.is-soon { cursor: default; }
.fp-cat-card__link.is-soon:hover { transform: none; box-shadow: none; border-color: var(--fp-border); background: var(--fp-card); }
.fp-cat-card__link.is-soon .fp-cat-card__count { color: #FDE68A; }
.fp-cat-card__media img { width: 64px; height: 64px; object-fit: cover; border-radius: 14px; margin-bottom: var(--fp-space-3); }
.fp-cat-card__name { font-family: var(--fp-font-head); font-weight: 600; font-size: 17px; line-height: 1.25; }
.fp-cat-card__count { font-size: 13px; color: var(--fp-muted); }
.fp-cat-card__arrow { position: absolute; top: var(--fp-space-5); right: var(--fp-space-5); color: var(--fp-muted); transition: transform .2s var(--fp-ease), color .2s; }
.fp-cat-card__link:hover .fp-cat-card__arrow { transform: translateX(3px); color: var(--fp-accent-2); }

/* ---------- 8. Feature / trust cards ---------- */
.fp-features { gap: var(--fp-space-4) !important; }
.fp-feature {
	background: var(--fp-card);
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius-lg);
	padding: var(--fp-space-5) !important;
	height: 100%;
}
.fp-feature h3 { font-size: 18px; margin: var(--fp-space-3) 0 var(--fp-space-2); }
.fp-feature p { color: var(--fp-muted); font-size: 15px; margin: 0; }
.fp-icon-wrap {
	display: inline-grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: rgba(6, 182, 212, .12);
	border: 1px solid rgba(6, 182, 212, .35);
	color: #67E8F9;
}

/* ---------- 9. Promo banner ---------- */
.fp-promo {
	position: relative;
	border-radius: 24px;
	padding: clamp(28px, 5vw, 56px) !important;
	background:
		radial-gradient(80% 120% at 100% 0%, rgba(6, 182, 212, .25), transparent 55%),
		radial-gradient(80% 120% at 0% 100%, rgba(124, 58, 237, .35), transparent 55%),
		var(--fp-card);
	border: 1px solid rgba(124, 58, 237, .45);
	overflow: hidden;
}
.fp-promo h2 { font-size: clamp(26px, 3.6vw, 42px); text-transform: uppercase; margin: 0 0 var(--fp-space-3); line-height: 1.1; }
.fp-promo p { color: var(--fp-text-2); max-width: 56ch; }

/* ---------- 10. FAQ (core Details block) ---------- */
.fp-faq .wp-block-details, .wp-block-details.fp-faq-item {
	background: var(--fp-card);
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius);
	padding: 0;
	margin: 0 0 var(--fp-space-3);
	overflow: hidden;
}
.fp-faq .wp-block-details summary {
	list-style: none;
	cursor: pointer;
	padding: 18px 56px 18px 20px;
	font-family: var(--fp-font-head);
	font-weight: 600;
	font-size: 17px;
	color: var(--fp-text);
	position: relative;
	min-height: 44px;
	box-sizing: border-box;
}
.fp-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.fp-faq .wp-block-details summary::after {
	content: "+";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 22px;
	line-height: 1;
	color: var(--fp-accent-2);
	transition: transform .2s var(--fp-ease);
}
.fp-faq .wp-block-details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.fp-faq .wp-block-details[open] { border-color: rgba(124, 58, 237, .6); }
.fp-faq .wp-block-details > :not(summary) { padding: 0 20px 18px; margin: 0; color: var(--fp-text-2); }

/* Reviews */
.fp-review-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--fp-space-4); }
.fp-review { background: var(--fp-card); border: 1px solid var(--fp-border); border-radius: var(--fp-radius-lg); padding: var(--fp-space-5); margin: 0; display: flex; flex-direction: column; gap: 10px; }
.fp-review__stars { color: #FBBF24; letter-spacing: 2px; margin: 0; }
.fp-review__text { margin: 0; padding: 0; border: 0; color: var(--fp-text-2); font-style: normal; }
.fp-review__meta { margin: auto 0 0; font-size: 14px; color: var(--fp-muted); }
.fp-review__meta strong { color: var(--fp-text); }
@media (max-width: 1024px) { .fp-review-grid { grid-template-columns: 1fr; } }

/* ---------- 11. Newsletter ---------- */
.fp-newsletter {
	border-radius: 24px;
	background: var(--fp-bg-2);
	border: 1px solid var(--fp-border);
	padding: clamp(24px, 5vw, 48px) !important;
}
.fp-newsletter .wpcf7-form { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: start; }
.fp-newsletter .wpcf7-form > p { margin: 0; }
.fp-newsletter .wpcf7-form .fp-consent { grid-column: 1 / -1; font-size: 13px; color: var(--fp-muted); }
.fp-newsletter .wpcf7-response-output { grid-column: 1 / -1; }

/* ---------- 12. Forms ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="search"],
input[type="number"], input[type="url"], select, textarea,
.woocommerce form .form-row .input-text, .woocommerce form .form-row select,
.wc-block-components-text-input input, .wc-blocks-components-select .wc-blocks-components-select__select {
	background-color: var(--fp-bg-2) !important;
	color: var(--fp-text) !important;
	border: 1px solid var(--fp-border) !important;
	border-radius: var(--fp-radius-sm) !important;
	min-height: 46px;
	font-size: 16px; /* prevents iOS zoom */
}
input::placeholder, textarea::placeholder { color: #64748B; opacity: 1; }
input:focus, select:focus, textarea:focus { border-color: var(--fp-accent-2) !important; box-shadow: var(--fp-ring) !important; outline: none; }
label, .wc-block-components-text-input label { color: var(--fp-text-2); }

/* ---------- 13. Notifications ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments,
.wc-block-components-notice-banner {
	background: var(--fp-card) !important;
	color: var(--fp-text) !important;
	border: 1px solid var(--fp-border) !important;
	border-left: 4px solid var(--fp-accent-2) !important;
	border-radius: var(--fp-radius) !important;
}
.woocommerce-message, .wc-block-components-notice-banner.is-success { border-left-color: var(--fp-success) !important; }
.woocommerce-error, .wc-block-components-notice-banner.is-error { border-left-color: var(--fp-danger) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--fp-accent-2); }

/* ---------- 14. WooCommerce: product cards ---------- */
.woocommerce ul.products, ul.products { gap: var(--fp-space-4); }
.woocommerce ul.products li.product, ul.products li.product.entry {
	background: var(--fp-card) !important;
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius-lg);
	overflow: hidden;
	box-shadow: none;
	transition: transform .2s var(--fp-ease), border-color .2s var(--fp-ease), box-shadow .2s var(--fp-ease);
	position: relative;
}
.woocommerce ul.products li.product:hover { transform: translateY(-3px); border-color: rgba(124, 58, 237, .65); box-shadow: var(--fp-shadow-glow); }
ul.products li.product .woocommerce-loop-image-link, ul.products li.product a img {
	background: var(--fp-bg-2);
	display: block;
}
ul.products li.product a img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; height: auto; margin: 0; }
ul.products li.product .product-details, ul.products li.product .entry-content-wrap {
	background: transparent !important;
	padding: 14px 16px 16px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--fp-font-head);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--fp-text);
	padding: 0;
	margin-bottom: 6px;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title a { color: inherit; text-decoration: none; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price {
	color: var(--fp-text) !important;
	font-family: var(--fp-font-head);
	font-weight: 700;
}
.woocommerce ul.products li.product .price del, .woocommerce div.product p.price del { color: var(--fp-muted) !important; opacity: 1; font-weight: 400; }
.woocommerce ul.products li.product .price ins, .woocommerce div.product p.price ins { text-decoration: none; color: #67E8F9 !important; }
.woocommerce span.onsale {
	background: var(--fp-gradient) !important;
	color: #fff !important;
	border-radius: var(--fp-radius-pill) !important;
	font-family: var(--fp-font-head);
	font-weight: 700;
	min-height: auto;
	line-height: 1;
	padding: 6px 10px;
	top: 12px;
	left: 12px;
	right: auto;
}
ul.products li.product .product-action-wrap { margin-top: 10px; }
ul.products li.product .product-action-wrap .button { width: 100%; justify-content: center; text-align: center; }
ul.products li.product .stock, .woocommerce div.product .stock { font-size: 13px; font-weight: 600; }
.woocommerce div.product .stock.in-stock, .stock.in-stock { color: var(--fp-success) !important; }
.woocommerce div.product .stock.out-of-stock, .stock.out-of-stock { color: var(--fp-danger) !important; }

.fp-demo-badge {
	display: inline-block;
	font-family: var(--fp-font-head);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	color: #FDE68A;
	background: rgba(245, 158, 11, .14);
	border: 1px solid rgba(245, 158, 11, .5);
	border-radius: var(--fp-radius-pill);
	padding: 3px 9px;
	margin: 0 0 8px;
}
ul.products li.product .fp-demo-badge { position: absolute; top: 12px; right: 12px; z-index: 2; margin: 0; }

/* ---------- 15. WooCommerce: single product ---------- */
.single-product div.product .product_title { font-size: clamp(26px, 3.2vw, 38px); line-height: 1.15; }
.single-product div.product .woocommerce-product-gallery {
	background: var(--fp-card);
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius-lg);
	overflow: hidden;
}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img { border-radius: var(--fp-radius-sm); opacity: .7; }
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active { opacity: 1; outline: 2px solid var(--fp-accent); }
.single-product div.product .summary { color: var(--fp-text-2); }
.single-product div.product form.cart {
	background: var(--fp-card);
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius-lg);
	padding: var(--fp-space-5);
}
.single-product div.product form.cart .variations { margin-bottom: var(--fp-space-4); }
.single-product div.product form.cart .variations th.label label { color: var(--fp-text); font-family: var(--fp-font-head); }
.woocommerce .quantity .qty { min-height: 46px; width: 4.5em; text-align: center; }
.single-product div.product form.cart .single_add_to_cart_button { min-height: 48px; padding-inline: 2em; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--fp-bg-2); border-color: var(--fp-border); border-radius: var(--fp-radius-sm) var(--fp-radius-sm) 0 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--fp-card); border-bottom-color: var(--fp-card); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--fp-text-2); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--fp-text); }
.woocommerce div.product .woocommerce-tabs .panel {
	background: var(--fp-card);
	border: 1px solid var(--fp-border);
	border-radius: 0 var(--fp-radius) var(--fp-radius) var(--fp-radius);
	padding: var(--fp-space-5);
}
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border-color: var(--fp-border); color: var(--fp-text-2); background: transparent; }
.woocommerce table.shop_attributes th { color: var(--fp-text); }
.woocommerce table.shop_attributes tr:nth-child(even) td, .woocommerce table.shop_attributes tr:nth-child(even) th { background: rgba(255, 255, 255, .02); }
.single-product .related.products > h2, .single-product .upsells.products > h2 { font-size: 26px; margin-bottom: var(--fp-space-5); }

/* Top-up ID fields */
.fp-topup { border: 0; margin: 0 0 var(--fp-space-5); padding: 0; min-width: 0; }
.fp-topup__title { font-family: var(--fp-font-head); font-weight: 600; color: var(--fp-text); font-size: 17px; margin-bottom: var(--fp-space-3); display: flex; align-items: center; gap: 10px; }
.fp-step { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--fp-gradient); color: #fff; font-size: 14px; }
.fp-topup__grid { display: grid; grid-template-columns: 1fr; gap: var(--fp-space-3); }
.fp-topup__grid.has-server { grid-template-columns: 1.4fr 1fr; }
.fp-topup .fp-field { margin: 0; display: flex; flex-direction: column; gap: 6px; }
.fp-topup .fp-field label { font-size: 14px; font-weight: 600; }
.fp-topup .fp-field input { width: 100%; }
.fp-topup__help { font-size: 13px; color: var(--fp-muted); margin: var(--fp-space-3) 0 0; }
.fp-topup__note { font-size: 13px; color: #FDE68A; margin: var(--fp-space-2) 0 0; }
.fp-topup abbr.required { color: var(--fp-danger); text-decoration: none; }

/* ---------- 16. Shop archive, filters, breadcrumbs, pagination ---------- */
.woocommerce-products-header, .product-archive-title { color: var(--fp-text); }
.term-description, .woocommerce-products-header .term-description { color: var(--fp-muted); max-width: 70ch; }
.woocommerce .woocommerce-result-count { color: var(--fp-muted); }
.woocommerce .woocommerce-ordering select { min-height: 44px; }
.kadence-breadcrumbs, .woocommerce-breadcrumb, .rank-math-breadcrumb { color: var(--fp-muted); font-size: 14px; }
.kadence-breadcrumbs a, .woocommerce-breadcrumb a, .rank-math-breadcrumb a { color: var(--fp-text-2); text-decoration: none; }
.kadence-breadcrumbs a:hover, .woocommerce-breadcrumb a:hover, .rank-math-breadcrumb a:hover { color: var(--fp-accent-2); }

.woocommerce nav.woocommerce-pagination ul, .pagination .nav-links { border: 0; display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span,
.pagination .page-numbers {
	min-width: 44px;
	min-height: 44px;
	display: inline-grid;
	place-items: center;
	border-radius: var(--fp-radius-sm);
	background: var(--fp-card);
	border: 1px solid var(--fp-border);
	color: var(--fp-text-2);
}
.woocommerce nav.woocommerce-pagination ul li span.current, .pagination .page-numbers.current { background: var(--fp-accent); color: #fff; border-color: var(--fp-accent); }

/* Sidebar filter widgets (shop) */
.primary-sidebar .widget, .sidebar-inner-wrap .widget {
	background: var(--fp-card);
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius);
	padding: var(--fp-space-5);
	margin-bottom: var(--fp-space-4);
}
.primary-sidebar .widget-title, .sidebar-inner-wrap .widget-title, .primary-sidebar h2 { font-size: 16px; text-transform: uppercase; letter-spacing: .08em; color: var(--fp-text); }
.primary-sidebar .widget ul li a { color: var(--fp-text-2); }
.primary-sidebar .widget ul li a:hover { color: var(--fp-accent-2); }

/* Reviews */
.woocommerce #reviews #comments ol.commentlist li .comment-text { border-color: var(--fp-border); border-radius: var(--fp-radius); }
.woocommerce .star-rating span::before, .woocommerce p.stars a { color: #FBBF24; }

/* ---------- 17. Cart / checkout / account ---------- */
.woocommerce table.shop_table, .woocommerce-cart table.cart, .woocommerce-checkout-review-order-table {
	border-color: var(--fp-border) !important;
	border-radius: var(--fp-radius) !important;
	background: var(--fp-card);
}
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--fp-border) !important; color: var(--fp-text-2); }
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { color: var(--fp-text-2); }
.wc-block-components-sidebar-layout .wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-totals-wrapper, .wc-block-checkout__sidebar,
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
	border-color: var(--fp-border) !important;
}
.wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control__option,
.wc-block-checkout__shipping-method-option {
	border-color: var(--fp-border) !important;
	background: var(--fp-bg-2);
	border-radius: var(--fp-radius-sm);
}
.wc-block-components-product-metadata, .wc-block-components-product-details { color: var(--fp-muted); }
.wc-block-components-product-details__name { color: var(--fp-text); font-weight: 600; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 12px 14px;
	border-radius: var(--fp-radius-sm);
	color: var(--fp-text-2);
	text-decoration: none;
}
.woocommerce-MyAccount-navigation ul li.is-active a, .woocommerce-MyAccount-navigation ul li a:hover { background: var(--fp-card); color: var(--fp-text); }

/* ---------- 18. Content pages ---------- */
.page .entry-content, .single .entry-content { color: var(--fp-text-2); }
.page:not(.home) article.entry.content-bg { background: var(--fp-bg); }
.entry-hero .entry-header .entry-title, .page-title .entry-title { color: var(--fp-text); }
.fp-card {
	background: var(--fp-card);
	border: 1px solid var(--fp-border);
	border-radius: var(--fp-radius-lg);
	padding: var(--fp-space-5) !important;
}
.fp-placeholder { background: rgba(245, 158, 11, .12); border-bottom: 1px dashed rgba(245, 158, 11, .7); color: #FDE68A; padding: 0 3px; }

/* ---------- 19. Footer ---------- */
#colophon, .site-footer { background: #080B13; color: var(--fp-muted); border-top: 1px solid var(--fp-border-soft); }
#colophon .site-footer-row-container-inner { background: transparent; }
#colophon .widget-title, #colophon h2, #colophon h3 { font-size: 14px; letter-spacing: .12em; text-transform: uppercase; color: var(--fp-text); }
#colophon a { color: var(--fp-text-2); text-decoration: none; }
#colophon a:hover { color: var(--fp-accent-2); }
#colophon ul { list-style: none; margin: 0; padding: 0; }
#colophon ul li { margin: 0 0 10px; }
#colophon .site-bottom-footer-wrap .site-footer-row-container-inner { border-top: 1px solid var(--fp-border-soft); }
.fp-footer-logo img { max-width: 220px; height: auto; }
.fp-footer-social { display: flex; gap: 8px; flex-wrap: wrap; }

/* ---------- 19b. Homepage features ---------- */

/* Hero v2 */
.fp-hero { padding-block: clamp(40px, 7vw, 96px) !important; }
.fp-hero::after {
	content: "";
	position: absolute;
	inset: -20% -10% auto auto;
	width: 60vw;
	height: 60vw;
	max-width: 760px;
	max-height: 760px;
	background: radial-gradient(circle, rgba(124, 58, 237, .22), transparent 62%);
	pointer-events: none;
	z-index: 0;
}
.fp-hero > * { z-index: 1; }
.fp-pill {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	padding: 6px 14px !important;
	border-radius: var(--fp-radius-pill);
	background: rgba(124, 58, 237, .14);
	border: 1px solid rgba(124, 58, 237, .45);
	color: #DDD6FE;
	font-family: var(--fp-font-head);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .04em;
	margin: 0 0 var(--fp-space-5) !important;
	max-width: max-content !important;
}
.fp-pill::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #22D3EE; box-shadow: 0 0 0 4px rgba(34, 211, 238, .2); }
.fp-chips { list-style: none; margin: var(--fp-space-6) 0 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 10px; }
.fp-chip { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 8px 12px; border-radius: 10px; background: rgba(21, 27, 43, .8); border: 1px solid var(--fp-border); color: var(--fp-text-2); font-size: 13.5px; }
.fp-chip .fp-icon { width: 18px; height: 18px; color: #67E8F9; }

/* Quick top-up card */
.fp-quick {
	position: relative;
	border-radius: 22px;
	padding: clamp(20px, 3vw, 32px) !important;
	background:
		linear-gradient(180deg, rgba(28, 36, 53, .94), rgba(21, 27, 43, .94)) padding-box,
		linear-gradient(135deg, rgba(124, 58, 237, .9), rgba(6, 182, 212, .9)) border-box;
	border: 1px solid transparent;
	box-shadow: 0 30px 80px rgba(0, 0, 0, .45), 0 0 60px rgba(124, 58, 237, .18);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.fp-quick h2 { font-size: clamp(22px, 2.4vw, 28px); margin: 0 0 6px; }
.fp-quick .fp-quick-sub { color: var(--fp-muted); font-size: 14px; margin: 0 0 var(--fp-space-5); }
.fp-quick .wpcf7 { margin: 0; }
.fp-of-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; }
.fp-quick .fp-of-field { margin: 0 !important; display: flex; flex-direction: column; gap: 6px; }
.fp-of-field label { font-size: 13px; font-weight: 600; color: var(--fp-text-2); }
.fp-of-field .wpcf7-form-control-wrap input { width: 100%; }
.fp-of-wide { grid-column: 1 / -1; }
.fp-quick .fp-of-consent { font-size: 13px; color: var(--fp-muted); margin: 14px 0 0 !important; }
.fp-of-consent .wpcf7-list-item { margin: 0; }
.fp-of-consent label { display: inline-flex; gap: 8px; align-items: flex-start; }
.fp-of-consent input[type="checkbox"] { margin-top: 3px; accent-color: var(--fp-accent); }
.fp-quick .fp-of-submit { margin: 16px 0 0 !important; }
.fp-of-submit input[type="submit"] {
	width: 100%;
	min-height: 52px;
	border: 0;
	border-radius: 12px !important;
	background: var(--fp-gradient) !important;
	color: #fff !important;
	font-family: var(--fp-font-head);
	font-weight: 700;
	font-size: 16px;
	cursor: pointer;
	transition: transform .18s var(--fp-ease), box-shadow .18s var(--fp-ease);
}
.fp-of-submit input[type="submit"]:hover { transform: translateY(-1px); box-shadow: 0 10px 30px rgba(6, 182, 212, .3); }
.fp-quick .fp-quick-note { font-size: 12.5px; color: var(--fp-muted); margin: 12px 0 0; }
.fp-quick .wpcf7-response-output { margin: 12px 0 0 !important; border-radius: 10px; font-size: 14px; }
.fp-quick .wpcf7-not-valid-tip { font-size: 12px; color: #FDA4AF; }
.fp-quick .wpcf7-spinner { position: absolute; }

.fp-section.fp-section--tight { padding-block: calc(var(--fp-section-y) * .5) !important; }

/* Marquee */
.fp-marquee { overflow: hidden; border-block: 1px solid var(--fp-border-soft); background: linear-gradient(90deg, rgba(124, 58, 237, .12), rgba(6, 182, 212, .08)); padding: 14px 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.fp-marquee__track { display: flex; width: max-content; animation: fpMarquee 38s linear infinite; }
.fp-marquee:hover .fp-marquee__track { animation-play-state: paused; }
.fp-marquee__row { display: flex; align-items: center; flex: none; }
.fp-marquee__item { font-family: var(--fp-font-head); font-weight: 700; font-size: clamp(15px, 1.6vw, 20px); text-transform: uppercase; letter-spacing: .06em; color: var(--fp-text); padding: 0 22px; white-space: nowrap; }
.fp-marquee__sep { color: #A78BFA; font-size: 12px; }
@keyframes fpMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.entry-content > .wp-block-group.alignfull.fp-marquee-wrap { padding: 0 !important; }
.entry-content > .wp-block-group.alignfull.fp-marquee-wrap > * { max-width: none; padding: 0; }

/* Game tiles */
.fp-games { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.fp-game { margin: 0; }
.fp-game__link { display: flex; flex-direction: column; height: 100%; border-radius: 18px; overflow: hidden; background: var(--fp-card); border: 1px solid var(--fp-border); text-decoration: none; color: var(--fp-text); transition: transform .22s var(--fp-ease), box-shadow .22s var(--fp-ease), border-color .22s var(--fp-ease); }
.fp-game__link:hover { transform: translateY(-4px); border-color: rgba(124, 58, 237, .7); box-shadow: var(--fp-shadow-glow); color: var(--fp-text); }
.fp-game__art { position: relative; aspect-ratio: 16 / 10; display: grid; place-items: center; overflow: hidden; }
.fp-game__art::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px); background-size: 22px 22px; -webkit-mask-image: linear-gradient(180deg, #000, transparent 85%); mask-image: linear-gradient(180deg, #000, transparent 85%); }
.fp-game__art::after { content: ""; position: absolute; width: 70%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .35), transparent 65%); top: -30%; right: -20%; transition: transform .4s var(--fp-ease); }
.fp-game__link:hover .fp-game__art::after { transform: scale(1.2); }
.fp-game__initials { position: relative; z-index: 1; font-family: var(--fp-font-head); font-weight: 700; font-size: clamp(34px, 4vw, 48px); letter-spacing: -.02em; color: #fff; text-shadow: 0 6px 24px rgba(0, 0, 0, .35); transition: transform .3s var(--fp-ease); }
.fp-game__link:hover .fp-game__initials { transform: scale(1.08) rotate(-3deg); }
.fp-game--1 .fp-game__art { background: linear-gradient(135deg, #4C1D95, #7C3AED 55%, #22D3EE); }
.fp-game--2 .fp-game__art { background: linear-gradient(135deg, #7C2D12, #EA580C 55%, #FACC15); }
.fp-game--3 .fp-game__art { background: linear-gradient(135deg, #713F12, #CA8A04 55%, #FDE68A); }
.fp-game--4 .fp-game__art { background: linear-gradient(135deg, #0C4A6E, #0EA5E9 55%, #A5F3FC); }
.fp-game--5 .fp-game__art { background: linear-gradient(135deg, #7F1D1D, #DC2626 55%, #FB923C); }
.fp-game--6 .fp-game__art { background: linear-gradient(135deg, #831843, #E11D48 55%, #FDA4AF); }
.fp-game--7 .fp-game__art { background: linear-gradient(135deg, #14532D, #16A34A 55%, #86EFAC); }
.fp-game--8 .fp-game__art { background: linear-gradient(135deg, #1E293B, #475569 55%, #CBD5E1); }
.fp-game__body { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px 16px; }
.fp-game__name { font-family: var(--fp-font-head); font-weight: 600; font-size: 16px; line-height: 1.25; }
.fp-game__meta { font-size: 13px; color: var(--fp-muted); }
.fp-game__cta { margin-top: 8px; font-family: var(--fp-font-head); font-weight: 600; font-size: 14px; color: #67E8F9; }
.fp-games-note { margin-top: var(--fp-space-5) !important; color: var(--fp-muted); font-size: 14px; }

/* Promo slider */
.fp-slider { position: relative; }
.fp-slides-track { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; gap: 0; scrollbar-width: none; border-radius: 24px; }
.fp-slides-track::-webkit-scrollbar { display: none; }
.fp-slide { flex: 0 0 100%; scroll-snap-align: start; margin: 0 !important; border-radius: 24px; padding: clamp(28px, 5vw, 64px) !important; min-height: 280px; display: flex; flex-direction: column; justify-content: center; position: relative; overflow: hidden; border: 1px solid rgba(124, 58, 237, .45); }
.fp-slide > .wp-block-group__inner-container { max-width: 620px; position: relative; z-index: 1; }
.fp-slide::after { content: ""; position: absolute; right: -60px; bottom: -60px; width: 340px; height: 340px; border-radius: 50%; border: 40px solid rgba(255, 255, 255, .06); }
.fp-slide--1 { background: radial-gradient(80% 120% at 100% 0%, rgba(6, 182, 212, .35), transparent 55%), radial-gradient(80% 120% at 0% 100%, rgba(124, 58, 237, .45), transparent 55%), var(--fp-card); }
.fp-slide--2 { background: radial-gradient(80% 120% at 100% 0%, rgba(250, 204, 21, .22), transparent 55%), radial-gradient(80% 120% at 0% 100%, rgba(225, 29, 72, .35), transparent 55%), var(--fp-card); }
.fp-slide--3 { background: radial-gradient(80% 120% at 100% 0%, rgba(34, 197, 94, .22), transparent 55%), radial-gradient(80% 120% at 0% 100%, rgba(6, 182, 212, .35), transparent 55%), var(--fp-card); }
.fp-slide h2 { font-size: clamp(26px, 3.8vw, 44px); text-transform: uppercase; line-height: 1.05; margin: 0 0 12px; }
.fp-slide p { color: var(--fp-text-2); font-size: clamp(15px, 1.5vw, 18px); }
.fp-slider__dots { display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
.fp-slider__dots button { width: 10px; height: 10px; min-height: 0; padding: 0; border-radius: 999px; border: 0; background: var(--fp-border); cursor: pointer; transition: width .25s var(--fp-ease), background .25s; }
.fp-slider__dots button.is-active { width: 28px; background: var(--fp-gradient); }
.fp-slider__dots button:focus-visible { outline: 2px solid var(--fp-accent-2); outline-offset: 3px; }

/* How it works */
.fp-steps { gap: 16px !important; counter-reset: fpstep; position: relative; }
.fp-howto { position: relative; background: var(--fp-card); border: 1px solid var(--fp-border); border-radius: 18px; padding: 24px !important; height: 100%; }
.fp-howto-num { font-family: var(--fp-font-head); font-weight: 700; font-size: 40px; line-height: 1; margin: 0 0 14px !important; background: var(--fp-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.fp-howto h3 { font-size: 18px; margin: 0 0 8px; }
.fp-howto p:not(.fp-howto-num) { color: var(--fp-muted); font-size: 15px; margin: 0; }
@media (min-width: 782px) {
	.fp-steps > .wp-block-column:not(:last-child) .fp-howto::after { content: ""; position: absolute; top: 44px; right: -17px; width: 18px; height: 2px; background: var(--fp-gradient); }
}

/* CTA band */
.fp-cta-band { border-radius: 24px; padding: clamp(28px, 5vw, 56px) !important; text-align: center; background: radial-gradient(70% 140% at 50% 0%, rgba(124, 58, 237, .4), transparent 60%), var(--fp-bg-2); border: 1px solid rgba(124, 58, 237, .4); }
.fp-cta-band h2 { font-size: clamp(26px, 3.4vw, 40px); margin: 0 0 10px; }
.fp-cta-band p { color: var(--fp-text-2); margin: 0 auto 20px; max-width: 56ch; }
.fp-cta-band .wp-block-buttons { justify-content: center; }

@media (max-width: 1024px) {
	.fp-games { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.fp-games { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.fp-game__body { padding: 12px; }
	.fp-of-grid { grid-template-columns: 1fr; }
	.fp-hero .wp-block-columns { gap: 32px !important; }
	.fp-slide { min-height: 240px; }
}
@media (prefers-reduced-motion: reduce) {
	.fp-marquee__track { animation: none; }
}

/* ---------- 20. Responsive ---------- */
@media (max-width: 1024px) {
	.fp-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.fp-cat-grid { gap: 10px; }
	.fp-cat-card__link { padding: 16px; }
	.fp-cat-card__icon { width: 44px; height: 44px; margin-bottom: 6px; }
	.fp-cat-card__arrow { display: none; }
	.fp-cat-card__name { font-size: 15px; }
	.fp-hero { text-align: left; }
	.fp-hero-visual { max-width: 340px; }
	.fp-newsletter .wpcf7-form { grid-template-columns: 1fr; }
	.fp-topup__grid.has-server { grid-template-columns: 1fr; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; }
	ul.products li.product .product-details { padding: 12px; }
	.fp-section-head { align-items: flex-start; }
	.site-header-item .custom-logo { max-height: 40px; }
}
@media (max-width: 380px) {
	.fp-cat-grid { grid-template-columns: 1fr 1fr; }
	.fp-cat-card__name { font-size: 14px; }
}

/* ---------- 21. Motion & a11y ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
.screen-reader-text:focus { background: var(--fp-card); color: var(--fp-text); }
