/* ========================================================================= */

:root {
	--lx-maxw: 1200px;
	--lx-card-border: 1px solid rgba(239, 234, 224, .12);
	--lx-card-border-strong: 1px solid rgba(239, 234, 224, .22);
	--lx-hairline: 1px solid rgba(255, 255, 255, .06);
}

/* ---- Base canvas & background glow ------------------------------------ */
body {
	background-color: var(--wp--preset--color--base);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	/* clip (not hidden) prevents sideways scroll without creating a scroll
	   container that would break the sticky header */
	overflow-x: clip;
}

/* Front-end only: the ambient blue wash (re-shaped in the identity layer). */
.wp-site-blocks {
	position: relative;
}
.wp-site-blocks::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(1200px 600px at 78% -8%, rgba(226, 96, 63, .16), transparent 60%),
		radial-gradient(900px 500px at 12% 4%, rgba(239, 234, 224, .08), transparent 55%);
}
.wp-site-blocks > * {
	position: relative;
	z-index: 1;
}

::selection {
	background: rgba(212, 175, 55, .3);
	color: #fff;
}

img {
	max-width: 100%;
	height: auto;
}

/* ---- Reusable section rhythm ------------------------------------------ */
.lx-section {
	padding-top: clamp(40px, 6vw, 56px);
	padding-bottom: clamp(16px, 3vw, 24px);
}

/* ---- Eyebrow / labels -------------------------------------------------- */
.lx-eyebrow {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--wp--preset--color--ruby-lit);
}

/* ---- Live / license badge --------------------------------------------- */
.lx-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 13px;
	border-radius: 100px;
	border: 1px solid rgba(212, 175, 55, .28);
	background: rgba(239, 234, 224, .06);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .4px;
	color: var(--wp--preset--color--aurum);
}
.lx-badge::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--wp--preset--color--verdigris);
	box-shadow: 0 0 8px var(--wp--preset--color--verdigris);
}

/* ---- Cards ------------------------------------------------------------- */
.lx-card,
.lx-card-raised {
	border-radius: 16px;
	background: var(--wp--preset--gradient--card);
	border: var(--lx-card-border);
}
.lx-card-raised {
	background: var(--wp--preset--gradient--card-raised);
	border: var(--lx-card-border-strong);
	box-shadow: var(--wp--preset--shadow--card);
}

/* ---- Buttons ----------------------------------------------------------- */
.wp-block-button.lx-btn-outline .wp-block-button__link,
.wp-block-button__link.lx-btn-outline {
	background: rgba(255, 255, 255, .02) !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 1px solid rgba(212, 175, 55, .3);
	box-shadow: none;
}
.wp-block-button.lx-btn-outline .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--aurum);
	color: var(--wp--preset--color--champagne) !important;
}
/* Copper buttons: explicit gradient (theme.json color.background renders a
   gradient token as a flat colour, so we set the real gradient here). */
.wp-block-button:not(.lx-btn-outline) > .wp-block-button__link {
	background: var(--wp--preset--gradient--aurum) !important;
	color: var(--wp--preset--color--ink) !important;
	border: none;
	box-shadow: var(--wp--preset--shadow--aurum);
}
.wp-block-button:not(.lx-btn-outline) > .wp-block-button__link:hover { filter: brightness(1.05); }
/* keep button labels on one line (fixes "Giri / ş" wrapping in the header) */
.wp-block-button__link { white-space: nowrap; }
/* button sizing by context (kept out of block attrs so markup stays valid) */
.lx-hero .wp-block-buttons .wp-block-button__link { padding: 15px 30px; font-size: 16px; }
.lx-header .wp-block-button__link { padding: 10px 16px; font-size: 14px; }
.lx-flame-text { background: linear-gradient(120deg, #F0DFA6, #E2603F); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: #F09A82; }
.wp-block-separator.lx-sep { border: none; height: 1px; background: rgba(239, 234, 224, .12); opacity: 1; max-width: none; }

/* ---- Hero -------------------------------------------------------------- */
.lx-hero {
	padding-top: clamp(36px, 6vw, 64px);
}
.lx-hero__art img {
	border-radius: 20px;
	border: 1px solid rgba(239, 234, 224, .18);
	box-shadow: var(--wp--preset--shadow--soft);
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
}
.lx-stats {
	gap: 26px 32px;
}
.lx-stat__num {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 26px;
	color: var(--wp--preset--color--aurum);
	line-height: 1;
}
.lx-stat__label {
	font-size: 12.5px;
	color: var(--wp--preset--color--dim);
	font-weight: 600;
}

/* ---- Hero trust / payments row ---------------------------------------- */
/* Sits under the stats in the home hero so the (shorter) text column fills
   more of the height next to the tall image + offer card, killing the void
   that appeared when the columns were vertically centred. */
.lx-trustrow {
	gap: 10px;
	margin-top: 24px;
	align-items: center;
}
.lx-trust {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 8px 13px;
	border-radius: 10px;
	background: rgba(255, 255, 255, .03);
	border: 1px solid rgba(239, 234, 224, .14);
	font-size: 12.5px;
	font-weight: 600;
	color: var(--wp--preset--color--muted);
	white-space: nowrap;
}
.lx-trust b { color: var(--wp--preset--color--contrast); font-weight: 700; }

/* ---- Bonus offer card -------------------------------------------------- */
.lx-offer {
	position: relative;
	overflow: hidden;
	border-radius: 22px;
	padding: 34px 30px;
	background: var(--wp--preset--gradient--card-raised);
	border: var(--lx-card-border-strong);
	box-shadow: var(--wp--preset--shadow--card);
}
.lx-offer::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 22px;
	pointer-events: none;
	background: radial-gradient(400px 200px at 80% 0%, rgba(226, 96, 63, .22), transparent 65%);
}
.lx-offer > * { position: relative; z-index: 1; }
.lx-offer__amount {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
	font-size: 46px;
	line-height: 1;
	color: var(--wp--preset--color--heading);
}
.lx-offer__row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 14px;
	padding: 9px 0;
	border-bottom: var(--lx-hairline);
}
.lx-offer__row span:first-child { color: var(--wp--preset--color--muted); }
.lx-offer__row span:last-child  { color: var(--wp--preset--color--contrast); font-weight: 700; }

/* Floating animation (respect reduced motion) */
@keyframes lx-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.lx-float { animation: lx-float 6s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .lx-float { animation: none; } }

/* ---- Quick links ------------------------------------------------------- */
.lx-quicklink {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 22px 18px;
	border-radius: 14px;
	background: var(--wp--preset--gradient--card);
	border: var(--lx-card-border);
	transition: transform .18s ease, border-color .18s ease;
}
.lx-quicklink:hover { transform: translateY(-3px); border-color: rgba(212, 175, 55, .35); }
.lx-quicklink__icon { font-size: 26px; }
.lx-quicklink__title { font-size: 15.5px; font-weight: 700; color: var(--wp--preset--color--contrast); }
.lx-quicklink__sub { font-size: 12.5px; color: var(--wp--preset--color--dim); }

/* ---- Game cards -------------------------------------------------------- */
.lx-game {
	border-radius: 14px;
	overflow: hidden;
	background: var(--wp--preset--color--surface);
	border: 1px solid rgba(239, 234, 224, .1);
	transition: transform .18s ease, border-color .18s ease;
}
.lx-game:hover { transform: translateY(-4px); border-color: rgba(212, 175, 55, .3); }
.lx-game__media {
	position: relative;
	aspect-ratio: 3 / 4;
	overflow: hidden;
}
.lx-game__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lx-game__body { padding: 12px 13px; }
.lx-game__title {
	font-size: 14px; font-weight: 700; color: var(--wp--preset--color--contrast);
	/* Wrap to two lines instead of ellipsing: at 360px the grid tracks are ~150px
	   and titles like "Mini Roulette" were being truncated with no way to read them. */
	line-height: 1.25;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
	overflow: hidden;
}
.lx-game__meta { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; }
.lx-game__provider { font-size: 11.5px; color: var(--wp--preset--color--dim); }
.lx-game__play {
	/* Tap target: the 5px/12px pill rendered ~22px tall — under the 44px minimum.
	   Sized here rather than per-card so every game grid inherits the fix. */
	font-size: 12.5px; font-weight: 700; color: var(--wp--preset--color--ink);
	background: var(--wp--preset--gradient--aurum); padding: 10px 16px; border-radius: 8px;
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 44px; text-decoration: none;
	/* Owns its own top gap so the game cards don't each repeat an inline style
	   (18 identical style="" attributes were a network footprint tell). */
	margin-top: 10px;
}
.lx-tag {
	position: absolute; top: 9px; left: 9px; z-index: 2;
	padding: 3px 9px; border-radius: 6px; font-size: 10px; font-weight: 800; letter-spacing: .5px;
}
/* Crash-red labels carry white ink, so the background has to be the DEEP red:
   #FFFFFF on #F5A3B0 is 3.03:1 (fails AA at 10px) while #FFFFFF on #3A1620 is
   6.5:1. --wp--preset--color--danger stays reserved for red TEXT on graphite. */
:root { --lx-danger-deep: #3A1620; }
.lx-tag--hot { background: var(--lx-danger-deep); color: #FFFFFF; }
.lx-tag--jackpot { background: var(--wp--preset--gradient--aurum); color: var(--wp--preset--color--ink); }

/* ---- Filter chips ------------------------------------------------------ */
.lx-chips .wp-block-button__link {
	padding: 9px 16px; border-radius: 9px; font-size: 13.5px; font-weight: 700;
	background: transparent !important; color: var(--wp--preset--color--muted) !important;
	border: 1px solid rgba(239, 234, 224, .14); box-shadow: none;
}
.lx-chips .wp-block-button.is-active .wp-block-button__link,
.lx-chips .wp-block-button:first-child .wp-block-button__link {
	background: rgba(239, 234, 224, .12) !important; color: var(--wp--preset--color--aurum) !important;
	border-color: rgba(212, 175, 55, .4);
}

/* ---- Feature cards ----------------------------------------------------- */
.lx-feature { padding: 26px 24px; border-radius: 16px; background: var(--wp--preset--gradient--card); border: var(--lx-card-border); }
.lx-feature__icon {
	width: 48px; height: 48px; border-radius: 12px; background: rgba(239, 234, 224, .1);
	display: flex; align-items: center; justify-content: center; font-size: 24px; margin-bottom: 16px;
}
.lx-feature__title { font-size: 17px; font-weight: 700; color: var(--wp--preset--color--contrast); margin-bottom: 7px; }
.lx-feature__text { font-size: 14px; line-height: 1.55; color: var(--wp--preset--color--muted); }

/* ---- App download ------------------------------------------------------ */
.lx-app {
	position: relative; overflow: hidden;
	border-radius: 22px; padding: clamp(28px, 4vw, 44px);
	background: var(--wp--preset--gradient--card-raised);
	border: 1px solid rgba(239, 234, 224, .16);
}
.lx-app::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(500px 300px at 90% 50%, rgba(226, 96, 63, .16), transparent 60%);
}
.lx-app > * { position: relative; z-index: 1; }
.lx-app__art img { border-radius: 18px; border: 1px solid rgba(239, 234, 224, .16); width: 100%; }
.lx-store {
	display: inline-flex; align-items: center; gap: 10px; padding: 13px 22px; border-radius: 11px;
	background: rgba(255, 255, 255, .05); border: 1px solid rgba(212, 175, 55, .25);
	font-weight: 700; color: var(--wp--preset--color--contrast);
}
.lx-store:hover { border-color: var(--wp--preset--color--aurum); color: var(--wp--preset--color--champagne); }

/* ---- Payments ---------------------------------------------------------- */
.lx-pay {
	height: 64px; border-radius: 12px; background: var(--wp--preset--color--surface);
	border: 1px solid rgba(239, 234, 224, .1); display: flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: 14px; color: #F0DFA6;
}

/* ---- Steps ------------------------------------------------------------- */
.lx-step { padding: 28px 24px; border-radius: 16px; background: var(--wp--preset--gradient--card); border: var(--lx-card-border); }
.lx-step__num { font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 40px; color: rgba(212, 175, 55, .35); line-height: 1; margin-bottom: 14px; }
.lx-step__title { font-size: 18px; font-weight: 700; color: var(--wp--preset--color--contrast); margin-bottom: 7px; }
.lx-step__text { font-size: 14px; line-height: 1.55; color: var(--wp--preset--color--muted); }

/* ---- Reviews & comparison --------------------------------------------- */
.lx-review { padding: 20px 22px; border-radius: 14px; background: var(--wp--preset--gradient--card); border: var(--lx-card-border); }
.lx-avatar {
	width: 34px; height: 34px; border-radius: 50%; flex: 0 0 auto;
	background: var(--wp--preset--gradient--ruby);
	display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; color: #fff;
}
.lx-stars { color: var(--wp--preset--color--aurum); font-size: 13px; letter-spacing: 1px; }
.lx-rating-pill {
	padding: 6px 12px; border-radius: 100px; background: rgba(226, 96, 63, .12);
	color: var(--wp--preset--color--verdigris-soft); font-size: 13px; font-weight: 700;
}
/* top clears the sticky header (topbar 34 + bar 74 + 12 breathing room). */
.lx-compare { padding: 28px 26px; border-radius: 18px; background: var(--wp--preset--gradient--card-raised); border: var(--lx-card-border-strong); position: sticky; top: 124px; }
.lx-compare__row { display: flex; justify-content: space-between; gap: 12px; font-size: 13.5px; padding: 8px 0; border-bottom: var(--lx-hairline); }
.lx-compare__row span:first-child { color: var(--wp--preset--color--muted); }
.lx-compare__row span:last-child { color: var(--wp--preset--color--verdigris-soft); font-weight: 700; }

/* ---- Blog cards -------------------------------------------------------- */
.lx-post { border-radius: 16px; overflow: hidden; background: var(--wp--preset--color--surface); border: var(--lx-card-border); display: block; transition: transform .18s ease, border-color .18s ease; }
.lx-post:hover { transform: translateY(-4px); border-color: rgba(212, 175, 55, .3); }
.lx-post__cover { aspect-ratio: 16 / 9; overflow: hidden; }
.lx-post__cover img { width: 100%; height: 100%; object-fit: cover; }
.lx-post__body { padding: 18px 20px; }
.lx-post__cat { font-size: 12px; font-weight: 700; color: var(--wp--preset--color--ruby-lit); }
.lx-post__title { font-size: 16px; font-weight: 700; color: var(--wp--preset--color--contrast); line-height: 1.35; margin: 8px 0 6px; }
.lx-post__date { font-size: 12.5px; color: var(--wp--preset--color--dim); }

/* ---- FAQ (native <details>) ------------------------------------------- */
.lx-faq { border-radius: 14px; background: var(--wp--preset--gradient--card); border: 1px solid rgba(239, 234, 224, .12); overflow: hidden; }
.lx-faq + .lx-faq { margin-top: 12px; }
.lx-faq > summary {
	list-style: none; cursor: pointer; padding: 20px 22px;
	display: flex; justify-content: space-between; align-items: center; gap: 16px;
	font-size: 16px; font-weight: 700; color: var(--wp--preset--color--contrast);
}
.lx-faq > summary::-webkit-details-marker { display: none; }
.lx-faq > summary::after {
	content: "+"; flex: 0 0 auto; width: 26px; height: 26px; border-radius: 7px;
	background: rgba(239, 234, 224, .12); color: var(--wp--preset--color--aurum);
	display: flex; align-items: center; justify-content: center; font-size: 18px; transition: transform .2s ease;
}
.lx-faq[open] > summary::after { transform: rotate(45deg); }
.lx-faq__answer { margin: 0; padding: 0 22px 20px; font-size: 15.5px; line-height: 1.65; color: var(--wp--preset--color--body); max-width: 62ch; }

/* ---- Responsible gaming banner ---------------------------------------- */
.lx-18 {
	display: flex; align-items: center; gap: 16px; padding: 18px 24px; border-radius: 14px;
	background: rgba(226, 96, 63, .06); border: 1px solid rgba(226, 96, 63, .2);
}
.lx-18__badge {
	width: 44px; height: 44px; flex: 0 0 auto; border-radius: 10px; background: rgba(226, 96, 63, .15);
	display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 15px; color: var(--wp--preset--color--ruby-lit);
}
.lx-18__text { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--wp--preset--color--muted); }

/* =========================================================================
   INTERIOR PAGES — shared helpers
   ========================================================================= */
.lx-breadcrumb { font-size: 12.5px; color: var(--wp--preset--color--dim); }
.lx-breadcrumb a { color: var(--wp--preset--color--muted); }
.lx-lead { font-size: 18px; line-height: 1.6; color: var(--wp--preset--color--body); max-width: 660px; }

/* Interior page hero (breadcrumb + eyebrow + H1 + lead + CTA) */
.lx-hero:has(.lx-breadcrumb) {
	position: relative;
	overflow: clip;
	text-align: center;
	padding-top: clamp(48px, 6vw, 76px);
	padding-bottom: clamp(28px, 4vw, 44px);
}
.lx-hero:has(.lx-breadcrumb)::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(680px 320px at 50% 8%, rgba(226, 96, 63, .16), transparent 62%),
		radial-gradient(420px 220px at 50% 4%, rgba(239, 234, 224, .07), transparent 60%);
}
.lx-hero:has(.lx-breadcrumb) > * { position: relative; z-index: 1; }
/* comfortable measure + real centring for the lead and buttons */
.lx-hero:has(.lx-breadcrumb) .lx-lead {
	margin-left: auto;
	margin-right: auto;
}
.lx-hero:has(.lx-breadcrumb) .lx-breadcrumb,
.lx-hero:has(.lx-breadcrumb) .lx-eyebrow { text-align: center; }
.lx-hero:has(.lx-breadcrumb) .wp-block-buttons { justify-content: center; margin-top: 8px; }

/* Fallback for browsers without :has() — still readable, just left-aligned */
@supports not selector(:has(*)) {
	.lx-hero .lx-lead { margin-right: auto; }
}

/* generic stat tiles (aviator game info, payment facts) */
.lx-statbox { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 12px; }
.lx-stat-tile {
	padding: 16px 18px; border-radius: 12px; background: var(--wp--preset--gradient--card);
	border: var(--lx-card-border);
}
.lx-stat-tile .k { font-size: 12px; color: var(--wp--preset--color--dim); font-weight: 600; }
.lx-stat-tile .v { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 22px; color: var(--wp--preset--color--aurum); }

/* bonus card = feature card + a price line + button (reuses .lx-feature look) */
.lx-bonus__amount { font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 30px; color: var(--wp--preset--color--aurum); line-height: 1; margin: 6px 0 8px; }

/* CTA banner */
.lx-cta {
	position: relative; overflow: hidden; text-align: center;
	padding: clamp(28px, 4vw, 44px); border-radius: 22px;
	background: var(--wp--preset--gradient--card-raised); border: var(--lx-card-border-strong);
}
.lx-cta::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(600px 240px at 50% 0%, rgba(226, 96, 63, .16), transparent 65%); }
.lx-cta > * { position: relative; z-index: 1; }

/* comparison / payment tables (dense, kept in html blocks) */
.lx-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
/* Pages emit <figure class="wp-block-table lx-table">, so the figure itself is the
   horizontal scroll container on mobile; the inner <table> keeps the min width. */
.lx-table { display: block; width: 100%; min-width: 0; margin-left: 0; margin-right: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; font-size: 14px; }
.lx-table > table { width: 100%; border-collapse: collapse; min-width: 560px; }
.lx-table th, .lx-table td { padding: 12px 14px; text-align: left; border-bottom: var(--lx-hairline); }
.lx-table thead th { color: var(--wp--preset--color--heading); font-weight: 800; }
.lx-table tbody th { color: var(--wp--preset--color--muted); font-weight: 600; }
.lx-table td { color: var(--wp--preset--color--contrast); }
.lx-table .yes { color: var(--wp--preset--color--verdigris-soft); font-weight: 700; }
.lx-table .no { color: var(--wp--preset--color--dim); }
.lx-table .lx-col-hi { background: rgba(239, 234, 224, .08); color: var(--wp--preset--color--aurum); font-weight: 700; }
.lx-table .lx-badge-rec { display:inline-block; margin-left:6px; padding:1px 7px; border-radius:6px; font-size:10px; font-weight:800; background:var(--wp--preset--gradient--aurum); color:var(--wp--preset--color--ink); }

/* warning-sign / checklist rows */
.lx-warn { list-style: none; padding-left: 0; margin: 0; display: grid; gap: 10px; }
.lx-warn li { position: relative; padding: 13px 14px 13px 42px; border-radius: 12px; background: var(--wp--preset--gradient--card); border: var(--lx-card-border); font-size: 15px; line-height: 1.55; color: var(--wp--preset--color--body); }
/* U+FE0E forces the text (not emoji) presentation of the warning sign so it picks
   up the ice accent instead of rendering as a colour emoji on Win/Android. */
.lx-warn li::before { content: "\26A0\FE0E"; position: absolute; left: 14px; top: 13px; color: var(--wp--preset--color--aurum); }

/* =========================================================================
   HEADER
   ========================================================================= */
.lx-header {
	position: sticky; top: 0; z-index: 50;
	backdrop-filter: blur(14px);
	background: rgba(10, 10, 12, .86);
	border-bottom: 1px solid rgba(239, 234, 224, .14);
}
.lx-header__inner {
	min-height: 74px;
	max-width: var(--lx-maxw);
	margin: 0 auto;
	padding: 0 24px;
	width: 100%;
	gap: 20px;
}
.lx-instruments {
	max-width: var(--lx-maxw);
	margin: 0 auto;
	padding: 6px 24px;
	width: 100%;
}
.lx-header__actions { margin-left: auto; }
/* the nav lives in the middle and can shrink/scroll before the burger kicks in */
.lx-nav { min-width: 0; }
/* Wordmark base layout */
.lx-brand {
	display: flex;
	align-items: center;
	gap: 11px;
	text-decoration: none;
}
.lx-brand__crest {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	display: block;
	border-radius: 9px;
	/* num emboss: warm rim light on the top edge, shadow under the bottom */
	box-shadow:
		inset 0 1px 0 rgba(252, 247, 234, .55),
		inset 0 -1px 0 rgba(0, 0, 0, .45),
		0 4px 14px rgba(239, 234, 224, .22);
}
.lx-brand__lock {
	display: flex;
	align-items: baseline;
	gap: 7px;
	line-height: 1;
	min-width: 0;
}
.lx-brand__word {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 19px;
	line-height: 1;
	letter-spacing: -.6px;
	color: var(--wp--preset--color--heading);
}
.lx-brand__cluster {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 400;
	font-size: 19px;
	line-height: 1;
	letter-spacing: -.6px;
	color: var(--wp--preset--color--aurum);
}
.lx-brand:hover .lx-brand__cluster { color: var(--wp--preset--color--champagne); }
.lx-brand--footer .lx-brand__word,
.lx-brand--footer .lx-brand__cluster { font-size: 17px; }
/* Below 400px the lockup would push the burger off-screen. */
@media (max-width: 400px) {
	.lx-brand__crest { width: 32px; height: 32px; }
	.lx-brand__word,
	.lx-brand__cluster { font-size: 16px; }
}

/* ---- Instrument rail under the header (replaces the sibling's topbar) ---- */
.lx-instruments {
	max-width: var(--lx-maxw);
	margin: 0 auto;
	padding: 8px 24px 10px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 22px;
	border-top: 1px solid rgba(255, 255, 255, .05);
}
.lx-instruments__rail {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin: 0;
}
.lx-instruments__cell {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	padding: 3px 9px;
	border-radius: 4px;
	background: rgba(239, 234, 224, .07);
	border: 1px solid rgba(239, 234, 224, .16);
}
.lx-instruments__cell dt {
	font-size: 11px;
	letter-spacing: .7px;
	text-transform: uppercase;
	color: var(--wp--preset--color--dim);
}
.lx-instruments__cell dd {
	margin: 0;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12.5px;
	font-weight: 600;
	color: #E7D9AE;
}
.lx-instruments__legal { margin: 0; font-size: 12px; color: var(--wp--preset--color--dim); }
.lx-instruments__legal a { color: var(--wp--preset--color--champagne); }
.lx-instruments__age {
	display: inline-block;
	padding: 1px 6px;
	margin-right: 4px;
	border-radius: 3px;
	font-size: 11px;
	font-weight: 800;
	color: #FFFFFF;
	background: var(--lx-danger-deep, #3A1620);
}

/* ---- Footer payment rail (mirrors the header rail, sits at the bottom) --- */
.lx-payrail {
	max-width: var(--lx-maxw);
	margin: 34px auto 0;
	padding-top: 24px;
	border-top: 1px solid rgba(226, 96, 63, .16);
}
.lx-payrail__title {
	margin: 0 0 12px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .6px;
	color: var(--wp--preset--color--contrast);
}
.lx-payrail__row { display: flex; flex-wrap: wrap; gap: 9px; }
.lx-payrail__note { margin: 12px 0 0; font-size: 12px; line-height: 1.6; color: var(--wp--preset--color--dim); }

/* Navigation */
.lx-nav { flex-wrap: nowrap; }
.lx-nav .wp-block-navigation-item__content { font-size: 14px; font-weight: 600; color: var(--wp--preset--color--body); padding: 8px 11px; border-radius: 8px; white-space: nowrap; }
.lx-header__inner .wp-block-navigation__responsive-container:not(.is-menu-open) { background: transparent; }
.lx-nav .current-menu-item .wp-block-navigation-item__content,
.lx-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--contrast); background: rgba(239, 234, 224, .08); }

/* Language pills */
.lx-lang { display: flex; align-items: center; gap: 2px; padding: 3px; border: 1px solid rgba(239, 234, 224, .2); border-radius: 9px; background: rgba(255, 255, 255, .02); }
.lx-lang a { padding: 5px 10px; border-radius: 6px; font-size: 12.5px; font-weight: 700; color: var(--wp--preset--color--dim); }
.lx-lang a.is-active { background: rgba(239, 234, 224, .16); color: var(--wp--preset--color--aurum); }

.lx-instruments { min-height: 34px; font-size: 12px; color: var(--wp--preset--color--dim); }
.lx-instruments__legal b { color: var(--wp--preset--color--aurum); }

/* =========================================================================
   FOOTER
   ========================================================================= */
.lx-footer { border-top: 1px solid rgba(239, 234, 224, .12); background: var(--wp--preset--color--base-deep); }
.lx-footer__col-title { font-size: 13px; font-weight: 800; letter-spacing: .6px; color: var(--wp--preset--color--contrast); margin-bottom: 14px; }
.lx-footer a { font-size: 13px; color: var(--wp--preset--color--muted); }
.lx-footer a:hover { color: var(--wp--preset--color--aurum); }
.lx-footer .lx-footer__links { list-style: none; padding-left: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.lx-footer .lx-brand__name { color: var(--wp--preset--color--heading); }
.lx-footer__legal { font-size: 12px; color: var(--wp--preset--color--dim); }
.lx-chip {
	padding: 8px 14px; border-radius: 8px; background: rgba(255, 255, 255, .03);
	border: 1px solid rgba(255, 255, 255, .06); font-size: 12px; font-weight: 600; color: var(--wp--preset--color--dim);
}

/* =========================================================================
   RESPONSIVE  — the piece the original inline markup was missing entirely
   ========================================================================= */

/* Tablet */
@media (max-width: 900px) {
	.lx-compare { position: static; }
	.lx-offer__amount { font-size: 40px; }
}

/* Mobile */
@media (max-width: 600px) {
	body { --lx-side: 16px; }
	.lx-section { padding-top: 36px; }

	/* tighten root padding on small screens */
	.lx-header__inner { min-height: 60px; }
	.lx-brand__mark { width: 18px; height: 18px; }
	.lx-brand__name { font-size: 17px; }

	/* stat row wraps to 2-up */
	.lx-stats { gap: 18px 28px; }

	.lx-offer { padding: 26px 20px; }
	.lx-offer__amount { font-size: 38px; }

	/* buttons go full width so they are tappable */
	.lx-hero .wp-block-buttons .wp-block-button,
	.lx-app .wp-block-buttons .wp-block-button { width: 100%; }
	.lx-hero .wp-block-buttons .wp-block-button__link,
	.lx-app .wp-block-buttons .wp-block-button__link { display: block; text-align: center; }

	.lx-faq > summary { font-size: 15px; padding: 16px 18px; }
	.lx-18 { flex-direction: row; align-items: flex-start; }
}

/* Mobile header: keep only logo, burger and the primary CTA; the language
   switch and secondary link move out of the cramped bar. Core Navigation
   shows its hamburger below 600px. */
@media (max-width: 600px) {
	.lx-header__inner { gap: 10px; padding: 0 16px; }
	.lx-instruments { padding: 6px 16px; }
	.lx-lang { display: none; }
	.lx-header__actions .lx-btn-outline { display: none; }
	.lx-header__actions { gap: 10px; }
	/* let the nav (burger) sit just before the CTA on the right */
	.lx-nav { order: 3; margin-left: auto; }
	.lx-header__actions { order: 4; margin-left: 0; }
	.lx-instruments { font-size: 11px; gap: 4px 12px; }
}

/* Very small */
@media (max-width: 400px) {
	.lx-brand__name { display: none; }
	.lx-header__actions .wp-block-button__link { padding: 9px 14px !important; }
}

/* =========================================================================== */

/* Skip-to-content: off-screen until it receives keyboard focus. */
.lx-skip-link {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, -130%);
	z-index: 2000;
	padding: 12px 22px;
	background: #050507;
	color: #FFFFFF;
	font-family: "Geologica", system-ui, sans-serif;
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
	border-radius: 0 0 12px 12px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .45);
	transition: transform .18s ease-out;
}
.lx-skip-link:focus {
	transform: translate(-50%, 0);
	outline: none;
}

/* Visible keyboard focus on every interactive element (WCAG 2.4.7).
   Only shows for keyboard users via :focus-visible, so mouse clicks stay clean. */
a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible,
.wp-block-navigation-item__content:focus-visible,
.wp-block-navigation__responsive-container-open:focus-visible,
.wp-block-navigation__responsive-container-close:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid #F0DFA6;
	outline-offset: 3px;
	border-radius: 6px;
}

/* Mobile: guarantee 44px tap targets and remove the 300ms tap delay (WCAG 2.5.5). */
@media (max-width: 600px) {
	.wp-block-button__link,
	.lx-nav .wp-block-navigation-item__content,
	.lx-header__actions a,
	.lx-lang a {
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		touch-action: manipulation;
	}
}

/* Honour prefers-reduced-motion globally, not just the floating hero art. */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
		scroll-behavior: auto !important;
	}
}

/* ---- Supplement: native wp:table dark styling + mobile scroll, notes (added by builder) ---- */
.wp-block-table{margin:18px 0;}
.wp-block-table.lx-table,.wp-block-table{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.wp-block-table table{width:100%;border-collapse:collapse;min-width:520px;font-size:14px;}
.wp-block-table th,.wp-block-table td{padding:12px 14px;text-align:left;border-bottom:var(--lx-hairline,1px solid rgba(255, 255, 255,.08));}
.wp-block-table thead th{color:var(--wp--preset--color--heading);font-weight:800;font-family:var(--wp--preset--font-family--mono);letter-spacing:.3px;}
.wp-block-table tbody td{color:var(--wp--preset--color--body);}
.wp-block-table tbody td:nth-child(n+2){font-family:var(--wp--preset--font-family--mono);color:var(--wp--preset--color--contrast);}
.lx-note{font-size:13px;line-height:1.6;color:var(--wp--preset--color--dim);border-left:2px solid rgba(212, 175, 55, .3);padding:2px 0 2px 14px;margin:14px 0;}
.lx-rating-pill{white-space:nowrap;}
@media (max-width:600px){.wp-block-table table{min-width:480px;}}

/* Static single-language marker (AZ-only site). */
.lx-langtag {
	display: inline-flex; align-items: center; padding: 6px 11px; border-radius: 7px;
	border: 1px solid rgba(212, 175, 55, .3); background: rgba(239, 234, 224, .07);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px; font-weight: 400; letter-spacing: 1px;
	color: var(--wp--preset--color--aurum);
}

/* ---- Multiplier scale strip (green cash-out zone -> red crash zone) ------- */
.lx-mult {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 10px;
	list-style: none; padding-left: 0; margin: 0;
}
.lx-mult li {
	padding: 14px 12px; border-radius: 10px; text-align: center;
	background: var(--wp--preset--gradient--card); border: 1px solid rgba(255, 255, 255,.06);
}
.lx-mult .x {
	display: block; font-family: var(--wp--preset--font-family--mono);
	font-size: 22px; line-height: 1; color: var(--wp--preset--color--contrast);
}
.lx-mult .t { display: block; margin-top: 7px; font-size: 12px; color: var(--wp--preset--color--dim); }
.lx-mult li.is-safe   { border-color: rgba(88, 201, 185, .34); }
.lx-mult li.is-safe   .x { color: var(--wp--preset--color--verdigris-soft); }
.lx-mult li.is-risky  { border-color: rgba(245, 163, 176, .3); }
.lx-mult li.is-risky  .x { color: #FBD3DA; }

/* ---- RTP / provider fact card (mono figures) ----------------------------- */
.lx-rtp {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1px;
	background: rgba(255, 255, 255,.07); border: 1px solid rgba(255, 255, 255,.07);
	border-radius: 12px; overflow: hidden;
}
.lx-rtp div { background: var(--wp--preset--color--surface); padding: 16px 18px; }
.lx-rtp .k { font-size: 11.5px; letter-spacing: .8px; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.lx-rtp .v {
	font-family: var(--wp--preset--font-family--mono); font-size: 21px; line-height: 1.25;
	color: var(--wp--preset--color--aurum); margin-top: 5px;
}

/* ---- Signal / predictor warning callout ---------------------------------- */
.lx-alert {
	display: flex; gap: 16px; align-items: flex-start;
	padding: 20px 22px; border-radius: 12px;
	background: rgba(245, 163, 176, .07);
	border: 1px solid rgba(245, 163, 176, .28);
	border-left-width: 3px;
}
.lx-alert__icon {
	flex: 0 0 auto; width: 38px; height: 38px; border-radius: 9px;
	display: flex; align-items: center; justify-content: center; font-size: 19px;
	background: rgba(245, 163, 176, .14); color: #FBD3DA;
}
.lx-alert h3 {
	font-size: 16px; margin: 0 0 6px; color: #FDEDF0;
	letter-spacing: .4px;
}
.lx-alert p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--wp--preset--color--body); }

/* ---- Demo vs real comparison strip --------------------------------------- */
.lx-vs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lx-vs > div {
	padding: 20px 20px 18px; border-radius: 12px;
	background: var(--wp--preset--gradient--card); border: 1px solid rgba(255, 255, 255,.07);
}
.lx-vs > div.is-real { border-color: rgba(212, 175, 55, .3); }
.lx-vs h3 { font-size: 15px; margin: 0 0 12px; letter-spacing: .6px; }
.lx-vs ul { list-style: none; padding-left: 0; margin: 0; display: grid; gap: 9px; }
.lx-vs li { position: relative; padding-left: 22px; font-size: 13.5px; line-height: 1.5; color: var(--wp--preset--color--body); }
.lx-vs li::before { content: "\2013"; position: absolute; left: 4px; color: var(--wp--preset--color--muted); }
.lx-vs li.y::before { content: "\2713"; color: var(--wp--preset--color--verdigris); }
.lx-vs li.n::before { content: "\2715"; color: #FBD3DA; }
@media (max-width: 600px) { .lx-vs { grid-template-columns: 1fr; } }

/* ---- Provider strip (Spribe & friends — text marks, no borrowed logos) ---- */
.lx-provider {
	display: flex; align-items: center; justify-content: center; gap: 9px;
	height: 62px; border-radius: 10px;
	background: var(--wp--preset--color--surface); border: 1px solid rgba(255, 255, 255,.07);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 15px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}
.lx-provider small {
	font-family: var(--wp--preset--font-family--mono); font-size: 11px;
	letter-spacing: 0; text-transform: none; color: var(--wp--preset--color--muted);
}

/* Numeric emphasis: any mono run reads as instrument data. */
.lx-num { font-family: var(--wp--preset--font-family--mono); color: var(--wp--preset--color--aurum); }

/* Eyebrows pick up the mono voice on this domain. */
.lx-eyebrow {
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 400; letter-spacing: 2.6px; font-size: 12.5px;
	color: var(--wp--preset--color--aurum);
}

/* Skeleton placeholder for the heavier grids (no images shipped). */
@keyframes lx-shimmer { 0% { background-position: -420px 0; } 100% { background-position: 420px 0; } }
.lx-skeleton {
	border-radius: 12px; min-height: 120px;
	background: linear-gradient(90deg, #141418 0%, #17171C 50%, #141418 100%);
	background-size: 840px 100%;
	animation: lx-shimmer 1.6s linear infinite;
}
@media (prefers-reduced-motion: reduce) { .lx-skeleton { animation: none; } }
/* Aspect-ratio variants so a skeleton can reserve the exact box of the block it
   stands in for (no layout shift when the real content lands). */
.lx-skeleton--card { aspect-ratio: 3 / 4; min-height: 0; }
.lx-skeleton--wide { aspect-ratio: 16 / 9; min-height: 0; }
.lx-skeleton--row  { min-height: 64px; }


/* =========================================================================== */

/* A. Fragment navigation must clear the sticky header */
html {
	scroll-padding-top: 124px;
}
@media (max-width: 600px) {
	html { scroll-padding-top: 88px; }
}

/* B. Root gutter: 24px is too much on a 360px screen */
@media (max-width: 600px) {
	body {
		--wp--style--root--padding-right: 16px;
		--wp--style--root--padding-left: 16px;
	}
}

/* ---- C. Skip link ------------------------------------------------------- */
/* Core adds a second skip link (#wp-skip-link) pointing at the same #lx-main.
   Two identical first tab stops is noise — keep the theme's styled one. */
#wp-skip-link {
	display: none !important;
}
/* The theme's own link killed its outline; give it a ring for the moment it
   slides in, and pull the ring inside so the rounded corners don't clip it. */
.lx-skip-link:focus,
.lx-skip-link:focus-visible {
	outline: 3px solid var(--wp--preset--color--aurum);
	outline-offset: -3px;
}

/* D. Interior page header */
.entry-content {
	position: relative;
}
.entry-content > .lx-breadcrumb:first-child::after {
	content: "";
	position: absolute;
	left: 50%;
	top: -56px;
	transform: translateX(-50%);
	width: min(1180px, 132vw);
	height: 430px;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(640px 300px at 26% 22%, rgba(226, 96, 63, .15), transparent 62%),
		radial-gradient(430px 220px at 6% 6%, rgba(239, 234, 224, .08), transparent 60%);
}
.entry-content > .lx-breadcrumb:first-child {
	margin-bottom: 16px;
}
.entry-content > .lx-breadcrumb + h1 {
	margin-top: 0;
}

/* On these pages the eyebrow sits *after* the H1, so it reads as a kicker.
   Give it the flight-trail tick so it looks authored rather than misplaced. */
h1 + .lx-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 18px;
	margin-bottom: 0;
}
h1 + .lx-eyebrow::before {
	content: "";
	flex: 0 0 auto;
	width: 34px;
	height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--wp--preset--color--aurum), rgba(212, 175, 55, 0));
}
h1 + .lx-eyebrow + .lx-lead {
	margin-top: 14px;
}

/* E. Vertical rhythm + prose measure */
.entry-content > h2,
.lx-section > h2 {
	margin-top: clamp(44px, 5vw, 68px);
}
.entry-content > h3,
.lx-section > h3 {
	margin-top: clamp(28px, 3vw, 38px);
}
.entry-content > .lx-breadcrumb + h1,
.entry-content > h2:first-child,
.lx-section > h2:first-child {
	margin-top: 0;
}
/* Flight-trail rule under every section head: identity marker + rhythm cue. */
.entry-content > h2::after,
.lx-section > h2::after,
.lx-cta > h2::after {
	content: "";
	display: block;
	width: 46px;
	height: 2px;
	margin-top: 14px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--wp--preset--color--aurum) 0%, rgba(226, 96, 63, .55) 68%, rgba(226, 96, 63, 0) 100%);
}
.lx-cta h2::after,
h2.has-text-align-center::after {
	margin-left: auto;
	margin-right: auto;
}

.entry-content > p,
.entry-content > ul,
.entry-content > ol,
.lx-section > p,
.lx-section > ul,
.lx-section > ol {
	max-width: 62ch;
}
.entry-content > p.has-text-align-center,
.lx-section > p.has-text-align-center,
.lx-cta p {
	/* Match the content column exactly (NOT `none`: core sets max-width in the same
	   low-specificity :where() rule, so `none` here made prose full-bleed while the
	   headings stayed at 720px — the same misalignment mirrored). */
	max-width: var(--wp--style--global--content-size, 740px);
}
/* The lead already had its own 660px cap; keep whichever is narrower. */
.lx-lead {
	max-width: min(660px, 62ch);
}

/* ---- F. Legibility: no prose below 15px --------------------------------- */
.lx-feature__text,
.lx-step__text,
.lx-alert p {
	font-size: 15px;
	line-height: 1.6;
}
.lx-vs li,
.lx-18__text {
	font-size: 14.5px;
}
.lx-note {
	font-size: 14px;
}
.lx-breadcrumb {
	font-size: 13px;
}
.lx-footer a {
	font-size: 14px;
}
.lx-instruments {
	font-size: 12px;
}

/* ---- G. Tap targets: 44px everywhere, not just under 600px --------------
   WCAG 2.5.5 / 2.5.8. Inline links inside a sentence are exempt and are left
   alone; every standalone control below was under 44px. */
a,
button,
summary,
.wp-block-button__link {
	touch-action: manipulation;
}
.lx-brand {
	min-height: 44px;
}
.lx-nav .wp-block-navigation-item__content {
	min-height: 44px;
	display: flex;
	align-items: center;
}
.lx-header .wp-block-button__link,
.lx-chips .wp-block-button__link {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
/* Hamburger + overlay close button were 24px icon buttons. */
.lx-nav .wp-block-navigation__responsive-container-open,
.lx-nav .wp-block-navigation__responsive-container-close {
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--contrast);
	border-radius: 9px;
}
/* Overlay menu: core forces `padding:0` on the links at (0,4,0) specificity, so
   the burger menu inherited 14px links with no vertical reach. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .lx-nav .wp-block-navigation-item__content {
	font-size: 19px;
	font-weight: 600;
	padding: 11px 4px;
	min-height: 48px;
	width: 100%;
}
/* Breadcrumb link was an 18px-tall inline target: pad the hit area out to 44px
   and pull it back with negative margin so the line box does not move. */
.lx-breadcrumb a {
	display: inline-block;
	/* Grow the hit area to 44px tall without moving the text: the extra padding is
	   cancelled by an equal negative margin, and the left edge is left untouched so
	   the crumb still lines up with the H1 below it. */
	padding: 12px 8px 12px 0;
	margin: -12px -8px -12px 0;
}
.lx-footer .lx-footer__links {
	gap: 2px;
}
.lx-footer .lx-footer__links a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}
/* 404 template: search field + pagination controls. */
.wp-block-search__input,
.wp-block-search__button {
	min-height: 44px;
}
.wp-block-search__input {
	background: var(--wp--preset--color--surface);
	border: 1px solid rgba(239, 234, 224, .22);
	color: var(--wp--preset--color--contrast);
	border-radius: 8px;
	padding: 0 14px;
}
.wp-block-search__input::placeholder {
	/* muted #A39C8C is 7.3:1 on surface — a placeholder, never body copy. */
	color: var(--wp--preset--color--muted);
	opacity: 1;
}
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	min-height: 44px;
	min-width: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	border-radius: 8px;
}
.wp-block-query-pagination .page-numbers.current {
	background: rgba(239, 234, 224, .12);
	color: var(--wp--preset--color--aurum);
}

/* ---- H. Focus rings that are actually visible --------------------------- … */
.lx-faq > summary:focus-visible {
	outline-offset: -4px;
}
.lx-game .lx-game__play:focus-visible,
.lx-post:focus-visible {
	outline-offset: 2px;
}

/* ---- I. Complete the state matrix (hover / focus / active / disabled) ---- */
.wp-block-button__link:active,
.lx-store:active,
.lx-game__play:active,
.lx-quicklink:active,
.lx-sticky a:active {
	transform: translateY(1px);
}
.lx-quicklink:focus-visible,
.lx-quicklink:focus-within {
	border-color: rgba(212, 175, 55, .4);
}
.lx-game:focus-within,
.lx-post:focus-visible {
	border-color: rgba(212, 175, 55, .35);
}
.lx-nav .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--contrast);
	background: rgba(239, 234, 224, .1);
}
.lx-faq > summary:hover {
	background: rgba(239, 234, 224, .045);
}
.lx-faq > summary:hover::after,
.lx-faq > summary:focus-visible::after {
	background: rgba(239, 234, 224, .22);
	color: var(--wp--preset--color--champagne);
}
.lx-faq[open] > summary {
	border-bottom: var(--lx-hairline);
}
.lx-footer a:focus-visible,
.lx-breadcrumb a:hover,
.lx-breadcrumb a:focus-visible {
	color: var(--wp--preset--color--aurum);
}
button:disabled,
.wp-block-button__link[aria-disabled="true"],
.wp-block-button__link[disabled] {
	opacity: .45;
	cursor: not-allowed;
	box-shadow: none;
	filter: grayscale(.35);
	pointer-events: none;
}

/* J. Emoji are not an icon system */
.lx-quicklink__icon {
	font-size: 0;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	background: rgba(239, 234, 224, .09);
	border: 1px solid rgba(239, 234, 224, .24);
	transition: background .18s ease, border-color .18s ease;
}
.lx-quicklink__icon::before,
.lx-quicklink__icon::after {
	content: "";
	width: 4px;
	height: 15px;
	border-radius: 2px;
	background: var(--wp--preset--color--aurum);
	box-shadow: 7px 0 0 0 var(--wp--preset--color--aurum-deep);
}
.lx-quicklink__icon::after {
	height: 9px;
	box-shadow: none;
	opacity: .55;
	margin-left: 7px;
}
.lx-quicklink:hover .lx-quicklink__icon,
.lx-quicklink:focus-visible .lx-quicklink__icon {
	background: rgba(239, 234, 224, .16);
	border-color: rgba(212, 175, 55, .42);
}
/* The alert callout's ⚠ comes from page markup — force text presentation so it
   inherits the crash-red tint rather than becoming a colour emoji. */
.lx-alert__icon {
	font-variant-emoji: text;
}
/* J2. Two inherited rules carried latent contrast failures */
.lx-brand__num {
	color: var(--wp--preset--color--ink);
}
.lx-avatar {
	background: rgba(239, 234, 224, .14);
	border: 1px solid rgba(212, 175, 55, .28);
	color: var(--wp--preset--color--aurum);
}

/* Footer age chip: was "🔞 18+" (emoji as an icon). Now a typographic ice chip. */
.lx-chip--age {
	color: var(--wp--preset--color--aurum);
	background: rgba(239, 234, 224, .07);
	border-color: rgba(212, 175, 55, .28);
	font-weight: 700;
	letter-spacing: .4px;
}

/* ---- K. Tables: nested scrollers + a scroll affordance ------------------ … */
.lx-table-wrap {
	position: relative;
	overflow: visible;
}
.lx-table:focus-visible {
	outline: 3px solid var(--wp--preset--color--champagne);
	outline-offset: 2px;
}
@media (max-width: 600px) {
	/* Below 600px every table (min-width 520–560px) definitely overflows, so the
	   fade is always truthful. */
	.lx-table-wrap::after {
		content: "";
		position: absolute;
		top: 0;
		right: -1px;
		bottom: 0;
		width: 34px;
		pointer-events: none;
		background: linear-gradient(to left, var(--wp--preset--color--base), rgba(10, 10, 12, 0));
	}
}

/* L. Header: collapse the nav before it runs out of room */
@media (min-width: 600px) and (max-width: 899px) {
	.lx-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
	.lx-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
	.lx-nav {
		order: 3;
		margin-left: auto;
	}
	.lx-header__actions {
		order: 4;
		margin-left: 0;
	}
}

/* ---- M. Small-screen layout fixes -------------------------------------- */
@media (max-width: 600px) {
	/* "10.00x+" at 22px mono overflowed a 3-up 96px track: go 2-up instead. */
	.lx-mult {
		grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
	}
	/* The static AZ marker is decorative and repeated in the footer — reclaim the
	   space in a nowrap header instead of risking an overflow. */
	.lx-header__actions .lx-langtag {
		display: none;
	}
	.lx-18 {
		gap: 12px;
		padding: 16px 16px;
	}
	.lx-18__text {
		font-size: 14px;
	}
	.lx-alert {
		padding: 16px 16px;
		gap: 12px;
	}
	.lx-offer__row,
	.lx-compare__row {
		/* long AZ labels + value on one 328px line: let the pair wrap. */
		flex-wrap: wrap;
	}
	/* `.lx-rtp` clips its children, so "Provably fair" at 21px mono was being cut
	   off in a 128px cell at 360px. Same guard for the stat tiles ("20:00–21:00"). */
	.lx-rtp .v {
		font-size: 17px;
	}
	.lx-stat-tile .v {
		font-size: 19px;
	}
	.lx-rtp .v,
	.lx-stat-tile .v,
	.lx-mult .x {
		line-height: 1.3;
		overflow-wrap: anywhere;
	}
	.entry-content > .lx-breadcrumb:first-child::after {
		height: 340px;
	}
}

/* ---- N. Reduced motion: finish the job --------------------------------- */
@media (prefers-reduced-motion: reduce) {
	/* The global block above zeroes durations; also stop the two decorative
	   translate effects from moving at all and drop the blur work. */
	.lx-quicklink:hover,
	.lx-game:hover,
	.lx-post:hover,
	.wp-block-button__link:active,
	.lx-store:active,
	.lx-game__play:active,
	.lx-quicklink:active,
	.lx-sticky a:active {
		transform: none !important;
	}
	.lx-header {
		backdrop-filter: none;
	}
	html {
		scroll-behavior: auto !important;
	}
}

/* ---- O. Forced-colors / high-contrast safety net ----------------------- */
@media (forced-colors: active) {
	.lx-card, .lx-card-raised, .lx-quicklink, .lx-game, .lx-feature, .lx-step,
	.lx-faq, .lx-flight, .lx-offer, .lx-cta, .lx-alert, .lx-18, .lx-stat-tile {
		border: 1px solid CanvasText;
	}
	a:focus-visible, button:focus-visible, summary:focus-visible {
		outline: 3px solid Highlight;
	}
}

/* Item/game card grid */
.lx-games {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}
@media (max-width: 480px) {
	.lx-games {
		grid-template-columns: 1fr;
	}
}

/* Tables authored as <div class="lx-table-wrap"><table class="lx-table"> */
.lx-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
table.lx-table {
	display: table;
	width: 100%;
	min-width: 560px;
	border-collapse: collapse;
	overflow: visible;
}


/* =========================================================================== */

/* Reel strip: the signature hero ornament */
.lx-reels {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	padding: 16px;
	aspect-ratio: 4 / 3;
	border-radius: 22px;
	background:
		radial-gradient(520px 260px at 82% 4%, rgba(226, 96, 63, .26), transparent 62%),
		var(--wp--preset--gradient--card-raised);
	border: 1px solid rgba(239, 234, 224, .22);
	box-shadow: var(--wp--preset--shadow--card);
}
.lx-reels__reel {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-around;
	border-radius: 14px;
	background: rgba(5, 5, 7, .55);
	border: 1px solid rgba(239, 234, 224, .12);
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(20px, 4.2vw, 30px);
	line-height: 1;
	color: var(--wp--preset--color--aurum);
	letter-spacing: 1px;
}
.lx-reels__reel span { opacity: .38; }
.lx-reels__reel span.is-hit { opacity: 1; text-shadow: 0 0 22px rgba(212, 175, 55, .55); }
.lx-reels__line {
	position: absolute;
	left: 10px;
	right: 10px;
	top: 50%;
	height: 2px;
	transform: translateY(-1px);
	background: linear-gradient(90deg, rgba(212, 175, 55, 0), var(--wp--preset--color--aurum) 22%, var(--wp--preset--color--aurum) 78%, rgba(212, 175, 55, 0));
	opacity: .8;
}
.lx-reels__tag {
	position: absolute;
	left: 16px;
	bottom: 14px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
	letter-spacing: .6px;
	color: var(--wp--preset--color--dim);
}

/* ---- Provider / genre filter rail ---------------------------------------
   A real horizontal scroller (not JS tabs): on 360px it swipes, on desktop it
   wraps. Each chip is a link to the section it filters, so it works with JS off. */
.lx-filter {
	display: flex;
	gap: 9px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	padding: 4px 0 10px;
	margin: 0;
	list-style: none;
}
.lx-filter li { flex: 0 0 auto; }
.lx-filter a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	border-radius: 999px;
	background: rgba(239, 234, 224, .05);
	border: 1px solid rgba(239, 234, 224, .18);
	font-size: 13.5px;
	font-weight: 700;
	color: var(--wp--preset--color--dim);
	text-decoration: none;
	white-space: nowrap;
	transition: background .16s ease, border-color .16s ease, color .16s ease;
}
.lx-filter a:hover,
.lx-filter a:focus-visible {
	background: rgba(239, 234, 224, .14);
	border-color: rgba(212, 175, 55, .46);
	color: var(--wp--preset--color--aurum);
}
.lx-filter a[aria-current="true"] {
	background: var(--wp--preset--gradient--aurum);
	border-color: transparent;
	color: var(--wp--preset--color--ink);
}
@media (min-width: 782px) { .lx-filter { flex-wrap: wrap; overflow: visible; } }

/* ---- Game tiles: portrait, blue light RTP badge --------------------------- */
.lx-game { border-radius: 18px; }
.lx-game__rtp {
	position: absolute;
	right: 9px;
	bottom: 9px;
	z-index: 2;
	padding: 4px 9px;
	border-radius: 999px;
	background: rgba(5, 5, 7, .82);
	border: 1px solid rgba(212, 175, 55, .34);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11.5px;
	color: var(--wp--preset--color--aurum);
}
/* Card art with no raster image: a reel-band gradient keeps the 3:4 box filled
   and palette-locked instead of shipping an empty grey well. */
.lx-game__media--css {
	background:
		linear-gradient(115deg, rgba(239, 234, 224, .16), transparent 58%),
		repeating-linear-gradient(90deg, rgba(255, 255, 255, .045) 0 2px, transparent 2px 26px),
		var(--wp--preset--gradient--card-raised);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 30px;
	/* This label ("SLOT" / "CANLI") NAMES the game family, so it is content, not … */
	color: var(--wp--preset--color--champagne);
	letter-spacing: 2px;
}

/* ---- RTP meter: the number AND a bar, so the figure is scannable --------- */
.lx-rtpbar { display: grid; gap: 12px; margin: 18px 0; }
.lx-rtpbar__row {
	display: grid;
	grid-template-columns: minmax(120px, 1.4fr) minmax(90px, 3fr) auto;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--wp--preset--gradient--card);
	border: 1px solid rgba(239, 234, 224, .12);
}
.lx-rtpbar__name { font-size: 14.5px; font-weight: 700; color: var(--wp--preset--color--contrast); }
.lx-rtpbar__track {
	position: relative;
	height: 8px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .07);
	overflow: hidden;
}
.lx-rtpbar__fill {
	position: absolute;
	inset: 0 auto 0 0;
	border-radius: 999px;
	background: var(--wp--preset--gradient--aurum);
}
.lx-rtpbar__val {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 15px;
	color: var(--wp--preset--color--aurum);
	white-space: nowrap;
}
@media (max-width: 600px) {
	.lx-rtpbar__row { grid-template-columns: 1fr auto; }
	.lx-rtpbar__track { grid-column: 1 / -1; }
}

/* ---- Jackpot tiers ------------------------------------------------------
   Tier NAMES and how the pool grows — deliberately NOT a live ticker: this site
   has no feed, and a fake counter would be a fabricated figure. */
.lx-jackpot {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 12px;
	list-style: none;
	padding-left: 0;
	margin: 0;
}
.lx-jackpot li {
	padding: 18px 16px;
	border-radius: 16px;
	text-align: center;
	background: var(--wp--preset--gradient--card);
	border: 1px solid rgba(226, 96, 63, .22);
}
.lx-jackpot .t {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 15px;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--wp--preset--color--ruby-lit);
}
.lx-jackpot .r {
	display: block;
	margin-top: 9px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 17px;
	color: var(--wp--preset--color--aurum);
}
.lx-jackpot .d { display: block; margin-top: 8px; font-size: 13px; line-height: 1.5; color: var(--wp--preset--color--muted); }

/* ---- Demo callout ------------------------------------------------------- */
.lx-demo {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
	padding: 22px 24px;
	border-radius: 18px;
	background:
		radial-gradient(460px 200px at 92% 0%, rgba(226, 96, 63, .2), transparent 64%),
		var(--wp--preset--gradient--card-raised);
	border: 1px solid rgba(239, 234, 224, .22);
}
.lx-demo__badge {
	flex: 0 0 auto;
	min-width: 62px;
	padding: 10px 12px;
	border-radius: 14px;
	text-align: center;
	background: rgba(239, 234, 224, .12);
	border: 1px solid rgba(212, 175, 55, .3);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px;
	color: var(--wp--preset--color--aurum);
}
.lx-demo p { margin: 0; flex: 1 1 260px; font-size: 15px; line-height: 1.6; color: var(--wp--preset--color--body); }

/* ---- Amber grid (keno hit table / plinko rows) ------------------------- */
.lx-amber {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(84px, 1fr));
	gap: 8px;
	list-style: none;
	padding-left: 0;
	margin: 16px 0;
}
.lx-amber li {
	padding: 12px 8px;
	border-radius: 12px;
	text-align: center;
	background: var(--wp--preset--color--surface);
	border: 1px solid rgba(255, 255, 255, .06);
}
.lx-amber .h {
	display: block;
	font-size: 11.5px;
	letter-spacing: .7px;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.lx-amber .x {
	display: block;
	margin-top: 6px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 17px;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast);
	overflow-wrap: anywhere;
}
.lx-amber li.is-top { border-color: rgba(212, 175, 55, .42); }
.lx-amber li.is-top .x { color: var(--wp--preset--color--aurum); }

/* ---- Provider mark: text-only, never a borrowed logo file --------------- */
.lx-provider { border-radius: 14px; height: 66px; letter-spacing: 1.6px; }

/* ---- Section heads: swap the sibling's trail rule for a reel tick ------- */
.entry-content > h2::after,
.lx-section > h2::after,
.lx-cta > h2::after {
	width: 54px;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--wp--preset--color--aurum) 0%, rgba(226, 96, 63, .7) 62%, rgba(226, 96, 63, 0) 100%);
}
h1 + .lx-eyebrow::before {
	background: linear-gradient(90deg, var(--wp--preset--color--aurum), rgba(212, 175, 55, 0));
}

/* ---- Ambient wash (superseded by the identity layer at the tail) ---- */
.wp-site-blocks::before {
	background:
		radial-gradient(1100px 560px at 84% -10%, rgba(226, 96, 63, .22), transparent 62%),
		radial-gradient(860px 480px at 8% 2%, rgba(239, 234, 224, .07), transparent 58%);
}

/* ---- Skeletons re-based on the teal surfaces ------------------------ */
.lx-skeleton {
	background: linear-gradient(90deg, #141418 0%, #17171C 50%, #141418 100%);
	background-size: 840px 100%;
}

/* ---- Pill buttons need slightly tighter header padding ----------------- */
.lx-header .wp-block-button__link { padding: 11px 20px; font-size: 14px; }
.lx-game__play { border-radius: 999px; }
.lx-chips .wp-block-button__link { border-radius: 999px; }

/* Trust rail sits BELOW the brand row on this domain (sibling-distinct) */
.lx-header .lx-instruments {
	border-top: 0;
	border-bottom: 1px solid rgba(239, 234, 224, .12);
	padding: 7px 24px;
	justify-content: flex-start;
}
@media (max-width: 600px) {
	.lx-header .lx-instruments { padding: 6px 16px; }
}

/* ---- Per-page last-updated line (inc/chrome.php appends it to the content) --- */
.lx-updated {
	margin-top: clamp(34px, 4vw, 52px);
	padding-top: 16px;
	border-top: 1px solid rgba(239, 234, 224, .14);
	font-size: 13px;
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
}
.lx-updated .lx-num { color: var(--wp--preset--color--aurum); }

/* UX pass: box-sizing for the raw (wp:html) components */
[class*="lx-"],
[class*="lx-"]::before,
[class*="lx-"]::after {
	box-sizing: border-box;
}

/* UX pass: the interior-page glow must not widen the document */
.entry-content > .lx-breadcrumb:first-child::after {
	left: 0;
	transform: none;
	width: 100%;
	height: 460px;
	top: -64px;
	background:
		radial-gradient(700px 330px at 24% 20%, rgba(226, 96, 63, .17), transparent 64%),
		radial-gradient(470px 240px at 4% 4%, rgba(239, 234, 224, .08), transparent 62%);
}
@media (max-width: 600px) {
	.entry-content > .lx-breadcrumb:first-child::after {
		height: 360px;
	}
}

/* UX pass: one left edge for the whole text column */
.entry-content > p,
.entry-content > ul,
.entry-content > ol,
.lx-section > p,
.lx-section > ul,
.lx-section > ol {
	/* Match the content column exactly (NOT `none`: core sets max-width in the same
	   low-specificity :where() rule, so `none` here made prose full-bleed while the
	   headings stayed at 720px — the same misalignment mirrored). */
	max-width: var(--wp--style--global--content-size, 740px);
}

/* UX pass: game-tile density */
.lx-game__media {
	aspect-ratio: 4 / 5;
}
.lx-games {
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
@media (max-width: 480px) {
	.lx-games {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
	.lx-game__body { padding: 11px 11px 12px; }
	.lx-game__media--css { font-size: 24px; }
	.lx-game__rtp { right: 7px; bottom: 7px; padding: 3px 7px; font-size: 11px; }
	/* At ~150px the pill label would wrap; keep it one line and full width. */
	.lx-game__play { width: 100%; padding: 10px 8px; font-size: 12px; }
}

/* UX pass: game cards keep their CTA on one baseline */
.lx-game {
	display: flex;
	flex-direction: column;
}
.lx-game__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}
.lx-game__meta {
	margin-bottom: 2px;
}
.lx-game__play {
	margin-top: auto;
}


/* =========================================================================== */
/* =========================================================================== */

/* Long-word safety net */
h1, h2, h3, .lx-brand__word, .lx-brand__cluster {
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: auto;
}
h1 { -webkit-hyphens: auto; }

/* ---- Focus ring: rose-blue, visible on every surface -------------------------- */
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--aurum);
	outline-offset: 2px;
	border-radius: 4px;
}

/* Dot-accent mark (header/footer wordmark) */
.lx-brand__mark {
	flex: 0 0 auto;
	position: relative;
	width: 20px;
	height: 20px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	border: 1px solid rgba(212, 175, 55, .38);
	background: transparent;
	transition: border-color .16s ease, box-shadow .16s ease;
}
.lx-brand__mark::after {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--wp--preset--color--aurum);
}
.lx-brand:hover .lx-brand__mark {
	border-color: var(--wp--preset--color--aurum);
	box-shadow: 0 0 0 3px rgba(239, 234, 224, .1);
}
/* the old inline SVG monogram is no longer shipped; belt-and-braces if cached */
.lx-brand__mark svg { display: none; }

/* ---- Game-category grid (the hub's primary navigation) --------------------
   Four equal cards on desktop, two on tablet, one on phone. Each card is a whole
   link (44px+ tap target by construction) with a mono count in num. */
.lx-catgrid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 14px;
	list-style: none;
	margin: 24px 0 0;
	padding-left: 0;
}
.lx-cat {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 7px;
	padding: 20px 18px 18px;
	border-radius: 16px;
	background: var(--wp--preset--gradient--card);
	border: 1px solid rgba(239, 234, 224, .14);
	transition: border-color .16s ease, transform .16s ease, background .16s ease;
}
.lx-cat:hover { border-color: rgba(212, 175, 55, .42); transform: translateY(-2px); }
.lx-cat__ico {
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	border-radius: 11px;
	background: rgba(226, 96, 63, .14);
	border: 1px solid rgba(226, 96, 63, .3);
	font-size: 19px;
	line-height: 1;
}
.lx-cat__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: -.4px;
	color: var(--wp--preset--color--heading);
}
.lx-cat__title a { color: inherit; text-decoration: none; }
/* Stretch the title link over the whole card so the entire tile is clickable. */
.lx-cat__title a::after { content: ""; position: absolute; inset: 0; border-radius: 16px; }
.lx-cat__sub { font-size: 13.5px; line-height: 1.55; color: var(--wp--preset--color--muted); margin: 0; }
.lx-cat__count {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12.5px;
	color: var(--wp--preset--color--aurum);
}
@media (prefers-reduced-motion: reduce) {
	.lx-cat:hover { transform: none; }
}

/* ---- Live-dealer table list ----------------------------------------------
   A list, not a grid: live tables are read by limit and language, both of which
   are figures, so they belong in a mono column that lines up vertically. */
.lx-tables { display: grid; gap: 10px; list-style: none; padding-left: 0; margin: 22px 0 0; }
.lx-tbl {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px 16px;
	padding: 14px 16px;
	border-radius: 13px;
	background: var(--wp--preset--gradient--card);
	border: 1px solid rgba(255, 255, 255, .06);
}
.lx-tbl__name { font-weight: 600; font-size: 15px; color: var(--wp--preset--color--contrast); }
.lx-tbl__prov { font-size: 13px; color: var(--wp--preset--color--muted); }
.lx-tbl__lim {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13.5px;
	color: var(--wp--preset--color--num);
	white-space: nowrap;
}
@media (max-width: 600px) {
	.lx-tbl { grid-template-columns: 1fr auto; }
	.lx-tbl__prov { grid-column: 1; }
	.lx-tbl__lim { grid-column: 2; grid-row: 1 / span 2; }
}

/* ---- Crash-multiplier ladder (aviator) -----------------------------------
   Illustrates how a crash round ends, with the round-outcome bands the page
   explains in prose. Decorative bars only — no live data, no promised result. */
.lx-ladder { display: grid; gap: 8px; list-style: none; padding-left: 0; margin: 22px 0 0; }
.lx-ladder li {
	display: grid;
	grid-template-columns: 62px 1fr auto;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	color: var(--wp--preset--color--body);
}
.lx-ladder .x {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 14.5px;
	color: var(--wp--preset--color--num);
}
.lx-ladder .bar {
	height: 9px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .07);
	overflow: hidden;
}
.lx-ladder .bar i {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: var(--wp--preset--gradient--ruby);
}
.lx-ladder .n { font-family: var(--wp--preset--font-family--mono); font-size: 13px; color: var(--wp--preset--color--muted); }

/* ---- Provider marks: wordmark chips, never a real brand logo file --------- */
.lx-provider {
	display: grid;
	place-items: center;
	padding: 0 14px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .035);
	border: 1px solid rgba(239, 234, 224, .16);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0;
	text-align: center;
	color: var(--wp--preset--color--dim);
}

/* ---- Inline TOC on the long guide pages ---------------------------------- */
.lx-toc {
	margin: 26px 0 0;
	padding: 18px 20px;
	border-radius: 14px;
	background: rgba(255, 255, 255, .03);
	border-left: 3px solid var(--wp--preset--color--aurum);
}
.lx-toc p { margin: 0 0 10px; font-size: 13px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.lx-toc ul { margin: 0; padding-left: 18px; display: grid; gap: 6px; }
.lx-toc li { font-size: 14.5px; }

/* ---- UX pass: chip rail, category grid, wide catalogue --------------------
   Found by shooting the built pages at 360/768/1024/1440. See polish_game.py. */

/* `.lx-provider` is display:grid, so an unstyled `.lx-chips` container stacked the
   studio marks one per row. This is a chip RAIL. */
.lx-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 18px 0 0;
}
.lx-chips .lx-provider {
	height: 44px;
	min-width: 138px;
	flex: 0 1 auto;
}
@media (max-width: 420px) {
	.lx-chips .lx-provider { min-width: 0; flex: 1 1 calc(50% - 5px); }
}

/* Four category cards in a 740px column: 260px lands on 2x2, not 3 + orphan. */
.lx-catgrid {
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

/* The catalogue grids get the wide column (see the alignwide wrappers in the page
   markup); inside it, ask for a denser tile so a row reads as a shelf. */
/* 272px resolves to FOUR tiles in the 1260px wide column, three at 1024 and two at */
.alignwide > .lx-games,
.alignwide .lx-games {
	grid-template-columns: repeat(auto-fit, minmax(272px, 1fr));
}

/* Azerbaijani headlines are long, so the last word of a hero regularly falls to a
   line of its own ("...Kazino / AZ"). Let the browser even the lines out instead of
   leaving a one-word widow under a 56px headline. */
h1, h2 { text-wrap: balance; }
.lx-lead { text-wrap: pretty; }


/* =========================================================================== */

/* Squared geometry: knock ~40% off every inherited card radius. */
.lx-cat,
.lx-cat__title a::after,
.lx-card,
.lx-game,
.lx-panel,
.lx-note,
.lx-steps li,
.lx-faq,
.lx-offer { border-radius: 10px; }
.lx-cat__ico,
.lx-game__thumb,
.lx-provider,
.lx-chip { border-radius: 7px; }

/* Wordmark: "game" is the weight-carrying half on this domain (royale-lux.com),
   so the emphasis order is flipped versus the sibling's "Royale"-first lockup. */
.lx-brand__lock { gap: 4px; }
.lx-brand__word {
	font-weight: 800;
	letter-spacing: -.2px;
	text-transform: lowercase;
}
.lx-brand__cluster {
	font-weight: 500;
	letter-spacing: .6px;
	text-transform: lowercase;
	color: var(--wp--preset--color--muted);
}
.lx-brand:hover .lx-brand__cluster { color: var(--wp--preset--color--dim); }

/* Mono figures: Space Mono runs small at a given px, so nudge the tracking in
   and the brightness up — every number on this site is a claim being cited. */
.lx-num,
.lx-num * {
	font-family: var(--wp--preset--font-family--mono);
	letter-spacing: -.2px;
	font-variant-numeric: tabular-nums;
	color: var(--wp--preset--color--num);
}

/* Ambient field: two cold rose-blue washes instead of the inherited warm pair.
   Muted to .07/.05 because on a #0A0A0C canvas anything stronger greys the ink
   out and costs body copy its 4.5:1. */
.wp-site-blocks::before {
	background:
		radial-gradient(1100px 560px at 82% -10%, rgba(239, 234, 224, .07), transparent 62%),
		radial-gradient(820px 460px at 8% 2%, rgba(226, 96, 63, .05), transparent 58%);
}

/* Hairline rims read better than glows in a monochrome palette. */
.lx-badge { border-radius: 6px; }
:root {
	--lx-card-border: 1px solid rgba(239, 234, 224, .1);
	--lx-card-border-strong: 1px solid rgba(239, 234, 224, .2);
}

/* Provider chip rows */
.lx-chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.lx-chips .lx-provider {
	display: inline-flex;
	width: auto;
	height: auto;
	min-height: 44px;
	padding: 10px 16px;
	flex: 0 0 auto;
}

/* Step lists */
.lx-steps {
	list-style: none;
	padding-left: 0;
	margin: 24px 0 0;
	display: grid;
	gap: 14px;
	counter-reset: none;
}
.lx-steps > li::marker { content: none; }
@media (min-width: 780px) {
	.lx-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.lx-step__num { display: block; }
.lx-step__title { margin-top: 0; }

/* Crash-mechanics panel */
.lx-flight {
	position: relative;
	padding: 24px 22px;
	border-radius: 10px;
	background: var(--wp--preset--gradient--card);
	border: var(--lx-card-border);
	overflow: hidden;
}

/* RTP badge: work in BOTH slots it gets authored into */
.lx-game__meta .lx-game__rtp,
.lx-game__body .lx-game__rtp {
	position: static;
	right: auto;
	bottom: auto;
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}
/* The meta row is space-between with provider + tag + badge; let it wrap on the
   narrow tracks rather than squeeze the RTP figure out of legibility. */
.lx-game__meta {
	flex-wrap: wrap;
	gap: 6px 8px;
}

/* Card labels outside the art: same escape, same fix */
.lx-game__meta .lx-tag,
.lx-game__body .lx-tag,
.lx-tbl .lx-tag,
.lx-compare .lx-tag,
p .lx-tag,
li .lx-tag {
	position: static;
	top: auto;
	left: auto;
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	background: rgba(239, 234, 224, .09);
	border: 1px solid rgba(239, 234, 224, .16);
	color: var(--wp--preset--color--dim);
	letter-spacing: .3px;
	font-weight: 700;
}
/* the semantic variants keep their own ink wherever they sit */
.lx-game__meta .lx-tag--hot,
.lx-game__body .lx-tag--hot,
p .lx-tag--hot,
li .lx-tag--hot {
	background: var(--lx-danger-deep);
	border-color: var(--lx-danger-deep);
	color: #FFFFFF;
}
.lx-game__meta .lx-tag--jackpot,
.lx-game__body .lx-tag--jackpot,
p .lx-tag--jackpot,
li .lx-tag--jackpot {
	background: var(--wp--preset--gradient--aurum);
	border-color: transparent;
	color: var(--wp--preset--color--ink);
}

/* Card monogram tile */
.lx-game__mono,
.lx-game__media--css > span:not([class]) {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
	font-size: clamp(30px, 8vw, 44px);
	letter-spacing: 1px;
	line-height: 1;
	color: rgba(212, 175, 55, .3);
	user-select: none;
}
/* A monogram needs far less room than a poster: the inherited 3/4 portrait well left
   a ~370px empty column above a 3-line card body. Squarer reads as a shelf label. */
.lx-game .lx-game__media--css {
	aspect-ratio: 5 / 4;
}
@media (max-width: 480px) {
	.lx-game .lx-game__media--css { aspect-ratio: 4 / 3; }
}

/* Highlight column on a NATIVE core/table */
.lx-table--hi3 thead th:nth-child(3),
.lx-table--hi3 tbody td:nth-child(3) {
	background: rgba(239, 234, 224, .08);
	color: var(--wp--preset--color--aurum);
	font-weight: 700;
}

/* =========================================================================== */

/* Wordmark: crown over the letter */
.lx-brand__lock {
	gap: 2px;
	align-items: flex-start;
	flex-direction: column;
}
.lx-brand__word {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.05;
	letter-spacing: -0.4px;
	text-transform: none;
	color: var(--wp--preset--color--heading);
	transition: color .18s ease;
}
.lx-brand__cluster {
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 400;
	font-size: 10.5px;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	color: var(--wp--preset--color--ruby-lit);
}
.lx-brand:hover .lx-brand__word { color: var(--wp--preset--color--aurum); }
.lx-brand:hover .lx-brand__cluster { color: var(--wp--preset--color--champagne); }
.lx-brand--footer .lx-brand__word { font-size: 19px; }
@media (max-width: 520px) {
	.lx-brand__word { font-size: 17.5px; }
	.lx-brand__cluster { font-size: 9.5px; letter-spacing: 1.8px; }
}

/* The crown mark: no ring, no dot */
.lx-brand__mark {
	width: 30px;
	height: 30px;
	border: 0;
	background: transparent;
	box-shadow: none;
	display: grid;
	place-items: center;
	flex: 0 0 auto;
}
.lx-brand__mark::after { content: none; }
.lx-brand__mark svg { display: block; }
.lx-brand:hover .lx-brand__mark { border-color: transparent; box-shadow: none; }
.lx-shield { transition: transform .18s ease; }
.lx-brand:hover .lx-shield { transform: translateY(-1.5px); }
@media (max-width: 780px) {
	.lx-brand__mark { width: 26px; height: 26px; }
	.lx-shield { width: 26px; height: 26px; }
}
.lx-brand { align-items: center; gap: 10px; }

/* Sharp geometry */
.lx-card,
.lx-card-raised,
.lx-panel,
.lx-cat,
.lx-game,
.lx-offer,
.lx-flight,
.lx-demo,
.lx-statbox,
.lx-stat-tile,
.lx-quicklink,
.lx-feature,
.lx-step,
.lx-alert,
.lx-note,
.lx-warn,
.lx-jackpot,
.lx-promo,
.lx-table-wrap,
.lx-toc { border-radius: 18px; }
.lx-cat__ico,
.lx-quicklink__icon,
.lx-feature__icon,
.lx-game__thumb { border-radius: 10px; }
.lx-chip,
.lx-provider,
.lx-tag,
.lx-badge,
.lx-rating-pill,
.lx-game__rtp,
.lx-demo__badge,
.lx-langtag,
.lx-filter button,
.lx-eyebrow { border-radius: 999px; }
.lx-game__media,
.lx-game__media--css { border-radius: 18px 18px 0 0; }
.wp-block-button__link,
.wp-element-button { border-radius: 9px; }

/* ---- Focus ring ------------------------------------------------------------- */
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--aurum);
	outline-offset: 2px;
	border-radius: 6px;
}

/* Ambient field */
.wp-site-blocks::before {
	background:
		radial-gradient(900px 620px at 6% 104%, rgba(226, 96, 63, .16), transparent 62%),
		radial-gradient(1100px 300px at 60% -6%, rgba(239, 234, 224, .07), transparent 60%);
}

/* Sora headline guards */
h1, h2 {
	text-wrap: balance;
	-webkit-hyphens: auto;
	hyphens: auto;
}
h1 { word-break: break-word; }

/* ---- In-prose links: aurum rule that thickens ------------------------------ */
.entry-content a:not(.wp-element-button):not(.lx-game__play):not(.lx-quicklink):not(.lx-cat) {
	text-decoration-color: rgba(212, 175, 55, .5);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: text-decoration-color .16s ease, text-decoration-thickness .16s ease;
}
.entry-content a:not(.wp-element-button):not(.lx-game__play):not(.lx-quicklink):not(.lx-cat):hover {
	text-decoration-color: var(--wp--preset--color--aurum);
	text-decoration-thickness: 2px;
}

/* ---- Route/quick-nav tiles --------------------------------------------------
   Square-ish glyph plates in a ruby tint rather than the sibling's warm accent
   circles, and four across at wide width. */
.lx-cat__ico,
.lx-feature__icon,
.lx-quicklink__icon {
	width: 44px;
	height: 44px;
	font-size: 22px;
	background: rgba(226, 96, 63, .16);
	border-color: rgba(226, 96, 63, .34);
	color: var(--wp--preset--color--aurum);
}
.lx-catgrid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 258px), 1fr)); gap: 14px; }
.lx-cat { padding: 20px 18px 18px; }
.lx-cat__title { font-size: 17.5px; }
.lx-stats { gap: 14px; }
.lx-stat__num { font-size: clamp(27px, 3.2vw, 38px); }
@media (max-width: 520px) {
	.lx-eyebrow { font-size: 11px; letter-spacing: 1.4px; line-height: 1.5; }
}

/* Promo-code field (new on this domain) */
.lx-promo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	padding: 16px 18px;
	background: var(--wp--preset--gradient--card-raised);
	border: 1px solid rgba(239, 234, 224, .24);
}
.lx-promo__label {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11.5px;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	flex: 1 1 100%;
	margin: 0;
}
.lx-promo__code {
	font-family: var(--wp--preset--font-family--mono);
	font-size: clamp(19px, 2.4vw, 25px);
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--wp--preset--color--heading);
	padding: 10px 16px;
	border: 1px dashed rgba(212, 175, 55, .45);
	border-radius: 8px;
	background: rgba(5, 5, 7, .5);
	user-select: all;
}
.lx-promo__copy {
	font: inherit;
	font-weight: 700;
	font-size: 14px;
	min-height: 44px;
	padding: 11px 20px;
	border: 1px solid transparent;
	border-radius: 9px;
	cursor: pointer;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--gradient--aurum);
	touch-action: manipulation;
	transition: filter .16s ease, transform .12s ease;
}
.lx-promo__copy:hover { filter: brightness(1.06); }
.lx-promo__copy:active { transform: translateY(1px); }
.lx-promo__done {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12.5px;
	color: var(--wp--preset--color--verdigris);
	margin: 0;
	flex: 1 1 100%;
}
.lx-promo__done[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) {
	.lx-promo__copy { transition: none; }
	.lx-promo__copy:active { transform: none; }
	.lx-shield, .lx-brand__word { transition: none; }
	.lx-brand:hover .lx-shield { transform: none; }
}

/* Completing the half-inherited card families */
.lx-catgrid,
.lx-features,
.lx-steps {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 258px), 1fr));
	margin: 4px 0 0;
}
.lx-steps { grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); }

.lx-cat {
	display: block;
	background: var(--wp--preset--gradient--card);
	border: var(--lx-card-border);
	text-decoration: none;
	transition: transform .18s ease, border-color .18s ease;
}
.lx-cat:hover { transform: translateY(-3px); border-color: rgba(212, 175, 55, .34); }
.lx-cat__title {
	display: block;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	margin: 12px 0 6px;
	line-height: 1.3;
}
.lx-cat__sub,
.lx-cat__text {
	display: block;
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--wp--preset--color--muted);
	margin: 0;
}
.lx-cat__count {
	display: inline-block;
	margin-top: 10px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11.5px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--wp--preset--color--ruby-lit);
}
/* A whole card that is a link must not also underline its own label. */
a.lx-cat,
a.lx-cat:hover { text-decoration: none; }

@media (prefers-reduced-motion: reduce) {
	.lx-cat { transition: none; }
	.lx-cat:hover { transform: none; }
}

/* Trust-bar segments */
.lx-instruments__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 3px 8px;
}
.lx-seg { display: inline-flex; align-items: center; gap: 5px; }
/* The separator is a TRAILING pseudo-element, not a leading one: as a ::before it */
.lx-seg:not(:last-child)::after {
	content: "·";
	margin-left: 8px;
	color: rgba(212, 175, 55, .42);
}
.lx-seg--narrow { display: none; }
@media (max-width: 560px) {
	.lx-seg--wide { display: none; }
	.lx-seg--narrow { display: inline-flex; }
	.lx-seg--clock { display: none; }
	.lx-instruments__legal { gap: 2px 7px; line-height: 1.45; }
	.lx-seg:not(:last-child)::after { margin-left: 7px; }
	/* The clock is display:none here, so the RG link becomes the last VISIBLE
	   segment while :last-child still matches the hidden clock — which left a
	   trailing middot dangling after the final item. Silence it explicitly. */
	.lx-seg:nth-last-child(2)::after { content: none; }
}

/* Core's own outline button style has to work too */
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background) {
	background: rgba(255, 255, 255, .02) !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 1px solid rgba(212, 175, 55, .3) !important;
	box-shadow: none;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--aurum) !important;
	color: var(--wp--preset--color--champagne) !important;
	filter: none;
}


/* =========================================================================== */

/* Variable-width guard */
:root {
	font-stretch: 88%;
}

/* Noto Serif Display display guards */
h1, h2, h3, .lx-brand__word, .lx-eyebrow--serif {
	font-variation-settings: "SOFT" 20, "WONK" 0, "opsz" 96;
	font-optical-sizing: none;
}
h1, h2, h3 {
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: auto;
	text-wrap: balance;
}
h1 {
	-webkit-hyphens: auto;
	font-weight: 700;
}
/* Body copy keeps automatic optical sizing: at 17.5px Noto Serif Display is never used,
   but a serif <strong> inside prose inherits the setting otherwise. */
p, li, dd, figcaption {
	font-variation-settings: normal;
}

/* Ambient field */
.wp-site-blocks::before {
	background:
		radial-gradient(680px 520px at 14% -10%, rgba(212, 175, 55, .16), transparent 64%),
		radial-gradient(900px 420px at 92% 106%, rgba(226, 96, 63, .16), transparent 62%);
}
::selection {
	background: rgba(212, 175, 55, .32);
	color: #FBF8F2;
}

/* Engraved plate geometry */
.lx-card, .lx-panel, .lx-cat, .lx-step, .lx-faq, .lx-toc, .lx-note, .lx-warn,
.lx-table-wrap, .lx-statbox, .lx-shot, .lx-kyc__row, .lx-rail__plate {
	border-radius: 8px;
}
.lx-toc { border-radius: 8px; }
.lx-game__thumb, .lx-game__media--css { border-radius: 6px 6px 0 0; }
.wp-element-button, .lx-game__play, .lx-quicklink { border-radius: 4px; }
.lx-badge, .lx-eyebrow, .lx-seg--clock { border-radius: 999px; }

/* Wordmark: a monolithic serif lockup */
.lx-brand { align-items: center; gap: 11px; }
.lx-brand__lock {
	gap: 3px;
	align-items: flex-start;
	flex-direction: column;
}
.lx-brand__word {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 21px;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	color: var(--wp--preset--color--heading);
	transition: color .18s ease;
}
.lx-brand__cluster {
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 400;
	font-size: 9.5px;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	color: var(--wp--preset--color--aurum-deep);
	transition: color .18s ease;
}
.lx-brand__mark {
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: none;
	box-shadow: none;
}
.lx-brand__mark::after { content: none; }
.lx-brand__mark svg { display: block; }
.lx-shield rect[stroke], .lx-shield path { transition: stroke .18s ease; }
.lx-brand:hover .lx-brand__word { color: var(--wp--preset--color--champagne); }
.lx-brand:hover .lx-brand__cluster { color: var(--wp--preset--color--aurum); }
.lx-brand:hover .lx-shield { transform: none; }
.lx-brand--footer .lx-brand__word { font-size: 19px; }

/* Buttons: a struck blue plate */
.wp-element-button, .wp-block-button__link {
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .38), inset 0 -1px 0 rgba(3, 3, 4, .32);
	text-transform: none;
	letter-spacing: .1px;
}
.wp-element-button:hover, .wp-block-button__link:hover { filter: brightness(1.05); }
.wp-element-button:active, .wp-block-button__link:active { transform: translateY(1px); }

/* ---- In-prose links: blue light rule that thickens ---------------------------- */
.entry-content a:not(.wp-element-button):not(.lx-game__play):not(.lx-quicklink):not(.lx-cat):not(.lx-seg) {
	color: var(--wp--preset--color--champagne);
	text-decoration-color: rgba(240, 223, 166, .5);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.entry-content a:not(.wp-element-button):not(.lx-game__play):not(.lx-quicklink):not(.lx-cat):not(.lx-seg):hover {
	color: #EDE0B8;
	text-decoration-color: currentColor;
	text-decoration-thickness: 2px;
}

/* Wizard-step ledger */
.lx-steps {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 26px 0 8px;
	padding: 0;
	list-style: none;
	border-left: 1px solid rgba(212, 175, 55, .28);
}
.lx-steps > li, .lx-step {
	position: relative;
	margin: 0;
	padding: 4px 0 26px 54px;
	border: 0;
	background: none;
	border-radius: 0;
}
.lx-steps > li:last-child, .lx-step:last-child { padding-bottom: 4px; }
/* The numeral comes from the MARKUP (.lx-step__num), not a CSS counter: the plate
   is content a screen reader should hear as part of the step, and a counter would
   also double up with the span the page authors already write. */
.lx-step__num {
	position: absolute;
	left: -18px;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 4px;
	background: var(--wp--preset--gradient--aurum);
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: -0.5px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .5);
}
.lx-step__title {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 19px;
	line-height: 1.25;
	color: var(--wp--preset--color--heading);
	margin: 4px 0 6px;
}
.lx-step__text, .lx-steps > li > p {
	margin: 0 0 8px;
	color: var(--wp--preset--color--body);
	font-size: 16.5px;
	line-height: 1.62;
}
.lx-step__hint {
	display: block;
	font-size: 14px;
	color: var(--wp--preset--color--muted);
}
.lx-step__hint .lx-num { color: var(--wp--preset--color--num); }

/* CSS mock-UI frame ("skrinşot" without a screenshot) */
.lx-shot {
	margin: 22px 0;
	border: 1px solid rgba(239, 234, 224, .14);
	background: linear-gradient(168deg, #141418 0%, #0C0C10 100%);
	overflow: hidden;
	box-shadow: 0 18px 44px rgba(0, 0, 0, .55);
}
.lx-shot__bar {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 10px 14px;
	background: #1D1D22;
	border-bottom: 1px solid rgba(239, 234, 224, .1);
}
.lx-shot__dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: rgba(239, 234, 224, .22);
	flex: none;
}
.lx-shot__url {
	margin-left: 6px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	letter-spacing: .2px;
	color: var(--wp--preset--color--muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.lx-shot__body {
	display: grid;
	gap: 12px;
	padding: 20px 18px 22px;
}
.lx-shot__label {
	display: block;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .4px;
	text-transform: uppercase;
	color: var(--wp--preset--color--aurum-deep);
	margin-bottom: 6px;
}
.lx-shot__field {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid rgba(239, 234, 224, .16);
	border-radius: 4px;
	background: rgba(239, 234, 224, .04);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px;
	color: var(--wp--preset--color--dim);
}
.lx-shot__field--focus {
	border-color: var(--wp--preset--color--aurum);
	box-shadow: 0 0 0 3px rgba(212, 175, 55, .18);
}
.lx-shot__check {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 14px;
	line-height: 1.5;
	color: var(--wp--preset--color--body);
}
.lx-shot__box {
	flex: none;
	width: 18px;
	height: 18px;
	margin-top: 2px;
	border-radius: 3px;
	border: 1px solid var(--wp--preset--color--aurum-deep);
	background: rgba(212, 175, 55, .12);
}
.lx-shot__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	border-radius: 4px;
	background: var(--wp--preset--gradient--aurum);
	color: var(--wp--preset--color--ink);
	font-weight: 700;
	font-size: 15px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .38);
}
.lx-shot__cap, .lx-figcap {
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
}
.lx-shot__cap strong { color: var(--wp--preset--color--dim); }

/* KYC document checklist */
.lx-kyc {
	display: grid;
	gap: 10px;
	margin: 22px 0;
	padding: 0;
	list-style: none;
}
.lx-kyc__row {
	display: grid;
	grid-template-columns: 34px 1fr auto;
	gap: 14px;
	align-items: center;
	padding: 14px 16px;
	border: 1px solid rgba(239, 234, 224, .12);
	background: rgba(239, 234, 224, .03);
}
.lx-kyc__ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 4px;
	border: 1px solid rgba(212, 175, 55, .38);
	background: rgba(212, 175, 55, .1);
	color: var(--wp--preset--color--aurum);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
	font-weight: 700;
}
.lx-kyc__name {
	display: block;
	font-weight: 600;
	color: var(--wp--preset--color--heading);
	font-size: 16px;
	line-height: 1.35;
}
.lx-kyc__meta {
	display: block;
	margin-top: 3px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
	color: var(--wp--preset--color--muted);
}
.lx-kyc__state {
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .3px;
	padding: 5px 10px;
	border-radius: 999px;
	white-space: nowrap;
	border: 1px solid rgba(88, 201, 185, .4);
	background: rgba(88, 201, 185, .12);
	color: var(--wp--preset--color--verdigris);
}
.lx-kyc__state--wait {
	border-color: rgba(212, 175, 55, .4);
	background: rgba(212, 175, 55, .12);
	color: var(--wp--preset--color--aurum);
}
@media (max-width: 560px) {
	.lx-kyc__row {
		grid-template-columns: 34px 1fr;
	}
	.lx-kyc__state {
		grid-column: 2;
		justify-self: start;
	}
}

/* ---- Mascot plate ----------------------------------------------------------- */
.lx-rail {
	margin: 24px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.lx-rail__plate {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 100%;
	padding: 18px 18px 0;
	border: 1px solid rgba(212, 175, 55, .22);
	border-radius: 8px;
	background:
		radial-gradient(420px 220px at 50% 8%, rgba(212, 175, 55, .12), transparent 68%),
		linear-gradient(168deg, #141418 0%, #0A0A0C 100%);
}
.lx-rail__art { max-width: 100%; height: auto; }
.lx-rail__cap {
	margin: 0;
	text-align: center;
	font-size: 13px;
	color: var(--wp--preset--color--muted);
}
.lx-rail--inline { max-width: 320px; margin-inline: auto; }

/* ---- Trust rail: blue hairline separators ------------------------------------ */
.lx-seg:not(:last-child)::after {
	background: rgba(212, 175, 55, .38);
}
.lx-instruments {
	border-bottom: 1px solid rgba(212, 175, 55, .2);
}

/* ---- Focus ring: blue, visible on teal and on blue fills ----------------- */
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--champagne);
	outline-offset: 2px;
	border-radius: 3px;
}

/* ---- Motion ----------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.lx-cat:hover, .lx-card:hover, .wp-element-button:active { transform: none; }
	* { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}


/* ===========================================================================
   STEP-7 UX pass — fixes measured on the built pages (shoot_qeyd.js)
   =========================================================================== */

/* Table / figure captions */
.wp-element-caption,
figcaption.wp-element-caption,
.wp-block-table figcaption {
	color: var(--wp--preset--color--dim);
	font-size: 13px;
	line-height: 1.55;
	margin-top: 10px;
	padding-left: 12px;
	border-left: 2px solid rgba(212, 175, 55, .38);
	text-align: left;
}

/* Buttons must wrap */
.wp-element-button,
.wp-block-button__link {
	white-space: normal;
	overflow-wrap: anywhere;
	text-align: center;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
}
.wp-block-button {
	max-width: 100%;
}


/* =========================================================================== */
.lx-stat-tile {
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.lx-stat__num,
.lx-stat__label {
	display: block;
}
.lx-stat__num {
	font-size: clamp(22px, 2.4vw, 27px);
	letter-spacing: -0.3px;
}
.lx-stat__label {
	line-height: 1.35;
	color: var(--wp--preset--color--muted);
}


/* =========================================================================== */
.lx-nav { display: flex; align-items: center; min-width: 0; }
.lx-nav ul { list-style: none; margin: 0; padding: 0; }
.lx-nav__list { display: flex; align-items: center; gap: 2px; }
.lx-nav__list a,
.lx-nav__panel a {
	display: flex;
	align-items: center;
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--body);
	text-decoration: none;
	padding: 10px 12px;
	min-height: 44px;
	border-radius: 4px;
	white-space: nowrap;
	transition: color .16s ease, background-color .16s ease;
}
.lx-nav__list a:hover,
.lx-nav__panel a:hover,
.lx-nav__list a[aria-current="page"],
.lx-nav__panel a[aria-current="page"] {
	color: var(--wp--preset--color--contrast);
	background: rgba(239, 234, 224, .08);
}
.lx-nav__list a[aria-current="page"],
.lx-nav__panel a[aria-current="page"] {
	box-shadow: inset 0 -2px 0 var(--wp--preset--color--aurum);
}
.lx-nav__mobile { display: none; position: relative; }
.lx-nav__mobile > summary {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 14px;
	border: 1px solid rgba(239, 234, 224, .2);
	border-radius: 4px;
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
	list-style: none;
	white-space: nowrap;
}
.lx-nav__mobile > summary::-webkit-details-marker { display: none; }
.lx-nav__bars {
	width: 16px;
	height: 2px;
	background: var(--wp--preset--color--aurum);
	box-shadow: 0 5px 0 var(--wp--preset--color--aurum), 0 -5px 0 var(--wp--preset--color--aurum);
}
.lx-nav__mobile[open] > summary { border-color: rgba(212, 175, 55, .5); }
.lx-nav__panel {
	position: absolute;
	right: 0;
	top: calc(100% + 8px);
	z-index: 60;
	min-width: 246px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 8px;
	background: var(--wp--preset--color--surface-raised);
	border: 1px solid rgba(239, 234, 224, .14);
	border-radius: 8px;
	box-shadow: 0 24px 64px rgba(0, 0, 0, .7);
}
.lx-nav__panel a { white-space: normal; }

@media (max-width: 860px) {
	.lx-nav__list { display: none; }
	.lx-nav__mobile { display: block; }
}

/* Header at phone widths */
@media (max-width: 520px) {
	.lx-brand__cluster { display: none; }
	.lx-brand__word { font-size: 18px; }
	.lx-brand { gap: 8px; }
	.lx-brand__mark { width: 30px; height: 30px; }
	.lx-brand__mark svg { width: 26px; height: 26px; }
}
@media (max-width: 400px) {
	.lx-brand__word { font-size: 16.5px; }
	.lx-nav__mobile > summary { padding: 10px 11px; }
}

/* Stat tiles: the value is not always a numeral */
.lx-statbox {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 152px), 1fr));
}
.lx-stat__num {
	font-size: clamp(19px, 2.1vw, 25px);
	/* break-word, not anywhere: a mid-word break in a 25px display serif reads as a
	   rendering fault. Long values are shortened in the copy instead; this is the
	   safety net for the next author who forgets. */
	overflow-wrap: break-word;
	line-height: 1.12;
}


/* =========================================================================== */

/* Undo the inherited variable-width hack */
:root {
	font-stretch: normal;
}
.lx-num, .lx-ledger__v, .lx-flow__meta, code, kbd, samp {
	font-family: var(--wp--preset--font-family--mono);
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.2px;
	font-size: .95em;
}

/* Noto Serif Display guards */
h1, h2, h3, .lx-brand__word, .lx-eyebrow--serif {
	font-variation-settings: normal;
	font-optical-sizing: auto;
}
h1 { font-weight: 700; letter-spacing: -0.9px; }
h2 { font-weight: 600; }
h3 { font-weight: 600; letter-spacing: -0.3px; }
h1, h2, h3 {
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: auto;
	text-wrap: balance;
}
p, li, dd, figcaption { font-variation-settings: normal; }

/* Ambient field */
.wp-site-blocks::before {
	background:
		linear-gradient(180deg, rgba(212, 175, 55, .13) 0%, rgba(212, 175, 55, 0) 42%),
		radial-gradient(760px 460px at 4% 108%, rgba(226, 96, 63, .17), transparent 66%);
}
::selection {
	background: rgba(212, 175, 55, .3);
	color: #FBF8F2;
}

/* ---- Ledger geometry: rounder than the plate it forked from ------------------ */
.lx-card, .lx-panel, .lx-cat, .lx-step, .lx-faq, .lx-toc, .lx-note, .lx-warn,
.lx-table-wrap, .lx-statbox, .lx-shot, .lx-method, .lx-ledger, .lx-flow,
.lx-cutoff, .lx-check {
	border-radius: 10px;
}
.lx-toc { border-radius: 10px; }
.lx-game__thumb, .lx-game__media--css { border-radius: 10px 10px 0 0; }
.wp-element-button, .wp-block-button__link, .lx-game__play, .lx-quicklink {
	border-radius: 10px;
}
.lx-badge, .lx-eyebrow, .lx-seg--clock, .lx-chip { border-radius: 999px; }

/* ---- Wordmark: shield + a tracked grotesk lockup ---------------------------- */
.lx-brand { align-items: center; gap: 10px; }
.lx-brand__lock { gap: 2px; align-items: flex-start; flex-direction: column; }
.lx-brand__word {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 19.5px;
	line-height: 1;
	letter-spacing: .3px;
	text-transform: uppercase;
	color: var(--wp--preset--color--heading);
	transition: color .18s ease;
}
.lx-brand__cluster {
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 400;
	font-size: 9px;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: var(--wp--preset--color--aurum-deep);
	transition: color .18s ease;
}
.lx-brand__mark {
	width: 34px; height: 34px;
	display: inline-flex; align-items: center; justify-content: center;
	border: 0; background: none; box-shadow: none;
}
.lx-brand__mark::after { content: none; }
.lx-brand__mark svg { display: block; }
.lx-shield path[stroke], .lx-shield circle { transition: stroke .18s ease; }
.lx-brand:hover .lx-brand__word { color: var(--wp--preset--color--champagne); }
.lx-brand:hover .lx-brand__cluster { color: var(--wp--preset--color--aurum); }
.lx-brand:hover .lx-shield { transform: none; }
.lx-brand--footer .lx-brand__word { font-size: 17.5px; }

/* ---- Buttons: a minted coin edge -------------------------------------------- */
.wp-element-button, .wp-block-button__link {
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .34), inset 0 -1px 0 rgba(3, 3, 4, .3);
	text-transform: none;
	letter-spacing: .15px;
	font-weight: 700;
}
.wp-element-button:hover, .wp-block-button__link:hover { filter: brightness(1.05); }
.wp-element-button:active, .wp-block-button__link:active { transform: translateY(1px); }

/* ---- In-prose links --------------------------------------------------------- */
.entry-content a:not(.wp-element-button):not(.lx-game__play):not(.lx-quicklink):not(.lx-cat):not(.lx-seg) {
	color: var(--wp--preset--color--champagne);
	text-decoration-color: rgba(240, 223, 166, .46);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.entry-content a:not(.wp-element-button):not(.lx-game__play):not(.lx-quicklink):not(.lx-cat):not(.lx-seg):hover {
	color: #EDE0B8;
	text-decoration-color: currentColor;
	text-decoration-thickness: 2px;
}

/* .lx-flow — the transfer-rail schematic */
.lx-flow {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: stretch;
	margin: 24px 0;
	padding: 18px 16px;
	list-style: none;
	background: var(--wp--preset--gradient--card);
	border: 1px solid rgba(239, 234, 224, .12);
}
.lx-flow__node {
	position: relative;
	flex: 1 1 190px;
	min-width: 0;
	margin: 0;
	padding: 14px 15px;
	border-radius: 10px;
	background: rgba(239, 234, 224, .04);
	border: 1px solid rgba(239, 234, 224, .1);
	border-top: 2px solid var(--wp--preset--color--ruby);
}
.lx-flow__node--money { border-top-color: var(--wp--preset--color--aurum); }
.lx-flow__node + .lx-flow__node::before {
	content: "";
	position: absolute;
	left: -10px; top: 50%;
	width: 10px; height: 2px;
	background: rgba(212, 175, 55, .5);
}
.lx-flow__step {
	display: block;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 10.5px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--wp--preset--color--ruby-lit);
	margin-bottom: 6px;
}
.lx-flow__node--money .lx-flow__step { color: var(--wp--preset--color--champagne); }
.lx-flow__name {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 16.5px;
	line-height: 1.24;
	color: var(--wp--preset--color--heading);
	margin-bottom: 5px;
}
.lx-flow__meta {
	display: block;
	font-size: 13px;
	line-height: 1.55;
	color: var(--wp--preset--color--body);
}
.lx-flow__who {
	display: block;
	margin-top: 7px;
	font-size: 12.5px;
	color: var(--wp--preset--color--muted);
}
@media (max-width: 700px) {
	.lx-flow { flex-direction: column; }
	.lx-flow__node { flex: 1 1 auto; }
	.lx-flow__node + .lx-flow__node::before {
		left: 50%; top: -10px;
		width: 2px; height: 10px;
	}
}

/* .lx-methods — the method plates */
.lx-methods {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(238px, 1fr));
	gap: 14px;
	margin: 24px 0;
	padding: 0;
	list-style: none;
}
.lx-method {
	margin: 0;
	padding: 17px 17px 16px;
	background: var(--wp--preset--gradient--card-raised);
	border: 1px solid rgba(239, 234, 224, .11);
	border-left: 3px solid var(--wp--preset--color--aurum);
}
.lx-method--wallet { border-left-color: var(--wp--preset--color--ruby); }
.lx-method--crypto { border-left-color: var(--wp--preset--color--aurum-deep); }
.lx-method__name {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: 17.5px;
	line-height: 1.2;
	color: var(--wp--preset--color--heading);
}
.lx-method__type {
	display: block;
	margin: 5px 0 9px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 10.5px;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	color: var(--wp--preset--color--ruby-lit);
}
.lx-method__text {
	margin: 0 0 9px;
	font-size: 14.5px;
	line-height: 1.58;
	color: var(--wp--preset--color--body);
}
.lx-method__check {
	display: block;
	padding-top: 9px;
	border-top: 1px solid rgba(239, 234, 224, .1);
	font-size: 13px;
	line-height: 1.5;
	color: var(--wp--preset--color--muted);
}
.lx-method__check b { color: var(--wp--preset--color--champagne); font-weight: 600; }

/* .lx-ledger — labelled rows */
.lx-ledger {
	margin: 22px 0;
	padding: 6px 0;
	border: 1px solid rgba(239, 234, 224, .12);
	background: rgba(239, 234, 224, .025);
}
.lx-ledger__row {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 18px;
	align-items: baseline;
	padding: 13px 17px;
	border-bottom: 1px dashed rgba(239, 234, 224, .12);
}
.lx-ledger__row:last-child { border-bottom: 0; }
.lx-ledger__k {
	flex: 1 1 210px;
	min-width: 0;
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--wp--preset--color--body);
}
.lx-ledger__v {
	flex: 0 1 auto;
	font-size: 14.5px;
	font-weight: 500;
	color: var(--wp--preset--color--num);
	text-align: right;
}
.lx-ledger__v--open {
	font-family: var(--wp--preset--font-family--body);
	font-size: 13.5px;
	letter-spacing: 0;
	color: var(--wp--preset--color--ruby-lit);
	font-style: normal;
}

/* ---- .lx-cutoff — the Baku processing window -------------------------------- */
.lx-cutoff {
	display: flex;
	gap: 13px;
	align-items: flex-start;
	margin: 22px 0;
	padding: 15px 17px;
	background: rgba(226, 96, 63, .08);
	border: 1px solid rgba(226, 96, 63, .26);
}
.lx-cutoff__clock {
	flex: none;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .4px;
	padding: 5px 9px;
	border-radius: 999px;
	color: #050507;
	background: var(--wp--preset--color--ruby);
}
.lx-cutoff p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--wp--preset--color--body); }

/* ---- .lx-check — "nəyi yoxlamalı" list -------------------------------------- */
.lx-check {
	margin: 22px 0;
	padding: 16px 18px 16px 20px;
	list-style: none;
	background: var(--wp--preset--gradient--card);
	border: 1px solid rgba(239, 234, 224, .12);
	border-left: 3px solid var(--wp--preset--color--ruby);
}
.lx-check > li {
	position: relative;
	margin: 0 0 11px;
	padding-left: 26px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--wp--preset--color--body);
}
.lx-check > li:last-child { margin-bottom: 0; }
.lx-check > li::before {
	content: "";
	position: absolute;
	left: 0; top: .52em;
	width: 13px; height: 7px;
	border-left: 2px solid var(--wp--preset--color--ruby);
	border-bottom: 2px solid var(--wp--preset--color--ruby);
	transform: rotate(-45deg) translateY(-2px);
}

/* ---- Tables: numbers right, labels left ------------------------------------- */
.entry-content .wp-block-table td.lx-num,
.entry-content .wp-block-table td .lx-num { white-space: nowrap; }
.entry-content .wp-block-table th { color: var(--wp--preset--color--champagne); }

/* ---- Focus ring: blue, and legible ON a vermilion fill ----------------------- */
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--champagne);
	outline-offset: 2px;
	border-radius: 3px;
}
.wp-element-button:focus-visible, .wp-block-button__link:focus-visible {
	outline: 2px solid #050507;
	outline-offset: -4px;
	box-shadow: 0 0 0 3px rgba(240, 223, 166, .85);
}

/* ---- Motion ----------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.lx-brand__word, .lx-brand__cluster, .lx-shield path[stroke], .lx-shield circle,
	.wp-element-button, .wp-block-button__link { transition: none; }
}


/* =========================================================================== */

.lx-eyebrow,
.lx-chip--age,
.lx-langtag,
.lx-cat__ico,
.lx-instruments__age {
	color: var(--wp--preset--color--champagne);
}

/* Figures are num, sitewide. The two exceptions are elements that paint their
   own light background and set their own dark ink — inheriting there would put a
   pale figure on a pale fill, which is the same bug in the other direction. */
.lx-num {
	color: var(--wp--preset--color--num);
}
/* `.lx-updated .lx-num` (two classes) outranks a bare `.lx-num`, so the date
   line needs its own selector at the same specificity — the reason the first
   pass of this file left exactly one finding standing on all seven pages. */
.lx-updated .lx-num {
	color: var(--wp--preset--color--num);
}

.lx-cutoff__clock .lx-num,
.lx-step__num .lx-num,
.lx-shot__btn .lx-num,
.wp-element-button .lx-num,
.wp-block-button__link .lx-num {
	color: inherit;
}

/* The cashier schematic's field labels are data labels, so they take the cyan
   voice rather than a paler blue. */
.lx-shot__label {
	color: var(--wp--preset--color--ruby-lit);
}

/* The wordmark's cluster tag: quieter than the word above it, and legible on
   both the header canvas and the deeper footer band. */
.lx-brand__cluster {
	color: var(--wp--preset--color--dim);
}
.lx-brand:hover .lx-brand__cluster,
.lx-brand:focus-visible .lx-brand__cluster {
	color: var(--wp--preset--color--champagne);
}


/* ===========================================================================
   STEP-7 POLISH — header at phone widths   (appended last, wins)
   =========================================================================== */

/* One money CTA per screen. 781px is the sticky bar's own breakpoint (see */
@media (max-width: 781px) {
	.lx-header__actions .wp-block-button:not(.lx-btn-outline) {
		display: none;
	}
	.lx-header__actions {
		gap: 8px;
	}
}

/* Prefer a word boundary. `anywhere` is kept out of the wrapping decision and
   only `break-word` remains, so a two-word Azerbaijani label wraps between the
   words instead of inside one. */
.wp-element-button,
.wp-block-button__link {
	overflow-wrap: break-word;
	word-break: normal;
}

/* =========================================================================== */

/* A. Noto Serif Display is a single-weight, caps-only face */
h1,
h2,
h3,
h4,
.lx-brand__word,
.lx-plate__num,
.lx-eyebrow--serif {
	font-weight: 400;
	font-variation-settings: normal;
	font-optical-sizing: auto;
	-webkit-font-smoothing: antialiased;
}
h1 { letter-spacing: 0.5px; line-height: 0.94; }
h2 { letter-spacing: 0.4px; line-height: 1; }
h3 { letter-spacing: 0.5px; line-height: 1.12; }
h4 { letter-spacing: 0.5px; }

/* Bebas has no lowercase, so a heading containing a lowercase word renders in */
h1, h2, h3, h4 {
	text-transform: uppercase;
	text-wrap: balance;
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: manual;
}

/* Sentence-case is preserved where the "heading" is really prose: the FAQ */
.lx-faq summary,
.lx-step__title,
.lx-faq__answer,
.lx-cat__title,
.lx-game__title {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.35;
}

/* B. Ambient field */
.wp-site-blocks::before {
	background:
		linear-gradient(270deg, rgba(212, 175, 55, .14) 0%, rgba(212, 175, 55, 0) 38%),
		radial-gradient(680px 420px at 2% -6%, rgba(226, 96, 63, .15), transparent 68%);
}

/* C. The «1» anchor: this identity's dominant graphic anchor */
.lx-plate {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	margin: 0 0 6px;
	line-height: 1;
}
.lx-plate__num {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(84px, 17vw, 196px);
	line-height: 0.78;
	letter-spacing: 2px;
	color: var(--wp--preset--color--ruby);
	background: linear-gradient(168deg, #F09A82 0%, #E2603F 26%, #D4AF37 88%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	/* A hairline keeps the numerals from dissolving into the graphite where the
	   gradient reaches its darkest stop. */
	-webkit-text-stroke: 1px rgba(240, 154, 130, .16);
}
.lx-plate__label {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12.5px;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--wp--preset--color--num);
}
.lx-plate--ruby .lx-plate__num {
	background: linear-gradient(168deg, #F3AB95 0%, #F09A82 40%, #E2603F 100%);
}
@supports not ((-webkit-background-clip: text) or (background-clip: text)) {
	.lx-plate__num { -webkit-text-fill-color: currentColor; }
}
@media (forced-colors: active) {
	.lx-plate__num {
		-webkit-text-fill-color: currentColor;
		-webkit-text-stroke: 0;
		background: none;
	}
}

/* D. Topline: the trust strip ABOVE the brand row */
.lx-topline {
	background: var(--wp--preset--color--base-deep);
	border-bottom: 1px solid rgba(212, 175, 55, .18);
	padding: 7px 20px;
}
.lx-topline__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	max-width: 1200px;
	margin: 0 auto;
	font-size: 12px;
	line-height: 1.5;
	color: var(--wp--preset--color--body);
}
.lx-topline__age {
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 700;
	font-size: 11.5px;
	letter-spacing: .6px;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--gradient--aurum);
	border-radius: 2px;
	padding: 2px 7px;
}
.lx-topline .lx-seg + .lx-seg::before {
	content: "·";
	margin-right: 12px;
	color: var(--wp--preset--color--muted);
}
.lx-topline .lx-seg--rg {
	color: var(--wp--preset--color--champagne);
	text-decoration: underline;
	text-underline-offset: 2px;
	/* 44px targets are enforced globally; inside a 7px strip the hit area is
	   grown with padding rather than height so the strip keeps its proportion. */
	padding: 6px 2px;
}
.lx-topline .lx-seg--rg:hover { color: var(--wp--preset--color--ruby-lit); }
.lx-topline .lx-seg--clock { margin-left: auto; }
.lx-topline .lx-num { color: var(--wp--preset--color--num); letter-spacing: .4px; }
@media (max-width: 860px) {
	.lx-topline .lx-seg--wide { display: none; }
	.lx-topline .lx-seg--clock { margin-left: 0; }
}
@media (min-width: 861px) {
	.lx-topline .lx-seg--narrow { display: none; }
}

/* ---- E. Wordmark: the number is the brand --------------------------------- */
.lx-brand__word {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 25px;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	color: var(--wp--preset--color--heading);
}
.lx-brand__num {
	color: var(--wp--preset--color--ruby);
	/* The digits sit on the mono face so the brand's number reads as a figure —
	   the same rule the rest of the site follows for every numeral. */
	font-family: var(--wp--preset--font-family--mono);
	font-size: 21px;
	font-weight: 500;
	letter-spacing: -0.5px;
}
.lx-brand__cluster {
	font-size: 10.5px;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.lx-brand__mark { display: inline-flex; flex: 0 0 auto; }

/* F. Route tiles on the pillar */
.lx-routes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(212px, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.lx-route__name {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 22px;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: var(--wp--preset--color--heading);
}
.lx-route__sub {
	display: block;
	margin-top: 4px;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--wp--preset--color--body);
}
.lx-route__idx {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11.5px;
	letter-spacing: 1px;
	color: var(--wp--preset--color--champagne);
}

/* G. Platform table (/yukle) */
.lx-plat__name {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 19px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--wp--preset--color--heading);
}
.lx-plat__note {
	display: block;
	margin-top: 2px;
	font-size: 12.5px;
	color: var(--wp--preset--color--muted);
}

/* ---- H. The promo-code field, drawn rather than implemented ---------------
   Not an <input>: see inc/brand.php. The caret blinks only when the reader has
   not asked for reduced motion, and never carries meaning on its own. */
.lx-codebox {
	background: var(--wp--preset--gradient--card-raised);
	border: 1px solid rgba(212, 175, 55, .22);
	border-radius: 8px;
	padding: 18px 18px 14px;
	margin: 22px 0;
}
.lx-codebox__label {
	margin: 0 0 10px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11.5px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--wp--preset--color--num);
}
.lx-codebox__field {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 14px;
	background: var(--wp--preset--color--base-deep);
	border: 1px dashed rgba(240, 223, 166, .45);
	border-radius: 4px;
}
.lx-codebox__caption {
	font-size: 14.5px;
	color: var(--wp--preset--color--muted);
}
.lx-codebox__caret {
	width: 2px;
	height: 20px;
	background: var(--wp--preset--color--ruby);
	animation: lx-caret 1.15s steps(2, start) infinite;
}
@keyframes lx-caret { to { opacity: 0; } }
.lx-codebox__note {
	margin: 12px 0 0;
	font-size: 13px;
	line-height: 1.6;
	color: var(--wp--preset--color--dim);
}
@media (prefers-reduced-motion: reduce) {
	.lx-codebox__caret { animation: none; }
}

/* ---- I. Focus ring: electric blue, visible on graphite AND on a vermilion fill -- */
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid #F0DFA6;
	outline-offset: 2px;
	border-radius: 2px;
}
.wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 2px solid #0A0A0C;
	outline-offset: 2px;
	box-shadow: 0 0 0 4px rgba(240, 223, 166, .9);
}

/* J. Buttons: a struck chip edge */
.wp-element-button,
.wp-block-button__link {
	border-radius: 4px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28);
}
.lx-btn-outline .wp-block-button__link,
.lx-btn-outline .wp-element-button {
	background: transparent;
	color: var(--wp--preset--color--champagne);
	border: 1px solid rgba(240, 223, 166, .55);
	box-shadow: none;
}
.lx-btn-outline .wp-block-button__link:hover,
.lx-btn-outline .wp-element-button:hover {
	color: var(--wp--preset--color--ruby-lit);
	border-color: rgba(240, 154, 130, .75);
	background: rgba(212, 175, 55, .1);
}

/* ---- K. In-prose links: a blue rule that thickens ------------------------ */
.wp-block-post-content :is(p, li, dd, th, td, figcaption, blockquote) a:not(.wp-element-button):not(.lx-seg),
.lx-section p a:not(.wp-element-button) {
	color: var(--wp--preset--color--champagne);
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
	transition: text-decoration-thickness .14s ease, color .14s ease;
}
.wp-block-post-content :is(p, li, dd, th, td, figcaption, blockquote) a:not(.wp-element-button):not(.lx-seg):hover,
.lx-section p a:not(.wp-element-button):hover {
	color: var(--wp--preset--color--ruby-lit);
	text-decoration-thickness: 2px;
}

/* ---- L. Figures stay on the mono face ------------------------------------ */
.lx-num,
.lx-game__rtp,
.lx-stat__num,
.lx-offer__amount,
.lx-step__num {
	font-family: var(--wp--preset--font-family--mono);
	color: var(--wp--preset--color--num);
	font-variant-numeric: tabular-nums;
	letter-spacing: 0;
}

/* ---- M. Small-screen: the plate must not push the hero off the fold ------- */
@media (max-width: 600px) {
	.lx-plate__num { font-size: clamp(72px, 26vw, 108px); }
	.lx-brand__cluster { display: none; }
	.lx-brand__word { font-size: 22px; }
	.lx-brand__num { font-size: 19px; }
}

/* ---- N. Reduced motion ---------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.wp-element-button,
	.wp-block-button__link,
	.wp-block-post-content a,
	.lx-game__play { transition: none; }
}

/* ---- O. Offer headline (/bonus) ------------------------------------------
   The one string the Offer JSON-LD node reads. It is a headline, not a heading:
   the page's H2 above it names the section, this names the package. */
.lx-offer__headline {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(28px, 5vw, 42px);
	line-height: 1.04;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--wp--preset--color--heading);
	margin: 0 0 10px;
}
.lx-offer__headline .lx-num {
	font-size: .82em;
	color: var(--wp--preset--color--ruby);
}
.lx-offer__sub {
	margin: 0 0 16px;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--wp--preset--color--body);
}

/* P. Warning callout: support BOTH authored shapes */
.lx-warn > p {
	position: relative;
	margin: 0;
	padding: 13px 14px 13px 42px;
	border-radius: 12px;
	background: var(--wp--preset--gradient--card);
	border: 1px solid rgba(245, 163, 176, .34);
	font-size: 15px;
	line-height: 1.55;
	color: var(--wp--preset--color--body);
}
.lx-warn > p + p { margin-top: 10px; }
.lx-warn > p::before {
	content: "\26A0\FE0E";
	position: absolute;
	left: 14px;
	top: 13px;
	color: var(--wp--preset--color--danger);
}
/* A <ul class="lx-warn"> keeps its inherited blue marker; the paragraph form is
   used for the sharper "this will cost you money" warnings, so it gets danger. */


/* =========================================================================== */

/* 1. Card art lettermark: legible, and not a synthetic bold */
.lx-game__mono,
.lx-game__media--css > span:not([class]) {
	color: rgba(240, 154, 130, .55);
	font-weight: 400;
}

/* ---- 2. Demo badge: accent blue is a FILL, not 13px text ------------------
   #D4AF37 on the raised surface measured 3.35:1, under AA for body-size text.
   blue-soft is the token whose role is accent-as-text (5.8:1 here). */
.lx-demo__badge {
	color: var(--wp--preset--color--champagne);
}

/* 3. The «1» anchor keeps real margin at its darkest stop */
.lx-plate__num {
	background: linear-gradient(168deg, #F09A82 0%, #E2603F 26%, #E9D9A4 88%);
	-webkit-background-clip: text;
	background-clip: text;
}
.lx-plate--ruby .lx-plate__num {
	background: linear-gradient(168deg, #F3AB95 0%, #F09A82 40%, #E9D9A4 100%);
	-webkit-background-clip: text;
	background-clip: text;
}

/* 4. Four route tiles want a 2x2 block */
@media (min-width: 620px) {
	.lx-routes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* 5. The game-card CTA owns its own colour */
.lx-game__play,
.lx-game__play:hover,
.lx-game__play:focus {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

/* ========================================================================== … */

/* ---- 1. Ambient field: a aurum wedge from the BOTTOM-RIGHT plus one ruby
   pool high on the LEFT. Deliberately the inverse of the inherited silhouette,
   so no two network pages share a background shape. ------------------------- */
.wp-site-blocks::before {
	background:
		linear-gradient(315deg, rgba(212, 175, 55, .17) 0%, rgba(212, 175, 55, 0) 42%),
		radial-gradient(720px 380px at 8% 4%, rgba(226, 96, 63, .13), transparent 70%),
		radial-gradient(520px 520px at 96% 92%, rgba(138, 111, 30, .22), transparent 72%);
}

/* ---- 3. The «1» anchor: a HOLLOW numeral, a dot and a tick rail ---------- … */
.lx-one {
	position: relative;
	display: grid;
	grid-template-columns: auto auto minmax(0, 1fr);
	align-items: end;
	gap: 0 clamp(12px, 2vw, 22px);
	margin: 0 0 14px;
	line-height: 1;
}
.lx-one__rail {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 7px;
	padding-bottom: 1.15em;
	order: -1;
}
.lx-one__rail i {
	display: block;
	width: 20px;
	height: 3px;
	border-radius: 2px;
	background: var(--wp--preset--color--aurum);
}
/* Descending weight down the rail, so it reads as a scale rather than as five
   identical dashes. Opacity is safe here: the rail is aria-hidden decoration and
   carries no information a reader has to resolve. */
.lx-one__rail i:nth-child(2) { opacity: .72; width: 17px; }
.lx-one__rail i:nth-child(3) { opacity: .52; width: 14px; }
.lx-one__rail i:nth-child(4) { opacity: .34; width: 11px; }
.lx-one__rail i:nth-child(5) { opacity: .2;  width: 8px; }
.lx-one__num {
	position: relative;
	z-index: 1;
	font-family: var(--wp--preset--font-family--heading);
	/* The FLOOR is the mobile size: 24vw of a 360px phone is 86px, which clamps,
	   so the floor is the number to tune, not the ceiling. 138px keeps the anchor
	   dominant at 360px while leaving the mono label room beneath it. */
	font-size: clamp(138px, 24vw, 272px);
	line-height: 0.78;
	letter-spacing: -0.04em;
	color: var(--wp--preset--color--aurum);
}
@supports (-webkit-text-stroke: 1px black) or (text-stroke: 1px black) {
	.lx-one__num {
		color: transparent;
		-webkit-text-stroke: clamp(3px, 0.6vw, 6px) var(--wp--preset--color--aurum);
	}
}
.lx-one__dot {
	position: absolute;
	z-index: 2;
	top: .06em;
	left: calc(100% - .1em);
	width: clamp(16px, 2.6vw, 30px);
	height: clamp(16px, 2.6vw, 30px);
	border-radius: 50%;
	background: var(--wp--preset--color--ruby);
	pointer-events: none;
}
.lx-one__label {
	position: relative;
	z-index: 1;
	align-self: end;
	padding-bottom: 1.15em;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12.5px;
	letter-spacing: 1.4px;
	line-height: 1.55;
	text-transform: uppercase;
	color: var(--wp--preset--color--num);
}
.lx-one--ruby .lx-one__num { color: var(--wp--preset--color--ruby-lit); }
@supports (-webkit-text-stroke: 1px black) or (text-stroke: 1px black) {
	.lx-one--ruby .lx-one__num {
		color: transparent;
		-webkit-text-stroke: clamp(3px, 0.6vw, 6px) var(--wp--preset--color--ruby-lit);
	}
}
.lx-one--ruby .lx-one__dot { background: var(--wp--preset--color--aurum); }
/* Below 620px the label cannot sit beside a 138px glyph without wrapping to one
   word per line, and the rail eats width the numeral needs. */
@media (max-width: 620px) {
	.lx-one { grid-template-columns: auto minmax(0, 1fr); gap: 4px 14px; }
	.lx-one__rail { flex-direction: row; justify-content: flex-start; padding: 0; grid-column: 1 / -1; order: 3; }
	.lx-one__rail i { width: 3px; height: 16px; }
	.lx-one__rail i:nth-child(2) { width: 3px; height: 13px; }
	.lx-one__rail i:nth-child(3) { width: 3px; height: 11px; }
	.lx-one__rail i:nth-child(4) { width: 3px; height: 8px; }
	.lx-one__rail i:nth-child(5) { width: 3px; height: 6px; }
	.lx-one__label { padding-bottom: 0; }
}
@media (forced-colors: active) {
	.lx-one__num { color: currentColor; -webkit-text-stroke: 0; }
	.lx-one__dot { background: currentColor; }
}

/* ---- 3a. The bracketed mark ---------------------------------------------- */
.lx-mark { display: block; }
.lx-brand__num {
	/* The «1» is the whole equity of this domain, so it takes the accent voice. … */
	color: var(--wp--preset--color--aurum);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 21px;
	font-weight: 500;
	letter-spacing: 0;
}
.lx-brand__word { letter-spacing: -0.3px; font-size: 23px; }
.lx-brand:hover .lx-brand__num { color: var(--wp--preset--color--ruby-lit); }

/* ---- 3b. The macro chip stack ------------------------------------------- … */
.lx-rail { display: block; height: auto; }
.lx-rail-slot {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	flex: 0 0 auto;
}
@media (prefers-reduced-motion: no-preference) {
	.lx-rail-slot .lx-rail { transition: transform .35s ease; }
	.lx-rail-slot:hover .lx-rail { transform: translateY(-4px); }
}

/* ---- 4. Trust ribbon ------------------------------------------------------
   A pre-header strip above the brand row, so `.lx-topline`'s own border-bottom
   is the correct edge and no `--under` variant is needed. The sibling's variant
   rule (border-top, gradient) is deleted rather than left in place: it matched
   nothing after the part was rewritten and would have shipped in every page's
   render-blocking stylesheet.

   What differs from the sibling is the ribbon's CONTENT, not just its place: it
   leads on "müstəqil bələdçi" (independent guide) instead of the negative
   "operator deyil", because the first thing a reader should learn is what this
   site IS. */
.lx-topline__row { letter-spacing: .2px; }

/* ---- 5. Footer signature band --------------------------------------------- … */
.lx-sig {
	position: relative;
	overflow: hidden;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 0 4px;
}
.lx-sig__lock {
	position: relative;
	display: flex;
	align-items: center;
	gap: 11px;
	flex-wrap: wrap;
}
.lx-sig__word {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 21px;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	color: var(--wp--preset--color--heading);
}
.lx-sig__host {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12.5px;
	letter-spacing: .5px;
	color: var(--wp--preset--color--num);
	padding: 3px 8px;
	border: 1px solid rgba(226, 96, 63, .32);
	border-radius: 3px;
}
.lx-sig__note {
	position: relative;
	max-width: 62ch;
	margin: 12px 0 0;
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--wp--preset--color--dim);
}
@media (max-width: 620px) {
}

/* ---- 6. Payment rail as a full-width strip -------------------------------
   The sibling parked the rail inside a footer column, where five chips wrapped
   to three lines. Given the width it reads as one band. */
.lx-payrail--strip {
	max-width: 1200px;
	margin: 30px auto 0;
	padding: 16px 18px;
	border-radius: 10px;
	background: var(--wp--preset--gradient--card);
	border: 1px solid var(--wp--preset--color--edge);
}
.lx-payrail__title {
	margin: 0 0 10px;
	font-size: 12px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.lx-payrail--strip .lx-payrail__row { flex-wrap: wrap; }
.lx-payrail--strip .lx-payrail__note {
	margin: 11px 0 0;
	font-size: 12.5px;
	line-height: 1.65;
	color: var(--wp--preset--color--dim);
}

/* ---- 7. Noto Serif Display's metrics --------------------------------------------------- … */
h1, h2, h3,
.lx-offer__headline,
.lx-sig__word,
.lx-brand__word {
	text-wrap: balance;
}
h1 { word-break: normal; overflow-wrap: break-word; }
.lx-offer__headline { letter-spacing: 0.2px; }

/* The trust ribbon is a sentence, not a label row: leave it in sentence case. */
.lx-topline__row { text-transform: none; }

/* ---- 8. Number-string band (the hyper-focus row) -------------------------- … */
.lx-variants {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(215px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.lx-variant {
	padding: 15px 16px;
	border-radius: 10px;
	background: var(--wp--preset--gradient--card);
	border: 1px solid var(--wp--preset--color--edge);
}
.lx-variant__key {
	display: block;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .3px;
	color: var(--wp--preset--color--num);
	margin-bottom: 6px;
}
.lx-variant__what {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.62;
	color: var(--wp--preset--color--body);
}
.lx-variant--is .lx-variant__key { color: var(--wp--preset--color--ruby-lit); }
.lx-variant--isnt .lx-variant__key { color: var(--wp--preset--color--danger); }

/* ---- 9. Focus ring: TWO-TONE, because the accent is light ----------------- … */
a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible,
.wp-block-navigation-item__content:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
.lx-quicklink:focus-visible,
.lx-cat:focus-visible,
.lx-game .lx-game__play:focus-visible,
.lx-faq > summary:focus-visible,
.lx-skip-link:focus-visible {
	outline: 3px solid var(--wp--preset--color--heading);
	outline-offset: 2px;
	box-shadow: 0 0 0 2px var(--wp--preset--color--ink);
	border-radius: 4px;
}

/* ---- 10. Hero composition, measured on the real render ------------------- … */
.lx-rail { pointer-events: none; }
@media (min-width: 1080px) {
	.lx-section:has(> .lx-lead + .lx-rail) { position: relative; }
	.lx-lead + .lx-rail {
		position: absolute;
		top: 232px;
		right: clamp(16px, 3.4vw, 96px);
		margin: 0 !important;
		z-index: 1;
	}
}

/* ---- 11. Section rhythm --------------------------------------------------- … */
.lx-section {
	padding-top: clamp(34px, 5vw, 50px);
	padding-bottom: clamp(20px, 3.6vw, 32px);
}

/* ---- 12. Footer, restructured --------------------------------------------
   The payment band now OPENS the footer instead of sitting between the columns and
   the legal text, and the brand signature has moved out of a full-width band into
   the third column. Two reasons, one editorial and one structural:

     - the AZN rails (m10 / Kapital / ABB / Pasha) are the strongest local trust
       signal on the page, and they were buried three blocks down;
     - the sibling's signature band relied on `overflow:hidden` to clip a giant ghost
       numeral. That numeral is gone here (repeating the hero's own device in the
       footer is the sibling's signature, not this one), so the band no longer needs
       to be full width, and it reads better as the last of three columns — brand
       last, in reading order, after the reader has been offered the routes.

   The chip stack closes the column at 132px: the same object as the hero's, one
   scale down, which is what ties the two ends of the page together without a second
   display-sized graphic. */
.lx-payrail--strip { margin-top: 0; }
.lx-footer__sigcol {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}
.lx-sig {
	position: static;
	overflow: visible;
	max-width: none;
	margin: 0;
	padding: 0;
}
.lx-sig__note { max-width: 46ch; }
/* The stack is decorative and the column is narrow, so on a phone it would push the
   legal text down for nothing. */
@media (max-width: 781px) {
	.lx-footer__sigcol .lx-rail { display: none; }
}

/* ---- 13. Fixes found while authoring the pages ---------------------------
   Three inherited rules that were written for a layout this site does not use.

   a) `.lx-compare` shipped `position: sticky; top: 124px`. It was authored for a
      SIDEBAR column on an ancestor theme; /yukle uses it full-width in the flow, and
      a full-width sticky block detaches and rides over the section below it while the
      reader scrolls past. Static is the correct behaviour for a block that is as wide
      as its container.
   b) `.lx-plat__name` / `__note` existed with no CONTAINER, so three platform
      plates would have stacked as bare text. `.lx-plats` lays them out as an
      auto-fit grid; the page pairs each with `.lx-panel` for the card surface.
   c) `.lx-store` is `inline-flex`, so a row of store labels needs a flex wrapper
      to gap and wrap properly on a phone. */
.lx-compare { position: static; top: auto; }
.lx-plats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
	margin: 0 0 18px;
}
.lx-plats .lx-plat { display: flex; flex-direction: column; gap: 6px; }
.lx-store-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 6px;
}
/* The comparison rows on /yukle carry THREE cells (aspect · app · browser), while the
   inherited rule only coloured the first and last. Without this the middle cell —
   the app's own behaviour, i.e. the answer — was the only one left at inherited body
   colour, so the row read as if the browser column were the emphasis. */
.lx-compare__row > span:nth-child(2) {
	color: var(--wp--preset--color--aurum);
	font-weight: 700;
	text-align: right;
}
.lx-compare__row > span:nth-child(3) { text-align: right; }
.lx-compare__row > span:first-child { flex: 1 1 40%; text-align: left; }
@media (max-width: 560px) {
	.lx-compare__row { flex-wrap: wrap; }
	.lx-compare__row > span:first-child { flex: 1 1 100%; }
	.lx-compare__row > span:nth-child(2),
	.lx-compare__row > span:nth-child(3) { flex: 1 1 46%; text-align: left; }
}

/* ---- 14. The «1» anchor, corrected on the real render --------------------
   Two things only an eyeball pass catches (the UX harness checks overflow, tap
   targets and contrast — it cannot see that a composition has fallen apart):

   a) THE ACCENT DOT WAS STRANDED. It was `position:absolute; left:calc(100% - .1em)`
      inside `.lx-one`, and `.lx-one` is a GRID that spans the whole content
      column — so 100% was the column's width, not the numeral's. The dot landed
      ~600px to the right of the glyph it belongs to, reading as a stray green
      circle floating in the hero. Fixed by giving the grid named areas and putting
      the dot in the SAME cell as the numeral: an auto-width column is exactly as
      wide as the glyph, so `justify-self:end` parks the dot on the numeral's own
      right edge whatever the viewport does.
   b) THE TICK RAIL WAS CLUMPED at the numeral's baseline, because the grid is
      `align-items:end` and the rail had nothing to stretch against. It now spans
      the numeral's full height and distributes, which is what makes it read as a
      scale beside the figure rather than as four stray dashes.

   Named areas also let the 620px layout be declared rather than re-derived from
   `order`, which is what made the mobile rule hard to follow. */
.lx-one {
	grid-template-columns: auto auto minmax(0, 1fr);
	grid-template-areas: "rail num label";
	align-items: stretch;
}
.lx-one__rail {
	grid-area: rail;
	order: 0;
	justify-content: space-between;
	padding: 0.14em 0 0.3em;
	gap: 0;
}
.lx-one__num { grid-area: num; align-self: end; }
.lx-one__dot {
	grid-area: num;
	position: relative;
	justify-self: end;
	align-self: start;
	top: 0.06em;
	left: 0;
	margin-right: -0.34em;
}
.lx-one__label { grid-area: label; align-self: end; }
@media (max-width: 620px) {
	.lx-one {
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-areas:
			"num  num"
			"rail label";
	}
	.lx-one__rail { flex-direction: row; align-items: flex-end; gap: 4px; padding: 8px 0 0; }
	.lx-one__label { align-self: center; }
}
/* The anchor's flag was crossing the last line of the lead paragraph. WP's
   constrained layout forces margin-INLINE with !important but leaves the block
   axis alone, so a plain margin-top is enough here. */
.lx-one { margin-top: 26px; }

/* ---- 15. The comparison component needs a header row ---------------------
   Found by looking at the render, not by the harness. Without column labels the
   two value cells in each row are just two strings side by side, and the reader has
   to infer which one describes the app — the colour difference (aurum vs verdigris-soft)
   carries the distinction, which is exactly the kind of meaning colour must never
   carry alone (WCAG 1.4.1). The page now authors a header row; this styles it and
   puts a hairline between the two value columns so they stop reading as one phrase. */
.lx-compare__row--head {
	border-bottom: 1px solid rgba(212, 175, 55, .34);
	padding-bottom: 12px;
	margin-bottom: 4px;
}
.lx-compare__row--head > span {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11.5px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	font-weight: 500;
}
.lx-compare__row--head > span:first-child { color: var(--wp--preset--color--muted); }
.lx-compare__row--head > span:nth-child(2) { color: var(--wp--preset--color--aurum); }
.lx-compare__row--head > span:nth-child(3) { color: var(--wp--preset--color--verdigris-soft); }
/* Fixed value tracks + a divider: the two cells were running together into one
   sentence at 1024px and above. */
.lx-compare__row > span:nth-child(2),
.lx-compare__row > span:nth-child(3) { flex: 0 0 27%; }
.lx-compare__row > span:nth-child(3) { padding-left: 14px; border-left: var(--lx-hairline); }
@media (max-width: 560px) {
	.lx-compare__row > span:nth-child(2),
	.lx-compare__row > span:nth-child(3) { flex: 1 1 46%; }
	.lx-compare__row > span:nth-child(3) { padding-left: 0; border-left: 0; }
	.lx-compare__row--head { display: none; }
}
/* On a phone the header row is hidden (three columns of caps labels above a wrapped
   two-up grid is unreadable), so the labels move INTO the cells. Without this the
   mobile layout has the same defect the header row was added to fix — two values
   side by side distinguished only by colour. */
@media (max-width: 560px) {
	.lx-compare__row:not(.lx-compare__row--head) > span:nth-child(2)::before { content: "Tətbiqdə: "; }
	.lx-compare__row:not(.lx-compare__row--head) > span:nth-child(3)::before { content: "Brauzerdə: "; }
	.lx-compare__row:not(.lx-compare__row--head) > span:nth-child(2)::before,
	.lx-compare__row:not(.lx-compare__row--head) > span:nth-child(3)::before {
		display: block;
		font-family: var(--wp--preset--font-family--mono);
		font-size: 10.5px;
		letter-spacing: 1px;
		text-transform: uppercase;
		font-weight: 500;
		color: var(--wp--preset--color--muted);
	}
}

/* =========================================================================
   RZ IDENTITY LAYER — royale-lux.com · "Obsidian Blue & Aurum"
   Appended LAST on purpose. Two hard-won reasons:

   1. `:where()` has ZERO specificity, so an identity rule written that way loses
      to the inherited plain selector list it is meant to replace. Every override
      below is a plain selector at equal specificity, placed last, which is what
      actually wins.
   2. The inherited «1» anchor was a HOLLOW stroked numeral with an accent dot and
      a tick rail. This build's anchor is an editorial MASTHEAD, so the container
      and the numeral are fully re-declared here — including inside the
      `@supports (-webkit-text-stroke)` block, or the numeral stays transparent
      and the hero renders an empty column.
   ========================================================================= */

/* ---- 1. The «1» anchor as an editorial masthead --------------------------
   Reading top to bottom: a DOUBLE hairline, the serif figure with a mono ordinal
   at its shoulder, then a single hairline whose own gap carries the kicker. What
   makes this a graphic is the ruling, not the glyph — which is exactly why the
   figure is a plain solid serif here and not hollow or doubled.

   Grid, not flow: the ordinal has to sit against the numeral's own left edge at
   every viewport. An `auto` column is exactly the glyph's width, so the ordinal
   parked in the SAME cell cannot drift — the trap on the sibling build was an
   absolutely-positioned dot resolving against the grid instead of the glyph and
   landing ~600px away. Nothing here is absolutely positioned. */
.lx-one {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas: "rules" "figure" "kicker";
	align-items: stretch;
	gap: 0;
	margin: 0 0 18px;
	line-height: 1;
}

/* The double rule. One element, two borders — a second element would be a second
   thing to keep in sync at four breakpoints. */
.lx-one__rules {
	grid-area: rules;
	display: block;
	height: 7px;
	border-top: 2px solid var(--wp--preset--color--aurum);
	border-bottom: 1px solid var(--wp--preset--color--edge);
}

.lx-one__figure {
	grid-area: figure;
	display: grid;
	grid-template-columns: auto auto minmax(0, 1fr);
	align-items: start;
	gap: 0 clamp(6px, 1vw, 12px);
	padding: clamp(4px, 1vw, 10px) 0 0;
}

/* The ordinal mark. Mono, because the mono face is reserved for figures and an
   ordinal belongs to the figure it introduces. Aligned to the numeral's cap, not
   its baseline — an ordinal on the baseline reads as a footnote. */
.lx-one__ord {
	font-family: var(--wp--preset--font-family--mono);
	font-size: clamp(15px, 2.4vw, 30px);
	font-weight: 500;
	line-height: 1;
	padding-top: .34em;
	color: var(--wp--preset--color--ruby-lit);
}

/* The figure itself: Noto Serif Display 900, solid. The clamp FLOOR is the number to tune,
   not the ceiling — 24vw of a 360px phone is 86px, which clamps, so 128px is what
   a phone actually renders. */
.lx-one__num {
	position: static;
	z-index: auto;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(128px, 23vw, 252px);
	font-weight: 900;
	line-height: 0.8;
	letter-spacing: -0.04em;
	color: var(--wp--preset--color--aurum);
	-webkit-text-stroke: 0;
}

/* Undo the inherited hollow treatment. Without this the numeral keeps
   `color: transparent` from the earlier @supports block and disappears. */
@supports (-webkit-text-stroke: 1px black) or (text-stroke: 1px black) {
	.lx-one__num {
		color: var(--wp--preset--color--aurum);
		-webkit-text-stroke: 0;
	}
	.lx-one--ruby .lx-one__num {
		color: var(--wp--preset--color--ruby-lit);
		-webkit-text-stroke: 0;
	}
}

/* The kicker, set INTO the lower rule: the rule runs across the row and the text
   sits in it with the field showing through on both sides. A pseudo-element rule
   plus a padded span is the only way to get a real gap without hardcoding a text
   width. */
.lx-one__kicker {
	grid-area: kicker;
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: clamp(8px, 1.4vw, 16px);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: .14em;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--wp--preset--color--num);
}
.lx-one__kicker::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: var(--wp--preset--color--edge);
}

.lx-one--ruby .lx-one__num { color: var(--wp--preset--color--ruby-lit); }
.lx-one--ruby .lx-one__rules { border-top-color: var(--wp--preset--color--ruby-lit); }
.lx-one--ruby .lx-one__ord { color: var(--wp--preset--color--aurum); }

@media (max-width: 620px) {
	.lx-one { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.lx-one__figure { grid-template-columns: auto minmax(0, 1fr); }
	.lx-one__kicker { letter-spacing: .1em; }
}

@media (forced-colors: active) {
	.lx-one__num,
	.lx-one__ord { color: currentColor; -webkit-text-stroke: 0; }
	.lx-one__rules { border-top-color: currentColor; border-bottom-color: currentColor; }
}

/* ---- 2. The dark-bokeh field --------------------------------------------
   Replaces the sibling's chip-stack entirely. Decorative and aria-hidden, with an
   intrinsic width/height on the <svg> so it costs no layout shift. */
.lx-bokeh {
	display: block;
	max-width: 100%;
	height: auto;
	border: 1px solid var(--wp--preset--color--edge);
	border-radius: var(--wp--preset--border-radius--medium, 4px);
}
.lx-bokeh-slot {
	display: block;
	margin: clamp(18px, 3vw, 30px) 0 0;
}
/* In the footer signature band the field is a quiet strip, not a picture. */
.lx-footer .lx-bokeh { opacity: .78; }

/* ---- 3. The trust band, now BELOW the brand row -------------------------
   The inherited topline sat above the header and read as a browser chrome strip.
   Moved under the brand row it becomes the identity's structural device: a ruled
   band. Hairline top and bottom, no fill — a filled bar would compete with the
   masthead. */
.lx-topline--under {
	margin-top: 4px;
	border-top: 1px solid var(--wp--preset--color--edge);
	border-bottom: 1px solid var(--wp--preset--color--edge);
	background: transparent;
}

/* ---- 4. The footer signature as a full-width masthead band --------------- */
.lx-sig--band {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
	padding-bottom: 26px;
	border-bottom: 1px solid var(--wp--preset--color--edge);
}
.lx-sig--band .lx-sig__lock {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 16px;
}
.lx-sig--band .lx-sig__host {
	font-size: 12.5px;
	letter-spacing: .06em;
	color: var(--wp--preset--color--muted);
}
.lx-sig--band .lx-sig__note { max-width: 62ch; margin: 0; }
@media (min-width: 900px) {
	.lx-sig--band {
		grid-template-columns: minmax(0, 22rem) minmax(0, 1fr);
		align-items: start;
		gap: 30px 44px;
	}
}

/* ---- 5. Editorial section rule ------------------------------------------
   A hairline above each section heading is this identity's one repeated device,
   which is what lets the pages carry no card borders and still read as ordered. */
.lx-section > .wp-block-heading:first-child {
	padding-top: 16px;
	border-top: 1px solid var(--wp--preset--color--edge);
}

/* ---- 5b. GEOMETRY NORMALISATION -----------------------------------------
   The forked stylesheet carries ~20 pill and disc radii from an identity whose
   silhouette was round-cornered. This one is editorial: 0/4/18 with a 2px button, a
   mark that is a knocked-out SLAB, and the hairline as its structural device. A pill
   chip beside a square button is the kind of mismatch that reads as "unfinished"
   without ever being reportable as a bug.

   The worst of them was `.lx-brand__mark { border-radius: 50% }`, which framed the
   new slab mark in a circle in the header and the footer signature.

   Round is KEPT where round is semantically right — a window-chrome dot on the mock
   UI frame, a bullet marker, an avatar — and nowhere else. */
.lx-brand__mark,
.lx-brand__mark::after { border-radius: 4px; }

.lx-chip,
.lx-badge,
.lx-eyebrow,
.lx-seg--clock,
.lx-game__rtp,
.lx-kyc__state,
.lx-cutoff__clock,
.lx-filter a,
.lx-chips .wp-block-button__link { border-radius: 2px; }

.lx-game__play { border-radius: 2px; }

/* Bars with square ends read as RULES, which is this identity's one device. */
.lx-rtpbar__track,
.lx-rtpbar__fill,
.lx-ladder .bar,
.lx-ladder .bar i { border-radius: 1px; }

/* The section-heading flourish becomes a plain rule rather than a rounded lozenge. */
.lx-cta > h2::after { border-radius: 0; }

/* ---- 5a1. H1 AND H2 ARE MIXED CASE -------------------------------------
   theme.json sets `elements.heading.textTransform: none`, and it was losing. The
   stylesheet carries `h1, h2, h3, h4 { text-transform: uppercase }` under the comment
   "Bebas has no lowercase, so a heading containing a lowercase word renders in…" —
   a rule written for the FIRST site in this fork chain, whose display face was Bebas
   Neue. It has been inherited by every fork since, and element selectors in a
   stylesheet beat theme.json's generated `:root :where(h1)` output.

   Noto Serif Display has a full lowercase, and mixed-case serif headings are the premise of this
   identity, so h1 and h2 are reset here. h3/h4 KEEP their uppercase — they are set in
   the body face at label size, which is this build's deliberate inversion of the
   sibling convention. */
h1, h2,
h1.wp-block-heading, h2.wp-block-heading { text-transform: none; }

/* ---- 5a2. THE ANCHOR'S NUMERAL HAD A STALE GRID-AREA -------------------
   `.lx-one__num { grid-area: num }` and `.lx-one__label { grid-area: label }` refer to
   the SIBLING construction's `grid-template-areas: "rail num label"`. This build's
   container declares "rules" / "figure" / "kicker" instead, so `num` is an unknown area
   name: the numeral fell out of the flow and auto-placed into a new implicit column at
   the far right of the hero, orphaning the mono ordinal on the left. Same failure class
   as an absolutely-positioned element resolving against the grid instead of the glyph,
   and equally invisible to the UX harness — it checks overflow, tap targets and
   contrast, all of which still passed.

   The figure's children live in a NESTED grid, so they take auto placement. */
.lx-one__num,
.lx-one__ord { grid-area: auto; align-self: start; }

/* ---- 5c. STEEL AS TEXT, AND A CLAMP THAT CROSSES THE AA THRESHOLD -------
   `.lx-offer__headline .lx-num` was painted in `ruby`. At 1440px the figure renders
   at 34px, which WCAG counts as large text (need 3.0) and 4.13:1 passes — so the
   desktop view looked fine. Its font-size is a clamp, and at 360px it resolves to
   23px, just under the 24px large-text threshold, where the requirement becomes 4.5
   and the same colour measures 3.61:1. A contrast bug that only exists at one
   breakpoint because a clamp crosses a WCAG boundary.

   The fix is not a bigger font — it is the palette rule: ruby is a FILL, and
   `ruby-lit` is the token reserved for the second accent AS TEXT. It measures
   6.9:1 here, so the component is compliant at every size the clamp can produce. */
.lx-offer__headline .lx-num { color: var(--wp--preset--color--ruby-lit); }
.lx-plate__num { color: var(--wp--preset--color--ruby-lit); }

/* ---- 5d. THE SERIF IS SET MIXED CASE -----------------------------------
   The forked stylesheet uppercased seven components in the display face, which was
   right when that face was a grotesque. Noto Serif Display is a SERIF, and this identity's
   whole premise is mixed-case serif headings with the hairline as its device — so an
   uppercased serif is the one voice on the site that contradicts the rest.

   Two specific consequences fixed here:
     * the WORDMARK read "ROYALE 1" in the header and the footer signature while the
       Open Graph card renders "Royale Lux". A brand whose name is cased differently in
       the tab, the page and the social preview is a brand with three spellings;
     * `.lx-offer__headline` is a 130-character SENTENCE (it is also the Offer
       schema's `name`), and a long uppercase serif line is genuinely hard to read.

   Small labels keep their uppercase, but move to the BODY face — which is exactly the
   rule this theme already applies to h3. */
.lx-brand__word,
.lx-sig__word,
.lx-offer__headline { text-transform: none; }

.lx-brand__word { letter-spacing: -0.5px; }
.lx-offer__headline { letter-spacing: -0.4px; }

.lx-route__name,
.lx-plat__name,
.lx-provider {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 700;
	letter-spacing: 0.07em;
}

/* ---- 6. THE FOCUS RING — TWO-TONE, AND THIS MUST BE LAST ----------------
   No single colour clears 3:1 on BOTH a near-black obsidian field and a light
   aurum button fill. The sibling build shipped a ring that measured 1.31:1 on
   its own primary CTA for exactly this reason: one colour, two very different
   backgrounds. So the ring is two halves and always both:

     * `box-shadow: 0 0 0 2px ink`  — near-black, wins on a aurum/verdigris FILL
       (12.5:1 and 9.1:1, asserted in contrast_rz.py);
     * `outline: 3px heading`       — near-white, wins on the FIELD and on cards
       (16.5:1 / 14.4:1 / 12.5:1).

   Whichever background the element has, one half of the ring is visible against
   it. Both halves are unconditional — a media query or an :is() wrapper here
   would reintroduce the specificity problem this block exists to solve. */
a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible,
.wp-block-navigation-item__content:focus-visible,
.wp-block-navigation__responsive-container-open:focus-visible,
.wp-block-navigation__responsive-container-close:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
details:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--wp--preset--color--heading);
	outline-offset: 2px;
	box-shadow: 0 0 0 2px var(--wp--preset--color--ink);
	border-radius: 2px;
}

/* Windows High Contrast strips both colours; the system ring must survive. */
@media (forced-colors: active) {
	a:focus-visible,
	button:focus-visible,
	.wp-block-button__link:focus-visible,
	summary:focus-visible,
	[tabindex]:focus-visible {
		outline: 3px solid currentColor;
		box-shadow: none;
	}
}
/* ================= END RZ IDENTITY LAYER ================= */

/* ================= LX IDENTITY LAYER — «Royale Lux» =================
   Appended last on purpose: this stylesheet is a stack of successive re-skin layers
   and the cascade resolves in file order, so the identity that ships is whatever the
   tail says. Everything above this line belongs to the number micro-hub this theme
   was forked from; everything below is «Obsidian & Gold».

   Three devices, and only three, so the site reads as one thing:
     1. the RULE      — a warm 1px hairline (--color--edge), the structural element;
     2. the SUIT      — the diamond knocked out of the R in the mark, spade+diamond as
                        pips on the wordmark's rule;
     3. STRUCK GOLD   — a champagne-to-gold-to-aurum-deep ramp, used on the wordmark and
                        on primary buttons, never on body text.

   Geometry is 0/3/14 with SQUARE buttons. The fork's 0/4/18-and-2px-button geometry is
   normalised below, because a stylesheet this old carries radii from three identities
   at once and a rounded chip beside a square button reads as unfinished.
   ==================================================================== */

/* ---- 1. The wordmark in the header / footer signature -------------------
   "Royale" recedes in the body face; "Lux" is the equity, so it carries the accent.
   Not a gradient here: at 19px a clipped gradient loses its lit edge and just looks
   muddy. The gradient belongs to the page-anchor wordmark (section 2), which is 4x
   the size. */
.lx-brand__lux,
.lx-sig__word .lx-brand__lux {
	color: var(--wp--preset--color--aurum);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 900;
	letter-spacing: -0.2px;
}
.lx-brand:hover .lx-brand__lux { color: var(--wp--preset--color--champagne); }
/* The fork's numeral span no longer exists in the markup; neutralise its rules so a
   stale copy of the header cannot paint a stray accent. */
.lx-brand__num { color: inherit; -webkit-text-stroke: 0; }

/* ---- 2. The page anchor: «Royale Lux» as display lettering --------------
   The brief asks for the brand's own lettering AS the page's main graphic anchor. So
   the anchor is type, not art: a mono kicker, the two-part lockup with a struck-gold
   ramp clipped to «Lux», and a suit rule under it.

   The ramp's dark stop (aurum-deep, 4.1:1 on the field) is parked in the last 12% of
   the gradient, so the glyph body stays on gold/champagne (9.4:1 / 14.9:1). At
   clamp-min 44px this is large text, where 3:1 applies — but a display face whose
   descenders sat in the dark stop would still look broken, hence the stop position.
   `color` is set BEFORE the clip so a browser without background-clip:text (or with
   the ramp disabled by forced-colors) still renders solid gold rather than nothing. */
.lx-wordmark {
	display: grid;
	gap: 10px;
	justify-items: start;
	margin: 0 0 6px;
}
.lx-wordmark__kicker {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--num);
}
.lx-wordmark__lock {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0 0.3em;
	font-family: var(--wp--preset--font-family--heading);
	line-height: 0.94;
}
.lx-wordmark__royale {
	font-size: clamp(21px, 3.2vw, 32px);
	font-weight: 700;
	letter-spacing: -0.2px;
	color: var(--wp--preset--color--contrast);
}
.lx-wordmark__lux {
	font-size: clamp(44px, 9vw, 96px);
	font-weight: 900;
	letter-spacing: -2.4px;
	color: var(--wp--preset--color--aurum);
	background-image: linear-gradient(122deg, #F0DFA6 0%, #D4AF37 54%, #C29A2C 88%, #8A6F1E 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.lx-wordmark--ruby .lx-wordmark__lux {
	background-image: linear-gradient(122deg, #F3AB95 0%, #E2603F 58%, #8E2F1E 100%);
	color: var(--wp--preset--color--ruby-lit);
}
.lx-wordmark__rule {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	width: min(100%, 20rem);
	padding-top: 12px;
	border-top: 1px solid var(--wp--preset--color--edge);
	font-size: 13px;
	line-height: 1;
}
/* The pips are U+2660 / U+2666, and NONE of this identity's three faces carries them
   (the same gap turned the first Open Graph card's pips into tofu boxes — see
   assets_lux.py, which draws them as polygons for that reason). A browser DOES fall
   back per character, but only to a family it can find, so the stack names the symbol
   fonts explicitly rather than trusting the platform default. */
.lx-wordmark__pip {
	font-family: "Segoe UI Symbol", "Apple Symbols", "Noto Sans Symbols 2", "DejaVu Sans", sans-serif;
	line-height: 1;
}
.lx-wordmark__pip--spade { color: var(--wp--preset--color--champagne); }
.lx-wordmark__pip--diamond { color: var(--wp--preset--color--ruby-lit); }
@media (forced-colors: active) {
	.lx-wordmark__lux {
		background-image: none;
		-webkit-text-fill-color: currentColor;
		color: CanvasText;
	}
}

/* ---- 3. The abstract light field ---------------------------------------
   Beams, not discs — see inc/brand.php for why the motif had to differ from the fork's
   bokeh. Fixed intrinsic size is set on the svg element itself (anti-CLS); this only
   places it and keeps it decorative. */
.lx-light {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--wp--preset--color--edge);
	border-radius: 3px;
}
.lx-footer .lx-light { opacity: .72; }

/* ---- 4. The trust band sits ABOVE the brand row ------------------------
   The fork moved this band below the brand row. Two sites in one network with the same
   tree should not also share the same header stacking order, and above the brand row it
   behaves like a printed masthead's dateline: a thin ruled strip the eye reads once and
   then ignores. Hairline BOTTOM only — a top hairline against the viewport edge is a
   line nobody sees. */
.lx-topline--over {
	margin: 0 0 2px;
	border-top: 0;
	border-bottom: 1px solid var(--wp--preset--color--edge);
	background: transparent;
}
.lx-topline--over .lx-topline__row { letter-spacing: .18px; }

/* ---- 5. Footer support column ------------------------------------------ */
.lx-footer__support {
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 1.62;
	color: var(--wp--preset--color--body);
}
.lx-footer__support--muted { color: var(--wp--preset--color--muted); font-size: 13px; }
.lx-footer__support a { color: var(--wp--preset--color--champagne); }

/* ---- 6. GEOMETRY: 0 / 3 / 14, square buttons --------------------------
   theme.json now declares these radii, but around twenty hard-coded radii survive in
   the layers above (pills on chips, 50% on the mark frame, 2px on buttons, 8-10px on
   cards). They are restated here rather than hunted one by one: the tail wins, and a
   single block is auditable where twenty scattered edits are not. */
.lx-chip,
.lx-chips .wp-block-button__link,
.wp-block-button__link,
.wp-element-button,
.lx-plate,
.lx-route,
.lx-codebox__field,
.lx-agegate__row button,
.lx-cookie__row button,
.lx-sticky a { border-radius: 0; }
.lx-card,
.lx-panel,
.lx-codebox,
.lx-payrail--strip,
.wp-block-table { border-radius: 3px; }
.lx-brand__mark { border-radius: 0; }
.lx-agegate__card,
.lx-cookie { border-radius: 3px; }
/* The age-gate badge is the one place a shape is allowed to be a plate: it is a stamp,
   not a control. Square, like everything else, but carrying the gold ramp. */
.lx-agegate__badge { border-radius: 0; }

/* ---- 7. Struck gold on primary buttons --------------------------------
   theme.json points the button background at the aurum gradient and its text at ink
   (#0A0A0C on #D4AF37 = 9.4:1). Restated here for the three chrome buttons that are
   NOT core buttons (they are inline-styled in inc/chrome.php) so the primary controls
   on a page cannot drift apart. */
.lx-agegate__yes,
.lx-cookie__row .lx-cookie__ok,
.lx-sticky a {
	background: linear-gradient(122deg, #F0DFA6 0%, #D4AF37 56%, #A8862A 100%);
	color: var(--wp--preset--color--ink);
}

/* ---- 8. The hairline rule keeps its warmth ---------------------------- */
.lx-section > .wp-block-heading:first-child { border-top-color: var(--wp--preset--color--edge); }
hr.wp-block-separator { border-color: var(--wp--preset--color--edge); opacity: 1; }
/* ---- 9. An offer value that is a SENTENCE, not an amount ----------------
   `.lx-offer__amount` is display-sized because it was built to hold «550 AZN». Three
   rows on this site legitimately hold prose instead — the wager multiplier and the
   validity window are values only the operator may state, so the honest cell reads
   «operatorun şərtlərində göstərilir». At 34px that sentence set two lines tall and
   made its own row label look like a footnote.

   Two selectors, deliberately. The explicit modifier is what the imported pages carry,
   so the fix is deterministic; the `:has()` rule is the safety net for any future page
   whose author forgets it — a value with no `.lx-num` figure inside it is by definition
   not an amount. Older engines without `:has()` still get the modifier. */
.lx-offer__amount--open,
.lx-offer__amount:not(:has(.lx-num)) {
	font-family: var(--wp--preset--font-family--body);
	font-size: 15.5px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0;
	color: var(--wp--preset--color--muted);
	text-transform: none;
}
/* The same rule for the ledger's open values, which share the problem and the reason. */
.lx-ledger__v--open {
	font-family: var(--wp--preset--font-family--body);
	font-size: 15.5px;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--wp--preset--color--muted);
}
/* ================= END LX IDENTITY LAYER ================= */
