/* =========================================================================
   Royale Casino — theme design layer
   Loaded on the front end and inside the editor canvas.
   Structure comes from core blocks; this file supplies the premium casino
   look (cards, glows, badges) and the mobile behaviour the old inline
   markup lacked.
   ========================================================================= */

:root {
	--rc-maxw: 1200px;
	--rc-card-border: 1px solid rgba(46, 125, 255, .12);
	--rc-card-border-strong: 1px solid rgba(46, 125, 255, .22);
	--rc-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 purple/gold glows from the original design. */
.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(168, 85, 247, .16), transparent 60%),
		radial-gradient(900px 500px at 12% 4%, rgba(46, 125, 255, .08), transparent 55%);
}
.wp-site-blocks > * {
	position: relative;
	z-index: 1;
}

::selection {
	background: rgba(46, 125, 255, .3);
	color: #fff;
}

img {
	max-width: 100%;
	height: auto;
}

/* ---- Reusable section rhythm ------------------------------------------ */
.rc-section {
	padding-top: clamp(40px, 6vw, 56px);
	padding-bottom: clamp(16px, 3vw, 24px);
}

/* ---- Eyebrow / labels -------------------------------------------------- */
.rc-eyebrow {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--wp--preset--color--purple-soft);
}

/* ---- Live / license badge --------------------------------------------- */
.rc-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 13px;
	border-radius: 100px;
	border: 1px solid rgba(46, 125, 255, .28);
	background: rgba(46, 125, 255, .06);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .4px;
	color: var(--wp--preset--color--gold);
}
.rc-badge::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--wp--preset--color--green);
	box-shadow: 0 0 8px var(--wp--preset--color--green);
}

/* ---- Cards ------------------------------------------------------------- */
.rc-card,
.rc-card-raised {
	border-radius: 16px;
	background: var(--wp--preset--gradient--card);
	border: var(--rc-card-border);
}
.rc-card-raised {
	background: var(--wp--preset--gradient--card-raised);
	border: var(--rc-card-border-strong);
	box-shadow: var(--wp--preset--shadow--card);
}

/* ---- Buttons ----------------------------------------------------------- */
.wp-block-button.rc-btn-outline .wp-block-button__link,
.wp-block-button__link.rc-btn-outline {
	background: rgba(255, 255, 255, .02) !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 1px solid rgba(46, 125, 255, .3);
	box-shadow: none;
}
.wp-block-button.rc-btn-outline .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--gold-soft) !important;
}
/* Gold 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(.rc-btn-outline) > .wp-block-button__link {
	background: var(--wp--preset--gradient--gold) !important;
	color: var(--wp--preset--color--ink) !important;
	border: none;
	box-shadow: var(--wp--preset--shadow--gold);
}
.wp-block-button:not(.rc-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) */
.rc-hero .wp-block-buttons .wp-block-button__link { padding: 15px 30px; font-size: 16px; }
.rc-header .wp-block-button__link { padding: 10px 16px; font-size: 14px; }
.rc-gold-text { background: linear-gradient(120deg, #7FB0FF, #A855F7); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: #C7A2FF; }
.wp-block-separator.rc-sep { border: none; height: 1px; background: rgba(46, 125, 255, .12); opacity: 1; max-width: none; }

/* ---- Hero -------------------------------------------------------------- */
.rc-hero {
	padding-top: clamp(36px, 6vw, 64px);
}
.rc-hero__art img {
	border-radius: 20px;
	border: 1px solid rgba(46, 125, 255, .18);
	box-shadow: var(--wp--preset--shadow--soft);
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
}
.rc-stats {
	gap: 26px 32px;
}
.rc-stat__num {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: 26px;
	color: var(--wp--preset--color--gold);
	line-height: 1;
}
.rc-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. */
.rc-trustrow {
	gap: 10px;
	margin-top: 24px;
	align-items: center;
}
.rc-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(46, 125, 255, .14);
	font-size: 12.5px;
	font-weight: 600;
	color: var(--wp--preset--color--muted);
	white-space: nowrap;
}
.rc-trust b { color: var(--wp--preset--color--contrast); font-weight: 700; }

/* ---- Bonus offer card -------------------------------------------------- */
.rc-offer {
	position: relative;
	overflow: hidden;
	border-radius: 22px;
	padding: 34px 30px;
	background: var(--wp--preset--gradient--card-raised);
	border: var(--rc-card-border-strong);
	box-shadow: var(--wp--preset--shadow--card);
}
.rc-offer::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 22px;
	pointer-events: none;
	background: radial-gradient(400px 200px at 80% 0%, rgba(168, 85, 247, .22), transparent 65%);
}
.rc-offer > * { position: relative; z-index: 1; }
.rc-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);
}
.rc-offer__row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 14px;
	padding: 9px 0;
	border-bottom: var(--rc-hairline);
}
.rc-offer__row span:first-child { color: var(--wp--preset--color--muted); }
.rc-offer__row span:last-child  { color: var(--wp--preset--color--contrast); font-weight: 700; }

/* Floating animation (respect reduced motion) */
@keyframes rc-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.rc-float { animation: rc-float 6s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .rc-float { animation: none; } }

/* ---- Quick links ------------------------------------------------------- */
.rc-quicklink {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 22px 18px;
	border-radius: 14px;
	background: var(--wp--preset--gradient--card);
	border: var(--rc-card-border);
	transition: transform .18s ease, border-color .18s ease;
}
.rc-quicklink:hover { transform: translateY(-3px); border-color: rgba(46, 125, 255, .35); }
.rc-quicklink__icon { font-size: 26px; }
.rc-quicklink__title { font-size: 15.5px; font-weight: 700; color: var(--wp--preset--color--contrast); }
.rc-quicklink__sub { font-size: 12.5px; color: var(--wp--preset--color--dim); }

/* ---- Game cards -------------------------------------------------------- */
.rc-game {
	border-radius: 14px;
	overflow: hidden;
	background: var(--wp--preset--color--surface);
	border: 1px solid rgba(46, 125, 255, .1);
	transition: transform .18s ease, border-color .18s ease;
}
.rc-game:hover { transform: translateY(-4px); border-color: rgba(46, 125, 255, .3); }
.rc-game__media {
	position: relative;
	aspect-ratio: 3 / 4;
	overflow: hidden;
}
.rc-game__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rc-game__body { padding: 12px 13px; }
.rc-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;
}
.rc-game__meta { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; }
.rc-game__provider { font-size: 11.5px; color: var(--wp--preset--color--dim); }
.rc-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--gold); 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;
}
.rc-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 #FF4D4D is 3.03:1 (fails AA at 10px) while #FFFFFF on #B91C1C is
   6.5:1. --wp--preset--color--danger stays reserved for red TEXT on graphite. */
:root { --rc-danger-deep: #B91C1C; }
.rc-tag--hot { background: var(--rc-danger-deep); color: #FFFFFF; }
.rc-tag--jackpot { background: var(--wp--preset--gradient--gold); color: var(--wp--preset--color--ink); }

/* ---- Filter chips ------------------------------------------------------ */
.rc-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(46, 125, 255, .14); box-shadow: none;
}
.rc-chips .wp-block-button.is-active .wp-block-button__link,
.rc-chips .wp-block-button:first-child .wp-block-button__link {
	background: rgba(46, 125, 255, .12) !important; color: var(--wp--preset--color--gold) !important;
	border-color: rgba(46, 125, 255, .4);
}

/* ---- Feature cards ----------------------------------------------------- */
.rc-feature { padding: 26px 24px; border-radius: 16px; background: var(--wp--preset--gradient--card); border: var(--rc-card-border); }
.rc-feature__icon {
	width: 48px; height: 48px; border-radius: 12px; background: rgba(46, 125, 255, .1);
	display: flex; align-items: center; justify-content: center; font-size: 24px; margin-bottom: 16px;
}
.rc-feature__title { font-size: 17px; font-weight: 700; color: var(--wp--preset--color--contrast); margin-bottom: 7px; }
.rc-feature__text { font-size: 14px; line-height: 1.55; color: var(--wp--preset--color--muted); }

/* ---- App download ------------------------------------------------------ */
.rc-app {
	position: relative; overflow: hidden;
	border-radius: 22px; padding: clamp(28px, 4vw, 44px);
	background: var(--wp--preset--gradient--card-raised);
	border: 1px solid rgba(46, 125, 255, .16);
}
.rc-app::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(500px 300px at 90% 50%, rgba(168, 85, 247, .16), transparent 60%);
}
.rc-app > * { position: relative; z-index: 1; }
.rc-app__art img { border-radius: 18px; border: 1px solid rgba(46, 125, 255, .16); width: 100%; }
.rc-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(46, 125, 255, .25);
	font-weight: 700; color: var(--wp--preset--color--contrast);
}
.rc-store:hover { border-color: var(--wp--preset--color--gold); color: var(--wp--preset--color--gold-soft); }

/* ---- Payments ---------------------------------------------------------- */
.rc-pay {
	height: 64px; border-radius: 12px; background: var(--wp--preset--color--surface);
	border: 1px solid rgba(46, 125, 255, .1); display: flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: 14px; color: #7FB0FF;
}

/* ---- Steps ------------------------------------------------------------- */
.rc-step { padding: 28px 24px; border-radius: 16px; background: var(--wp--preset--gradient--card); border: var(--rc-card-border); }
.rc-step__num { font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 40px; color: rgba(46, 125, 255, .35); line-height: 1; margin-bottom: 14px; }
.rc-step__title { font-size: 18px; font-weight: 700; color: var(--wp--preset--color--contrast); margin-bottom: 7px; }
.rc-step__text { font-size: 14px; line-height: 1.55; color: var(--wp--preset--color--muted); }

/* ---- Reviews & comparison --------------------------------------------- */
.rc-review { padding: 20px 22px; border-radius: 14px; background: var(--wp--preset--gradient--card); border: var(--rc-card-border); }
.rc-avatar {
	width: 34px; height: 34px; border-radius: 50%; flex: 0 0 auto;
	background: var(--wp--preset--gradient--purple);
	display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; color: #fff;
}
.rc-stars { color: var(--wp--preset--color--gold); font-size: 13px; letter-spacing: 1px; }
.rc-rating-pill {
	padding: 6px 12px; border-radius: 100px; background: rgba(168, 85, 247, .12);
	color: var(--wp--preset--color--green-soft); font-size: 13px; font-weight: 700;
}
/* top clears the sticky header (topbar 34 + bar 74 + 12 breathing room). */
.rc-compare { padding: 28px 26px; border-radius: 18px; background: var(--wp--preset--gradient--card-raised); border: var(--rc-card-border-strong); position: sticky; top: 124px; }
.rc-compare__row { display: flex; justify-content: space-between; gap: 12px; font-size: 13.5px; padding: 8px 0; border-bottom: var(--rc-hairline); }
.rc-compare__row span:first-child { color: var(--wp--preset--color--muted); }
.rc-compare__row span:last-child { color: var(--wp--preset--color--green-soft); font-weight: 700; }

/* ---- Blog cards -------------------------------------------------------- */
.rc-post { border-radius: 16px; overflow: hidden; background: var(--wp--preset--color--surface); border: var(--rc-card-border); display: block; transition: transform .18s ease, border-color .18s ease; }
.rc-post:hover { transform: translateY(-4px); border-color: rgba(46, 125, 255, .3); }
.rc-post__cover { aspect-ratio: 16 / 9; overflow: hidden; }
.rc-post__cover img { width: 100%; height: 100%; object-fit: cover; }
.rc-post__body { padding: 18px 20px; }
.rc-post__cat { font-size: 12px; font-weight: 700; color: var(--wp--preset--color--purple-soft); }
.rc-post__title { font-size: 16px; font-weight: 700; color: var(--wp--preset--color--contrast); line-height: 1.35; margin: 8px 0 6px; }
.rc-post__date { font-size: 12.5px; color: var(--wp--preset--color--dim); }

/* ---- FAQ (native <details>) ------------------------------------------- */
.rc-faq { border-radius: 14px; background: var(--wp--preset--gradient--card); border: 1px solid rgba(46, 125, 255, .12); overflow: hidden; }
.rc-faq + .rc-faq { margin-top: 12px; }
.rc-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);
}
.rc-faq > summary::-webkit-details-marker { display: none; }
.rc-faq > summary::after {
	content: "+"; flex: 0 0 auto; width: 26px; height: 26px; border-radius: 7px;
	background: rgba(46, 125, 255, .12); color: var(--wp--preset--color--gold);
	display: flex; align-items: center; justify-content: center; font-size: 18px; transition: transform .2s ease;
}
.rc-faq[open] > summary::after { transform: rotate(45deg); }
.rc-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 ---------------------------------------- */
.rc-18 {
	display: flex; align-items: center; gap: 16px; padding: 18px 24px; border-radius: 14px;
	background: rgba(168, 85, 247, .06); border: 1px solid rgba(168, 85, 247, .2);
}
.rc-18__badge {
	width: 44px; height: 44px; flex: 0 0 auto; border-radius: 10px; background: rgba(168, 85, 247, .15);
	display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 15px; color: var(--wp--preset--color--purple-soft);
}
.rc-18__text { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--wp--preset--color--muted); }

/* =========================================================================
   INTERIOR PAGES — shared helpers
   ========================================================================= */
.rc-breadcrumb { font-size: 12.5px; color: var(--wp--preset--color--dim); }
.rc-breadcrumb a { color: var(--wp--preset--color--muted); }
.rc-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) -------
   The interior hero is a single constrained column, so with the 820px content
   width the text used to float mid-screen with dead gutters on both sides and
   the lead (max-width 660) auto-centred *narrower* than the H1 — reading as a
   broken indent. We turn it into a deliberate, symmetric centred page header
   with an ambient glow so the first screen feels composed, not empty.
   Targets only the interior variant (the home hero has columns, no breadcrumb). */
.rc-hero:has(.rc-breadcrumb) {
	position: relative;
	overflow: clip;
	text-align: center;
	padding-top: clamp(48px, 6vw, 76px);
	padding-bottom: clamp(28px, 4vw, 44px);
}
.rc-hero:has(.rc-breadcrumb)::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(680px 320px at 50% 8%, rgba(168, 85, 247, .16), transparent 62%),
		radial-gradient(420px 220px at 50% 4%, rgba(46, 125, 255, .07), transparent 60%);
}
.rc-hero:has(.rc-breadcrumb) > * { position: relative; z-index: 1; }
/* comfortable measure + real centring for the lead and buttons */
.rc-hero:has(.rc-breadcrumb) .rc-lead {
	margin-left: auto;
	margin-right: auto;
}
.rc-hero:has(.rc-breadcrumb) .rc-breadcrumb,
.rc-hero:has(.rc-breadcrumb) .rc-eyebrow { text-align: center; }
.rc-hero:has(.rc-breadcrumb) .wp-block-buttons { justify-content: center; margin-top: 8px; }

/* Fallback for browsers without :has() — still readable, just left-aligned */
@supports not selector(:has(*)) {
	.rc-hero .rc-lead { margin-right: auto; }
}

/* generic stat tiles (aviator game info, payment facts) */
.rc-statbox { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 12px; }
.rc-stat-tile {
	padding: 16px 18px; border-radius: 12px; background: var(--wp--preset--gradient--card);
	border: var(--rc-card-border);
}
.rc-stat-tile .k { font-size: 12px; color: var(--wp--preset--color--dim); font-weight: 600; }
.rc-stat-tile .v { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 22px; color: var(--wp--preset--color--gold); }

/* bonus card = feature card + a price line + button (reuses .rc-feature look) */
.rc-bonus__amount { font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 30px; color: var(--wp--preset--color--gold); line-height: 1; margin: 6px 0 8px; }

/* CTA banner */
.rc-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(--rc-card-border-strong);
}
.rc-cta::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(600px 240px at 50% 0%, rgba(168,85,247,.16), transparent 65%); }
.rc-cta > * { position: relative; z-index: 1; }

/* comparison / payment tables (dense, kept in html blocks) */
.rc-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
/* Pages emit <figure class="wp-block-table rc-table">, so the figure itself is the
   horizontal scroll container on mobile; the inner <table> keeps the min width. */
.rc-table { display: block; width: 100%; min-width: 0; margin-left: 0; margin-right: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; font-size: 14px; }
.rc-table > table { width: 100%; border-collapse: collapse; min-width: 560px; }
.rc-table th, .rc-table td { padding: 12px 14px; text-align: left; border-bottom: var(--rc-hairline); }
.rc-table thead th { color: var(--wp--preset--color--heading); font-weight: 800; }
.rc-table tbody th { color: var(--wp--preset--color--muted); font-weight: 600; }
.rc-table td { color: var(--wp--preset--color--contrast); }
.rc-table .yes { color: var(--wp--preset--color--green-soft); font-weight: 700; }
.rc-table .no { color: var(--wp--preset--color--dim); }
.rc-table .rc-col-hi { background: rgba(46,125,255,.08); color: var(--wp--preset--color--gold); font-weight: 700; }
.rc-table .rc-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--gold); color:var(--wp--preset--color--ink); }

/* warning-sign / checklist rows */
.rc-warn { list-style: none; padding-left: 0; margin: 0; display: grid; gap: 10px; }
.rc-warn li { position: relative; padding: 13px 14px 13px 42px; border-radius: 12px; background: var(--wp--preset--gradient--card); border: var(--rc-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 cyan accent instead of rendering as a colour emoji on Win/Android. */
.rc-warn li::before { content: "\26A0\FE0E"; position: absolute; left: 14px; top: 13px; color: var(--wp--preset--color--gold); }

/* =========================================================================
   HEADER
   ========================================================================= */
.rc-header {
	position: sticky; top: 0; z-index: 50;
	backdrop-filter: blur(14px);
	background: rgba(11, 13, 18, .82);
	border-bottom: 1px solid rgba(46, 125, 255, .14);
}
.rc-header__inner {
	min-height: 74px;
	max-width: var(--rc-maxw);
	margin: 0 auto;
	padding: 0 24px;
	width: 100%;
	gap: 20px;
}
.rc-instruments {
	max-width: var(--rc-maxw);
	margin: 0 auto;
	padding: 6px 24px;
	width: 100%;
}
.rc-header__actions { margin-left: auto; }
/* the nav lives in the middle and can shrink/scroll before the burger kicks in */
.rc-nav { min-width: 0; }
/* ---- Wordmark: neon script "Royale" + Anton "AVIATOR" + mono .com tag ----
   No monogram tile, no crown — this domain's mark is pure lettering, so the
   header silhouette reads nothing like the other sites in the pool. */
.rc-brand { display: flex; align-items: baseline; gap: 6px; text-decoration: none; }
.rc-brand__script {
	font-family: "Kaushan Script", "Segoe Script", cursive;
	font-size: 27px;
	line-height: 1;
	color: #9EC4FF;
	/* the "neon tube": tight blue core, wider violet bloom */
	text-shadow: 0 0 6px rgba(46, 125, 255, .75), 0 0 18px rgba(168, 85, 247, .45);
	padding-bottom: 2px;
}
.rc-brand__word {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 400;
	font-size: 23px;
	line-height: 1;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	color: var(--wp--preset--color--heading);
}
.rc-brand__tld {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	line-height: 1;
	letter-spacing: .4px;
	color: var(--wp--preset--color--purple-soft);
	border: 1px solid rgba(168, 85, 247, .42);
	border-radius: 3px;
	padding: 3px 5px;
	transform: translateY(-3px);
}
.rc-brand:hover .rc-brand__script { color: #C8DDFF; }
.rc-brand--footer .rc-brand__script { font-size: 23px; }
.rc-brand--footer .rc-brand__word { font-size: 19px; }

/* ---- Instrument rail under the header (replaces the sibling's topbar) ---- */
.rc-instruments {
	max-width: var(--rc-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);
}
.rc-instruments__rail {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin: 0;
}
.rc-instruments__cell {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	padding: 3px 9px;
	border-radius: 4px;
	background: rgba(46, 125, 255, .07);
	border: 1px solid rgba(46, 125, 255, .16);
}
.rc-instruments__cell dt {
	font-size: 11px;
	letter-spacing: .7px;
	text-transform: uppercase;
	color: var(--wp--preset--color--dim);
}
.rc-instruments__cell dd {
	margin: 0;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12.5px;
	font-weight: 600;
	color: #6FE3F0;
}
.rc-instruments__legal { margin: 0; font-size: 12px; color: var(--wp--preset--color--dim); }
.rc-instruments__legal a { color: var(--wp--preset--color--gold-soft); }
.rc-instruments__age {
	display: inline-block;
	padding: 1px 6px;
	margin-right: 4px;
	border-radius: 3px;
	font-size: 11px;
	font-weight: 800;
	color: #FFFFFF;
	background: var(--rc-danger-deep, #B91C1C);
}

/* ---- Footer payment rail (mirrors the header rail, sits at the bottom) --- */
.rc-payrail {
	max-width: var(--rc-maxw);
	margin: 34px auto 0;
	padding-top: 24px;
	border-top: 1px solid rgba(168, 85, 247, .16);
}
.rc-payrail__title {
	margin: 0 0 12px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .6px;
	color: var(--wp--preset--color--contrast);
}
.rc-payrail__row { display: flex; flex-wrap: wrap; gap: 9px; }
.rc-payrail__note { margin: 12px 0 0; font-size: 12px; line-height: 1.6; color: var(--wp--preset--color--dim); }

/* Navigation */
.rc-nav { flex-wrap: nowrap; }
.rc-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; }
.rc-header__inner .wp-block-navigation__responsive-container:not(.is-menu-open) { background: transparent; }
.rc-nav .current-menu-item .wp-block-navigation-item__content,
.rc-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--contrast); background: rgba(46, 125, 255, .08); }

/* Language pills */
.rc-lang { display: flex; align-items: center; gap: 2px; padding: 3px; border: 1px solid rgba(46, 125, 255, .2); border-radius: 9px; background: rgba(255, 255, 255, .02); }
.rc-lang a { padding: 5px 10px; border-radius: 6px; font-size: 12.5px; font-weight: 700; color: var(--wp--preset--color--dim); }
.rc-lang a.is-active { background: rgba(46, 125, 255, .16); color: var(--wp--preset--color--gold); }

.rc-instruments { min-height: 34px; font-size: 12px; color: var(--wp--preset--color--dim); }
.rc-instruments__legal b { color: var(--wp--preset--color--gold); }

/* =========================================================================
   FOOTER
   ========================================================================= */
.rc-footer { border-top: 1px solid rgba(46, 125, 255, .12); background: var(--wp--preset--color--base-deep); }
.rc-footer__col-title { font-size: 13px; font-weight: 800; letter-spacing: .6px; color: var(--wp--preset--color--contrast); margin-bottom: 14px; }
.rc-footer a { font-size: 13px; color: var(--wp--preset--color--muted); }
.rc-footer a:hover { color: var(--wp--preset--color--gold); }
.rc-footer .rc-footer__links { list-style: none; padding-left: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.rc-footer .rc-brand__name { color: var(--wp--preset--color--heading); }
.rc-footer__legal { font-size: 12px; color: var(--wp--preset--color--dim); }
.rc-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) {
	.rc-compare { position: static; }
	.rc-offer__amount { font-size: 40px; }
}

/* Mobile */
@media (max-width: 600px) {
	body { --rc-side: 16px; }
	.rc-section { padding-top: 36px; }

	/* tighten root padding on small screens */
	.rc-header__inner { min-height: 60px; }
	.rc-brand__mark { width: 32px; height: 32px; font-size: 18px; }
	.rc-brand__name { font-size: 17px; }

	/* stat row wraps to 2-up */
	.rc-stats { gap: 18px 28px; }

	.rc-offer { padding: 26px 20px; }
	.rc-offer__amount { font-size: 38px; }

	/* buttons go full width so they are tappable */
	.rc-hero .wp-block-buttons .wp-block-button,
	.rc-app .wp-block-buttons .wp-block-button { width: 100%; }
	.rc-hero .wp-block-buttons .wp-block-button__link,
	.rc-app .wp-block-buttons .wp-block-button__link { display: block; text-align: center; }

	.rc-faq > summary { font-size: 15px; padding: 16px 18px; }
	.rc-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) {
	.rc-header__inner { gap: 10px; padding: 0 16px; }
	.rc-instruments { padding: 6px 16px; }
	.rc-lang { display: none; }
	.rc-header__actions .rc-btn-outline { display: none; }
	.rc-header__actions { gap: 10px; }
	/* let the nav (burger) sit just before the CTA on the right */
	.rc-nav { order: 3; margin-left: auto; }
	.rc-header__actions { order: 4; margin-left: 0; }
	.rc-instruments { font-size: 11px; gap: 4px 12px; }
}

/* Very small */
@media (max-width: 400px) {
	.rc-brand__name { display: none; }
	.rc-header__actions .wp-block-button__link { padding: 9px 14px !important; }
}

/* ===========================================================================
   Accessibility & polish pass (v2.1.0)
   Additive only — no changes to block markup, so Gutenberg validation is safe.
   =========================================================================== */

/* Skip-to-content: off-screen until it receives keyboard focus. */
.rc-skip-link {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, -130%);
	z-index: 2000;
	padding: 12px 22px;
	background: #06070A;
	color: #FFFFFF;
	font-family: "Nunito Sans", 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;
}
.rc-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 #7FB0FF;
	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,
	.rc-nav .wp-block-navigation-item__content,
	.rc-header__actions a,
	.rc-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.rc-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(--rc-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);}
.rc-note{font-size:13px;line-height:1.6;color:var(--wp--preset--color--dim);border-left:2px solid rgba(46,125,255,.30);padding:2px 0 2px 14px;margin:14px 0;}
.rc-rating-pill{white-space:nowrap;}
@media (max-width:600px){.wp-block-table table{min-width:480px;}}

/* ===========================================================================
   royale-aviator.com — Graphite & Aviator Cyan identity
   Wordmark: lowercase "royale" + raised accent dot + condensed caps "AVIATOR",
   next to a climb-angle tile. No crown, no monogram (sibling-distinct).
   =========================================================================== */
.rc-brand { gap: 10px; }
.rc-brand__mark {
	width: 34px; height: 34px; border-radius: 8px;
	background: var(--wp--preset--gradient--gold);
	border: none;
	box-shadow: 0 4px 18px rgba(46, 125, 255, .22);
	font-size: 0;                     /* hide the source "R" glyph */
	overflow: visible;
}
.rc-brand__mark::before {            /* climb angle / take-off chevron */
	content: "\27A4";                /* ➤ */
	position: static;
	transform: rotate(-38deg);
	display: block;
	font-size: 16px; line-height: 1;
	color: var(--wp--preset--color--ink);
	text-shadow: none;
}
.rc-brand__name {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600; font-size: 21px; letter-spacing: .6px;
	text-transform: uppercase;
	color: var(--wp--preset--color--heading);
	position: relative;
}
.rc-brand__name b {
	color: var(--wp--preset--color--gold);
	font-weight: 600;
}
.rc-brand__name b::before {          /* the accent dot of the identity brief */
	content: "";
	display: inline-block;
	width: 5px; height: 5px; border-radius: 50%;
	background: var(--wp--preset--color--gold);
	box-shadow: 0 0 8px var(--wp--preset--color--gold);
	margin: 0 6px 8px 2px;
	vertical-align: middle;
}

/* Static single-language marker (AZ-only site). */
.rc-langtag {
	display: inline-flex; align-items: center; padding: 6px 11px; border-radius: 7px;
	border: 1px solid rgba(46, 125, 255, .30); background: rgba(46, 125, 255, .07);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px; font-weight: 400; letter-spacing: 1px;
	color: var(--wp--preset--color--gold);
}

/* ---- Multiplier / flight-curve widget (the signature aviator component) ---
   Pure CSS + inline SVG inside wp:html blocks — no JS, no layout shift. */
.rc-flight {
	position: relative; overflow: hidden;
	border-radius: 16px; padding: 22px 22px 18px;
	background:
		radial-gradient(520px 260px at 88% 6%, rgba(168,85,247,.18), transparent 62%),
		var(--wp--preset--gradient--card-raised);
	border: 1px solid rgba(46, 125, 255, .20);
}
.rc-flight__grid {
	position: absolute; inset: 0; pointer-events: none; opacity: .5;
	background-image:
		linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
	background-size: 34px 34px;
}
.rc-flight > * { position: relative; z-index: 1; }
.rc-flight__x {
	font-family: var(--wp--preset--font-family--mono);
	font-size: clamp(38px, 8vw, 56px); line-height: 1;
	color: var(--wp--preset--color--gold);
	text-shadow: 0 0 26px rgba(46, 125, 255, .40);
}
.rc-flight__label {
	font-size: 12px; font-weight: 600; letter-spacing: 1.3px; text-transform: uppercase;
	color: var(--wp--preset--color--muted); margin-top: 6px;
}
.rc-flight__svg { display: block; width: 100%; height: auto; margin-top: 10px; }
.rc-flight__legend {
	display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 12px;
	font-size: 12.5px; color: var(--wp--preset--color--dim);
}
.rc-flight__legend b { color: var(--wp--preset--color--contrast); font-weight: 600; }

/* ---- Multiplier scale strip (green cash-out zone -> red crash zone) ------- */
.rc-mult {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 10px;
	list-style: none; padding-left: 0; margin: 0;
}
.rc-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);
}
.rc-mult .x {
	display: block; font-family: var(--wp--preset--font-family--mono);
	font-size: 22px; line-height: 1; color: var(--wp--preset--color--contrast);
}
.rc-mult .t { display: block; margin-top: 7px; font-size: 12px; color: var(--wp--preset--color--dim); }
.rc-mult li.is-safe   { border-color: rgba(52, 211, 153, .34); }
.rc-mult li.is-safe   .x { color: var(--wp--preset--color--green-soft); }
.rc-mult li.is-risky  { border-color: rgba(255, 77, 77, .30); }
.rc-mult li.is-risky  .x { color: #FF8A8A; }

/* ---- RTP / provider fact card (mono figures) ----------------------------- */
.rc-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;
}
.rc-rtp div { background: var(--wp--preset--color--surface); padding: 16px 18px; }
.rc-rtp .k { font-size: 11.5px; letter-spacing: .8px; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.rc-rtp .v {
	font-family: var(--wp--preset--font-family--mono); font-size: 21px; line-height: 1.25;
	color: var(--wp--preset--color--gold); margin-top: 5px;
}

/* ---- Signal / predictor warning callout ---------------------------------- */
.rc-alert {
	display: flex; gap: 16px; align-items: flex-start;
	padding: 20px 22px; border-radius: 12px;
	background: rgba(255, 77, 77, .07);
	border: 1px solid rgba(255, 77, 77, .28);
	border-left-width: 3px;
}
.rc-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(255, 77, 77, .14); color: #FF8A8A;
}
.rc-alert h3 {
	font-size: 16px; margin: 0 0 6px; color: #FFB3B3;
	letter-spacing: .4px;
}
.rc-alert p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--wp--preset--color--body); }

/* ---- Demo vs real comparison strip --------------------------------------- */
.rc-vs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rc-vs > div {
	padding: 20px 20px 18px; border-radius: 12px;
	background: var(--wp--preset--gradient--card); border: 1px solid rgba(255,255,255,.07);
}
.rc-vs > div.is-real { border-color: rgba(46, 125, 255, .30); }
.rc-vs h3 { font-size: 15px; margin: 0 0 12px; letter-spacing: .6px; }
.rc-vs ul { list-style: none; padding-left: 0; margin: 0; display: grid; gap: 9px; }
.rc-vs li { position: relative; padding-left: 22px; font-size: 13.5px; line-height: 1.5; color: var(--wp--preset--color--body); }
.rc-vs li::before { content: "\2013"; position: absolute; left: 4px; color: var(--wp--preset--color--muted); }
.rc-vs li.y::before { content: "\2713"; color: var(--wp--preset--color--green); }
.rc-vs li.n::before { content: "\2715"; color: #FF8A8A; }
@media (max-width: 600px) { .rc-vs { grid-template-columns: 1fr; } }

/* ---- Provider strip (Spribe & friends — text marks, no borrowed logos) ---- */
.rc-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);
}
.rc-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. */
.rc-num { font-family: var(--wp--preset--font-family--mono); color: var(--wp--preset--color--gold); }

/* Eyebrows pick up the mono voice on this domain. */
.rc-eyebrow {
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 400; letter-spacing: 2px; font-size: 12.5px;
	color: var(--wp--preset--color--purple-soft);
}

/* Skeleton placeholder for the heavier grids (no images shipped). */
@keyframes rc-shimmer { 0% { background-position: -420px 0; } 100% { background-position: 420px 0; } }
.rc-skeleton {
	border-radius: 12px; min-height: 120px;
	background: linear-gradient(90deg, #12151B 0%, #222735 50%, #12151B 100%);
	background-size: 840px 100%;
	animation: rc-shimmer 1.6s linear infinite;
}
@media (prefers-reduced-motion: reduce) { .rc-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). */
.rc-skeleton--card { aspect-ratio: 3 / 4; min-height: 0; }
.rc-skeleton--wide { aspect-ratio: 16 / 9; min-height: 0; }
.rc-skeleton--row  { min-height: 64px; }


/* ===========================================================================
   UX / UI / ACCESSIBILITY PASS — v2.2.0  (royale-aviator.com)
   Appended last on purpose: every rule below is a deliberate override of the
   layers above. Identity (Graphite & Electric Blue, Anton / Nunito Sans /
   Chivo Mono) is preserved — only rhythm, reach and contrast change.
   =========================================================================== */

/* ---- A. Fragment navigation must clear the sticky header ------------------
   /strategiya/#siqnal, /#faq, /mesuliyyetli-oyun/#istisna and the skip link all
   landed underneath the 108px sticky header. scroll-padding on the scroll
   container fixes every one of them, including the skip link. */
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 ------------------
   theme.json sets a single 24px root padding. Narrowing it to 16px below 600px
   gives the tables, grids and `minmax()` tracks 32px more usable width, which is
   what stops the densest inline grids from clipping. */
@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 #rc-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. */
.rc-skip-link:focus,
.rc-skip-link:focus-visible {
	outline: 3px solid var(--wp--preset--color--gold);
	outline-offset: -3px;
}

/* ---- D. Interior page header --------------------------------------------
   The six interior pages use page-wide.html, so their breadcrumb + H1 + eyebrow
   + lead are bare top-level blocks: they used to butt straight into the sticky
   header with 0px of air, and `.rc-hero:has(.rc-breadcrumb)` never matched.
   These rules build the page header out of what is actually in the markup. */
.entry-content {
	position: relative;
}
.entry-content > .rc-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(168, 85, 247, .15), transparent 62%),
		radial-gradient(430px 220px at 6% 6%, rgba(46, 125, 255, .08), transparent 60%);
}
.entry-content > .rc-breadcrumb:first-child {
	margin-bottom: 16px;
}
.entry-content > .rc-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 + .rc-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 18px;
	margin-bottom: 0;
}
h1 + .rc-eyebrow::before {
	content: "";
	flex: 0 0 auto;
	width: 34px;
	height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--wp--preset--color--gold), rgba(46, 125, 255, 0));
}
h1 + .rc-eyebrow + .rc-lead {
	margin-top: 14px;
}

/* ---- E. Vertical rhythm + prose measure ---------------------------------
   blockGap is a flat 24px, so an H2 sat as close to the paragraph above it as
   two paragraphs sat to each other. Section heads now get real separation, and
   long Azerbaijani prose is capped at ~72 characters instead of running the full
   820px content width at 1440. */
.entry-content > h2,
.rc-section > h2 {
	margin-top: clamp(44px, 5vw, 68px);
}
.entry-content > h3,
.rc-section > h3 {
	margin-top: clamp(28px, 3vw, 38px);
}
.entry-content > .rc-breadcrumb + h1,
.entry-content > h2:first-child,
.rc-section > h2:first-child {
	margin-top: 0;
}
/* Flight-trail rule under every section head: identity marker + rhythm cue. */
.entry-content > h2::after,
.rc-section > h2::after,
.rc-cta > h2::after {
	content: "";
	display: block;
	width: 46px;
	height: 2px;
	margin-top: 14px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--wp--preset--color--gold) 0%, rgba(168, 85, 247, .55) 68%, rgba(168, 85, 247, 0) 100%);
}
.rc-cta h2::after,
h2.has-text-align-center::after {
	margin-left: auto;
	margin-right: auto;
}

.entry-content > p,
.entry-content > ul,
.entry-content > ol,
.rc-section > p,
.rc-section > ul,
.rc-section > ol {
	max-width: 62ch;
}
.entry-content > p.has-text-align-center,
.rc-section > p.has-text-align-center,
.rc-cta p {
	max-width: none;
}
/* The lead already had its own 660px cap; keep whichever is narrower. */
.rc-lead {
	max-width: min(660px, 62ch);
}

/* ---- F. Legibility: no prose below 15px --------------------------------- */
.rc-feature__text,
.rc-step__text,
.rc-alert p {
	font-size: 15px;
	line-height: 1.6;
}
.rc-vs li,
.rc-18__text {
	font-size: 14.5px;
}
.rc-note {
	font-size: 14px;
}
.rc-breadcrumb {
	font-size: 13px;
}
.rc-footer a {
	font-size: 14px;
}
.rc-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;
}
.rc-brand {
	min-height: 44px;
}
.rc-nav .wp-block-navigation-item__content {
	min-height: 44px;
	display: flex;
	align-items: center;
}
.rc-header .wp-block-button__link,
.rc-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. */
.rc-nav .wp-block-navigation__responsive-container-open,
.rc-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 .rc-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. */
.rc-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;
}
.rc-footer .rc-footer__links {
	gap: 2px;
}
.rc-footer .rc-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(46, 125, 255, .22);
	color: var(--wp--preset--color--contrast);
	border-radius: 8px;
	padding: 0 14px;
}
.wp-block-search__input::placeholder {
	/* muted #949CAB 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(46, 125, 255, .12);
	color: var(--wp--preset--color--gold);
}

/* ---- H. Focus rings that are actually visible ---------------------------
   `.rc-faq` and `.rc-game` clip their children (overflow:hidden), so a ring with
   a +3px offset was cropped away. Draw those two inside the element instead. */
.rc-faq > summary:focus-visible {
	outline-offset: -4px;
}
.rc-game .rc-game__play:focus-visible,
.rc-post:focus-visible {
	outline-offset: 2px;
}

/* ---- I. Complete the state matrix (hover / focus / active / disabled) ---- */
.wp-block-button__link:active,
.rc-store:active,
.rc-game__play:active,
.rc-quicklink:active,
.rc-sticky a:active {
	transform: translateY(1px);
}
.rc-quicklink:focus-visible,
.rc-quicklink:focus-within {
	border-color: rgba(46, 125, 255, .40);
}
.rc-game:focus-within,
.rc-post:focus-visible {
	border-color: rgba(46, 125, 255, .35);
}
.rc-nav .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--contrast);
	background: rgba(46, 125, 255, .10);
}
.rc-faq > summary:hover {
	background: rgba(46, 125, 255, .045);
}
.rc-faq > summary:hover::after,
.rc-faq > summary:focus-visible::after {
	background: rgba(46, 125, 255, .22);
	color: var(--wp--preset--color--gold-soft);
}
.rc-faq[open] > summary {
	border-bottom: var(--rc-hairline);
}
.rc-footer a:focus-visible,
.rc-breadcrumb a:hover,
.rc-breadcrumb a:focus-visible {
	color: var(--wp--preset--color--gold);
}
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 -----------------------------------
   The page markup ships decorative emoji (🎯 🎮 📐 🛠) in `.rc-quicklink__icon`.
   They are aria-hidden, but they render as inconsistent colour glyphs across
   platforms and read as a template. Swapped for the wordmark's own climb-angle
   chevron in a cyan tile — same mark as `.rc-brand__mark`, so it reinforces the
   identity instead of borrowing a generic icon set.
   (Purely CSS: the page markup is untouched.) */
.rc-quicklink__icon {
	font-size: 0;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(46, 125, 255, .10);
	border: 1px solid rgba(46, 125, 255, .22);
	transition: background .18s ease, border-color .18s ease;
}
.rc-quicklink__icon::before {
	content: "\27A4";
	display: block;
	font-size: 15px;
	line-height: 1;
	color: var(--wp--preset--color--gold);
	transform: rotate(-38deg);
}
.rc-quicklink:hover .rc-quicklink__icon,
.rc-quicklink:focus-visible .rc-quicklink__icon {
	background: rgba(46, 125, 255, .18);
	border-color: rgba(46, 125, 255, .40);
}
/* The alert callout's ⚠ comes from page markup — force text presentation so it
   inherits the crash-red tint rather than becoming a colour emoji. */
.rc-alert__icon {
	font-variant-emoji: text;
}
/* ---- J2. Two inherited rules carried latent contrast failures ------------
   Neither is used by the seven pages that ship today, but both are landmines for
   whoever reuses this stylesheet: white ink on the cyan trail gradient is ~2.5:1
   and white on the blue avatar gradient is ~2.5–6.5:1 depending on the stop. */
.rc-brand__num {
	color: var(--wp--preset--color--ink);
}
.rc-avatar {
	background: rgba(46, 125, 255, .14);
	border: 1px solid rgba(46, 125, 255, .28);
	color: var(--wp--preset--color--gold);
}

/* Footer age chip: was "🔞 18+" (emoji as an icon). Now a typographic cyan chip. */
.rc-chip--age {
	color: var(--wp--preset--color--gold);
	background: rgba(46, 125, 255, .07);
	border-color: rgba(46, 125, 255, .28);
	font-weight: 700;
	letter-spacing: .4px;
}

/* ---- K. Tables: nested scrollers + a scroll affordance ------------------
   `.rc-table-wrap` and `.rc-table` were both scroll containers; the inner one
   always wins, so the outer was dead weight. Keep one scroller and hint at it. */
.rc-table-wrap {
	position: relative;
	overflow: visible;
}
.rc-table:focus-visible {
	outline: 3px solid var(--wp--preset--color--gold-soft);
	outline-offset: 2px;
}
@media (max-width: 600px) {
	/* Below 600px every table (min-width 520–560px) definitely overflows, so the
	   fade is always truthful. */
	.rc-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(11, 13, 18, 0));
	}
}

/* ---- L. Header: collapse the nav before it runs out of room -------------
   Core only swaps in the hamburger below 600px, but the four AZ labels plus the
   brand and the two CTAs need ~830px. Between 600 and 900 the <ul> silently
   wrapped to a second row and doubled the header height. Move the breakpoint. */
@media (min-width: 600px) and (max-width: 899px) {
	.rc-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
	.rc-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
	.rc-nav {
		order: 3;
		margin-left: auto;
	}
	.rc-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. */
	.rc-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. */
	.rc-header__actions .rc-langtag {
		display: none;
	}
	.rc-18 {
		gap: 12px;
		padding: 16px 16px;
	}
	.rc-18__text {
		font-size: 14px;
	}
	.rc-alert {
		padding: 16px 16px;
		gap: 12px;
	}
	.rc-flight {
		padding: 18px 16px 16px;
	}
	.rc-offer__row,
	.rc-compare__row {
		/* long AZ labels + value on one 328px line: let the pair wrap. */
		flex-wrap: wrap;
	}
	/* `.rc-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"). */
	.rc-rtp .v {
		font-size: 17px;
	}
	.rc-stat-tile .v {
		font-size: 19px;
	}
	.rc-rtp .v,
	.rc-stat-tile .v,
	.rc-mult .x {
		line-height: 1.3;
		overflow-wrap: anywhere;
	}
	.entry-content > .rc-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. */
	.rc-quicklink:hover,
	.rc-game:hover,
	.rc-post:hover,
	.wp-block-button__link:active,
	.rc-store:active,
	.rc-game__play:active,
	.rc-quicklink:active,
	.rc-sticky a:active {
		transform: none !important;
	}
	.rc-header {
		backdrop-filter: none;
	}
	html {
		scroll-behavior: auto !important;
	}
}

/* ---- O. Forced-colors / high-contrast safety net ----------------------- */
@media (forced-colors: active) {
	.rc-card, .rc-card-raised, .rc-quicklink, .rc-game, .rc-feature, .rc-step,
	.rc-faq, .rc-flight, .rc-offer, .rc-cta, .rc-alert, .rc-18, .rc-stat-tile {
		border: 1px solid CanvasText;
	}
	a:focus-visible, button:focus-visible, summary:focus-visible {
		outline: 3px solid Highlight;
	}
}

/* ---- Item/game card grid ------------------------------------------------
   Pages author the grid wrapper as <div class="rc-games"> inside wp:html; own
   the layout here so every listing page shares one responsive track instead of
   repeating an inline grid declaration (and so it can be tuned in one place). */
.rc-games {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
}
@media (max-width: 480px) {
	.rc-games {
		grid-template-columns: 1fr;
	}
}

/* ---- Tables authored as <div class="rc-table-wrap"><table class="rc-table"> ---
   The rules inherited above assume the sibling site's shape, where the SCROLLER is
   a <figure class="wp-block-table rc-table"> wrapping a plain <table>. Every page
   on this domain authors the table inside a wp:html block instead, so `.rc-table`
   lands on the <table> element itself — where `display:block` would destroy the
   table layout and `overflow-x` does nothing. Own both shapes here so page markup
   needs no inline style crutches. */
.rc-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
table.rc-table {
	display: table;
	width: 100%;
	min-width: 560px;
	border-collapse: collapse;
	overflow: visible;
}
