/* ==========================================================
   RDM Theme - main.css
   ========================================================== */

/* =========================
   CSS Vars (fallbacks)
   (serão sobrescritas pelo inline CSS do Theme Options)
   ========================= */
:root {
	/**
	 * RDM Design Tokens
	 *
	 * 1. Colors  2. Typography  3. Layout  4. Spacing
	 * 5. Borders and radii  6. Shadows  7. Motion  8. Layers
	 *
	 * Theme Options overrides configurable values. Public legacy aliases:
	 * --rdm-primary, --rdm-header-bg, --rdm-container and --rdm-radius.
	 */
	--rdm-color-white: #ffffff;
	--rdm-color-black: #000000;
	--rdm-color-neutral-100: #eeeeee;
	--rdm-color-neutral-500: #6b7280;
	--rdm-color-neutral-600: #4b5563;
	--rdm-color-neutral-800: #333333;
	--rdm-color-neutral-900: #222222;
	--rdm-color-primary: #222222;
	--rdm-color-secondary: #4b5563;
	--rdm-color-accent: #2563eb;
	--rdm-color-background: var(--rdm-color-white);
	--rdm-color-surface: var(--rdm-color-white);
	--rdm-color-surface-alt: var(--rdm-color-neutral-100);
	--rdm-color-text: var(--rdm-color-neutral-800);
	--rdm-color-text-muted: var(--rdm-color-neutral-500);
	--rdm-color-heading: var(--rdm-color-neutral-900);
	--rdm-color-border: var(--rdm-color-neutral-100);
	--rdm-color-link: var(--rdm-color-primary);
	--rdm-color-link-hover: var(--rdm-color-primary);
	--rdm-color-header-bg: #222222;
	--rdm-color-header-text: var(--rdm-color-white);
	--rdm-color-overlay: rgba(0, 0, 0, 0.55);
	--rdm-color-info: #2563eb;
	--rdm-color-success: #15803d;
	--rdm-color-warning: #a16207;
	--rdm-color-error: #b91c1c;
	--rdm-footer-bg: var(--rdm-color-surface-alt);
	--rdm-footer-text: var(--rdm-color-text);
	--rdm-footer-link: var(--rdm-color-link);
	--rdm-font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	--rdm-font-family-heading: var(--rdm-font-family-base);
	--rdm-font-size-xs: 0.75rem;
	--rdm-font-size-sm: 0.875rem;
	--rdm-font-size-md: 1rem;
	--rdm-font-size-lg: 1.25rem;
	--rdm-font-size-xl: 1.75rem;
	--rdm-font-size-2xl: 2rem;
	--rdm-font-size-display: 2.5rem;
	--rdm-font-weight-normal: 400;
	--rdm-font-weight-medium: 500;
	--rdm-font-weight-semibold: 600;
	--rdm-font-weight-bold: 700;
	--rdm-line-height-tight: 1.15;
	--rdm-line-height-normal: 1.6;
	--rdm-line-height-relaxed: 1.75;
	--rdm-letter-spacing-normal: normal;
	--rdm-layout-content: 1100px;
	--rdm-layout-wide: 1320px;
	--rdm-layout-reading: 720px;
	--rdm-layout-gutter: 16px;
	--rdm-space-0: 0;
	--rdm-space-1: 4px;
	--rdm-space-2: 8px;
	--rdm-space-3: 12px;
	--rdm-space-4: 16px;
	--rdm-space-5: 20px;
	--rdm-space-6: 24px;
	--rdm-space-8: 32px;
	--rdm-space-10: 40px;
	--rdm-space-12: 48px;
	--rdm-space-16: 64px;
	--rdm-border-width: 1px;
	--rdm-border-width-strong: 2px;
	--rdm-border-style: solid;
	--rdm-border-color: var(--rdm-color-border);
	--rdm-radius-sm: 2px;
	--rdm-radius-md: 8px;
	--rdm-radius-lg: 16px;
	--rdm-radius-pill: 9999px;
	--rdm-radius-circle: 50%;
	--rdm-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.08);
	--rdm-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.14);
	--rdm-shadow-lg: 0 10px 34px rgba(0, 0, 0, 0.18);
	--rdm-duration-fast: 220ms;
	--rdm-duration-normal: 240ms;
	--rdm-duration-slow: 360ms;
	--rdm-ease-standard: ease;
	--rdm-transition-standard: var(--rdm-duration-normal) var(--rdm-ease-standard);
	--rdm-focus-ring-width: 2px;
	--rdm-focus-ring-offset: 3px;
	--rdm-focus-ring-color: var(--rdm-color-accent);
	--rdm-z-base: 0;
	--rdm-z-content: 1;
	--rdm-z-header: 1001;
	--rdm-z-sticky: 1190;
	--rdm-z-fixed: 1200;
	--rdm-z-dropdown: 1290;
	--rdm-z-overlay: 1300;
	--rdm-z-modal: 1400;
	--rdm-z-skip-link: 9999;

	/* Public legacy aliases (do not remove). */
	--rdm-primary: var(--rdm-color-primary);
	--rdm-header-bg: var(--rdm-color-header-bg);
	--rdm-container: var(--rdm-layout-content);
	--rdm-radius: var(--rdm-radius-md);
	--rdm-header-padding-y: 14px;
	--rdm-logo-max-height: 56px;
	--rdm-logo-header-height: 56px;
	--rdm-logo-scrolled-height: 56px;
	--rdm-logo-footer-height: 56px;
	--rdm-nav-color: #ffffff;
	--rdm-nav-text-shadow: none;
	--rdm-hero-color: #ffffff;
	--rdm-hero-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55), 0 0 1px rgba(0, 0, 0, 0.60);
}

/* =========================
   Base layout
   ========================= */
.container {
	max-width: var(--rdm-container);
	margin: 0 auto;
	padding: 0 var(--rdm-layout-gutter);
}

.site-main {
	padding: var(--rdm-space-5) 0;
}

/* Links globais (no header será sobrescrito) */
a {
	color: var(--rdm-primary);
}

/* =========================
   Acessibilidade
   ========================= */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.skip-link {
	background: #111;
	color: #fff;
	left: -9999px;
	padding: 10px 14px;
	position: absolute;
	top: 10px;
	z-index: var(--rdm-z-skip-link);
}

.skip-link:focus {
	left: 10px;
}

/* =========================
   Header base
   ========================= */
.site-header {
	background: var(--rdm-header-bg);
	color: #fff;
	width: 100%;
	padding: 0; /* padding passa a ser controlado no inner */
	z-index: 1001;
}

.site-header a {
	color: #fff;
	text-decoration: none;
}

/* Dynamic nav contrast state (set by JS in auto mode). */
.site-header[data-nav-tone='on-dark'] {
	--rdm-nav-color: #ffffff;
	--rdm-nav-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55), 0 0 1px rgba(0, 0, 0, 0.60);
}

.site-header[data-nav-tone='on-light'] {
	--rdm-nav-color: #111111;
	--rdm-nav-text-shadow: none;
}

.site-header[data-nav-tone='offcanvas'] {
	--rdm-nav-color: #ffffff;
	--rdm-nav-text-shadow: none;
}

/* Avoid initial fade on first paint; transitions are enabled only after JS sets initial contrast. */
body:not(.rdm-contrast-ready) .site-header .site-title a,
body:not(.rdm-contrast-ready) .site-header .main-navigation a,
body:not(.rdm-contrast-ready) .site-header .menu-toggle,
body:not(.rdm-contrast-ready) :is(.site-header, .rdm-mobile-navigation) .submenu-toggle,
body:not(.rdm-contrast-ready) .rdm-hero .page-title,
body:not(.rdm-contrast-ready) .rdm-hero .entry-title,
body:not(.rdm-contrast-ready) .rdm-hero .rdm-hero__title,
body:not(.rdm-contrast-ready) .rdm-hero .rdm-breadcrumbs,
body:not(.rdm-contrast-ready) .rdm-hero .rdm-breadcrumbs a,
body:not(.rdm-contrast-ready) .rdm-hero .rdm-hero__inner::before {
	transition: none !important;
}

body.rdm-contrast-ready .site-header .site-title a,
body.rdm-contrast-ready .site-header .main-navigation a,
body.rdm-contrast-ready .site-header .menu-toggle,
body.rdm-contrast-ready :is(.site-header, .rdm-mobile-navigation) .submenu-toggle,
body.rdm-contrast-ready .rdm-hero .page-title,
body.rdm-contrast-ready .rdm-hero .entry-title,
body.rdm-contrast-ready .rdm-hero .rdm-hero__title,
body.rdm-contrast-ready .rdm-hero .rdm-breadcrumbs,
body.rdm-contrast-ready .rdm-hero .rdm-breadcrumbs a {
	transition:
		color 220ms ease,
		text-shadow 220ms ease;
}

body.rdm-contrast-ready .rdm-hero .rdm-hero__inner::before {
	transition: opacity 220ms ease;
}

/* Hero uses an independent contrast state from the header/menu contrast. */
.rdm-hero[data-hero-contrast='dark'] {
	--rdm-hero-color: #ffffff;
	--rdm-hero-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55), 0 0 1px rgba(0, 0, 0, 0.60);
}

.rdm-hero[data-hero-contrast='light'] {
	--rdm-hero-color: #111111;
	--rdm-hero-text-shadow: none;
}

.site-title {
	margin: 0;
	font-size: 1.2rem;
}

.site-description {
	margin: 6px 0 0;
	opacity: 0.85;
	font-size: 0.95rem;
}

/* Aplicação das Vars de espaçamento e logo */
.site-header__inner,
.site-header__below {
	padding-top: var(--rdm-header-padding-y);
	padding-bottom: var(--rdm-header-padding-y);
}

.site-header .site-logo img,
.site-header .custom-logo-link img {
	max-height: var(--rdm-logo-header-height);
	width: auto;
	height: auto;
	display: block;
}

/* =========================
   Header Position (Theme Options)
   ========================= */

/*
 * Offset para empurrar o conteúdo quando o header está FIXED.
 * JS (navigation.js) pode atualizar dinamicamente --rdm-fixed-offset,
 * mas deixamos um fallback baseado nas vars do painel.
 */
:root {
	--rdm-fixed-offset: calc(var(--rdm-logo-max-height) + (var(--rdm-header-padding-y) * 2) + 12px);
	--rdm-header-height: calc(var(--rdm-logo-max-height) + (var(--rdm-header-padding-y) * 2));
}

/* FIXED */
body.rdm-headerpos-fixed .site-header,
.site-header.site-headerpos--fixed,
.site-header.fixed-header {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	z-index: var(--rdm-z-fixed);
}

/* STICKY (scroll) */
body.rdm-headerpos-sticky .site-header,
.site-header.site-headerpos--sticky {
	position: sticky;
	left: 0;
	right: 0;
	top: 0;
	z-index: var(--rdm-z-sticky);
}

/* STATIC */
body.rdm-headerpos-static .site-header,
body.rdm-headerpos-static .site-header.site-headerpos--static,
body.rdm-headerpos-static .site-header.fixed-header,
.site-header.site-headerpos--static {
	position: static !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	z-index: 1001;
}

/* Admin bar */
body.admin-bar.rdm-headerpos-fixed .site-header,
body.admin-bar .site-header.site-headerpos--fixed,
body.admin-bar .site-header.fixed-header,
body.admin-bar.rdm-headerpos-sticky .site-header,
body.admin-bar .site-header.site-headerpos--sticky {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar.rdm-headerpos-fixed .site-header,
	body.admin-bar .site-header.site-headerpos--fixed,
	body.admin-bar .site-header.fixed-header,
	body.admin-bar.rdm-headerpos-sticky .site-header,
	body.admin-bar .site-header.site-headerpos--sticky {
		top: 46px;
	}
}

/* Reserve the header's space before the hero, main or sidebar layout. */
.rdm-header-spacer {
	height: 0;
}

body.rdm-headerpos-fixed:not(.rdm-header-overlay) > .rdm-header-spacer {
	height: var(--rdm-header-height);
}

/* The mobile admin bar scrolls out of view; it must not leave a fixed gap. */
@media screen and (max-width: 600px) {
	body.admin-bar.rdm-headerpos-fixed .site-header,
	body.admin-bar.rdm-headerpos-sticky .site-header {
		top: var(--rdm-admin-bar-visible, 46px);
	}
}

/* =========================
   Header inner + branding
   ========================= */
.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-width: 0;
}

.site-branding {
	display: flex;
	flex: 0 1 auto;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.site-logo img {
	display: block;
	max-width: 100%;
}

.site-header .site-logo .logo-default {
	display: block;
	max-height: var(--rdm-logo-header-height);
	width: auto;
	height: auto;
	transition: opacity 0.24s ease, transform 0.24s ease, filter 0.24s ease;
}

.site-header .site-logo .logo-scrolled {
	display: none;
	max-height: var(--rdm-logo-scrolled-height);
	width: auto;
	height: auto;
}

/* Default behavior (without transition mode): hard swap */
.site-header.is-scrolled .site-logo.has-scroll-logo .logo-default {
	display: none;
}

.site-header.is-scrolled .site-logo.has-scroll-logo .logo-scrolled {
	display: block;
}

/* Transition mode: layered logos + animated swap */
.site-header .site-logo.has-scroll-logo.logo-transition-enabled a {
	position: relative;
	display: inline-grid;
	place-items: center;
}

.site-header .site-logo.has-scroll-logo.logo-transition-enabled .logo-default,
.site-header .site-logo.has-scroll-logo.logo-transition-enabled .logo-scrolled {
	grid-area: 1 / 1;
	display: block;
	transition: opacity 0.36s ease, transform 0.36s ease, filter 0.36s ease;
}

.site-header .site-logo.has-scroll-logo.logo-transition-enabled .logo-scrolled {
	opacity: 0;
	pointer-events: none;
}

.site-header .site-logo.has-scroll-logo.logo-transition-enabled.logo-transition-fade .logo-default {
	transform: scale(1);
}

.site-header.is-scrolled .site-logo.has-scroll-logo.logo-transition-enabled.logo-transition-fade .logo-default {
	opacity: 0;
	transform: scale(0.94);
}

.site-header.is-scrolled .site-logo.has-scroll-logo.logo-transition-enabled.logo-transition-fade .logo-scrolled {
	opacity: 1;
	transform: scale(1);
}

.site-header .site-logo.has-scroll-logo.logo-transition-enabled.logo-transition-slide .logo-default {
	transform: translateY(0);
}

.site-header .site-logo.has-scroll-logo.logo-transition-enabled.logo-transition-slide .logo-scrolled {
	transform: translateY(14px);
}

.site-header.is-scrolled .site-logo.has-scroll-logo.logo-transition-enabled.logo-transition-slide .logo-default {
	opacity: 0;
	transform: translateY(-14px);
}

.site-header.is-scrolled .site-logo.has-scroll-logo.logo-transition-enabled.logo-transition-slide .logo-scrolled {
	opacity: 1;
	transform: translateY(0);
}

.site-header.is-scrolled .site-logo.has-single-logo .logo-default {
	transform: scale(0.94);
	opacity: 0.84;
	filter: saturate(0.9);
}

/* =========================
   Content Hero (Global/Per-page)
   ========================= */
.rdm-content-hero {
	position: relative;
	overflow: hidden;
	--rdm-content-hero-blur: 0px;
	--rdm-content-hero-zero-offset: 24px;
}

.rdm-content-hero--simplified {
	padding: 48px 0;
	background: rgba(0, 0, 0, 0.04);
}

.rdm-content-hero--featured_full {
	min-height: clamp(280px, 46vh, 520px);
	display: flex;
	align-items: end;
}

.rdm-content-hero--featured_full .rdm-content-hero__bg {
	position: absolute;
	inset: 0;
}

.rdm-content-hero--featured_full .rdm-content-hero__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.rdm-content-hero--featured_full.is-blurred .rdm-content-hero__bg img {
	filter: blur(var(--rdm-content-hero-blur));
	transform: scale(1.03);
}

.rdm-content-hero--featured_full::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.58), rgba(0, 0, 0, 0.12));
}

.rdm-content-hero__inner {
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	padding-top: 28px;
	padding-bottom: 28px;
	width: 100%;
}

/* Heading wrapper controls horizontal anchor for title + breadcrumbs block. */
.rdm-content-hero__heading,
.rdm-hero__heading {
	width: min(100%, 920px);
	margin-left: auto;
	margin-right: auto;
}

/* Effective hero title alignment: overrides previous centered look by anchoring heading block. */
.rdm-hero--titlealign-left .rdm-content-hero__inner,
.rdm-hero--titlealign-left .rdm-hero__inner {
	text-align: left;
}

.rdm-hero--titlealign-center .rdm-content-hero__inner,
.rdm-hero--titlealign-center .rdm-hero__inner {
	text-align: center;
}

.rdm-hero--titlealign-right .rdm-content-hero__inner,
.rdm-hero--titlealign-right .rdm-hero__inner {
	text-align: right;
}

.rdm-hero--titlealign-left .rdm-content-hero__heading,
.rdm-hero--titlealign-left .rdm-hero__heading {
	margin-left: 0;
	margin-right: auto;
}

.rdm-hero--titlealign-center .rdm-content-hero__heading,
.rdm-hero--titlealign-center .rdm-hero__heading {
	margin-left: auto;
	margin-right: auto;
}

.rdm-hero--titlealign-right .rdm-content-hero__heading,
.rdm-hero--titlealign-right .rdm-hero__heading {
	margin-left: auto;
	margin-right: 0;
}

.rdm-content-hero__title {
	margin: 0;
	line-height: 1.15;
	color: var(--rdm-hero-color);
	text-shadow: var(--rdm-hero-text-shadow);
	text-align: inherit;
}

.rdm-breadcrumbs {
	margin-top: 10px;
	font-size: 0.92rem;
	font-weight: 400;
	line-height: 1.4;
	color: inherit;
	text-shadow: none;
	text-align: inherit;
}

.rdm-breadcrumbs__back {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
	background: transparent;
	box-shadow: none;
	margin-bottom: 6px;
}

.rdm-breadcrumbs__back:hover {
	opacity: 1;
}

.rdm-breadcrumbs__back:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
	border-radius: 2px;
}

.rdm-breadcrumbs__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.rdm-hero--titlealign-left .rdm-breadcrumbs__list {
	justify-content: flex-start;
}

.rdm-hero--titlealign-center .rdm-breadcrumbs__list {
	justify-content: center;
}

.rdm-hero--titlealign-right .rdm-breadcrumbs__list {
	justify-content: flex-end;
}

.rdm-hero--titlealign-left .rdm-hero__title,
.rdm-hero--titlealign-left .rdm-breadcrumbs {
	text-align: left;
}

.rdm-hero--titlealign-center .rdm-hero__title,
.rdm-hero--titlealign-center .rdm-breadcrumbs {
	text-align: center;
}

.rdm-hero--titlealign-right .rdm-hero__title,
.rdm-hero--titlealign-right .rdm-breadcrumbs {
	text-align: right;
}

.rdm-breadcrumbs__item {
	display: inline-flex;
	align-items: center;
}

.rdm-breadcrumbs__item + .rdm-breadcrumbs__item::before {
	content: "/";
	opacity: 0.6;
	margin: 0 0.5rem;
}

.rdm-breadcrumbs a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
	background: transparent;
	box-shadow: none;
}

.rdm-breadcrumbs a:hover {
	opacity: 1;
}

.rdm-breadcrumbs a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
	border-radius: 2px;
}

.rdm-content-hero--simplified .rdm-content-hero__title,
.rdm-content-hero--featured_full .rdm-content-hero__title {
	color: var(--rdm-hero-color);
	text-shadow: var(--rdm-hero-text-shadow);
}

/* Hero text (title + breadcrumbs) follows hero-specific contrast vars only. */
.rdm-content-hero .rdm-breadcrumbs,
.rdm-content-hero .rdm-breadcrumbs a,
.rdm-content-hero .rdm-breadcrumbs__current,
.rdm-hero .rdm-breadcrumbs,
.rdm-hero .rdm-breadcrumbs a,
.rdm-hero .rdm-breadcrumbs__current,
.rdm-hero .page-title,
.rdm-hero .entry-title,
.rdm-hero__title {
	color: var(--rdm-hero-color);
	text-shadow: var(--rdm-hero-text-shadow);
}

.rdm-hero .rdm-breadcrumbs a {
	text-decoration-thickness: from-font;
	text-underline-offset: 0.18em;
}

.rdm-hero .rdm-breadcrumbs a:hover {
	opacity: 0.95;
}

.rdm-hero .rdm-breadcrumbs a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
	background: transparent;
	box-shadow: none;
}

.rdm-hero__inner {
	position: relative;
}

/* Fallback readability layer when hero image sampling is unavailable. */
.rdm-hero .rdm-hero__inner::before {
	content: "";
	position: absolute;
	inset: -1.25rem;
	background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0) 70%);
	pointer-events: none;
	z-index: 0;
	opacity: 0;
}

.rdm-hero[data-hero-contrast-fallback='on'] .rdm-hero__inner::before {
	opacity: 1;
}

.rdm-hero .rdm-hero__title,
.rdm-hero .rdm-breadcrumbs {
	position: relative;
	z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
	.site-header .site-title a,
	.site-header .main-navigation a,
	.site-header .menu-toggle,
	:is(.site-header, .rdm-mobile-navigation) .submenu-toggle,
	.site-header .main-navigation,
	.site-header .site-logo img,
	.rdm-hero .page-title,
	.rdm-hero .entry-title,
	.rdm-hero .rdm-hero__title,
	.rdm-hero .rdm-breadcrumbs,
	.rdm-hero .rdm-breadcrumbs a,
	.rdm-hero .rdm-hero__inner::before {
		transition: none !important;
	}
}

.rdm-content-hero--zero {
	background: transparent;
}

.rdm-content-hero__zero-spacer {
	height: var(--rdm-content-hero-zero-offset);
}

/* Botão do menu (mobile) */
.menu-toggle {
	display: none;
	border: 1px solid rgba(255, 255, 255, 0.25);
	background: transparent;
	color: #fff;
	padding: var(--rdm-space-2);
	border-radius: var(--rdm-radius-md);
	cursor: pointer;
	line-height: 1;
	font-size: 0;
	min-width: 44px;
	min-height: 44px;
}

.site-header .menu-toggle__icon {
	display: block;
}

.site-header .menu-toggle__icon-close,
.site-header .menu-toggle[aria-expanded='true'] .menu-toggle__icon-open {
	display: none;
}

.site-header .menu-toggle[aria-expanded='true'] .menu-toggle__icon-close {
	display: block;
}

:is(.site-header, .rdm-mobile-navigation) .submenu-toggle {
	display: none;
}

.rdm-menu-close {
	display: none;
}

.site-header :where(.menu-toggle, .submenu-toggle, .main-navigation a):focus-visible {
	outline: var(--rdm-focus-ring-width) solid var(--rdm-focus-ring-color);
	outline-offset: var(--rdm-focus-ring-offset);
}

body.rdm-menu-open {
	overflow: hidden;
}

/* =========================
   Header layouts (Classic / Centered / Below)
   ========================= */

/* Classic: logo esquerda, menu direita */
.site-header--classic .site-header__inner {
	justify-content: space-between;
	text-align: left;
}

@media screen and (min-width: 861px) {
	.site-header--classic .site-header__inner {
		width: calc(100% - (2 * var(--rdm-layout-gutter)));
		max-width: var(--rdm-layout-wide);
		padding-inline: 0;
	}

	.site-header--classic .site-header__inner::before,
	.site-header--classic .site-header__inner::after {
		display: none;
		content: none;
	}

	.site-header--classic .site-branding {
		margin-right: auto;
	}

	.site-header--classic .main-navigation {
		margin-left: auto;
	}
}

/* Centered: centraliza branding e navegação */
.site-header--centered .site-header__inner {
	flex-direction: column;
	justify-content: center;
}

.site-header--centered .site-branding {
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.site-header--centered .main-navigation {
	margin-left: 0;
}

/* Below: menu abaixo do logo */
.site-header--below .site-header__inner {
	justify-content: center;
}

.site-header__below {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding-top: 0;
}

/**
 * Header extensions
 *
 * 1. Topbar
 * 2. Header CTA
 * 3. Model integration
 * 4. Mobile integration
 */
.site-header .rdm-topbar {
	background: var(--rdm-color-primary);
	color: var(--rdm-color-white);
}

.site-header .rdm-topbar__inner {
	padding-block: var(--rdm-space-2);
}

.site-header .rdm-topbar__content {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--rdm-space-2) var(--rdm-space-4);
	font-size: var(--rdm-font-size-sm);
	line-height: var(--rdm-line-height-normal);
	text-align: center;
	overflow-wrap: anywhere;
}

.site-header .rdm-topbar__link {
	color: inherit;
	font-weight: var(--rdm-font-weight-semibold);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.site-header .rdm-topbar__link:hover {
	opacity: 0.85;
}

.site-header .rdm-topbar__link:focus-visible {
	outline: var(--rdm-focus-ring-width) solid currentColor;
	outline-offset: var(--rdm-focus-ring-offset);
}

.site-header .main-navigation {
	display: flex;
	align-items: center;
	gap: var(--rdm-space-4);
	min-width: 0;
}

@media screen and (min-width: 861px) {
	.site-header .main-navigation > div {
		min-width: 0;
	}
	.site-header .main-navigation > div > ul,
	.site-header .main-navigation > ul {
		flex-wrap: wrap;
	}
}

:is(.site-header, .rdm-mobile-navigation) .rdm-header-cta {
	box-sizing: border-box;
	flex: 0 0 auto;
	white-space: nowrap;
}

:is(.site-header, .rdm-mobile-navigation) .rdm-header-cta:is(.rdm-button--outline, .rdm-button--ghost) {
	color: var(--rdm-nav-color, var(--rdm-color-header-text));
}

:is(.site-header, .rdm-mobile-navigation) .rdm-header-cta.rdm-button--outline {
	border-color: currentColor;
}

:is(.site-header, .rdm-mobile-navigation) .rdm-header-cta.rdm-button--primary {
	background: var(--rdm-color-primary);
	color: var(--rdm-primary-contrast, #ffffff);
	border-color: var(--rdm-color-primary);
}

:is(.site-header, .rdm-mobile-navigation) .rdm-header-cta.rdm-button--secondary {
	background: var(--rdm-color-secondary);
	color: #ffffff;
	border-color: var(--rdm-color-secondary);
}

.rdm-mobile-navigation :where(a, button):focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

:is(.site-header, .rdm-mobile-navigation) .rdm-header-cta--desktop-hidden {
	display: none;
}

/* =========================
   Navigation (Desktop)
   ========================= */
.main-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 16px;
	align-items: center;
}

.main-navigation a {
	display: inline-block;
	padding: 8px 0;
}

.main-navigation .menu-item-has-children {
	position: relative;
}

/* Dropdown desktop */
.main-navigation .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	background: #222;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 10px;
	padding: 10px;
	display: none;
	z-index: 1400;
}

/* Dropdowns use their own opaque surface, independent of the top-level menu. */
.site-header .main-navigation .sub-menu a {
	color: #ffffff;
	text-shadow: none;
}

.main-navigation .menu-item-has-children:hover > .sub-menu,
.main-navigation .menu-item-has-children:focus-within > .sub-menu {
	display: block;
}

.main-navigation .sub-menu a {
	display: block;
	padding: 8px 10px;
	border-radius: 8px;
}

.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu a:focus {
	background: rgba(255, 255, 255, 0.08);
}

/* =========================
   Mobile Off-Canvas Navigation
   ========================= */
@media screen and (max-width: 860px) {

	/* Ajustes do header nos layouts, para manter consistência */
	.site-header__inner {
		justify-content: space-between;
	}

	.site-header--centered .site-header__inner,
	.site-header--below .site-header__inner {
		justify-content: space-between;
	}

	.site-header--centered .site-header__inner {
		flex-direction: row;
	}

	.site-header--centered .site-branding,
	.site-header--below .site-branding {
		width: auto;
		text-align: left;
	}

	.site-header__below {
		justify-content: space-between;
	}

	/* Botão aparece no mobile */
	.menu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	/* Esconde o menu inline */
	.main-navigation ul {
		display: block;
	}

	/* Overlay */
	.rdm-nav-backdrop,
	.rdm-offcanvas-backdrop {
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.55);
		z-index: 1290; /* acima do header (1200) */
	}

	/* Painel */
	.rdm-mobile-navigation {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		width: min(340px, 86vw);
		box-sizing: border-box;
		background: var(--rdm-color-header-bg);
		z-index: 1300; /* acima de tudo */

		/* FECHADO por padrão */
		transform: translateX(105%);
		transition: transform var(--rdm-duration-fast) var(--rdm-ease-standard);

		border-left: 1px solid rgba(255, 255, 255, 0.15);
		padding: 20px;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		--rdm-nav-color: var(--rdm-panel-color, #ffffff);
		--rdm-nav-text-shadow: none;
		color: var(--rdm-panel-color, #ffffff);
	}

	.rdm-mobile-navigation a:not(.rdm-header-cta),
	.rdm-mobile-navigation .submenu-toggle,
	.rdm-mobile-navigation .rdm-menu-close {
		color: var(--rdm-panel-color, #ffffff);
		text-shadow: none;
		text-decoration: none;
	}

	.rdm-mobile-navigation .rdm-menu-close {
		display: block;
		position: sticky;
		top: 0;
		z-index: 1;
		margin: 0 0 var(--rdm-space-4) auto;
		padding: 10px;
		min-height: 44px;
		border: 1px solid currentColor;
		border-radius: var(--rdm-radius);
		background: var(--rdm-color-header-bg);
		cursor: pointer;
	}

	:is(.site-header, .rdm-mobile-navigation) .rdm-header-cta {
		display: flex;
		width: 100%;
		margin-top: var(--rdm-space-5);
	}

	:is(.site-header, .rdm-mobile-navigation) .rdm-header-cta--desktop-hidden {
		display: flex;
	}

	:is(.site-header, .rdm-mobile-navigation) .rdm-header-cta--mobile-hidden {
		display: none;
	}

	/* Admin bar: empurra o painel para baixo quando logado */
	body.admin-bar .main-navigation {
		top: 32px;
	}

	@media screen and (max-width: 782px) {
		body.admin-bar .main-navigation {
			top: 46px;
		}
	}

	@media screen and (max-width: 600px) {
		body.admin-bar .rdm-mobile-navigation {
			top: var(--rdm-admin-bar-visible, 46px);
		}
	}

	/* Aberto */
	.rdm-mobile-navigation.is-open {
		transform: translateX(0);
	}

	/* Itens */
	.main-navigation a {
		display: block;
		padding: 10px 8px;
		border-radius: 10px;
		color: #fff;
	}

	.main-navigation a:hover,
	.main-navigation a:focus {
		background: rgba(255, 255, 255, 0.08);
	}

	/* Submenus no mobile */
	.main-navigation .sub-menu {
		position: static;
		display: block;
		min-width: auto;
		border: 0;
		background: transparent;
		padding: 0 0 0 14px;
		margin: 0;
	}

	.main-navigation .menu-item-has-children > a {
		padding-right: 44px;
	}

	:is(.site-header, .rdm-mobile-navigation) .submenu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		right: 8px;
		top: 0;
		transform: none;
		border: 1px solid rgba(255, 255, 255, 0.25);
		background: transparent;
		color: #fff;
		width: 40px;
		height: 40px;
		border-radius: var(--rdm-radius-md);
		cursor: pointer;
		font-size: 1.25rem;
	}

	.menu-item-has-children {
		position: relative;
	}

	.menu-item-has-children.is-collapsed > .sub-menu {
		display: none;
	}

	.menu-item-has-children.is-expanded > .sub-menu {
		display: block;
	}

	.no-js .site-header .menu-toggle {
		display: none;
	}

	.no-js .site-header .main-navigation {
		position: static;
		width: 100%;
		transform: none;
		border: 0;
		padding: var(--rdm-space-2) 0;
		overflow: visible;
	}

	.no-js .site-header .main-navigation .sub-menu {
		display: block;
	}

	.no-js .site-header--centered .site-header__inner {
		flex-direction: column;
	}
}

/* =========================
   Content: Page vs Single
   ========================= */
body.page .entry-meta {
	display: none;
}

body.single-post .entry-meta {
	display: block;
	opacity: 0.9;
	font-size: 0.95rem;
	margin: 10px 0 18px;
}

.entry-content {
	line-height: 1.7;
}

.post-navigation {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-top: 28px;
}

.post-navigation a {
	display: inline-block;
	padding: 10px 12px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 10px;
	text-decoration: none;
}

/**
 * RDM Components
 *
 * 1. Focus
 * 2. Buttons
 * 3. Action links
 * 4. Forms
 * 5. Cards
 * 6. Badges and metadata
 * 7. Notices
 * 8. Tables
 * 9. Pagination and comments
 * 10. WordPress blocks
 *
 * Native selectors are scoped to public content so WordPress administration,
 * the theme header and third-party interfaces keep their own controls.
 */

/* 1. Focus */
.site-main :where(
	a,
	button,
	input,
	textarea,
	select,
	[tabindex]:not([tabindex="-1"])
):focus-visible,
.rdm-button:focus-visible,
.rdm-action-link:focus-visible {
	outline: var(--rdm-focus-ring-width) solid var(--rdm-focus-ring-color);
	outline-offset: var(--rdm-focus-ring-offset);
}

/* 2. Buttons */
.rdm-button,
.site-main :where(
	.button,
	button:not(.menu-toggle, .submenu-toggle),
	input[type="submit"],
	input[type="button"],
	input[type="reset"],
	.wp-element-button,
	.wp-block-button__link,
	.wp-block-file__button
) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: var(--rdm-space-2) var(--rdm-space-4);
	border: var(--rdm-border-width) var(--rdm-border-style) var(--rdm-color-primary);
	border-radius: var(--rdm-radius);
	background: var(--rdm-color-primary);
	color: var(--rdm-color-white);
	font: inherit;
	font-weight: var(--rdm-font-weight-semibold);
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition:
		background-color var(--rdm-transition-standard),
		border-color var(--rdm-transition-standard),
		color var(--rdm-transition-standard),
		opacity var(--rdm-transition-standard);
}

.rdm-button:hover,
.site-main :where(
	.button,
	button:not(.menu-toggle, .submenu-toggle),
	input[type="submit"],
	input[type="button"],
	input[type="reset"],
	.wp-element-button,
	.wp-block-button__link,
	.wp-block-file__button
):hover {
	filter: brightness(0.92);
}

.rdm-button:active,
.site-main :where(
	.button,
	button:not(.menu-toggle, .submenu-toggle),
	input[type="submit"],
	input[type="button"],
	input[type="reset"],
	.wp-element-button,
	.wp-block-button__link,
	.wp-block-file__button
):active {
	filter: brightness(0.84);
}

.rdm-button:disabled,
.rdm-button[aria-disabled="true"],
.site-main :where(
	button,
	input[type="submit"],
	input[type="button"],
	input[type="reset"],
	.wp-element-button,
	.wp-block-button__link
):is(:disabled, [aria-disabled="true"]) {
	opacity: 0.55;
	cursor: not-allowed;
	filter: none;
}

.rdm-button--secondary {
	border-color: var(--rdm-color-secondary);
	background: var(--rdm-color-secondary);
}

.rdm-button--primary {
	border-color: var(--rdm-color-primary);
	background: var(--rdm-color-primary);
	color: var(--rdm-color-white);
}

.rdm-button--outline,
.site-main .wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--rdm-color-primary);
}

.rdm-button--ghost {
	border-color: transparent;
	background: transparent;
	color: var(--rdm-color-primary);
}

.rdm-button--small {
	min-height: 36px;
	padding: var(--rdm-space-1) var(--rdm-space-3);
	font-size: var(--rdm-font-size-sm);
}

.rdm-button--large {
	min-height: 44px;
	padding: var(--rdm-space-3) var(--rdm-space-5);
}

.rdm-button--block {
	width: 100%;
}

/* 3. Action links */
.rdm-action-link,
.site-main :where(.read-more, .comment-reply-link, .post-navigation a) {
	color: var(--rdm-color-link);
	font-weight: var(--rdm-font-weight-semibold);
	text-decoration: underline;
	text-decoration-thickness: from-font;
	text-underline-offset: 0.18em;
}

.rdm-action-link:hover,
.site-main :where(.read-more, .comment-reply-link, .post-navigation a):hover {
	color: var(--rdm-color-link-hover);
	text-decoration-thickness: 2px;
}

/* 4. Forms */
.rdm-field {
	margin-bottom: var(--rdm-space-4);
}

.site-main :where(.search-form, .post-password-form) {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: var(--rdm-space-2);
}

.site-main :where(.search-form, .post-password-form) label {
	flex: 1 1 14rem;
	margin-bottom: 0;
}

.rdm-field__label,
.site-main :where(.comment-form, .post-password-form, .search-form) label {
	display: inline-block;
	margin-bottom: var(--rdm-space-2);
	font-weight: var(--rdm-font-weight-semibold);
	color: var(--rdm-color-heading);
}

.rdm-field__control,
.site-main :where(
	input[type="text"],
	input[type="email"],
	input[type="url"],
	input[type="password"],
	input[type="search"],
	input[type="number"],
	input[type="tel"],
	input[type="date"],
	input[type="time"],
	textarea,
	select
) {
	max-width: 100%;
	min-height: 40px;
	padding: var(--rdm-space-2) var(--rdm-space-3);
	border: var(--rdm-border-width) var(--rdm-border-style) var(--rdm-border-color);
	border-radius: var(--rdm-radius);
	background: var(--rdm-color-surface);
	color: var(--rdm-color-text);
	font: inherit;
	line-height: var(--rdm-line-height-normal);
	transition:
		border-color var(--rdm-transition-standard),
		box-shadow var(--rdm-transition-standard);
}

.site-main :where(.search-form, .post-password-form, .comment-form) :where(
	input[type="text"],
	input[type="email"],
	input[type="url"],
	input[type="password"],
	input[type="search"],
	textarea,
	select
),
.rdm-field__control {
	box-sizing: border-box;
	width: 100%;
}

.site-main textarea,
textarea.rdm-field__control {
	min-height: 8rem;
	resize: vertical;
}

.rdm-field__control:hover,
.site-main :where(input, textarea, select):not([type="button"], [type="submit"], [type="reset"]):hover {
	border-color: var(--rdm-color-text-muted);
}

.rdm-field__control:focus-visible,
.site-main :where(input, textarea, select):focus-visible {
	border-color: var(--rdm-focus-ring-color);
	box-shadow: 0 0 0 var(--rdm-focus-ring-width) color-mix(in srgb, var(--rdm-focus-ring-color) 24%, transparent);
}

.rdm-field__control:disabled,
.site-main :where(input, textarea, select):disabled {
	opacity: 0.6;
	cursor: not-allowed;
	background: var(--rdm-color-surface-alt);
}

.rdm-field__control[readonly],
.site-main :where(input, textarea)[readonly] {
	background: var(--rdm-color-surface-alt);
	cursor: default;
}

.rdm-field__control[aria-invalid="true"],
.site-main :where(input, textarea, select)[aria-invalid="true"] {
	border-color: var(--rdm-color-error);
}

.site-main :where(input, textarea, select):user-invalid {
	border-color: var(--rdm-color-error);
}

.rdm-field__control::placeholder,
.site-main :where(input, textarea)::placeholder {
	color: var(--rdm-color-text-muted);
	opacity: 1;
}

.rdm-field__help,
.rdm-field__error {
	display: block;
	margin-top: var(--rdm-space-1);
	font-size: var(--rdm-font-size-sm);
}

.rdm-field__help {
	color: var(--rdm-color-text-muted);
}

.rdm-field__error {
	color: var(--rdm-color-error);
	font-weight: var(--rdm-font-weight-semibold);
}

.rdm-field-group {
	display: grid;
	gap: var(--rdm-space-4);
}

.site-main :where(input[type="checkbox"], input[type="radio"]) {
	width: 1.125rem;
	height: 1.125rem;
	margin: 0 var(--rdm-space-2) 0 0;
	accent-color: var(--rdm-color-primary);
	vertical-align: middle;
}

.site-main :where(input[type="checkbox"], input[type="radio"]):disabled + label {
	opacity: 0.6;
	cursor: not-allowed;
}

/* 5. Cards */
.rdm-card {
	border-color: var(--rdm-border-color);
	background: var(--rdm-color-surface);
}

.rdm-card__media {
	overflow: hidden;
	border-radius: var(--rdm-radius) var(--rdm-radius) 0 0;
}

.rdm-card__media img {
	display: block;
	width: 100%;
	height: auto;
}

.rdm-card__content,
.rdm-card__header,
.rdm-card__footer {
	min-width: 0;
}

.rdm-card__title {
	margin: 0;
	color: var(--rdm-color-heading);
}

.rdm-card__meta,
.rdm-card__excerpt {
	color: var(--rdm-color-text-muted);
}

/* 6. Badges and metadata */
.rdm-badge {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: var(--rdm-space-1) var(--rdm-space-2);
	border-radius: var(--rdm-radius-pill);
	background: var(--rdm-color-surface-alt);
	color: var(--rdm-color-text);
	font-size: var(--rdm-font-size-xs);
	font-weight: var(--rdm-font-weight-semibold);
	line-height: 1;
}

.rdm-badge--primary {
	background: var(--rdm-color-primary);
	color: var(--rdm-color-white);
}

.rdm-badge--neutral {
	background: var(--rdm-color-surface-alt);
}

.rdm-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rdm-space-2) var(--rdm-space-4);
	color: var(--rdm-color-text-muted);
	font-size: var(--rdm-font-size-sm);
}

.rdm-meta__item {
	display: inline-flex;
	align-items: center;
	gap: var(--rdm-space-1);
}

/* 7. Notices */
.rdm-notice {
	padding: var(--rdm-space-4);
	border: var(--rdm-border-width) var(--rdm-border-style) var(--rdm-border-color);
	border-left-width: 4px;
	border-radius: var(--rdm-radius);
	background: var(--rdm-color-surface);
	color: var(--rdm-color-text);
}

.rdm-notice > :first-child {
	margin-top: 0;
}

.rdm-notice > :last-child {
	margin-bottom: 0;
}

.rdm-notice--info {
	border-left-color: var(--rdm-color-info);
}

.rdm-notice--success {
	border-left-color: var(--rdm-color-success);
}

.rdm-notice--warning {
	border-left-color: var(--rdm-color-warning);
}

.rdm-notice--error {
	border-left-color: var(--rdm-color-error);
}

/* 8. Tables */
.entry-content :where(table, .wp-block-table table) {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	font-variant-numeric: tabular-nums;
}

.entry-content :where(th, td) {
	padding: var(--rdm-space-3);
	border: var(--rdm-border-width) var(--rdm-border-style) var(--rdm-border-color);
	text-align: left;
	vertical-align: top;
}

.entry-content th {
	background: var(--rdm-color-surface-alt);
	color: var(--rdm-color-heading);
	font-weight: var(--rdm-font-weight-semibold);
}

.entry-content .wp-block-table,
.entry-content > table {
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.entry-content > table {
	display: block;
}

/* 9. Pagination and comments */
.site-main :where(.navigation.pagination .nav-links, .comment-navigation .nav-links) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--rdm-space-2);
	margin-block: var(--rdm-space-6);
}

.site-main :where(.page-numbers, .comment-navigation a) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	padding: var(--rdm-space-2);
	border: var(--rdm-border-width) var(--rdm-border-style) var(--rdm-border-color);
	border-radius: var(--rdm-radius);
	background: var(--rdm-color-surface);
	color: var(--rdm-color-text);
	text-decoration: none;
}

.site-main :where(.page-numbers, .comment-navigation a):hover {
	border-color: var(--rdm-color-primary);
	color: var(--rdm-color-primary);
}

.site-main .page-numbers.current {
	border-color: var(--rdm-color-primary);
	background: var(--rdm-color-primary);
	color: var(--rdm-color-white);
	font-weight: var(--rdm-font-weight-semibold);
}

.site-main .page-numbers.dots {
	border-color: transparent;
	background: transparent;
}

.comment-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.comment-list .comment-body {
	padding-block: var(--rdm-space-4);
	border-bottom: var(--rdm-border-width) var(--rdm-border-style) var(--rdm-border-color);
}

.no-comments {
	padding: var(--rdm-space-3) var(--rdm-space-4);
	border-left: 4px solid var(--rdm-color-info);
	background: var(--rdm-color-surface-alt);
}

/* 10. WordPress blocks */
.entry-content :where(.wp-block-quote, blockquote) {
	margin-inline: 0;
	padding-left: var(--rdm-space-4);
	border-left: 4px solid var(--rdm-color-primary);
	color: var(--rdm-color-text);
}

.entry-content .wp-block-pullquote {
	border-block: var(--rdm-border-width) var(--rdm-border-style) var(--rdm-border-color);
}

.entry-content .wp-block-search__inside-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rdm-space-2);
}

.entry-content .wp-block-search__input {
	flex: 1 1 14rem;
}

@supports not selector(:focus-visible) {
	.site-main :where(a, button, input, textarea, select, [tabindex]):focus,
	.rdm-button:focus,
	.rdm-action-link:focus {
		outline: var(--rdm-focus-ring-width) solid var(--rdm-focus-ring-color);
		outline-offset: var(--rdm-focus-ring-offset);
	}
}

@media (prefers-reduced-motion: reduce) {
	.rdm-button,
	.rdm-action-link,
	.site-main :where(button, input, textarea, select, a, .wp-element-button) {
		scroll-behavior: auto;
		transition-duration: 0.01ms;
	}
}

/**
 * Blog and archive listings
 *
 * 1. Listing header
 * 2. Post grid
 * 3. Post card
 * 4. Card media
 * 5. Card content
 * 6. Metadata
 * 7. Empty states
 * 8. Pagination integration
 */
.rdm-listing .rdm-archive-header {
	margin-bottom: var(--rdm-space-8);
}

.rdm-listing .rdm-archive-title {
	margin: 0;
	color: var(--rdm-color-heading);
	overflow-wrap: anywhere;
}

.rdm-listing .rdm-archive-description {
	max-width: 70ch;
	margin-top: var(--rdm-space-3);
	color: var(--rdm-color-text-muted);
}

.rdm-listing .rdm-archive-description > :last-child {
	margin-bottom: 0;
}

.rdm-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--rdm-space-8);
	align-items: stretch;
}

.rdm-post-grid > * {
	min-width: 0;
}

.rdm-content-list > * + * {
	margin-top: var(--rdm-space-6);
}

.rdm-post-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: var(--rdm-border-width) var(--rdm-border-style) var(--rdm-border-color);
	border-radius: var(--rdm-radius);
	background: var(--rdm-color-surface);
	box-shadow: var(--rdm-shadow-sm);
	transition:
		border-color var(--rdm-transition-standard),
		box-shadow var(--rdm-transition-standard);
}

.rdm-post-card:hover {
	border-color: color-mix(in srgb, var(--rdm-color-primary) 35%, var(--rdm-border-color));
	box-shadow: var(--rdm-shadow-md);
}

.rdm-post-card .rdm-card__media {
	aspect-ratio: 16 / 9;
	background: var(--rdm-color-surface-alt);
}

.rdm-post-card .rdm-card__media a {
	display: block;
	width: 100%;
	height: 100%;
}

.rdm-post-card .rdm-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rdm-post-card .rdm-card__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--rdm-space-4);
	padding: var(--rdm-space-5);
}

.rdm-post-card .rdm-card__header {
	display: grid;
	gap: var(--rdm-space-3);
}

.rdm-post-card .rdm-card__title {
	font-size: var(--rdm-font-size-xl);
	line-height: var(--rdm-line-height-tight);
	overflow-wrap: anywhere;
}

.rdm-post-card .rdm-card__title a {
	color: inherit;
	text-decoration: none;
}

.rdm-post-card .rdm-card__title a:hover {
	color: var(--rdm-color-link-hover);
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.rdm-post-card .rdm-card__meta {
	font-size: var(--rdm-font-size-sm);
	line-height: var(--rdm-line-height-normal);
}

.rdm-post-card .rdm-meta__item {
	min-width: 0;
	overflow-wrap: anywhere;
}

.rdm-post-card .rdm-card__excerpt {
	color: var(--rdm-color-text);
}

.rdm-post-card .rdm-card__excerpt > :first-child {
	margin-top: 0;
}

.rdm-post-card .rdm-card__excerpt > :last-child {
	margin-bottom: 0;
}

.rdm-post-card .rdm-card__footer {
	margin-top: auto;
}

.rdm-listing .rdm-empty-state {
	max-width: 48rem;
	margin-inline: auto;
	text-align: center;
}

.rdm-listing .rdm-empty-state__title {
	margin-top: 0;
}

.rdm-listing .rdm-empty-state .search-form {
	justify-content: center;
	margin-top: var(--rdm-space-5);
	text-align: left;
}

.rdm-listing .navigation.pagination {
	margin-top: var(--rdm-space-8);
}

@media screen and (max-width: 1024px) {
	.rdm-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--rdm-space-6);
	}
}

@media screen and (max-width: 640px) {
	.rdm-post-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.rdm-post-card .rdm-card__content {
		padding: var(--rdm-space-4);
	}
}

/**
 * Blog sidebar and widgets
 *
 * 1. Layout
 * 2. Sidebar
 * 3. Widget base
 * 4. Native and block widgets
 * 5. Responsive layout
 */
.rdm-blog-layout--has-sidebar {
	display: grid;
	grid-template-areas: "content sidebar";
	grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
	gap: var(--rdm-space-8);
	align-items: start;
}

.rdm-blog-layout--sidebar-left {
	grid-template-areas: "sidebar content";
	grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
}

.rdm-blog-layout__content {
	grid-area: content;
	min-width: 0;
}

.rdm-sidebar {
	grid-area: sidebar;
	min-width: 0;
}

.rdm-blog-layout--has-sidebar .rdm-post-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--rdm-space-6);
}

.rdm-sidebar .rdm-widget {
	min-width: 0;
	padding-block: var(--rdm-space-5);
	border-top: var(--rdm-border-width) var(--rdm-border-style) var(--rdm-border-color);
}

.rdm-sidebar .rdm-widget:first-child {
	padding-top: 0;
	border-top: 0;
}

.rdm-sidebar .rdm-widget__title,
.rdm-sidebar .wp-block-heading {
	margin: 0 0 var(--rdm-space-4);
	font-size: var(--rdm-font-size-lg);
	line-height: var(--rdm-line-height-tight);
	overflow-wrap: anywhere;
}

.rdm-sidebar :where(ul, ol) {
	margin-block: 0;
	padding-inline-start: var(--rdm-space-5);
}

.rdm-sidebar :where(li + li) {
	margin-top: var(--rdm-space-2);
}

.rdm-sidebar :where(a) {
	overflow-wrap: anywhere;
}

.rdm-sidebar :where(img, iframe) {
	max-width: 100%;
	height: auto;
}

.rdm-sidebar :where(.search-form, .wp-block-search__inside-wrapper) {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rdm-space-2);
}

.rdm-sidebar :where(.search-field, .wp-block-search__input) {
	flex: 1 1 10rem;
	min-width: 0;
}

.rdm-sidebar :where(.wp-block-search__button, .search-submit) {
	flex: 0 0 auto;
}

.rdm-sidebar :where(.wp-calendar-table, .wp-block-calendar table) {
	width: 100%;
	table-layout: fixed;
	font-size: var(--rdm-font-size-sm);
}

.rdm-sidebar :where(.wp-calendar-table, .wp-block-calendar table) :where(th, td) {
	padding: var(--rdm-space-1);
	text-align: center;
}

.rdm-sidebar :where(.tagcloud, .wp-block-tag-cloud) {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rdm-space-2);
}

.rdm-sidebar .wp-block-latest-comments {
	padding-inline-start: 0;
	list-style: none;
}

@media screen and (max-width: 1024px) {
	.rdm-blog-layout--has-sidebar .rdm-post-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media screen and (max-width: 900px) {
	.rdm-blog-layout--has-sidebar,
	.rdm-blog-layout--sidebar-left {
		grid-template-areas:
			"content"
			"sidebar";
		grid-template-columns: minmax(0, 1fr);
	}

	.rdm-sidebar {
		margin-top: var(--rdm-space-8);
	}
}

/**
 * Single post
 *
 * 1. Article shell
 * 2. Entry header and metadata
 * 3. Featured image
 * 4. Entry content
 * 5. Tags and post pagination
 * 6. Post navigation
 * 7. Comments integration
 * 8. Responsive behavior
 */
.single-post .rdm-single-post {
	min-width: 0;
}

.single-post .rdm-single-post__header,
.single-post .rdm-single-post .entry-content,
.single-post .rdm-single-post .entry-footer,
.single-post .post-navigation,
.single-post .comments-area {
	width: min(100%, var(--rdm-layout-reading));
	margin-inline: auto;
}

.single-post .rdm-single-post__header {
	margin-bottom: var(--rdm-space-8);
}

.single-post .rdm-single-post .entry-title {
	margin: 0 0 var(--rdm-space-4);
	color: var(--rdm-color-heading);
	line-height: var(--rdm-line-height-tight);
	overflow-wrap: anywhere;
}

.single-post .rdm-single-post .entry-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rdm-space-2) var(--rdm-space-4);
	margin: 0;
	color: var(--rdm-color-text-muted);
	font-size: var(--rdm-font-size-sm);
}

.single-post .rdm-single-post .rdm-meta__item {
	min-width: 0;
	overflow-wrap: anywhere;
}

.single-post .rdm-single-post__thumbnail {
	width: min(100%, calc(var(--rdm-layout-reading) + (2 * var(--rdm-space-8))));
	margin: var(--rdm-space-6) auto 0;
}

.single-post .rdm-single-post__thumbnail img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--rdm-radius);
}

.single-post .rdm-single-post__thumbnail .wp-caption-text {
	margin-top: var(--rdm-space-2);
	color: var(--rdm-color-text-muted);
	font-size: var(--rdm-font-size-sm);
}

.single-post .rdm-single-post .entry-content {
	line-height: var(--rdm-line-height-relaxed);
	overflow-wrap: anywhere;
}

.single-post .rdm-single-post .entry-content :where(img, video, iframe) {
	max-width: 100%;
}

.single-post .rdm-single-post .entry-content :where(pre, code) {
	overflow-wrap: normal;
}

.single-post .rdm-single-post .entry-content pre {
	max-width: 100%;
	overflow-x: auto;
}

.single-post .rdm-single-post .entry-footer {
	margin-top: var(--rdm-space-8);
}

.single-post .rdm-entry-tags {
	padding-top: var(--rdm-space-4);
	border-top: var(--rdm-border-width) var(--rdm-border-style) var(--rdm-border-color);
	overflow-wrap: anywhere;
}

.single-post .rdm-entry-tags__label,
.single-post .rdm-entry-pagination .page-links-title {
	font-weight: var(--rdm-font-weight-semibold);
}

.single-post .rdm-entry-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--rdm-space-2);
	margin-top: var(--rdm-space-8);
}

.single-post .rdm-entry-pagination > :where(a, .post-page-numbers) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding-inline: var(--rdm-space-3);
	border: var(--rdm-border-width) var(--rdm-border-style) var(--rdm-border-color);
	border-radius: var(--rdm-radius-sm);
	text-decoration: none;
}

.single-post .post-navigation {
	margin-top: var(--rdm-space-8);
}

.single-post .post-navigation .nav-links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--rdm-space-4);
}

.single-post .post-navigation .nav-next {
	text-align: right;
}

.single-post .post-navigation a {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow-wrap: anywhere;
}

.single-post .post-navigation .nav-subtitle {
	color: var(--rdm-color-text-muted);
	font-size: var(--rdm-font-size-sm);
}

.single-post .post-navigation .nav-title {
	font-weight: var(--rdm-font-weight-semibold);
}

.single-post .comments-area {
	margin-top: var(--rdm-space-10);
}

@media screen and (max-width: 640px) {
	.single-post .post-navigation .nav-links {
		grid-template-columns: minmax(0, 1fr);
	}

	.single-post .post-navigation .nav-next {
		text-align: left;
	}
}

/**
 * Page layouts
 *
 * 1. Shared page shell
 * 2. Default page
 * 3. Wide page
 * 4. Landing page
 * 5. Gutenberg alignments
 * 6. Media and internal pagination
 */
.rdm-page {
	overflow: clip;
}

.rdm-page .rdm-page__article,
.rdm-page .rdm-page__content {
	min-width: 0;
}

.rdm-page .rdm-page__header,
.rdm-page .rdm-page__content > :where(:not(.alignwide):not(.alignfull)) {
	width: min(calc(100% - (2 * var(--rdm-layout-gutter))), var(--rdm-layout-content));
	margin-inline: auto;
}

/* Keep Composer's stretch reference stable after it replaces the row width. */
.rdm-page:not(.rdm-page--full-width):not(.rdm-page--with-sidebar) .rdm-page__content > [data-vc-full-width='true'] {
	margin-inline: max(var(--rdm-layout-gutter), calc((100% - var(--rdm-layout-content)) / 2));
}

.rdm-page.rdm-page--landing .rdm-page__content > [data-vc-full-width='true'] {
	margin-inline: max(var(--rdm-layout-gutter), calc((100% - var(--rdm-layout-wide)) / 2));
}

.rdm-page:not(.rdm-page--full-width):not(.rdm-page--with-sidebar) .rdm-page__content > .vc_row-full-width {
	margin-inline: 0;
}

.rdm-page--default .rdm-page__featured-image,
.rdm-page--one-column .rdm-page__featured-image {
	width: min(calc(100% - (2 * var(--rdm-layout-gutter))), var(--rdm-layout-content));
}

.rdm-page-layout {
	width: min(calc(100% - (2 * var(--rdm-layout-gutter))), var(--rdm-layout-wide));
	margin-inline: auto;
}

.rdm-page-layout--with-sidebar {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(16rem, 1fr);
	gap: var(--rdm-space-8);
	align-items: start;
}

.rdm-page-layout--sidebar-left .rdm-page-sidebar {
	grid-column: 1;
	grid-row: 1;
}

.rdm-page-layout--sidebar-left .rdm-page-layout__main {
	grid-column: 2;
	grid-row: 1;
}

.rdm-page-layout--sidebar-left {
	grid-template-columns: minmax(16rem, 1fr) minmax(0, 3fr);
}

.rdm-page--with-sidebar .rdm-page__header,
.rdm-page--with-sidebar .rdm-page__featured-image,
.rdm-page--with-sidebar .rdm-page__content > :where(:not(.alignwide):not(.alignfull)),
.rdm-page--with-sidebar .rdm-page__content > :where(.alignwide, .alignfull) {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.rdm-page-sidebar {
	min-width: 0;
}

@media (max-width: 991px) {
	.rdm-page-layout--with-sidebar,
	.rdm-page-layout--sidebar-left {
		grid-template-columns: minmax(0, 1fr);
	}

	.rdm-page-layout--sidebar-left .rdm-page-layout__main,
	.rdm-page-layout--sidebar-left .rdm-page-sidebar {
		grid-column: 1;
	}

	.rdm-page-layout--sidebar-left .rdm-page-layout__main {
		grid-row: 1;
	}

	.rdm-page-layout--sidebar-left .rdm-page-sidebar {
		grid-row: 2;
	}
}

.rdm-page--wide .rdm-page__featured-image,
.rdm-page--landing .rdm-page__featured-image,
.rdm-page--landing .rdm-page__header,
.rdm-page--landing .rdm-page__content > :where(:not(.alignwide):not(.alignfull)) {
	width: min(calc(100% - (2 * var(--rdm-layout-gutter))), var(--rdm-layout-wide));
}

.rdm-page--full-width {
	overflow: visible;
}

.rdm-page--full-width .rdm-page__header,
.rdm-page--full-width .rdm-page__featured-image,
.rdm-page--full-width .rdm-page__content > :where(:not(.alignwide):not(.alignfull)) {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.rdm-page--full-width .rdm-page__content > .alignwide {
	width: 100%;
	margin-inline: 0;
}

.rdm-page--full-width .rdm-page__content > .alignfull {
	width: 100%;
	margin-inline: 0;
}

/*
 * The selected page template can also be rendered through front-page.php when
 * the page is assigned as the static front page. The native body class keeps
 * the full-width contract scoped to that template in both hierarchy paths.
 */
body.page-template-page-full-width .rdm-page--full-width,
body.page-template-page-full-width .rdm-front-page--static {
	overflow: visible;
}

body.page-template-page-full-width .rdm-page--full-width .rdm-page__header,
body.page-template-page-full-width .rdm-page--full-width .rdm-page__featured-image,
body.page-template-page-full-width .rdm-page--full-width .rdm-page__content > :where(*),
body.page-template-page-full-width .rdm-front-page--static .rdm-front-page__header,
body.page-template-page-full-width .rdm-front-page--static .rdm-front-page__featured-image,
body.page-template-page-full-width .rdm-front-page--static .rdm-front-page__content > :where(*) {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

/* Remove only the legacy Composer grid gutter on uncustomized top-level columns. */
body.page-template-page-full-width .rdm-page__content > .vc_row > .vc_column_container:not([class*='vc_custom_']):not([style]),
body.page-template-page-full-width .rdm-front-page__content > .vc_row > .vc_column_container:not([class*='vc_custom_']):not([style]) {
	padding-inline: 0;
}

/* Inner rows cannot borrow padding removed from their outer column. */
body.page-template-page-full-width .rdm-page__content > .vc_row > .vc_column_container:not([class*='vc_custom_']):not([style]) > .wpb_wrapper > .vc_inner {
	margin-inline: 0;
}

.rdm-page .rdm-page__featured-image {
	margin: 0 auto var(--rdm-space-6);
}

.rdm-page .rdm-page__featured-image img {
	display: block;
	width: 100%;
	height: auto;
}

.rdm-page .rdm-page__featured-image .wp-caption-text {
	margin-top: var(--rdm-space-2);
	color: var(--rdm-color-text-muted);
	font-size: var(--rdm-font-size-sm);
}

.rdm-page .rdm-page__content > .alignwide {
	width: min(calc(100% - (2 * var(--rdm-layout-gutter))), var(--rdm-layout-wide));
	max-width: none;
	margin-inline: auto;
}

.rdm-page .rdm-page__content > .alignfull {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.rdm-page .rdm-page__content :where(img, video, iframe) {
	max-width: 100%;
}

.rdm-page .rdm-page__content :where(img, video) {
	height: auto;
}

.rdm-page .rdm-page__content :where(pre, code) {
	overflow-wrap: anywhere;
}

.rdm-page .rdm-page__content pre {
	max-width: 100%;
	overflow-x: auto;
}

.rdm-page .page-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--rdm-space-2);
	margin-top: var(--rdm-space-8);
}

.rdm-page .page-links__label {
	font-weight: var(--rdm-font-weight-semibold);
}

/**
 * Front page
 *
 * 1. Front-page shell
 * 2. Static page content
 * 3. Gutenberg alignments
 * 4. Media and embeds
 * 5. Responsive behavior
 */
:where(.rdm-front-page--static) {
	overflow: clip;
}

:where(.rdm-front-page--static) .rdm-front-page__article,
:where(.rdm-front-page--static) .rdm-front-page__content {
	min-width: 0;
}

:where(.rdm-front-page--static) .rdm-front-page__header,
:where(.rdm-front-page--static) .rdm-front-page__featured-image,
:where(.rdm-front-page--static) .rdm-front-page__content > :where(:not(.alignwide):not(.alignfull)) {
	width: min(calc(100% - (2 * var(--rdm-layout-gutter))), var(--rdm-layout-content));
	margin-inline: auto;
}

:where(.rdm-front-page--static) .rdm-front-page__featured-image {
	margin-block: 0 var(--rdm-space-6);
}

:where(.rdm-front-page--static) .rdm-front-page__featured-image img {
	display: block;
	width: 100%;
	height: auto;
}

:where(.rdm-front-page--static) .rdm-front-page__content > .alignwide {
	width: min(calc(100% - (2 * var(--rdm-layout-gutter))), var(--rdm-layout-wide));
	max-width: none;
	margin-inline: auto;
}

:where(.rdm-front-page--static) .rdm-front-page__content > .alignfull {
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

:where(.rdm-front-page--static) .rdm-front-page__content :where(img, video, iframe) {
	max-width: 100%;
}

:where(.rdm-front-page--static) .rdm-front-page__content :where(img, video) {
	height: auto;
}

:where(.rdm-front-page--static) .rdm-front-page__content :where(pre, code) {
	overflow-wrap: anywhere;
}

:where(.rdm-front-page--static) .rdm-front-page__content pre {
	max-width: 100%;
	overflow-x: auto;
}

/**
 * Front-page optional sections
 *
 * 1. Shared section shell
 * 2. Section headings
 * 3. Featured pages and recent posts
 * 4. Team
 * 5. Call to action
 * 6. Responsive behavior
 */
.rdm-front-page--static .rdm-home-sections {
	margin-top: var(--rdm-space-12);
}

.rdm-front-page--static .rdm-home-section {
	padding-block: var(--rdm-space-12);
	border-top: var(--rdm-border-width) var(--rdm-border-style) var(--rdm-border-color);
}

.rdm-front-page--static .rdm-home-section__header {
	margin-bottom: var(--rdm-space-8);
}

.rdm-front-page--static .rdm-home-section__title {
	margin: 0;
	color: var(--rdm-color-heading);
	font-size: var(--rdm-font-size-2xl);
	line-height: var(--rdm-line-height-tight);
	overflow-wrap: anywhere;
}

.rdm-front-page--static .rdm-home-grid {
	display: grid;
	gap: var(--rdm-space-6);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.rdm-front-page--static .rdm-home-grid--team {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rdm-front-page--static .rdm-home-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.rdm-front-page--static .rdm-home-card .rdm-card__media {
	aspect-ratio: 16 / 9;
}

.rdm-front-page--static .rdm-home-card--team .rdm-card__media {
	aspect-ratio: 1;
}

.rdm-front-page--static .rdm-home-card .rdm-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rdm-front-page--static .rdm-home-card .rdm-card__media a {
	display: block;
	height: 100%;
}

.rdm-front-page--static .rdm-home-card .rdm-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
	padding: var(--rdm-space-6);
}

.rdm-front-page--static .rdm-home-card .rdm-card__title {
	margin: 0 0 var(--rdm-space-4);
	font-size: var(--rdm-font-size-xl);
	line-height: var(--rdm-line-height-tight);
	overflow-wrap: anywhere;
}

.rdm-front-page--static .rdm-home-card .rdm-card__meta {
	margin-bottom: var(--rdm-space-3);
}

.rdm-front-page--static .rdm-home-card .rdm-card__excerpt {
	margin: 0 0 var(--rdm-space-5);
	overflow-wrap: anywhere;
}

.rdm-front-page--static .rdm-home-card .rdm-card__footer {
	margin-top: auto;
}

.rdm-front-page--static .rdm-home-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--rdm-space-8);
	padding-block: var(--rdm-space-8);
	padding-inline: var(--rdm-space-8);
	border-radius: var(--rdm-radius-lg);
	background: var(--rdm-color-surface-alt);
}

.rdm-front-page--static .rdm-home-cta__content {
	max-width: 65ch;
}

.rdm-front-page--static .rdm-home-cta__content p {
	margin: var(--rdm-space-3) 0 0;
	overflow-wrap: anywhere;
}

.rdm-front-page--static .rdm-home-cta .rdm-button {
	flex: 0 0 auto;
}

@media screen and (max-width: 1024px) {
	.rdm-front-page--static .rdm-home-grid,
	.rdm-front-page--static .rdm-home-grid--team {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 640px) {
	.rdm-front-page--static .rdm-home-section {
		padding-block: var(--rdm-space-8);
	}

	.rdm-front-page--static .rdm-home-grid,
	.rdm-front-page--static .rdm-home-grid--team {
		grid-template-columns: minmax(0, 1fr);
	}

	.rdm-front-page--static .rdm-home-cta__inner {
		align-items: flex-start;
		flex-direction: column;
		padding: var(--rdm-space-6);
	}
}

/**
 * Site footer
 *
 * 1. Footer shell
 * 2. Main layout
 * 3. Branding
 * 4. Widget columns
 * 5. Footer navigation
 * 6. Bottom bar
 * 7. Native widgets
 * 8. Responsive behavior
 */
.site-footer {
	border-top: var(--rdm-border-width) var(--rdm-border-style) var(--rdm-border-color);
	background: var(--rdm-footer-bg, var(--rdm-color-surface-alt));
	color: var(--rdm-footer-text, var(--rdm-color-text));
}

.site-footer a {
	color: var(--rdm-footer-link, var(--rdm-color-link));
}

.rdm-footer-main {
	padding-block: var(--rdm-space-12);
}

.rdm-footer-layout {
	display: grid;
	grid-template-columns: minmax(220px, 0.8fr) minmax(0, 2fr);
	gap: var(--rdm-space-10);
	align-items: start;
}

.rdm-footer-branding {
	min-width: 0;
}

.rdm-footer-branding__home {
	display: inline-flex;
	max-width: 100%;
	color: var(--rdm-color-heading);
	text-decoration: none;
}

.rdm-footer-branding__logo {
	display: block;
	max-width: min(100%, 240px);
	max-height: var(--rdm-logo-footer-height);
	width: auto;
	height: auto;
}

.rdm-footer-branding__title {
	font-family: var(--rdm-font-family-heading);
	font-size: var(--rdm-font-size-xl);
	font-weight: var(--rdm-font-weight-bold);
	line-height: var(--rdm-line-height-tight);
	overflow-wrap: anywhere;
}

.rdm-footer-branding__description {
	max-width: 42ch;
	margin: var(--rdm-space-4) 0 0;
	color: var(--rdm-color-text-muted);
	overflow-wrap: anywhere;
}

.rdm-footer-widgets {
	display: grid;
	grid-template-columns: repeat(var(--rdm-footer-columns, 1), minmax(0, 1fr));
	gap: var(--rdm-space-8);
	min-width: 0;
}

.rdm-footer-widgets--columns-1 {
	--rdm-footer-columns: 1;
}

.rdm-footer-widgets--columns-2 {
	--rdm-footer-columns: 2;
}

.rdm-footer-widgets--columns-3 {
	--rdm-footer-columns: 3;
}

.rdm-footer-widgets--columns-4 {
	--rdm-footer-columns: 4;
}

.rdm-footer-widgets__column,
.site-footer .rdm-footer-widget {
	min-width: 0;
}

.site-footer .rdm-footer-widget + .rdm-footer-widget {
	margin-top: var(--rdm-space-6);
}

.site-footer .rdm-footer-widget__title,
.site-footer .widget_block > .wp-block-heading {
	margin: 0 0 var(--rdm-space-4);
	color: var(--rdm-color-heading);
	font-size: var(--rdm-font-size-lg);
	line-height: var(--rdm-line-height-tight);
	overflow-wrap: anywhere;
}

.site-footer .rdm-footer-widget :where(ul, ol) {
	margin-block: 0;
	padding-inline-start: var(--rdm-space-5);
}

.site-footer .rdm-footer-widget li + li {
	margin-top: var(--rdm-space-2);
}

.site-footer .rdm-footer-widget :where(a, p) {
	overflow-wrap: anywhere;
}

.site-footer .rdm-footer-widget :where(img, iframe) {
	max-width: 100%;
	height: auto;
}

.site-footer .rdm-footer-widget :where(.search-form, .wp-block-search__inside-wrapper) {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rdm-space-2);
}

.site-footer .rdm-footer-widget :where(.search-field, .wp-block-search__input) {
	flex: 1 1 10rem;
	min-width: 0;
}

.site-footer .rdm-footer-widget :where(.wp-calendar-table, .wp-block-calendar table) {
	width: 100%;
	table-layout: fixed;
	font-size: var(--rdm-font-size-sm);
}

.site-footer .rdm-footer-widget :where(.wp-calendar-table, .wp-block-calendar table) :where(th, td) {
	padding: var(--rdm-space-1);
	text-align: center;
}

.site-footer .rdm-footer-widget :where(.tagcloud, .wp-block-tag-cloud) {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rdm-space-2);
}

.rdm-footer-navigation {
	margin-top: var(--rdm-space-10);
	padding-top: var(--rdm-space-6);
	border-top: var(--rdm-border-width) var(--rdm-border-style) var(--rdm-border-color);
}

.rdm-footer-menu {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rdm-space-3) var(--rdm-space-6);
	margin: 0;
	padding: 0;
	list-style: none;
}

.rdm-footer-menu a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	overflow-wrap: anywhere;
	text-underline-offset: 0.18em;
}

.rdm-footer-bottom {
	padding-block: var(--rdm-space-5);
	border-top: var(--rdm-border-width) var(--rdm-border-style) var(--rdm-border-color);
	background: var(--rdm-footer-bg, var(--rdm-color-surface));
}

.rdm-footer-bottom__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--rdm-space-4) var(--rdm-space-6);
}

.rdm-footer-bottom--left .rdm-footer-bottom__inner {
	justify-content: flex-start;
}

.rdm-footer-bottom--center .rdm-footer-bottom__inner {
	justify-content: center;
	text-align: center;
}

.rdm-footer-bottom--space-between .rdm-footer-bottom__inner {
	justify-content: space-between;
}

.rdm-footer-copyright {
	margin: 0;
	color: var(--rdm-footer-text, var(--rdm-color-text-muted));
	font-size: var(--rdm-font-size-sm);
	overflow-wrap: anywhere;
}

/**
 * Footer extensions
 *
 * 1. Social navigation
 * 2. Bottom bar alignment
 * 3. Back to top
 * 4. Responsive behavior
 */
.rdm-footer-social__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rdm-space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

.rdm-footer-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: var(--rdm-border-width) var(--rdm-border-style) currentColor;
	border-radius: var(--rdm-radius-circle);
	text-decoration: none;
}

.rdm-footer-social__link:hover {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.rdm-footer-social__link svg {
	width: 20px;
	height: 20px;
}

.rdm-back-to-top {
	display: inline-flex;
	align-items: center;
	gap: var(--rdm-space-2);
	min-height: 44px;
}

.rdm-back-to-top svg {
	width: 18px;
	height: 18px;
}

@media screen and (max-width: 1024px) {
	.rdm-footer-widgets {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media screen and (max-width: 768px) {
	.rdm-footer-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media screen and (max-width: 540px) {
	.rdm-footer-main {
		padding-block: var(--rdm-space-8);
	}

	.rdm-footer-widgets {
		grid-template-columns: minmax(0, 1fr);
	}

	.rdm-footer-menu {
		flex-direction: column;
		gap: var(--rdm-space-2);
	}

	.rdm-footer-bottom__inner {
		align-items: flex-start;
		flex-direction: column;
	}

	.rdm-footer-bottom--center .rdm-footer-bottom__inner {
		align-items: center;
	}
}
