/* =========================================================================
   Royale Game (royale-oyunlar.com) — theme design layer
   Emerald & Brass · Unbounded / IBM Plex Sans / IBM Plex Mono
   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(216, 174, 87, .12);
	--rc-card-border-strong: 1px solid rgba(216, 174, 87, .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(36, 179, 124, .16), transparent 60%),
		radial-gradient(900px 500px at 12% 4%, rgba(216, 174, 87, .08), transparent 55%);
}
.wp-site-blocks > * {
	position: relative;
	z-index: 1;
}

::selection {
	background: rgba(216, 174, 87, .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(216, 174, 87, .28);
	background: rgba(216, 174, 87, .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(216, 174, 87, .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, #EDCE85, #24B37C); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: #6FE3B0; }
.wp-block-separator.rc-sep { border: none; height: 1px; background: rgba(216, 174, 87, .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(216, 174, 87, .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(216, 174, 87, .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(36, 179, 124, .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(216, 174, 87, .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(216, 174, 87, .1);
	transition: transform .18s ease, border-color .18s ease;
}
.rc-game:hover { transform: translateY(-4px); border-color: rgba(216, 174, 87, .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 #FF8071 is 3.03:1 (fails AA at 10px) while #FFFFFF on #A5231A is
   6.5:1. --wp--preset--color--danger stays reserved for red TEXT on graphite. */
:root { --rc-danger-deep: #A5231A; }
.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(216, 174, 87, .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(216, 174, 87, .12) !important; color: var(--wp--preset--color--gold) !important;
	border-color: rgba(216, 174, 87, .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(216, 174, 87, .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(216, 174, 87, .16);
}
.rc-app::after {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(500px 300px at 90% 50%, rgba(36, 179, 124, .16), transparent 60%);
}
.rc-app > * { position: relative; z-index: 1; }
.rc-app__art img { border-radius: 18px; border: 1px solid rgba(216, 174, 87, .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(216, 174, 87, .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(216, 174, 87, .1); display: flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: 14px; color: #EDCE85;
}

/* ---- 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(216, 174, 87, .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(36, 179, 124, .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(216, 174, 87, .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(216, 174, 87, .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(216, 174, 87, .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(36, 179, 124, .06); border: 1px solid rgba(36, 179, 124, .2);
}
.rc-18__badge {
	width: 44px; height: 44px; flex: 0 0 auto; border-radius: 10px; background: rgba(36, 179, 124, .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(36, 179, 124, .16), transparent 62%),
		radial-gradient(420px 220px at 50% 4%, rgba(216, 174, 87, .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(36, 179, 124,.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(216, 174, 87,.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(7, 19, 16, .82);
	border-bottom: 1px solid rgba(216, 174, 87, .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: brass-embossed "R"-under-crown monogram -------------------
   The identity brief for this domain asks for a monogram "R" beneath a crown with
   a brass emboss, so the mark is a squared monogram TILE (brass bevel: light top
   edge, dark bottom edge) carrying a five-point crown over the R, followed by a
   horizontal "ROYALE GAME" lockup in Unbounded. Unbounded is a wide geometric
   face, so the tracking here is far tighter than the condensed-display siblings —
   the header silhouette (tile + single-line lockup) is unlike any of them. */
.rc-brand {
	display: flex;
	align-items: center;
	gap: 11px;
	text-decoration: none;
}
.rc-brand__crest {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	display: block;
	border-radius: 9px;
	/* brass emboss: warm rim light on the top edge, shadow under the bottom */
	box-shadow:
		inset 0 1px 0 rgba(249, 237, 200, .55),
		inset 0 -1px 0 rgba(0, 0, 0, .45),
		0 4px 14px rgba(216, 174, 87, .22);
}
.rc-brand__lock {
	display: flex;
	align-items: baseline;
	gap: 7px;
	line-height: 1;
	min-width: 0;
}
.rc-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);
}
.rc-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--gold);
}
.rc-brand:hover .rc-brand__cluster { color: var(--wp--preset--color--gold-soft); }
.rc-brand--footer .rc-brand__word,
.rc-brand--footer .rc-brand__cluster { font-size: 17px; }
/* Unbounded is wide: below 400px the lockup would push the burger off-screen. */
@media (max-width: 400px) {
	.rc-brand__crest { width: 32px; height: 32px; }
	.rc-brand__word,
	.rc-brand__cluster { font-size: 16px; }
}

/* ---- 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(216, 174, 87, .07);
	border: 1px solid rgba(216, 174, 87, .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: #EFD69B;
}
.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, #A5231A);
}

/* ---- 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(36, 179, 124, .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(216, 174, 87, .08); }

/* Language pills */
.rc-lang { display: flex; align-items: center; gap: 2px; padding: 3px; border: 1px solid rgba(216, 174, 87, .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(216, 174, 87, .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(216, 174, 87, .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: #04100C;
	color: #FFFFFF;
	font-family: "IBM Plex 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 #EDCE85;
	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(216, 174, 87,.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;}}

/* 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(216, 174, 87, .30); background: rgba(216, 174, 87, .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 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(95, 227, 159, .34); }
.rc-mult li.is-safe   .x { color: var(--wp--preset--color--green-soft); }
.rc-mult li.is-risky  { border-color: rgba(255, 128, 113, .30); }
.rc-mult li.is-risky  .x { color: #FFA79B; }

/* ---- 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, 128, 113, .07);
	border: 1px solid rgba(255, 128, 113, .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, 128, 113, .14); color: #FFA79B;
}
.rc-alert h3 {
	font-size: 16px; margin: 0 0 6px; color: #FFC9C0;
	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(216, 174, 87, .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: #FFA79B; }
@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: 2.6px; font-size: 12.5px;
	color: var(--wp--preset--color--gold);
}

/* 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, #0E211A 0%, #1B4234 50%, #0E211A 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-oyunlar.com)
   Appended last on purpose: every rule below is a deliberate override of the
   layers above. Identity (Royal Purple & Champagne, Anton / Nunito Sans /
   DM 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(36, 179, 124, .15), transparent 62%),
		radial-gradient(430px 220px at 6% 6%, rgba(216, 174, 87, .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(216, 174, 87, 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(36, 179, 124, .55) 68%, rgba(36, 179, 124, 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 {
	/* 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. */
.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(216, 174, 87, .22);
	color: var(--wp--preset--color--contrast);
	border-radius: 8px;
	padding: 0 14px;
}
.wp-block-search__input::placeholder {
	/* muted #9DB6A8 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(216, 174, 87, .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(216, 174, 87, .40);
}
.rc-game:focus-within,
.rc-post:focus-visible {
	border-color: rgba(216, 174, 87, .35);
}
.rc-nav .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--contrast);
	background: rgba(216, 174, 87, .10);
}
.rc-faq > summary:hover {
	background: rgba(216, 174, 87, .045);
}
.rc-faq > summary:hover::after,
.rc-faq > summary:focus-visible::after {
	background: rgba(216, 174, 87, .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 -----------------------------------
   Page markup ships decorative emoji in `.rc-quicklink__icon`; they render as
   inconsistent colour glyphs and read as a template. Swapped for a champagne
   reel-slot tile (three bars = the slot motif of this domain), so the icon
   system reinforces the identity. Purely CSS — page markup is untouched. */
.rc-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(216, 174, 87, .09);
	border: 1px solid rgba(216, 174, 87, .24);
	transition: background .18s ease, border-color .18s ease;
}
.rc-quicklink__icon::before,
.rc-quicklink__icon::after {
	content: "";
	width: 4px;
	height: 15px;
	border-radius: 2px;
	background: var(--wp--preset--color--gold);
	box-shadow: 7px 0 0 0 var(--wp--preset--color--gold-deep);
}
.rc-quicklink__icon::after {
	height: 9px;
	box-shadow: none;
	opacity: .55;
	margin-left: 7px;
}
.rc-quicklink:hover .rc-quicklink__icon,
.rc-quicklink:focus-visible .rc-quicklink__icon {
	background: rgba(216, 174, 87, .16);
	border-color: rgba(216, 174, 87, .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. */
.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(216, 174, 87, .14);
	border: 1px solid rgba(216, 174, 87, .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(216, 174, 87, .07);
	border-color: rgba(216, 174, 87, .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(7, 19, 16, 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-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;
}


/* ===========================================================================
   SLOT-SPECIALIST COMPONENTS — royale-oyunlar.com
   Reel strip, provider filter rail, RTP meter, jackpot tiers, payout grid and
   the demo callout. Pure CSS (no JS) so every money block is server-rendered
   HTML and CLS stays at 0.
   =========================================================================== */

/* ---- Reel strip: the signature hero ornament ------------------------------
   Three vertical "reels" of champagne symbols behind a soft amethyst wash.
   Decorative only (aria-hidden in the markup) and it reserves its own box, so
   it can never shift the hero copy. */
.rc-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(36, 179, 124, .26), transparent 62%),
		var(--wp--preset--gradient--card-raised);
	border: 1px solid rgba(216, 174, 87, .22);
	box-shadow: var(--wp--preset--shadow--card);
}
.rc-reels__reel {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-around;
	border-radius: 14px;
	background: rgba(4, 16, 12, .55);
	border: 1px solid rgba(216, 174, 87, .12);
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(20px, 4.2vw, 30px);
	line-height: 1;
	color: var(--wp--preset--color--gold);
	letter-spacing: 1px;
}
.rc-reels__reel span { opacity: .38; }
.rc-reels__reel span.is-hit { opacity: 1; text-shadow: 0 0 22px rgba(216, 174, 87, .55); }
.rc-reels__line {
	position: absolute;
	left: 10px;
	right: 10px;
	top: 50%;
	height: 2px;
	transform: translateY(-1px);
	background: linear-gradient(90deg, rgba(216, 174, 87, 0), var(--wp--preset--color--gold) 22%, var(--wp--preset--color--gold) 78%, rgba(216, 174, 87, 0));
	opacity: .8;
}
.rc-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. */
.rc-filter {
	display: flex;
	gap: 9px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	padding: 4px 0 10px;
	margin: 0;
	list-style: none;
}
.rc-filter li { flex: 0 0 auto; }
.rc-filter a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	border-radius: 999px;
	background: rgba(216, 174, 87, .05);
	border: 1px solid rgba(216, 174, 87, .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;
}
.rc-filter a:hover,
.rc-filter a:focus-visible {
	background: rgba(216, 174, 87, .14);
	border-color: rgba(216, 174, 87, .46);
	color: var(--wp--preset--color--gold);
}
.rc-filter a[aria-current="true"] {
	background: var(--wp--preset--gradient--gold);
	border-color: transparent;
	color: var(--wp--preset--color--ink);
}
@media (min-width: 782px) { .rc-filter { flex-wrap: wrap; overflow: visible; } }

/* ---- Game tiles: portrait, champagne RTP badge --------------------------- */
.rc-game { border-radius: 18px; }
.rc-game__rtp {
	position: absolute;
	right: 9px;
	bottom: 9px;
	z-index: 2;
	padding: 4px 9px;
	border-radius: 999px;
	background: rgba(4, 16, 12, .82);
	border: 1px solid rgba(216, 174, 87, .34);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11.5px;
	color: var(--wp--preset--color--gold);
}
/* 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. */
.rc-game__media--css {
	background:
		linear-gradient(115deg, rgba(216, 174, 87, .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;
	color: rgba(216, 174, 87, .55);
	letter-spacing: 2px;
}

/* ---- RTP meter: the number AND a bar, so the figure is scannable --------- */
.rc-rtpbar { display: grid; gap: 12px; margin: 18px 0; }
.rc-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(216, 174, 87, .12);
}
.rc-rtpbar__name { font-size: 14.5px; font-weight: 700; color: var(--wp--preset--color--contrast); }
.rc-rtpbar__track {
	position: relative;
	height: 8px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .07);
	overflow: hidden;
}
.rc-rtpbar__fill {
	position: absolute;
	inset: 0 auto 0 0;
	border-radius: 999px;
	background: var(--wp--preset--gradient--gold);
}
.rc-rtpbar__val {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 15px;
	color: var(--wp--preset--color--gold);
	white-space: nowrap;
}
@media (max-width: 600px) {
	.rc-rtpbar__row { grid-template-columns: 1fr auto; }
	.rc-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. */
.rc-jackpot {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 12px;
	list-style: none;
	padding-left: 0;
	margin: 0;
}
.rc-jackpot li {
	padding: 18px 16px;
	border-radius: 16px;
	text-align: center;
	background: var(--wp--preset--gradient--card);
	border: 1px solid rgba(36, 179, 124, .22);
}
.rc-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--purple-soft);
}
.rc-jackpot .r {
	display: block;
	margin-top: 9px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 17px;
	color: var(--wp--preset--color--gold);
}
.rc-jackpot .d { display: block; margin-top: 8px; font-size: 13px; line-height: 1.5; color: var(--wp--preset--color--muted); }

/* ---- Demo callout ------------------------------------------------------- */
.rc-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(36, 179, 124, .20), transparent 64%),
		var(--wp--preset--gradient--card-raised);
	border: 1px solid rgba(216, 174, 87, .22);
}
.rc-demo__badge {
	flex: 0 0 auto;
	min-width: 62px;
	padding: 10px 12px;
	border-radius: 14px;
	text-align: center;
	background: rgba(216, 174, 87, .12);
	border: 1px solid rgba(216, 174, 87, .3);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px;
	color: var(--wp--preset--color--gold);
}
.rc-demo p { margin: 0; flex: 1 1 260px; font-size: 15px; line-height: 1.6; color: var(--wp--preset--color--body); }

/* ---- Payout grid (keno hit table / plinko rows) ------------------------- */
.rc-payout {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(84px, 1fr));
	gap: 8px;
	list-style: none;
	padding-left: 0;
	margin: 16px 0;
}
.rc-payout li {
	padding: 12px 8px;
	border-radius: 12px;
	text-align: center;
	background: var(--wp--preset--color--surface);
	border: 1px solid rgba(255, 255, 255, .06);
}
.rc-payout .h {
	display: block;
	font-size: 11.5px;
	letter-spacing: .7px;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.rc-payout .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;
}
.rc-payout li.is-top { border-color: rgba(216, 174, 87, .42); }
.rc-payout li.is-top .x { color: var(--wp--preset--color--gold); }

/* ---- Provider mark: text-only, never a borrowed logo file --------------- */
.rc-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,
.rc-section > h2::after,
.rc-cta > h2::after {
	width: 54px;
	height: 3px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--wp--preset--color--gold) 0%, rgba(36, 179, 124, .7) 62%, rgba(36, 179, 124, 0) 100%);
}
h1 + .rc-eyebrow::before {
	background: linear-gradient(90deg, var(--wp--preset--color--gold), rgba(216, 174, 87, 0));
}

/* ---- Ambient wash: purple-dominant (the sibling's was blue-dominant) ---- */
.wp-site-blocks::before {
	background:
		radial-gradient(1100px 560px at 84% -10%, rgba(36, 179, 124, .22), transparent 62%),
		radial-gradient(860px 480px at 8% 2%, rgba(216, 174, 87, .07), transparent 58%);
}

/* ---- Skeletons re-based on the purple surfaces ------------------------- */
.rc-skeleton {
	background: linear-gradient(90deg, #0E211A 0%, #1B4234 50%, #0E211A 100%);
	background-size: 840px 100%;
}

/* ---- Pill buttons need slightly tighter header padding ----------------- */
.rc-header .wp-block-button__link { padding: 11px 20px; font-size: 14px; }
.rc-game__play { border-radius: 999px; }
.rc-chips .wp-block-button__link { border-radius: 999px; }

/* ---- Trust rail sits BELOW the brand row on this domain (sibling-distinct) --
   The sibling opened the document with the legal rail; here the brand row comes
   first and the rail closes the header, so the hairline belongs on its bottom
   edge, dividing header from content rather than floating under the viewport. */
.rc-header .rc-instruments {
	border-top: 0;
	border-bottom: 1px solid rgba(216, 174, 87, .12);
	padding: 7px 24px;
	justify-content: flex-start;
}
@media (max-width: 600px) {
	.rc-header .rc-instruments { padding: 6px 16px; }
}

/* ---- Per-page last-updated line (inc/chrome.php appends it to the content) --- */
.rc-updated {
	margin-top: clamp(34px, 4vw, 52px);
	padding-top: 16px;
	border-top: 1px solid rgba(216, 174, 87, .14);
	font-size: 13px;
	line-height: 1.6;
	color: var(--wp--preset--color--muted);
}
.rc-updated .rc-num { color: var(--wp--preset--color--gold); }

/* ---- UX pass: box-sizing for the raw (wp:html) components ------------------
   Core blocks get border-box from the block library, but every `.rc-*` element is
   hand-authored inside a wp:html block and inherited content-box. `.rc-instruments`
   and `.rc-payrail` combine `width:100%` with horizontal padding, so each one was
   48px wider than the viewport and pushed the whole document into a sideways scroll
   at 360 / 768 / 1024 (measured, not theoretical). Scoped to rc- classes so core
   block metrics are untouched. */
[class*="rc-"],
[class*="rc-"]::before,
[class*="rc-"]::after {
	box-sizing: border-box;
}

/* ---- UX pass: the interior-page glow must not widen the document ------------
   The inherited decorative wash behind the first breadcrumb was `width: min(1180px,
   132vw)` centred on the content column. At 360 / 768 / 1024 that put its edges
   58–123px past the viewport, so documentElement.scrollWidth exceeded the viewport
   on every interior page (measured with Chrome at all four breakpoints). `body`
   has `overflow-x: clip`, which hides the scrollbar — but the page is still wider
   than the screen, and mobile engines that ignore clip on <body> will pan.
   Constrain it to the content box and grow the gradients instead, so the effect is
   unchanged and the document is exactly viewport-wide. */
.entry-content > .rc-breadcrumb:first-child::after {
	left: 0;
	transform: none;
	width: 100%;
	height: 460px;
	top: -64px;
	background:
		radial-gradient(700px 330px at 24% 20%, rgba(36, 179, 124, .17), transparent 64%),
		radial-gradient(470px 240px at 4% 4%, rgba(216, 174, 87, .08), transparent 62%);
}
@media (max-width: 600px) {
	.entry-content > .rc-breadcrumb:first-child::after {
		height: 360px;
	}
}

/* ---- UX pass: one left edge for the whole text column ----------------------
   The inherited rhythm layer capped top-level prose at 62ch while headings kept the
   full content width. WP's constrained layout centres children with
   `margin-inline: auto !important`, so the narrower paragraphs were pushed ~64px
   further right than the H2 above them — three left edges on one screen (root
   gutter, heading, paragraph), which reads as a broken indent rather than a measure.
   The !important makes the margins unwinnable, so the measure is governed by the
   content column instead: theme.json's contentSize is 740px (~72 characters of
   IBM Plex Sans at 18px, a textbook measure) and the per-element cap is dropped. Every
   top-level block — heading, paragraph, list — now shares one left edge. */
.entry-content > p,
.entry-content > ul,
.entry-content > ol,
.rc-section > p,
.rc-section > ul,
.rc-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 -------------------------------------------
   Two problems with the inherited tile: a 3:4 cover is sized for real game art, and
   this domain ships CSS reel-band art instead — so each card carried ~300px of empty
   gradient. And the grid collapsed to ONE column below 480px, which turned a 12-game
   listing into ~5 600px of vertical scroll on a 360px screen. A 4:5 cover plus a
   real 2-up mobile grid halves the scroll depth while keeping the tap target and the
   two-line title clamp intact. */
.rc-game__media {
	aspect-ratio: 4 / 5;
}
.rc-games {
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
@media (max-width: 480px) {
	.rc-games {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
	.rc-game__body { padding: 11px 11px 12px; }
	.rc-game__media--css { font-size: 24px; }
	.rc-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. */
	.rc-game__play { width: 100%; padding: 10px 8px; font-size: 12px; }
}

/* ---- UX pass: game cards keep their CTA on one baseline --------------------
   `.rc-game__title` clamps to two lines, so a card whose name wraps ("Wanted Dead or
   a Wild") pushed its "Demo aç" pill lower than its row-mates — the grid stretches the
   cards to equal height but the button floated wherever the text ended. Make the body
   a flex column and push the CTA to the bottom so every button in a row lines up. */
.rc-game {
	display: flex;
	flex-direction: column;
}
.rc-game__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}
.rc-game__meta {
	margin-bottom: 2px;
}
.rc-game__play {
	margin-top: auto;
}

/* ===========================================================================
   royale-oyunlar.com — Emerald & Brass layer
   Everything below is specific to THIS domain: the Unbounded typography guards,
   the game-category grid, the live-dealer table list and the crash-multiplier
   ladder. Kept in one block at the end so the inherited layers above stay
   diffable against the source theme.
   =========================================================================== */

/* ---- Unbounded safety net --------------------------------------------------
   Unbounded is a very wide geometric display face and Azerbaijani headline words
   are long ("Slot Maşınları", "Provayderlər", "Məsuliyyətli"). At 360px a single
   word can exceed the viewport, and an overflowing H1 pushes the whole document
   sideways. Break inside a word only when there is no other option, and let the
   fluid clamp floor do the rest. */
h1, h2, h3, .rc-brand__word, .rc-brand__cluster {
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: auto;
}
h1 { -webkit-hyphens: auto; }

/* ---- Focus ring: brass, visible on every surface -------------------------- */
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--gold);
	outline-offset: 2px;
	border-radius: 4px;
}

/* ---- Brass monogram tile (header/footer mark) ----------------------------- */
.rc-brand__mark {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	display: grid;
	place-items: center;
	border-radius: 9px;
	background: var(--wp--preset--gradient--gold);
	box-shadow:
		inset 0 1px 0 rgba(249, 237, 200, .6),
		inset 0 -1px 0 rgba(0, 0, 0, .42),
		0 4px 14px rgba(216, 174, 87, .22);
}
.rc-brand__mark svg { width: 22px; height: 22px; display: block; }

/* ---- 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 brass. */
.rc-catgrid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 14px;
	list-style: none;
	margin: 24px 0 0;
	padding-left: 0;
}
.rc-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(216, 174, 87, .14);
	transition: border-color .16s ease, transform .16s ease, background .16s ease;
}
.rc-cat:hover { border-color: rgba(216, 174, 87, .42); transform: translateY(-2px); }
.rc-cat__ico {
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	border-radius: 11px;
	background: rgba(36, 179, 124, .14);
	border: 1px solid rgba(36, 179, 124, .3);
	font-size: 19px;
	line-height: 1;
}
.rc-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);
}
.rc-cat__title a { color: inherit; text-decoration: none; }
/* Stretch the title link over the whole card so the entire tile is clickable. */
.rc-cat__title a::after { content: ""; position: absolute; inset: 0; border-radius: 16px; }
.rc-cat__sub { font-size: 13.5px; line-height: 1.55; color: var(--wp--preset--color--muted); margin: 0; }
.rc-cat__count {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12.5px;
	color: var(--wp--preset--color--gold);
}
@media (prefers-reduced-motion: reduce) {
	.rc-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. */
.rc-tables { display: grid; gap: 10px; list-style: none; padding-left: 0; margin: 22px 0 0; }
.rc-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);
}
.rc-tbl__name { font-weight: 600; font-size: 15px; color: var(--wp--preset--color--contrast); }
.rc-tbl__prov { font-size: 13px; color: var(--wp--preset--color--muted); }
.rc-tbl__lim {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13.5px;
	color: var(--wp--preset--color--cyan);
	white-space: nowrap;
}
@media (max-width: 600px) {
	.rc-tbl { grid-template-columns: 1fr auto; }
	.rc-tbl__prov { grid-column: 1; }
	.rc-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. */
.rc-ladder { display: grid; gap: 8px; list-style: none; padding-left: 0; margin: 22px 0 0; }
.rc-ladder li {
	display: grid;
	grid-template-columns: 62px 1fr auto;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	color: var(--wp--preset--color--body);
}
.rc-ladder .x {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 14.5px;
	color: var(--wp--preset--color--cyan);
}
.rc-ladder .bar {
	height: 9px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .07);
	overflow: hidden;
}
.rc-ladder .bar i {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: var(--wp--preset--gradient--purple);
}
.rc-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 --------- */
.rc-provider {
	display: grid;
	place-items: center;
	padding: 0 14px;
	border-radius: 12px;
	background: rgba(255, 255, 255, .035);
	border: 1px solid rgba(216, 174, 87, .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 ---------------------------------- */
.rc-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--gold);
}
.rc-toc p { margin: 0 0 10px; font-size: 13px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.rc-toc ul { margin: 0; padding-left: 18px; display: grid; gap: 6px; }
.rc-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. */

/* `.rc-provider` is display:grid, so an unstyled `.rc-chips` container stacked the
   studio marks one per row. This is a chip RAIL. */
.rc-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 18px 0 0;
}
.rc-chips .rc-provider {
	height: 44px;
	min-width: 138px;
	flex: 0 1 auto;
}
@media (max-width: 420px) {
	.rc-chips .rc-provider { min-width: 0; flex: 1 1 calc(50% - 5px); }
}

/* Four category cards in a 740px column: 260px lands on 2x2, not 3 + orphan. */
.rc-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
   768. Four was chosen over a denser shelf because it divides the real grids on this
   site evenly (8 tiles on the hub, 12 on /slots/) instead of leaving an orphan row. */
.alignwide > .rc-games,
.alignwide .rc-games {
	grid-template-columns: repeat(auto-fit, minmax(272px, 1fr));
}

/* Unbounded is wide and Azerbaijani headlines are long, so the last word of a hero
   regularly fell to its own line ("...Kazino / AZ"). Let the browser even the lines
   out instead of leaving a one-word widow under a 52px headline. */
h1, h2 { text-wrap: balance; }
.rc-lead { text-wrap: pretty; }
