/* =========================================================
   Headliner — theme styles. Prefix jx5, separator "-".
   Tokens mirror the theme.json palette (brand colours from inspecta-page-colors.json).
   ========================================================= */
:root {
	--jx5-bg: #232634;
	--jx5-surface: #2A2D3D;
	--jx5-surface-2: #373A4D;
	--jx5-line: #484C61;
	--jx5-navy: #0C114F;
	--jx5-violet: #5E2DB7;
	--jx5-violet-deep: #3E2270;
	--jx5-amp: #FFBC0D;
	--jx5-amp-soft: #FFD975;
	--jx5-red: #C23342;
	--jx5-text: #F5F5F5;
	--jx5-muted: #B6B5C1;
	--jx5-font-display: var(--wp--preset--font-family--display, "Big Shoulders Display", "Arial Narrow", Impact, sans-serif);
	--jx5-font-body: var(--wp--preset--font-family--body, Onest, system-ui, sans-serif);
	--jx5-wrap: 1200px;
	--jx5-gutter: clamp(16px, 4vw, 32px);
	--jx5-radius: 6px;
	--jx5-ico-check: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 20 20%22%3E%3Ccircle cx=%2210%22 cy=%2210%22 r=%2210%22 fill=%22%23FFBC0D%22/%3E%3Cpath d=%22m5.5 10.5 3 3 6-7%22 fill=%22none%22 stroke=%22%23232634%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22/%3E%3C/svg%3E");
	--jx5-ico-cross: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 22 22%22%3E%3Ccircle cx=%2211%22 cy=%2211%22 r=%2211%22 fill=%22%23C23342%22/%3E%3Cpath d=%22M7.5 7.5l7 7M14.5 7.5l-7 7%22 stroke=%22%23fff%22 stroke-width=%222.4%22 stroke-linecap=%22round%22/%3E%3C/svg%3E");
	--jx5-ico-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%224%22 width=%2218%22 height=%2216%22 rx=%222%22/%3E%3Ccircle cx=%229%22 cy=%2210%22 r=%222%22/%3E%3Cpath d=%22m21 16-5-5-9 9%22/%3E%3C/svg%3E");
	--jx5-ico-quote: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M10 7H6.5A1.5 1.5 0 0 0 5 8.5V12h4v5H5M19 7h-3.5A1.5 1.5 0 0 0 14 8.5V12h4v5h-4%22/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 90px; }
body { margin: 0; background: var(--jx5-bg); color: var(--jx5-text); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--jx5-amp); text-underline-offset: 3px; }
a:hover { color: var(--jx5-amp-soft); }
p { margin: 0 0 1.1em; }
strong { font-weight: 700; color: #fff; }
ul, ol { margin: 0 0 1.2em; padding: 0; }
h1, h2, h3 { margin: 0 0 .5em; color: #fff; }
:focus-visible { outline: 2px solid var(--jx5-amp); outline-offset: 3px; }
.jx5-accent { color: var(--jx5-amp); }

.jx5-wrap { width: 100%; max-width: calc(var(--jx5-wrap) + 2 * var(--jx5-gutter)); margin-left: auto; margin-right: auto; padding-left: var(--jx5-gutter); padding-right: var(--jx5-gutter); }
.wp-site-blocks > * { margin-block: 0; }
.jx5-main .wp-block-post-content > * { margin-block: 0; }
.jx5-section .jx5-wrap > :last-child { margin-bottom: 0; }

/* ---------- Buttons (jx5/button) — always <button>; redirect via .jx5-cta ---------- */
.jx5-btn-row { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 0; }
.jx5-btn-row + * { margin-top: 32px; }
.jx5-btn-inline { display: inline-flex; }
.jx5-btn {
	appearance: none; border: 0; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	padding: 15px 30px; border-radius: var(--jx5-radius);
	font: 800 1.2rem/1 var(--jx5-font-display); letter-spacing: .06em; text-transform: uppercase;
	color: var(--jx5-bg); background: var(--jx5-amp);
	box-shadow: 4px 4px 0 var(--jx5-violet);
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.jx5-btn:hover { background: var(--jx5-amp-soft); transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--jx5-violet); }
.jx5-btn:active { transform: translate(2px, 2px); box-shadow: 2px 2px 0 var(--jx5-violet); }
.jx5-btn--dark { background: var(--jx5-bg); color: var(--jx5-amp); box-shadow: 4px 4px 0 var(--jx5-navy); }
.jx5-btn--dark:hover { background: var(--jx5-navy); box-shadow: 6px 6px 0 rgba(12, 17, 79, .45); }
.jx5-btn--ghost { background: transparent; color: var(--jx5-text); box-shadow: inset 0 0 0 2px var(--jx5-amp); }
.jx5-btn--ghost:hover { background: rgba(255, 188, 13, .12); box-shadow: inset 0 0 0 2px var(--jx5-amp-soft); transform: none; }
.jx5-btn--sm { padding: 11px 18px; font-size: 1.02rem; box-shadow: 3px 3px 0 var(--jx5-violet); }
.jx5-btn--sm:hover { box-shadow: 4px 4px 0 var(--jx5-violet); }
.jx5-btn--sm.jx5-btn--ghost, .jx5-btn--sm.jx5-btn--ghost:hover { box-shadow: inset 0 0 0 2px var(--jx5-amp); }
.jx5-only-mob { display: none !important; }
/* switched at the hamburger breakpoint (same as the header block below) */
@media (max-width: 899px) {
	.jx5-only-desk { display: none !important; }
	.jx5-only-mob { display: inline-flex !important; }
	.jx5-main .jx5-btn-row .jx5-btn { width: 100%; }
}

/* ---------- Navigation base (core navigation CSS is dequeued in inc/performance.php) ---------- */
.wp-block-navigation { position: relative; }
.wp-block-navigation ul { list-style: none; margin: 0; padding: 0; }
.wp-block-navigation__container { display: flex; flex-wrap: wrap; align-items: center; }
.wp-block-navigation .wp-block-navigation-item { display: flex; align-items: center; position: relative; }
.wp-block-navigation .wp-block-navigation-item__content { text-decoration: none; }

/* ---------- Header (parts/header.html) ---------- */
.jx5-header { position: sticky; top: 0; z-index: 50; }
.jx5-header::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: rgba(35, 38, 52, .9); border-bottom: 1px solid rgba(72, 76, 97, .7);
	-webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.admin-bar .jx5-header { top: var(--wp-admin--admin-bar--height, 32px); }
.jx5-header__in { display: flex; align-items: center; gap: 24px; min-height: 76px; position: relative; }
.jx5-header .wp-block-site-logo { flex: none; line-height: 0; margin: 0; }
.jx5-header .wp-block-site-logo img { width: 96px; height: auto; }
/* nav.jx5-nav: WordPress also copies the jx5-nav class onto the inner <ul> */
.jx5-header nav.jx5-nav { margin-left: auto; }
.jx5-header .jx5-nav .wp-block-navigation__container { gap: 4px; }
.jx5-header .jx5-nav .wp-block-navigation-item__content {
	display: block; padding: 8px 12px;
	font: 700 1.12rem/1 var(--jx5-font-display); letter-spacing: .05em; text-transform: uppercase;
	color: var(--jx5-text);
}
.jx5-header .jx5-nav .wp-block-navigation-item__content:hover { color: var(--jx5-amp); }
.jx5-header .jx5-nav .wp-block-navigation-item__content[aria-current="page"] { color: var(--jx5-amp); box-shadow: inset 0 -2px 0 var(--jx5-amp); }
.jx5-header__cta { flex: none; }
.jx5-header .jx5-header__login { display: none; } /* Login button: never on desktop, only next to the burger */
.jx5-header .jx5-nav .jx5-nav-cta { display: none; } /* Sign up inside the dropdown only */

.jx5-burger {
	display: none; appearance: none; cursor: pointer; flex: none;
	width: 44px; height: 44px; place-items: center; border-radius: var(--jx5-radius);
	background: var(--jx5-surface-2); color: var(--jx5-text); border: 1px solid var(--jx5-line);
}
.jx5-burger svg { width: 22px; height: 22px; }
.jx5-burger .jx5-burger__close { display: none; }
.jx5-burger[aria-expanded="true"] .jx5-burger__open { display: none; }
.jx5-burger[aria-expanded="true"] .jx5-burger__close { display: block; }

/* Hamburger breakpoint: Login appears next to the burger, Sign up moves into the dropdown */
@media (max-width: 899px) {
	.jx5-header__in { gap: 10px; min-height: 66px; }
	.jx5-header .wp-block-site-logo img { width: 88px; }
	.jx5-header .jx5-header__login { display: inline-flex; margin-left: auto; }
	.jx5-burger { display: grid; order: 10; }
	.jx5-header nav.jx5-nav {
		position: absolute; left: 0; right: 0; top: 100%; margin: 0;
		display: flex; flex-direction: column; align-items: stretch;
		padding: 10px var(--jx5-gutter) 20px;
		background: var(--jx5-surface); border-bottom: 3px solid var(--jx5-amp);
		box-shadow: 0 18px 30px rgba(0, 0, 0, .35);
		opacity: 0; visibility: hidden; transform: translateY(-8px);
		transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
	}
	.jx5-header nav.jx5-nav.is-open { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
	.jx5-header .jx5-nav .wp-block-navigation__container { flex-direction: column; align-items: stretch; gap: 0; width: 100%; }
	.jx5-header .jx5-nav .wp-block-navigation-item { width: 100%; }
	.jx5-header .jx5-nav .wp-block-navigation-item__content { flex: 1; padding: 14px 4px; font-size: 1.3rem; border-bottom: 1px solid var(--jx5-line); }
	.jx5-header .jx5-nav .wp-block-navigation-item__content[aria-current="page"] { box-shadow: none; }
	.jx5-header .jx5-nav .jx5-nav-cta { display: flex; width: 100%; padding-top: 18px; }
	.jx5-header .jx5-nav .jx5-nav-cta .jx5-btn { width: 100%; }
}
@media (max-width: 359px) { .jx5-header .jx5-header__login .jx5-btn { padding: 10px 12px; } }

/* ---------- Hero (jx5/hero) ---------- */
.jx5-hero {
	position: relative; overflow: hidden; isolation: isolate;
	padding: clamp(40px, 6vw, 80px) 0 clamp(48px, 7vw, 96px);
	background: radial-gradient(1200px 520px at 100% 0%, rgba(94, 45, 183, .38), transparent 60%), var(--jx5-navy);
}
/* vinyl record rings, purely decorative */
.jx5-hero::before {
	content: ""; position: absolute; z-index: -1; right: -220px; top: -180px;
	width: 640px; height: 640px; border-radius: 50%;
	background:
		radial-gradient(circle, var(--jx5-amp) 0 9%, var(--jx5-navy) 9.2% 11%, transparent 11.2%),
		repeating-radial-gradient(circle, rgba(255, 255, 255, .055) 0 1px, transparent 1px 7px),
		#070a33;
	opacity: .55;
}
.jx5-hero::after {
	content: ""; position: absolute; z-index: -1; left: 0; right: 0; bottom: 0; height: 10px;
	background: repeating-linear-gradient(-45deg, var(--jx5-amp) 0 14px, var(--jx5-bg) 14px 28px);
}
.jx5-hero__grid {
	display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	grid-template-areas: "title title" "media intro" "media btn" "media after";
	grid-template-rows: auto auto auto 1fr;
	column-gap: clamp(28px, 4vw, 56px);
}
.jx5-hero__text { display: contents; }
.jx5-hero h1 { grid-area: title; max-width: 22ch; margin-bottom: clamp(24px, 3.5vw, 40px); }
.jx5-hero h1::first-line { color: var(--jx5-amp); }
.jx5-hero__intro { grid-area: intro; font-size: 1.06rem; }
.jx5-hero__btn { grid-area: btn; margin: 6px 0 26px; }
.jx5-hero__after { grid-area: after; color: var(--jx5-muted); font-size: .97rem; border-top: 1px dashed var(--jx5-line); padding-top: 22px; }
.jx5-hero__after > :last-child { margin-bottom: 0; }
.jx5-hero__after strong { color: var(--jx5-text); }
.jx5-hero .jx5-figure.jx5-hero__media { grid-area: media; align-self: start; margin: 0; position: sticky; top: 108px; }
.jx5-hero .jx5-img { box-shadow: 10px 10px 0 var(--jx5-amp); }
/* no image (legal pages, contact, responsible gaming) */
.jx5-hero--simple .jx5-hero__grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "title" "intro" "btn" "after"; grid-template-rows: none; max-width: calc(900px + 2 * var(--jx5-gutter)); margin-left: max(0px, calc((100% - var(--jx5-wrap) - 2 * var(--jx5-gutter)) / 2)); }
.jx5-hero--simple h1 { max-width: none; }
.jx5-hero--simple .jx5-hero__intro { margin-bottom: 0; }
.jx5-hero--simple .jx5-hero__after { margin-top: 22px; }
/* image but no description (about page): heading + button left, image right */
@media (min-width: 900px) {
	/* heading + button centred against the image; the 1fr rows soak up the spare height */
	.jx5-hero--bare .jx5-hero__grid { grid-template-areas: ". media" "title media" "btn media" ". media"; grid-template-rows: 1fr auto auto 1fr; }
	.jx5-hero--bare .jx5-hero__btn { align-self: start; margin-bottom: 0; }
}
@media (max-width: 899px) {
	.jx5-hero__grid { display: flex; flex-direction: column; }
	/* Mobile order: image → button → heading → intro → rest */
	.jx5-hero .jx5-figure.jx5-hero__media { order: 1; width: 100%; align-self: stretch; position: static; }
	.jx5-hero__btn { order: 2; margin: 34px 0 48px; } /* clears the image's 10px offset shadow */
	.jx5-hero__btn .jx5-btn { width: 100%; }
	.jx5-hero h1 { order: 3; max-width: none; margin-bottom: 20px; }
	.jx5-hero__intro { order: 4; }
	.jx5-hero__after { order: 5; }
	.jx5-hero::before { width: 420px; height: 420px; right: -200px; top: -140px; }
	.jx5-hero--simple .jx5-hero__grid { margin-left: 0; }
}

/* ---------- Images (jx5/image) — .jx5-img-cta = redirect target ---------- */
.jx5-figure { margin: 32px 0; }
.jx5-img-cta { cursor: pointer; }
.jx5-img {
	position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--jx5-radius);
	background: var(--jx5-surface-2); border: 1px solid var(--jx5-line);
	box-shadow: 8px 8px 0 rgba(94, 45, 183, .55);
	transition: transform .2s ease, box-shadow .2s ease;
}
img.jx5-img--photo { height: auto; object-fit: cover; }
.jx5-img-cta:hover .jx5-img { transform: translate(-2px, -2px); }
.jx5-img__ph {
	position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
	padding: 24px; text-align: center; color: var(--jx5-muted); font-size: .92rem;
	background:
		repeating-radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .03) 0 1px, transparent 1px 9px),
		linear-gradient(135deg, var(--jx5-surface-2), var(--jx5-violet-deep));
}
.jx5-img__ph::before { content: ""; width: 40px; height: 40px; background: var(--jx5-amp); -webkit-mask: var(--jx5-ico-image) center / contain no-repeat; mask: var(--jx5-ico-image) center / contain no-repeat; }

/* ---------- Sections (jx5/section) ---------- */
.jx5-main { counter-reset: jx5-track; }
.jx5-section { padding: clamp(56px, 8vw, 100px) 0; position: relative; }
.jx5-section--alt { background: var(--jx5-surface); }
.jx5-section--tight { padding: clamp(40px, 5vw, 56px) 0; }
.jx5-section--flush-top { padding-top: 24px; }
.jx5-section + .jx5-section:not(.jx5-section--alt):not(.jx5-band--amp):not(.jx5-band--bonus) { border-top: 1px solid rgba(72, 76, 97, .6); }
.jx5-section.jx5-narrow .jx5-wrap { max-width: calc(820px + 2 * var(--jx5-gutter)); }

/* Section H2: "track number" + yellow underline */
.jx5-section h2.wp-block-heading { counter-increment: jx5-track; position: relative; padding-top: 30px; margin-bottom: 28px; max-width: 30ch; }
.jx5-section h2.wp-block-heading::before {
	content: counter(jx5-track, decimal-leading-zero);
	position: absolute; left: 0; top: 0; padding-right: 46px;
	font: 700 .85rem/1 var(--jx5-font-body); letter-spacing: .16em; color: var(--jx5-amp);
	background: linear-gradient(var(--jx5-amp), var(--jx5-amp)) right center / 34px 2px no-repeat;
}
.jx5-section h2.wp-block-heading::after { content: ""; display: block; width: 64px; height: 5px; margin-top: 16px; background: var(--jx5-amp); border-radius: 1px; }
.jx5-section h3.wp-block-heading { margin-top: 36px; color: var(--jx5-amp); }
.jx5-section h2 + h3.wp-block-heading { margin-top: 0; }

/* Yellow band */
.jx5-band--amp { background: var(--jx5-amp); color: var(--jx5-bg); }
.jx5-band--amp h2.wp-block-heading, .jx5-band--amp p { color: var(--jx5-bg); }
.jx5-band--amp h2.wp-block-heading::before { color: var(--jx5-violet-deep); background-image: linear-gradient(var(--jx5-violet-deep), var(--jx5-violet-deep)); }
.jx5-band--amp h2.wp-block-heading::after { background: var(--jx5-bg); }
/* Bonus band */
.jx5-band--bonus { background: linear-gradient(160deg, var(--jx5-violet-deep) 0%, var(--jx5-navy) 70%); }

/* ---------- Paragraph styles ---------- */
p.is-style-jx5-label { font-weight: 700; color: #fff; margin-top: 28px; }
p.is-style-jx5-note { padding: 18px 22px; border-radius: var(--jx5-radius); background: rgba(94, 45, 183, .16); border-left: 4px solid var(--jx5-violet); }
p.is-style-jx5-warn { padding: 18px 22px; border-radius: var(--jx5-radius); background: rgba(194, 51, 66, .12); border-left: 4px solid var(--jx5-red); }
p.is-style-jx5-code { padding: 22px 24px; margin: 26px 0; border-radius: var(--jx5-radius); border: 2px dashed var(--jx5-amp); background: rgba(12, 17, 79, .55); }
p.is-style-jx5-code strong {
	display: inline-block; padding: 2px 10px; border-radius: 4px; background: var(--jx5-amp); color: var(--jx5-bg);
	font: 800 1.15rem/1.3 var(--jx5-font-display); letter-spacing: .1em;
}

/* ---------- Tables (core/table) — fluid, no horizontal scroll ---------- */
.jx5-section .wp-block-table { width: 100%; margin: 28px 0; border: 1px solid var(--jx5-line); border-radius: var(--jx5-radius); overflow: hidden; background: var(--jx5-bg); }
.jx5-section .wp-block-table table { width: 100%; border-collapse: collapse; table-layout: auto; margin: 0; font-size: clamp(.72rem, 2.3vw, .98rem); line-height: 1.5; }
.jx5-section .wp-block-table thead { border: 0; }
.jx5-section .wp-block-table th,
.jx5-section .wp-block-table td { padding: clamp(10px, 1.6vw, 15px) clamp(7px, 1.8vw, 20px); text-align: left; vertical-align: top; border: 0; overflow-wrap: break-word; word-wrap: anywhere; }
.jx5-section .wp-block-table th {
	background: var(--jx5-violet-deep); color: #fff;
	font: 700 clamp(.78rem, 2vw, 1.12rem)/1.15 var(--jx5-font-display); letter-spacing: .06em; text-transform: uppercase;
}
.jx5-section .wp-block-table td { border-top: 1px solid var(--jx5-line); }
.jx5-section .wp-block-table tbody tr:nth-child(even) td { background: rgba(55, 58, 77, .45); }
.jx5-section .wp-block-table td:first-child { font-weight: 600; color: #fff; }
.jx5-section .wp-block-table.is-style-jx5-kv td:first-child { width: 38%; }
.jx5-section .wp-block-table.is-style-jx5-num td:not(:first-child) { white-space: nowrap; }
/* prize pools: big poster numbers */
.jx5-section .wp-block-table.is-style-jx5-prize td:last-child { font: 800 clamp(1rem, 2.6vw, 1.5rem)/1.1 var(--jx5-font-display); color: var(--jx5-amp); white-space: nowrap; }
/* stage groups: level meter that fills per row */
.jx5-section .wp-block-table.is-style-jx5-stages td:first-child { width: 38%; }
.jx5-section .wp-block-table.is-style-jx5-stages td:first-child::after {
	content: ""; display: block; height: 6px; margin-top: 10px; border-radius: 3px;
	background: linear-gradient(90deg, var(--jx5-amp) var(--jx5-fill, 20%), var(--jx5-surface-2) 0);
}
.jx5-section .wp-block-table.is-style-jx5-stages tr:nth-child(2) { --jx5-fill: 40%; }
.jx5-section .wp-block-table.is-style-jx5-stages tr:nth-child(3) { --jx5-fill: 60%; }
.jx5-section .wp-block-table.is-style-jx5-stages tr:nth-child(4) { --jx5-fill: 80%; }
.jx5-section .wp-block-table.is-style-jx5-stages tr:nth-child(n+5) { --jx5-fill: 100%; }
/* lineup (yellow band) */
.jx5-section .wp-block-table.is-style-jx5-lineup { border: 0; border-radius: 0; background: none; overflow: visible; margin: 8px 0 0; }
.jx5-section .wp-block-table.is-style-jx5-lineup table { font-size: inherit; }
.jx5-section .wp-block-table.is-style-jx5-lineup th {
	padding: 0 0 14px; background: none; color: var(--jx5-violet-deep);
	font: 700 .8rem/1.3 var(--jx5-font-body); letter-spacing: .14em; border-bottom: 3px solid var(--jx5-bg);
}
.jx5-section .wp-block-table.is-style-jx5-lineup td { padding: 16px 0; border-top: 0; border-bottom: 2px dashed rgba(35, 38, 52, .35); vertical-align: baseline; color: var(--jx5-bg); background: none !important; }
.jx5-section .wp-block-table.is-style-jx5-lineup td:first-child {
	width: 34%; padding-right: 24px;
	font: 800 clamp(1.2rem, 2.4vw, 1.75rem)/1 var(--jx5-font-display); text-transform: uppercase; letter-spacing: .01em;
}
.jx5-section .wp-block-table.is-style-jx5-lineup td:last-child { font-size: clamp(.92rem, 1.6vw, 1.05rem); font-weight: 500; }
.jx5-section .wp-block-table.is-style-jx5-lineup tr:last-child td { border-bottom: 0; }
@media (max-width: 599px) {
	.jx5-section .wp-block-table.is-style-jx5-lineup th:first-child { width: 36%; }
	.jx5-section .wp-block-table.is-style-jx5-lineup td:first-child { padding-right: 12px; font-size: clamp(1rem, 4.6vw, 1.2rem); }
}
/* bonus band tables */
.jx5-band--bonus .wp-block-table { background: rgba(12, 17, 79, .6); border-color: rgba(94, 45, 183, .7); }
.jx5-band--bonus .wp-block-table th { background: var(--jx5-amp); color: var(--jx5-bg); }
.jx5-band--bonus .wp-block-table tbody tr:nth-child(even) td { background: rgba(94, 45, 183, .18); }
.jx5-band--bonus .wp-block-table td:nth-child(2) { font: 800 clamp(1.05rem, 2.6vw, 1.5rem)/1 var(--jx5-font-display); color: var(--jx5-amp); }

/* Inline formats (assets/js/editor-formats.js) */
.jx5-tag { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: .78em; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; background: rgba(255, 188, 13, .14); color: var(--jx5-amp); }
.jx5-check { color: var(--jx5-amp); font-weight: 800; }
.jx5-yes { color: #7BE0A3; font-weight: 700; }
.jx5-no { color: #FF8A95; font-weight: 700; }

/* ---------- Lists (core/list block styles) ---------- */
.wp-block-list.is-style-jx5-ticks { list-style: none; margin: 18px 0 24px; }
.wp-block-list.is-style-jx5-ticks li { position: relative; padding: 7px 0 7px 34px; }
.wp-block-list.is-style-jx5-ticks li::before {
	content: ""; position: absolute; left: 0; top: 10px; width: 20px; height: 20px; border-radius: 50%;
	background: var(--jx5-ico-check) center / 20px no-repeat;
}

.wp-block-list.is-style-jx5-cards,
.wp-block-list.is-style-jx5-shop { list-style: none; margin: 28px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.wp-block-list.is-style-jx5-shop { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wp-block-list.is-style-jx5-cards li,
.wp-block-list.is-style-jx5-shop li { position: relative; padding: 24px 22px 22px; border-radius: var(--jx5-radius); background: var(--jx5-surface); border: 1px solid var(--jx5-line); border-top: 4px solid var(--jx5-violet); }
.jx5-section--alt .wp-block-list.is-style-jx5-cards li,
.jx5-section--alt .wp-block-list.is-style-jx5-shop li { background: var(--jx5-bg); }
.wp-block-list.is-style-jx5-cards li > strong:first-child,
.wp-block-list.is-style-jx5-shop li > strong:first-child { display: block; margin-bottom: 8px; font: 800 1.35rem/1.05 var(--jx5-font-display); text-transform: uppercase; color: var(--jx5-amp); }
.wp-block-list.is-style-jx5-shop li::before { content: ""; display: block; width: 34px; height: 34px; margin-bottom: 14px; background: var(--jx5-amp); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.wp-block-list.is-style-jx5-shop li:nth-child(4n+1) { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%228.5%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%225%22/%3E%3Cpath d=%22M12 9.5v5%22/%3E%3C/svg%3E"); }
.wp-block-list.is-style-jx5-shop li:nth-child(4n+2) { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M8 4h8v5a4 4 0 0 1-8 0V4Z%22/%3E%3Cpath d=%22M8 6H4.5v1.5A3.5 3.5 0 0 0 8 11M16 6h3.5v1.5A3.5 3.5 0 0 1 16 11M12 13v4M8.5 20h7M9.5 17h5v3h-5z%22/%3E%3C/svg%3E"); }
.wp-block-list.is-style-jx5-shop li:nth-child(4n+3) { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%222%22/%3E%3Cpath d=%22M3 10h18M7 15h4%22/%3E%3C/svg%3E"); }
.wp-block-list.is-style-jx5-shop li:nth-child(4n+4) { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%228.5%22/%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%221.8%22/%3E%3Cpath d=%22M12 3.5v6.7M12 13.8v6.7M3.5 12h6.7M13.8 12h6.7M6 6l4.7 4.7M13.3 13.3 18 18M18 6l-4.7 4.7M10.7 13.3 6 18%22/%3E%3C/svg%3E"); }
@media (max-width: 1023px) { .wp-block-list.is-style-jx5-shop { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .wp-block-list.is-style-jx5-cards, .wp-block-list.is-style-jx5-shop { grid-template-columns: 1fr; } }

/* tiles */
.wp-block-list.is-style-jx5-tiles { list-style: none; margin: 20px 0 32px; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.wp-block-list.is-style-jx5-tiles li { padding: 14px 16px; border-radius: var(--jx5-radius); background: var(--jx5-surface-2); border-left: 4px solid var(--jx5-amp); font-size: .95rem; color: var(--jx5-muted); }
.jx5-band--bonus .wp-block-list.is-style-jx5-tiles li { background: rgba(12, 17, 79, .6); }

/* tracklist */
.wp-block-list.is-style-jx5-tracks { list-style: none; margin: 24px 0; counter-reset: jx5-no; border-top: 1px solid var(--jx5-line); }
.wp-block-list.is-style-jx5-tracks li { counter-increment: jx5-no; position: relative; padding: 18px 0 18px 68px; border-bottom: 1px solid var(--jx5-line); }
.wp-block-list.is-style-jx5-tracks li::before {
	content: counter(jx5-no, decimal-leading-zero); position: absolute; left: 0; top: 14px;
	font: 800 2.1rem/1 var(--jx5-font-display); color: transparent; -webkit-text-stroke: 1px var(--jx5-amp);
}
.wp-block-list.is-style-jx5-tracks li strong { color: var(--jx5-amp); }

/* numbered steps (ordered or unordered) */
.wp-block-list.is-style-jx5-steps { list-style: none; margin: 20px 0 28px; counter-reset: jx5-step; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.wp-block-list.is-style-jx5-steps li { counter-increment: jx5-step; position: relative; padding: 20px 20px 20px 70px; background: var(--jx5-surface); border: 1px solid var(--jx5-line); border-radius: var(--jx5-radius); }
.jx5-section--alt .wp-block-list.is-style-jx5-steps li { background: var(--jx5-bg); }
.wp-block-list.is-style-jx5-steps li::before {
	content: counter(jx5-step); position: absolute; left: 18px; top: 18px; width: 36px; height: 36px; display: grid; place-items: center;
	border-radius: 50%; background: var(--jx5-amp); color: var(--jx5-bg); font: 800 1.3rem/1 var(--jx5-font-display);
}
@media (max-width: 699px) { .wp-block-list.is-style-jx5-steps { grid-template-columns: 1fr; } }

/* icon rows: payments, contacts, info */
.wp-block-list.is-style-jx5-pay,
.wp-block-list.is-style-jx5-info,
.wp-block-list.is-style-jx5-contacts { list-style: none; margin: 20px 0 28px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.wp-block-list.is-style-jx5-contacts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wp-block-list.is-style-jx5-pay li,
.wp-block-list.is-style-jx5-info li,
.wp-block-list.is-style-jx5-contacts li { position: relative; padding: 16px 18px 16px 58px; background: var(--jx5-surface); border: 1px solid var(--jx5-line); border-radius: var(--jx5-radius); }
.jx5-section--alt .wp-block-list.is-style-jx5-pay li,
.jx5-section--alt .wp-block-list.is-style-jx5-info li,
.jx5-section--alt .wp-block-list.is-style-jx5-contacts li { background: var(--jx5-bg); }
.wp-block-list.is-style-jx5-pay li::before,
.wp-block-list.is-style-jx5-info li::before,
.wp-block-list.is-style-jx5-contacts li::before { content: ""; position: absolute; left: 18px; top: 17px; width: 26px; height: 26px; background: var(--jx5-amp); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.wp-block-list.is-style-jx5-contacts li { padding: 66px 20px 20px; }
.wp-block-list.is-style-jx5-contacts li::before { left: 20px; top: 22px; width: 32px; height: 32px; }
.wp-block-list.is-style-jx5-info li { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%228.5%22/%3E%3Cpath d=%22M12 11v5.5M12 7.8h.01%22/%3E%3C/svg%3E"); }
.wp-block-list.is-style-jx5-pay li:nth-child(5n+1) { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%222%22/%3E%3Cpath d=%22M3 10h18M7 15h4%22/%3E%3C/svg%3E"); }
.wp-block-list.is-style-jx5-pay li:nth-child(5n+2) { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 9.5 12 4l9 5.5M5 10v8M9.5 10v8M14.5 10v8M19 10v8M3 20h18%22/%3E%3C/svg%3E"); }
.wp-block-list.is-style-jx5-pay li:nth-child(5n+3) { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 7.5A2.5 2.5 0 0 1 6.5 5H18v3%22/%3E%3Crect x=%224%22 y=%228%22 width=%2216%22 height=%2211%22 rx=%222%22/%3E%3Cpath d=%22M16 13.5h2%22/%3E%3C/svg%3E"); }
.wp-block-list.is-style-jx5-pay li:nth-child(5n+4) { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%228.5%22/%3E%3Cpath d=%22M9.5 7.5v9M9.5 8h4a2 2 0 0 1 0 4h-4m0 0h4.5a2 2 0 0 1 0 4H9.5M11 6v2M11 16v2%22/%3E%3C/svg%3E"); }
.wp-block-list.is-style-jx5-pay li:nth-child(5n+5) { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 21s-6.5-6.2-6.5-11a6.5 6.5 0 0 1 13 0c0 4.8-6.5 11-6.5 11Z%22/%3E%3Ccircle cx=%2212%22 cy=%2210%22 r=%222.3%22/%3E%3C/svg%3E"); }
.wp-block-list.is-style-jx5-contacts li:nth-child(5n+1) { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4 5h16v11H9l-5 4V5Z%22/%3E%3Cpath d=%22M8 9.5h8M8 12.5h5%22/%3E%3C/svg%3E"); }
.wp-block-list.is-style-jx5-contacts li:nth-child(5n+2) { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%222%22/%3E%3Cpath d=%22m4 7 8 6 8-6%22/%3E%3C/svg%3E"); }
.wp-block-list.is-style-jx5-contacts li:nth-child(5n+3) { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M7 3h7l4 4v14H7V3Z%22/%3E%3Cpath d=%22M14 3v4h4M9.5 12h5M9.5 15.5h5%22/%3E%3C/svg%3E"); }
.wp-block-list.is-style-jx5-contacts li:nth-child(5n+4) { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 3 5 6v5.5c0 4.4 3 8 7 9.5 4-1.5 7-5.1 7-9.5V6l-7-3Z%22/%3E%3Cpath d=%22m9 12 2.2 2.2L15.5 10%22/%3E%3C/svg%3E"); }
.wp-block-list.is-style-jx5-contacts li:nth-child(5n+5) { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%228.5%22 r=%223.8%22/%3E%3Cpath d=%22M4.5 20.5c1-3.8 4-5.8 7.5-5.8s6.5 2 7.5 5.8%22/%3E%3C/svg%3E"); }
@media (max-width: 899px) { .wp-block-list.is-style-jx5-contacts { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599px) { .wp-block-list.is-style-jx5-pay, .wp-block-list.is-style-jx5-info, .wp-block-list.is-style-jx5-contacts { grid-template-columns: 1fr; } }

/* prohibited practices */
.wp-block-list.is-style-jx5-rules { list-style: none; margin: 20px 0 24px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; }
.wp-block-list.is-style-jx5-rules li { position: relative; padding: 14px 16px 14px 52px; border-radius: var(--jx5-radius); background: rgba(194, 51, 66, .12); border: 1px solid rgba(194, 51, 66, .45); }
.wp-block-list.is-style-jx5-rules li::before { content: ""; position: absolute; left: 16px; top: 15px; width: 22px; height: 22px; background: var(--jx5-ico-cross) center / contain no-repeat; }
@media (max-width: 699px) { .wp-block-list.is-style-jx5-rules { grid-template-columns: 1fr; } }

/* ---------- Groups (core/group block styles) ---------- */
.wp-block-group.is-style-jx5-panel { padding: clamp(24px, 4vw, 40px); border-radius: var(--jx5-radius); background: var(--jx5-surface); border: 1px solid var(--jx5-line); }
.jx5-section--alt .wp-block-group.is-style-jx5-panel { background: var(--jx5-bg); }
.wp-block-group.is-style-jx5-panel > :last-child { margin-bottom: 0; }
.wp-block-group.is-style-jx5-vip { margin: 28px 0; padding: clamp(24px, 4vw, 40px); border-radius: var(--jx5-radius); background: linear-gradient(135deg, var(--jx5-violet-deep), var(--jx5-navy)); border: 1px solid rgba(94, 45, 183, .8); }
.wp-block-group.is-style-jx5-vip > p:first-child { font-weight: 600; color: #fff; }
.wp-block-group.is-style-jx5-vip > :last-child { margin-bottom: 0; }

.wp-block-group.is-style-jx5-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.wp-block-group.is-style-jx5-duo > .wp-block-group { display: flex; flex-direction: column; }
.wp-block-group.is-style-jx5-duo > .wp-block-group > .jx5-btn-row { margin-top: auto; padding-top: 10px; }
.wp-block-group.is-style-jx5-duo h2.wp-block-heading { font-size: clamp(1.8rem, 3vw, 2.5rem); }
@media (max-width: 899px) { .wp-block-group.is-style-jx5-duo { grid-template-columns: 1fr; } }

.wp-block-group.is-style-jx5-tables-duo { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px; align-items: start; margin: 28px 0; }
.wp-block-group.is-style-jx5-tables-duo .wp-block-table { margin: 0; }
.wp-block-group.is-style-jx5-tables-duo p { margin: 0 0 12px; }
@media (max-width: 899px) { .wp-block-group.is-style-jx5-tables-duo { grid-template-columns: 1fr; } }

.wp-block-group.is-style-jx5-features { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 28px 0; }
.wp-block-group.is-style-jx5-features > p { margin: 0; padding: 22px; border-radius: var(--jx5-radius); background: var(--jx5-surface); border: 1px solid var(--jx5-line); border-top: 4px solid var(--jx5-amp); }
.jx5-section--alt .wp-block-group.is-style-jx5-features > p { background: var(--jx5-bg); }
.wp-block-group.is-style-jx5-features > p > strong:first-child { display: block; margin-bottom: 8px; font: 800 1.35rem/1.05 var(--jx5-font-display); text-transform: uppercase; color: var(--jx5-amp); }
@media (max-width: 699px) { .wp-block-group.is-style-jx5-features { grid-template-columns: 1fr; } }

/* quotes */
.wp-block-group.is-style-jx5-quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.wp-block-group.is-style-jx5-quote { padding: 26px 24px 22px; border-radius: var(--jx5-radius); background: var(--jx5-bg); border: 1px solid var(--jx5-line); display: flex; flex-direction: column; }
.jx5-section:not(.jx5-section--alt) .wp-block-group.is-style-jx5-quote { background: var(--jx5-surface); }
.wp-block-group.is-style-jx5-quote::before { content: ""; width: 34px; height: 34px; margin-bottom: 12px; background: var(--jx5-amp); -webkit-mask: var(--jx5-ico-quote) center / contain no-repeat; mask: var(--jx5-ico-quote) center / contain no-repeat; }
.wp-block-group.is-style-jx5-quote p { font-size: .98rem; }
.wp-block-group.is-style-jx5-quote p:last-child { margin: auto 0 0; padding-top: 14px; border-top: 1px dashed var(--jx5-line); color: var(--jx5-muted); font-size: .9rem; }
.wp-block-group.is-style-jx5-quote p:last-child em { font-style: normal; }
@media (max-width: 899px) { .wp-block-group.is-style-jx5-quotes { grid-template-columns: 1fr; } }

/* responsible gaming panel */
.wp-block-group.is-style-jx5-rg,
.wp-block-group.is-style-jx5-rg-age { padding: clamp(20px, 3vw, 32px); border-radius: var(--jx5-radius); background: var(--jx5-surface); border: 2px solid var(--jx5-red); }
.jx5-section--alt .wp-block-group.is-style-jx5-rg, .jx5-section--alt .wp-block-group.is-style-jx5-rg-age { background: var(--jx5-bg); }
.wp-block-group.is-style-jx5-rg-age { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: clamp(20px, 4vw, 40px); align-items: start; }
.wp-block-group.is-style-jx5-rg-age > * { grid-column: 2; }
.wp-block-group.is-style-jx5-rg-age::before {
	content: "18+"; grid-column: 1; grid-row: 1 / span 12; width: 68px; height: 68px; border-radius: 50%; display: grid; place-items: center;
	border: 4px solid var(--jx5-red); color: #fff; font: 800 1.6rem/1 var(--jx5-font-display);
}
.wp-block-group.is-style-jx5-rg-age h2.wp-block-heading { font-size: clamp(1.6rem, 3vw, 2.2rem); padding-top: 26px; margin-bottom: 20px; }
.wp-block-group.is-style-jx5-rg-age h2.wp-block-heading::after { margin-top: 12px; }
.wp-block-group.is-style-jx5-rg > :last-child,
.wp-block-group.is-style-jx5-rg-age > :last-child { margin-bottom: 0; }
.wp-block-group.is-style-jx5-rg-age > p:last-child { font-weight: 700; color: var(--jx5-amp); }
@media (max-width: 599px) {
	.wp-block-group.is-style-jx5-rg-age { grid-template-columns: 1fr; }
	.wp-block-group.is-style-jx5-rg-age > *, .wp-block-group.is-style-jx5-rg-age::before { grid-column: 1; grid-row: auto; }
	.wp-block-group.is-style-jx5-rg-age::before { width: 64px; height: 64px; font-size: 1.5rem; margin-bottom: 20px; }
}

/* ---------- Columns: text + image ---------- */
.wp-block-columns.is-style-jx5-split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 64px); align-items: center; margin: 0; }
.wp-block-columns.is-style-jx5-split > .wp-block-column { min-width: 0; margin: 0; }
.wp-block-columns.is-style-jx5-split .jx5-figure { margin: 0; }
.wp-block-columns.is-style-jx5-split > .wp-block-column > :last-child { margin-bottom: 0; }
@media (max-width: 899px) { .wp-block-columns.is-style-jx5-split { grid-template-columns: 1fr; } }

/* ---------- FAQ (jx5/faq, jx5/faq-item) ---------- */
.wp-block-group.is-style-jx5-faq-layout { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(24px, 5vw, 64px); align-items: start; }
.wp-block-group.is-style-jx5-faq-layout > h2.wp-block-heading { position: sticky; top: 110px; }
.wp-block-group.is-style-jx5-faq-layout > p { grid-column: 1; }
.wp-block-group.is-style-jx5-faq-layout > .jx5-faq { grid-column: 2; grid-row: 1 / span 4; }
@media (max-width: 899px) {
	.wp-block-group.is-style-jx5-faq-layout { grid-template-columns: 1fr; gap: 0; }
	.wp-block-group.is-style-jx5-faq-layout > h2.wp-block-heading { position: static; }
	.wp-block-group.is-style-jx5-faq-layout > .jx5-faq { grid-column: 1; grid-row: auto; }
}
.jx5-faq { border-top: 1px solid var(--jx5-line); }
.jx5-faq__item { border-bottom: 1px solid var(--jx5-line); }
.jx5-faq__h { margin: 0; font: inherit; text-transform: none; letter-spacing: 0; }
.jx5-faq__q {
	appearance: none; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 18px;
	padding: 20px 0; background: none; border: 0; cursor: pointer; text-align: left; color: #fff;
	font: 600 1.08rem/1.35 var(--jx5-font-body);
}
.jx5-faq__q:hover { color: var(--jx5-amp); }
.jx5-faq__q::after {
	content: ""; flex: none; width: 34px; height: 34px; border-radius: 50%; border: 2px solid var(--jx5-amp);
	background:
		linear-gradient(var(--jx5-faq-ink, var(--jx5-amp)), var(--jx5-faq-ink, var(--jx5-amp))) center / 14px 2px no-repeat,
		linear-gradient(var(--jx5-faq-ink, var(--jx5-amp)), var(--jx5-faq-ink, var(--jx5-amp))) center / 2px 14px no-repeat;
	background-color: transparent;
	transition: transform .35s ease, background-color .35s ease;
}
.jx5-faq__item.is-open .jx5-faq__q::after { --jx5-faq-ink: var(--jx5-bg); transform: rotate(135deg); background-color: var(--jx5-amp); }
/* Height animation: grid rows 0fr -> 1fr */
.jx5-faq__a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s ease; }
.jx5-faq__item.is-open .jx5-faq__a { grid-template-rows: 1fr; }
.jx5-faq__a > div { overflow: hidden; min-height: 0; opacity: 0; transform: translateY(-6px); transition: opacity .3s ease, transform .35s ease; }
.jx5-faq__item.is-open .jx5-faq__a > div { opacity: 1; transform: none; }
.jx5-faq__a p { margin: 0; padding: 0 52px 22px 0; color: var(--jx5-muted); }
@media (max-width: 599px) { .jx5-faq__a p { padding-right: 0; } }
@media (prefers-reduced-motion: reduce) {
	.jx5-faq__a, .jx5-faq__a > div, .jx5-faq__q::after { transition: none; }
}

/* ---------- Prose sections (legal pages) ---------- */
.jx5-prose .jx5-wrap > * { max-width: 820px; }
.jx5-prose h2.wp-block-heading { font-size: clamp(1.6rem, 3vw, 2.2rem); margin-top: 56px; }
.jx5-prose h2.wp-block-heading:first-child { margin-top: 0; }

/* ---------- Contact form (jx5/contact-form) ---------- */
.jx5-contact { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.jx5-contact__form,
.jx5-contact__info { padding: clamp(22px, 4vw, 36px); border-radius: var(--jx5-radius); background: var(--jx5-surface); border: 1px solid var(--jx5-line); }
.jx5-contact__info { border-top: 4px solid var(--jx5-amp); }
.jx5-section .jx5-contact__title { font-size: clamp(1.6rem, 3vw, 2.1rem); margin-bottom: .7em; }
.jx5-contact__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.jx5-contact dl { margin: 0; display: grid; gap: 22px; }
.jx5-contact__item { position: relative; padding-left: 44px; }
.jx5-contact__item::before { content: ""; position: absolute; left: 0; top: 2px; width: 28px; height: 28px; background: var(--jx5-amp); -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.jx5-contact__item--mail { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%222%22/%3E%3Cpath d=%22m4 7 8 6 8-6%22/%3E%3C/svg%3E"); }
.jx5-contact__item--time { --ico: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%221.75%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Ccircle cx=%2212%22 cy=%2212%22 r=%228.5%22/%3E%3Cpath d=%22M12 7.5V12l3 2%22/%3E%3C/svg%3E"); }
.jx5-contact dt { font: 700 1.1rem/1.2 var(--jx5-font-display); letter-spacing: .08em; text-transform: uppercase; color: var(--jx5-amp); }
.jx5-contact dd { margin: 4px 0 0; color: var(--jx5-text); font-weight: 600; overflow-wrap: anywhere; }
.jx5-contact dd a { color: var(--jx5-text); }
.jx5-contact dd a:hover { color: var(--jx5-amp); }
.jx5-field { display: grid; gap: 8px; margin-bottom: 18px; }
.jx5-field span { font-size: .9rem; font-weight: 700; color: var(--jx5-text); }
.jx5-field input,
.jx5-field textarea {
	width: 100%; padding: 14px 16px; border-radius: var(--jx5-radius);
	background: var(--jx5-bg); border: 1px solid var(--jx5-line); color: var(--jx5-text);
	font: inherit; font-size: 1rem; resize: vertical; transition: border-color .2s ease, box-shadow .2s ease;
}
.jx5-field input:focus,
.jx5-field textarea:focus { outline: none; border-color: var(--jx5-amp); box-shadow: 0 0 0 3px rgba(255, 188, 13, .2); }
.jx5-form-submit { margin-top: 6px; }
.jx5-contact__notice { padding: 12px 16px; border-radius: var(--jx5-radius); background: rgba(255, 188, 13, .12); border: 1px solid rgba(255, 188, 13, .45); color: var(--jx5-text); }
.jx5-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 899px) { .jx5-contact { grid-template-columns: 1fr; } }
@media (max-width: 599px) { .jx5-contact__row { grid-template-columns: 1fr; } .jx5-form-submit { width: 100%; } }

/* ---------- Footer (parts/footer.html) ---------- */
.jx5-footer { background: #1b1d29; border-top: 10px solid transparent; border-image: repeating-linear-gradient(-45deg, var(--jx5-amp) 0 14px, var(--jx5-bg) 14px 28px) 10; padding: 56px 0 28px; }
.jx5-footer__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.jx5-footer .wp-block-site-logo { line-height: 0; margin: 0; }
.jx5-footer .wp-block-site-logo img { width: 112px; height: auto; }
.jx5-footer .jx5-footer-nav .wp-block-navigation__container { gap: 6px 22px; justify-content: flex-end; }
.jx5-footer .jx5-footer-nav .wp-block-navigation-item__content { color: var(--jx5-text); font-size: .94rem; }
.jx5-footer .jx5-footer-nav .wp-block-navigation-item__content:hover { color: var(--jx5-amp); }
.jx5-footer__text { margin: 28px 0 0; max-width: 820px; color: var(--jx5-muted); font-size: .9rem; }
.jx5-footer__bottom { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--jx5-line); }
.jx5-footer__bottom p { margin: 0; color: var(--jx5-muted); font-size: .85rem; }
@media (max-width: 781px) { .jx5-footer .jx5-footer-nav .wp-block-navigation__container { justify-content: flex-start; } }

/* ---------- Scroll to top ---------- */
.jx5-to-top {
	position: fixed; right: 20px; bottom: 20px; z-index: 44; width: 48px; height: 48px; display: grid; place-items: center;
	appearance: none; border: 0; border-radius: var(--jx5-radius); cursor: pointer; background: var(--jx5-amp); color: var(--jx5-bg);
	box-shadow: 3px 3px 0 var(--jx5-violet);
	opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .25s ease, transform .25s ease, visibility .25s;
}
.jx5-to-top[hidden] { display: grid; } /* keep layout; visibility handles hiding */
.jx5-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.jx5-to-top:hover { background: var(--jx5-amp-soft); }
.jx5-to-top svg { width: 22px; height: 22px; }
@media (max-width: 599px) { .jx5-to-top { right: 16px; bottom: 16px; } }

/* ---------- Floating promo banner (bottom left) ---------- */
.jx5-promo {
	position: fixed; left: 20px; bottom: 20px; z-index: 45; width: 350px; max-width: calc(100vw - 40px);
	padding: 20px 22px 22px; border-radius: var(--jx5-radius);
	background: linear-gradient(150deg, var(--jx5-violet-deep), var(--jx5-navy));
	border: 2px solid var(--jx5-amp); box-shadow: 8px 8px 0 rgba(0, 0, 0, .35);
	opacity: 0; transform: translateY(24px); transition: opacity .35s ease, transform .35s ease;
}
.jx5-promo[hidden] { display: none; }
.jx5-promo.is-visible { opacity: 1; transform: none; }
.jx5-promo__close {
	position: absolute; top: 10px; right: 10px; width: 30px; height: 30px; display: grid; place-items: center;
	appearance: none; border: 0; border-radius: 50%; cursor: pointer; background: rgba(12, 17, 79, .7); color: var(--jx5-text);
}
.jx5-promo__close:hover { background: var(--jx5-navy); color: var(--jx5-amp); }
.jx5-promo__close svg { width: 16px; height: 16px; }
.jx5-promo__body > * { margin: 0; }
.jx5-promo p.jx5-promo__title { padding-right: 34px; margin-bottom: 6px; font: 800 1.55rem/1 var(--jx5-font-display); text-transform: uppercase; color: var(--jx5-amp); }
.jx5-promo p.jx5-promo__offer { margin-bottom: 16px; font-weight: 600; color: #fff; font-size: .95rem; line-height: 1.45; }
.jx5-promo .jx5-promo__cta, .jx5-promo .jx5-promo__cta .jx5-btn { width: 100%; }
@keyframes jx5-pulse { 0%, 100% { box-shadow: 3px 3px 0 var(--jx5-violet), 0 0 0 0 rgba(255, 188, 13, .5); } 50% { box-shadow: 3px 3px 0 var(--jx5-violet), 0 0 0 8px rgba(255, 188, 13, 0); } }
.jx5-promo.is-visible .jx5-promo__cta .jx5-btn { animation: jx5-pulse 2s ease-in-out 1s infinite; }
@media (max-width: 599px) {
	.jx5-promo { left: 16px; right: 76px; bottom: 16px; width: auto; max-width: none; padding: 16px 18px 18px; }
	.jx5-promo p.jx5-promo__title { font-size: 1.3rem; }
	.jx5-promo .jx5-promo__cta .jx5-btn { padding: 11px 12px; font-size: 1rem; }
}

/* ---------- Editor tweaks ---------- */
.editor-styles-wrapper .jx5-faq__a { grid-template-rows: 1fr; }
.editor-styles-wrapper .jx5-faq__a > div { opacity: 1; transform: none; }
.editor-styles-wrapper .jx5-hero__text { display: contents; }
.editor-styles-wrapper .jx5-is-empty { opacity: .35; }
.editor-styles-wrapper .jx5-is-empty:focus-within { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
	.jx5-btn, .jx5-img, .jx5-to-top, .jx5-promo, .jx5-header nav.jx5-nav { transition: none; }
	.jx5-promo.is-visible .jx5-promo__cta .jx5-btn { animation: none; }
}
