/* ==========================================================================
   Rugby Arena theme — extra styles (most design tokens live in theme.json)
   ========================================================================== */

:root {
	--ra-navy: var(--wp--preset--color--navy, #0a2342);
	--ra-navy-deep: var(--wp--preset--color--navy-deep, #061629);
	--ra-teal: var(--wp--preset--color--teal, #00979e);
	--ra-teal-bright: var(--wp--preset--color--teal-bright, #1fc8c3);
	--ra-gold: var(--wp--preset--color--gold, #f7c52b);
	--ra-slate: var(--wp--preset--color--slate, #5a6b82);
	--ra-line: var(--wp--preset--color--line, #dbe3ec);
	--ra-heading: var(--wp--preset--font-family--heading);
	--ra-radius: 14px;
}

html { scroll-padding-top: 90px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--ra-teal-bright); color: var(--ra-navy); }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--ra-teal-bright); outline-offset: 2px; }

/* --- Header -------------------------------------------------------------- */
.ra-site-header { position: sticky; top: 0; z-index: 100; }
body.admin-bar .ra-site-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .ra-site-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .ra-site-header { top: 0; } }

.ra-header { box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06), 0 10px 30px -18px rgba(0, 0, 0, 0.7); }
.ra-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: linear-gradient(90deg, var(--ra-teal-bright), var(--ra-teal) 60%, var(--ra-gold)); }
.ra-header { position: relative; }
.ra-header__bar { gap: 1rem; }
.ra-header__logo { margin: 0; flex-shrink: 0; }
.ra-header__logo img { display: block; height: auto; }
.ra-header__bar > .wp-block-navigation { flex: 1 1 auto; }
.ra-header__nav .wp-block-navigation-item__content { color: #fff; padding: 0.4em 0.2em; position: relative; text-decoration: none; }
.ra-header__nav .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; border-radius: 3px;
	background: var(--ra-teal-bright); transform: scaleX(0); transition: transform 0.18s ease;
}
.ra-header__nav .wp-block-navigation-item__content:hover::after,
.ra-header__nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.ra-header__nav .wp-block-navigation__container { gap: 1.75rem; }
.ra-header .wp-block-navigation__responsive-container-open { color: #fff; }
.ra-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.ra-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1rem; font-size: 1.75rem; }

/* Member area */
.ra-account { display: flex; align-items: center; gap: 0.6rem; white-space: nowrap; font-weight: 700; }
.ra-account a { text-decoration: none; color: #fff; }
.ra-account__login { padding: 0.45em 0.6em; opacity: 0.9; }
.ra-account__login:hover { color: var(--ra-teal-bright); }
.ra-account__join, .ra-account__matches {
	display: inline-flex; align-items: center; gap: 0.45em; padding: 0.5em 1.1em; border-radius: 999px;
	background: linear-gradient(180deg, var(--ra-teal-bright), var(--ra-teal)); font-style: italic; font-weight: 800;
	box-shadow: 0 6px 16px -8px rgba(31, 200, 195, 0.9);
}
.ra-account__join:hover, .ra-account__matches:hover { filter: brightness(1.08); color: #fff; }
.ra-account__badge {
	display: inline-grid; place-items: center; min-width: 1.45em; height: 1.45em; padding: 0 0.35em; border-radius: 999px;
	background: var(--ra-gold); color: var(--ra-navy); font-style: normal; font-size: 0.8em; font-weight: 800;
	animation: ra-pulse 2s ease-in-out 3;
}
@keyframes ra-pulse { 50% { box-shadow: 0 0 0 6px rgba(247, 197, 43, 0.25); } }
.ra-account__me { display: inline-flex; align-items: center; gap: 0.5em; }
.ra-account__me img { border-radius: 50%; border: 2px solid var(--ra-teal-bright); width: 32px; height: 32px; }
.ra-account__me:hover span { color: var(--ra-teal-bright); }
@media (max-width: 600px) {
	.ra-header__logo img { width: 112px !important; }
	.ra-account__join, .ra-account__matches { padding: 0.45em 0.85em; font-size: 0.9em; }
}

/* --- Shared bits --------------------------------------------------------- */
.ra-main { margin-block-start: 0; }
.ra-home > * { margin-block-start: 0; }
.ra-muted { opacity: 0.7; }

.is-style-ra-kicker {
	display: flex; align-items: center; gap: 0.75rem;
	font-family: var(--wp--preset--font-family--body) !important; font-style: normal !important; font-weight: 700 !important;
	font-size: 0.85rem !important; letter-spacing: 0.16em; text-transform: uppercase !important; color: var(--ra-teal);
	margin-bottom: 0.5rem;
}
.is-style-ra-kicker::before { content: ""; width: 2.25rem; height: 3px; border-radius: 3px; background: var(--ra-teal-bright); }
.has-text-align-center.is-style-ra-kicker { justify-content: center; }
.ra-footer .is-style-ra-kicker { color: var(--ra-teal-bright); }

.is-style-ra-brush { display: table; margin-left: auto !important; margin-right: auto !important; position: relative; padding: 0.1em 0.5em 0.15em; z-index: 0; }
.is-style-ra-brush::before {
	content: ""; position: absolute; inset: 0; z-index: -1; transform: rotate(-2deg) skewX(-8deg);
	background: linear-gradient(100deg, transparent 0 1.5%, var(--ra-teal-bright) 3% 97%, transparent 98.5%);
}

.wp-block-group.is-style-ra-card {
	background: #fff; border-radius: var(--ra-radius); padding: clamp(1.25rem, 2.5vw, 1.75rem);
	box-shadow: 0 1px 2px rgba(10, 35, 66, 0.06), 0 10px 30px -14px rgba(10, 35, 66, 0.35);
	border-top: 4px solid var(--ra-teal); color: var(--ra-navy); height: 100%;
}
.wp-block-group.is-style-ra-card > * { margin-block: 0 0.6rem; }
.wp-block-image.is-style-ra-angled img, .wp-block-post-featured-image.is-style-ra-angled img {
	clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%); border-radius: var(--ra-radius) var(--ra-radius) 0 0;
}

/* --- Page hero ----------------------------------------------------------- */
.ra-page-hero { position: relative; overflow: hidden; }
.ra-page-hero::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background:
		radial-gradient(ellipse 35% 60% at 5% 0%, rgba(255, 255, 255, 0.22), transparent 70%),
		radial-gradient(ellipse 35% 60% at 95% 0%, rgba(255, 255, 255, 0.22), transparent 70%),
		repeating-linear-gradient(115deg, transparent 0 22px, rgba(255, 255, 255, 0.025) 22px 44px);
}
.ra-page-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--ra-teal-bright), var(--ra-gold)); }
.ra-page-hero > * { position: relative; }
.ra-page-hero h1, .ra-page-hero .wp-block-post-title { color: #fff; margin: 0; font-size: var(--wp--preset--font-size--xx-large); text-shadow: 0 3px 0 rgba(0, 0, 0, 0.2); }
.ra-page-hero .wp-block-post-date { color: var(--ra-teal-bright); margin-bottom: 0.5rem; }
.ra-page-hero .wp-block-search { max-width: 520px; margin-top: 1rem; }

/* --- Home ---------------------------------------------------------------- */
body .ra-home-hero .r25ch { max-width: none !important; margin: 0 !important; }
body .ra-home-hero .r25-hero { border-radius: 0; margin: 0; padding-bottom: clamp(6rem, 10vw, 8rem); min-height: min(88vh, 860px); display: grid; align-items: center; }
body .ra-home-hero .r25-hero__logo { width: min(420px, 78%); }
body .ra-home-hero .r25-hero__title { font-family: var(--ra-heading); font-size: clamp(3rem, 9vw, 6rem); font-weight: 900; }
body .ra-home-hero .r25-hero__intro, body .ra-home-hero .r25-hero__tagline, body .ra-home-hero .r25-hero__cta { font-family: var(--ra-heading); }
body .ra-home-hero .r25-hero__intro { font-size: clamp(1.25rem, 2.6vw, 1.75rem); font-weight: 700; }
body .ra-home-hero .r25-hero__features a { font-family: var(--ra-heading); font-size: 1.15rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; }
body .ra-home-hero .r25-hero__cta { font-weight: 900; text-transform: uppercase; letter-spacing: 0.02em; }
body .ra-home-hero .r25-hero__tagline { font-size: 1.4rem; }

.ra-stats-band { position: relative; z-index: 2; margin-top: calc(-1 * clamp(3.5rem, 6vw, 4.5rem)) !important; margin-bottom: 0; }
.ra-stats {
	display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; background: #fff; border-radius: var(--ra-radius); overflow: hidden;
	box-shadow: 0 30px 60px -30px rgba(6, 22, 41, 0.6), 0 2px 4px rgba(6, 22, 41, 0.08);
}
.ra-stats__item { padding: 1.4rem 1.5rem; display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 0.2rem; }
.ra-stats__item + .ra-stats__item { border-left: 1px solid var(--ra-line); }
.ra-stats dt { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--ra-slate); }
.ra-stats dd { margin: 0; font-family: var(--ra-heading); font-weight: 900; font-style: italic; font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1; color: var(--ra-teal); overflow-wrap: anywhere; }
.ra-stats__item--leader { background: var(--ra-navy); }
.ra-stats__item--leader dt { color: rgba(255, 255, 255, 0.7); }
.ra-stats__item--leader dt::before { content: "★ "; color: var(--ra-gold); }
.ra-stats__item--leader dd { color: var(--ra-gold); font-size: clamp(1.5rem, 3vw, 2.1rem); }
@media (max-width: 760px) {
	.ra-stats { grid-template-columns: repeat(2, 1fr); }
	.ra-stats__item:nth-child(3) { border-left: 0; }
	.ra-stats__item:nth-child(n+3) { border-top: 1px solid var(--ra-line); }
}

.ra-section { position: relative; }
.ra-how { background-image: radial-gradient(circle at 100% 0, rgba(31, 200, 195, 0.08), transparent 40%); }
.ra-steps { gap: 1.25rem; margin-top: var(--wp--preset--spacing--40); }
.ra-step { position: relative; overflow: hidden; display: flex; flex-direction: column; }
.ra-step__num {
	font-family: var(--ra-heading); font-weight: 900; font-style: italic; font-size: 4rem; line-height: 0.9; margin-bottom: 0.25rem !important;
	color: transparent; -webkit-text-stroke: 2px var(--ra-teal-bright);
}
.ra-step h3 { margin-bottom: 0.4rem !important; }
.ra-step__link { margin-top: auto !important; font-weight: 800; font-style: italic; }
.ra-step__link a { text-decoration: none; }
.ra-step:hover { transform: translateY(-3px); transition: transform 0.2s ease; }

.ra-table-section { background: linear-gradient(180deg, var(--wp--preset--color--mist) 0%, #e7eef5 100%); }
.ra-table-section .r25-lb__head { justify-content: flex-end; margin-top: -3.25rem; }
.ra-table-section .r25-lb__head h3 { display: none; }
@media (max-width: 1100px) { .ra-table-section .r25-lb__head { margin-top: 0; justify-content: flex-start; } }

.ra-cta-band { position: relative; overflow: hidden; }
.ra-cta-band::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.035) 0 80px, transparent 80px 160px);
}
.ra-cta-band > * { position: relative; }
.ra-cta-band h2 { color: #fff; }
.ra-cta { display: flex; flex-wrap: wrap; justify-content: center; margin-top: 1.5rem; }
.ra-cta .wp-block-button__link { font-size: 1.25rem; padding: 0.85em 2.2em; border: 3px solid rgba(255, 255, 255, 0.85); text-transform: uppercase; font-family: var(--ra-heading); font-weight: 900; }

/* --- Plugin pages ---------------------------------------------------------- */
body .r25ch h3,
body .r25ch .r25-handle,
body .r25ch .r25-final__score,
body .r25ch .r25-stat strong,
body .r25ch .r25-results .sc,
body .r25ch .r25-table td.rank,
body .r25ch .r25-table .pts { font-family: var(--ra-heading); }
body .r25ch h3 { font-size: 1.6rem; font-style: italic; text-transform: uppercase; letter-spacing: 0.01em; }
body .r25ch .r25-handle { font-size: 1.25rem; font-style: italic; }
body .r25ch .r25-table td.player .r25-handle { font-size: 1.15rem; }
body .r25ch .r25-btn { font-style: italic; font-weight: 800; }
body .r25ch .r25-form { max-width: 720px; }
body .r25ch:has(> .r25-section) { max-width: 900px; margin-left: 0 !important; }
body .r25ch .r25-card { border-radius: var(--ra-radius); }
body .r25ch .r25-filters { background: #fff; padding: 0.75rem; border-radius: var(--ra-radius); box-shadow: 0 1px 2px rgba(10, 35, 66, 0.06); }
body .r25ch .r25-table th { font-family: var(--wp--preset--font-family--body); }
.ra-page-body > .wp-block-post-content > .r25ch:first-child, .ra-page-body .entry-content > .r25ch:first-child { margin-top: 0; }

/* --- Posts --------------------------------------------------------------- */
.ra-post-grid { gap: 1.5rem; }
.ra-post-card { display: flex; flex-direction: column; padding: 0 !important; overflow: hidden; }
.ra-post-card > *:not(.wp-block-post-featured-image) { padding-inline: 1.25rem; }
.ra-post-card .wp-block-post-featured-image { margin: 0 0 1rem !important; }
.ra-post-card .wp-block-post-featured-image:not(:has(img)) { display: none; }
.ra-post-card .wp-block-post-date { padding-top: 1.25rem; }
.ra-post-card .wp-block-post-featured-image + .wp-block-post-date { padding-top: 0; }
.ra-post-card .wp-block-post-title a { text-decoration: none; color: var(--ra-navy); }
.ra-post-card .wp-block-post-title a:hover { color: var(--ra-teal); }
.ra-post-card .wp-block-post-excerpt { padding-bottom: 1.25rem; }
.ra-post-card .wp-block-post-excerpt__more-link { font-weight: 800; font-style: italic; }
.wp-block-query-pagination { margin-top: 2rem; font-weight: 700; }
.ra-terms a { display: inline-block; background: #e3f8f7; color: var(--ra-teal); padding: 0.2em 0.8em; border-radius: 999px; text-decoration: none; font-weight: 700; font-size: 0.85em; }

/* --- 404 ----------------------------------------------------------------- */
.ra-404__code { font-family: var(--ra-heading); font-weight: 900; font-style: italic; font-size: clamp(6rem, 20vw, 11rem); line-height: 0.9; margin: 0; color: transparent; -webkit-text-stroke: 3px var(--ra-teal-bright); }

/* --- Footer -------------------------------------------------------------- */
.ra-footer { position: relative; }
.ra-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--ra-gold), var(--ra-teal-bright) 40%, var(--ra-teal)); }
.ra-footer__tagline { font-family: var(--ra-heading); font-style: italic; font-weight: 800; font-size: 1.5rem; color: var(--ra-teal-bright); margin-top: 1rem; }
.ra-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.5rem; }
.ra-footer a { color: #fff; text-decoration: none; }
.ra-footer a:hover { color: var(--ra-teal-bright); }
.ra-footer__rule { border-color: rgba(255, 255, 255, 0.12) !important; background: rgba(255, 255, 255, 0.12); margin-block: 2.5rem 1.25rem !important; }
.ra-footer__legal p { margin: 0; }

@media (max-width: 600px) {
	.ra-header__logo { margin-right: auto !important; }
	.ra-header__bar > .wp-block-navigation { order: 3; flex: 0 0 auto; }
}

/* Header, main and footer sit flush against each other. */
.wp-site-blocks > * + * { margin-block-start: 0; }

/* --- Tournaments section (home) -------------------------------------------- */
.ra-tournaments-section { position: relative; overflow: hidden; }
.ra-tournaments-section::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(ellipse 30% 50% at 8% 0, rgba(255, 255, 255, 0.18), transparent 70%), radial-gradient(ellipse 30% 50% at 92% 0, rgba(255, 255, 255, 0.18), transparent 70%);
}
.ra-tournaments-section > * { position: relative; }
.ra-tournaments-section h2 { color: #fff; margin-top: 0.25rem; }
.ra-tournaments-section .is-style-ra-kicker { color: var(--ra-gold); }
.ra-tournaments-section .is-style-ra-kicker::before { background: var(--ra-gold); }
.ra-section-head { margin-bottom: var(--wp--preset--spacing--40); }
.ra-section-head__link a { color: var(--ra-teal-bright); font-weight: 800; font-style: italic; text-decoration: none; }
.ra-tournaments-section .r25ch .r25-card.r25-empty { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.15); color: #fff; box-shadow: none; }
body .r25ch .r25-tcard__name, body .r25ch .r25-thead__name, body .r25ch .r25-champion strong, body .r25ch .r25-bm--champ strong { font-family: var(--ra-heading); }
body .r25ch .r25-tcard__name { font-size: 1.75rem; font-style: italic; font-weight: 800; text-transform: uppercase; }
body .r25ch .r25-thead__name { text-transform: uppercase; font-size: clamp(2.2rem, 5vw, 3.4rem); }

/* --- Brikly Builder ------------------------------------------------------- */
/* Brikly's own templates print the header part without its wrapper: keep it sticky. */
.wp-site-blocks > .ra-header { position: sticky; top: 0; z-index: 100; }
body.admin-bar .wp-site-blocks > .ra-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .wp-site-blocks > .ra-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .wp-site-blocks > .ra-header { top: 0; } }
/* Builder template: content runs edge to edge; sections bring their own padding. */
.ra-builder__content > * { margin-block: 0; }
.ra-builder__content > .alignfull, .ra-builder__content > .alignwide { max-width: none; margin-left: 0; margin-right: 0; }
.ra-builder__content > .ra-stats-band { max-width: var(--wp--style--global--wide-size, 1240px); margin-inline: auto !important; padding-inline: var(--wp--style--root--padding-left, 1rem); }
.ra-builder__content > :not(.alignfull):not(.alignwide):not(.opb-root):not(.ra-stats-band):not(.wp-block-group) { max-width: var(--wp--style--global--content-size, 760px); margin-inline: auto; padding-inline: var(--wp--style--root--padding-left, 1rem); }
.opb-main { margin-block-start: 0; }
/* The Rugby Arena hero element in Brikly sections. */
.opb-root .r25ch.alignwide { max-width: none; }

/* ==========================================================================
   Stadium image (Appearance → Rugby Arena → Stadium image to change it)
   ========================================================================== */
:root {
	--ra-stadium: url(../img/stadium.webp);
	--ra-stadium-sm: url(../img/stadium-mobile.webp);
	--ra-shade: 6, 22, 41; /* Night Navy, for overlays */
}

/* Homepage hero (and every Rugby Arena hero, incl. the Brikly "Arena Hero" element). A background chosen on the element itself still wins. */
body .r25ch .r25-hero {
	--r25-hero-image: var(--ra-stadium);
	background:
		radial-gradient(ellipse 55% 50% at 50% 42%, rgba(var(--ra-shade), 0.55), transparent 75%),
		linear-gradient(180deg, rgba(var(--ra-shade), 0.5) 0%, rgba(var(--ra-shade), 0.3) 40%, rgba(var(--ra-shade), 0.55) 72%, rgba(var(--ra-shade), 0.94) 100%),
		var(--r25-hero-image) center 38% / cover no-repeat,
		#0a2342;
}
body .r25ch .r25-hero::after { display: none; }
body .r25ch .r25-hero__intro, body .r25ch .r25-hero__features a, body .r25ch .r25-hero__tagline { text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55); }
@media (max-width: 700px) {
	body .r25ch .r25-hero { --r25-hero-image: var(--ra-stadium-sm); background-position: center, center, 35% center, center; }
}

/* Page title bands: lights and stands on the right, title readable on the left. */
.ra-page-hero.has-background {
	background:
		linear-gradient(90deg, rgba(var(--ra-shade), 0.94) 0%, rgba(var(--ra-shade), 0.78) 45%, rgba(var(--ra-shade), 0.35) 100%),
		var(--ra-stadium) center 30% / cover no-repeat,
		#0a2342 !important;
}
.ra-page-hero::before { display: none; }
@media (max-width: 700px) {
	.ra-page-hero.has-background {
		background:
			linear-gradient(180deg, rgba(var(--ra-shade), 0.6), rgba(var(--ra-shade), 0.85)),
			var(--ra-stadium-sm) center 35% / cover no-repeat,
			#0a2342 !important;
	}
}

/* "Ready to take the field?" band: the pitch, ball and posts. */
.ra-cta-band.has-background {
	background:
		radial-gradient(ellipse 60% 70% at 50% 50%, rgba(var(--ra-shade), 0.75), rgba(var(--ra-shade), 0.35) 80%),
		linear-gradient(180deg, rgba(var(--ra-shade), 0.55), rgba(var(--ra-shade), 0.35)),
		var(--ra-stadium) center 78% / cover no-repeat,
		#0b3b2c !important;
}
.ra-cta-band::before { display: none; }

/* 404 */
.ra-404.has-background {
	background:
		linear-gradient(180deg, rgba(var(--ra-shade), 0.7), rgba(var(--ra-shade), 0.55) 60%, rgba(var(--ra-shade), 0.85)),
		var(--ra-stadium) center 65% / cover no-repeat,
		#0a2342 !important;
}

/* Tournament page header card */
body .r25ch .r25-thead {
	background:
		linear-gradient(90deg, rgba(var(--ra-shade), 0.95) 0%, rgba(var(--ra-shade), 0.8) 50%, rgba(var(--ra-shade), 0.45) 100%),
		var(--ra-stadium) center 30% / cover no-repeat,
		#0a2342;
}

/* Messages icon in the header */
.ra-account__msgs { position: relative; display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; color: #fff; transition: background 0.15s ease; }
.ra-account__msgs:hover { background: rgba(255, 255, 255, 0.1); color: var(--ra-teal-bright); }
.ra-account__msgs svg { width: 22px; height: 22px; }
.ra-account__badge--msgs { position: absolute; top: -2px; right: -4px; min-width: 1.3em; height: 1.3em; font-size: 0.7rem; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
@media (max-width: 380px) { .ra-account__msgs { width: 32px; } }



/* --- Account menu (avatar dropdown with Log out) ------------------------------ */
.ra-account__menu { position: relative; }
.ra-account__menu > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 0.45em; padding: 0.2em 0.35em 0.2em 0.2em; border-radius: 999px; color: #fff; }
.ra-account__menu > summary::-webkit-details-marker { display: none; }
.ra-account__menu > summary:hover, .ra-account__menu[open] > summary { background: rgba(255, 255, 255, 0.1); }
.ra-account__caret { width: 14px; height: 14px; opacity: 0.8; transition: transform 0.15s ease; }
.ra-account__menu[open] .ra-account__caret { transform: rotate(180deg); }
.ra-account__dropdown {
	position: absolute; right: 0; top: calc(100% + 10px); z-index: 200; min-width: 230px; padding: 0.4rem;
	background: #fff; color: var(--ra-navy); border-radius: 12px; border-top: 3px solid var(--ra-teal-bright);
	box-shadow: 0 20px 50px -15px rgba(6, 22, 41, 0.55), 0 2px 6px rgba(6, 22, 41, 0.12);
	font-style: normal; white-space: nowrap;
}
.ra-account__who { display: flex; align-items: center; gap: 0.6rem; padding: 0.6rem 0.7rem 0.75rem; border-bottom: 1px solid var(--ra-line); margin-bottom: 0.3rem; }
.ra-account__who img { border-radius: 50%; }
.ra-account__who strong { display: block; font-family: var(--ra-heading); font-style: italic; font-size: 1.15rem; line-height: 1.1; }
.ra-account__who small { color: var(--ra-teal); font-weight: 700; font-size: 0.8rem; }
.ra-account .ra-account__dropdown a { display: flex; align-items: center; gap: 0.5rem; padding: 0.55rem 0.7rem; border-radius: 8px; color: var(--ra-navy); font-weight: 600; }
.ra-account .ra-account__dropdown a:hover, .ra-account .ra-account__dropdown a:focus-visible { background: #e3f8f7; color: var(--ra-navy); }
.ra-account .ra-account__dropdown .ra-account__logout { margin-top: 0.3rem; border-top: 1px solid var(--ra-line); border-radius: 0 0 8px 8px; color: #b42318; }
.ra-account .ra-account__dropdown .ra-account__logout:hover { background: #fdecec; color: #b42318; }
.ra-account__logout svg { width: 18px; height: 18px; }
.ra-account__label--short { display: none; }

/* Log in / Log out inside the phone menu only */
.ra-header__nav .ra-nav-loginout { display: none; }
.ra-header .wp-block-navigation__responsive-container.is-menu-open .ra-nav-loginout { display: flex; flex-direction: column; align-items: center; gap: 1.25rem; margin-top: 0.75rem; font-size: 1.4rem; }
.ra-header .wp-block-navigation__responsive-container.is-menu-open .ra-nav-loginout::before { content: ""; width: 120px; height: 2px; background: linear-gradient(90deg, var(--ra-teal-bright), var(--ra-gold)); }
.ra-header .is-menu-open .ra-nav-loginout a { color: var(--ra-teal-bright); text-decoration: none; }

/* Phones: logo · messages · Matches · avatar menu · ☰ (visitors: logo · Log in · Join · ☰) */
@media (max-width: 600px) {
	.ra-header__bar { gap: 0.4rem; }
	.ra-account { gap: 0.3rem; }
	.ra-account__name { display: none; }
	.ra-account__caret { display: none; }
	.ra-account__label { display: none; }
	.ra-account__label--short { display: inline; }
	.ra-account__login { padding: 0.45em 0.3em; font-size: 0.92em; }
	.ra-account__dropdown { position: fixed; left: 0.75rem; right: 0.75rem; top: 70px; min-width: 0; }
	body.admin-bar .ra-account__dropdown { top: 116px; }
}
@media (max-width: 1000px) and (min-width: 601px) { .ra-account__name { display: none; } }
@media (max-width: 360px) {
	.ra-header__logo img { width: 84px !important; }
	.ra-header__bar { gap: 0.3rem; }
	.ra-account__matches, .ra-account__join { padding: 0.45em 0.7em; font-size: 0.82em; }
	/* Messages stays one tap away in the account menu. */
	.ra-account.is-logged-in .ra-account__msgs { display: none; }
}
/* Bigger tap target for the phone menu button. */
.ra-header .wp-block-navigation__responsive-container-open { padding: 6px; box-sizing: content-box; }

/* How-it-works "full guide" link */
.ra-how__more { margin-top: var(--wp--preset--spacing--40); text-align: center; font-weight: 600; }
.ra-how__more a { color: var(--wp--preset--color--teal, #00979e); font-weight: 800; }
.ra-header .wp-block-navigation__responsive-container-close { padding: 8px; box-sizing: content-box; }
