/*
 * River Meadow 2026 — extras
 * Only the rules theme.json / block settings can't express cleanly.
 */

/* Header, body and footer are siblings under .wp-site-blocks; the root
   block-gap (1.4rem) would otherwise drop a cream stripe between each. Zero
   it so the sticky header, hero and footer all sit flush. */
.wp-site-blocks > * {
	margin-top: 0;
	margin-block-start: 0;
}

/* Full-width sections each carry their own vertical padding, so the root
   flow gap between them just shows the page background as a seam. Collapse it
   so colored bands butt cleanly (notice↔hero, faq↔cta, cta↔footer, etc.). */
.wp-block-post-content > .alignfull {
	margin-block-start: 0;
}

/* Condensed title-only header for standard pages. */
.rm-page-head {
	position: relative;
	display: flex;
	align-items: center;
	overflow: hidden;
	isolation: isolate;
	min-height: clamp(10rem, 16vw, 13rem);
}
.rm-page-head::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	background:
		linear-gradient(90deg, rgba(250, 247, 239, 0.5), rgba(250, 247, 239, 0) 58%),
		repeating-linear-gradient(115deg, rgba(61, 110, 49, 0.055) 0 1px, transparent 1px 26px);
}
.rm-page-head::after {
	content: "";
	position: absolute;
	right: max(2rem, calc((100vw - 1180px) / 2));
	top: 50%;
	z-index: -1;
	width: clamp(7rem, 12vw, 11rem);
	aspect-ratio: 1;
	transform: translateY(-50%) rotate(-8deg);
	opacity: 0.16;
	background: center / contain no-repeat url("data:image/svg+xml,%3Csvg viewBox='0 0 96 96' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%233d6e31' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 81s-2-37 27-55C62 15 81 14 81 14s-1 23-13 42C51 82 17 81 17 81z'/%3E%3Cpath d='M18 80c14-21 30-35 50-45'/%3E%3Cpath d='M39 64l-7-16'/%3E%3Cpath d='M52 53l-7-18'/%3E%3Cpath d='M61 43l-8-14'/%3E%3C/g%3E%3C/svg%3E");
	pointer-events: none;
}
.rm-page-head > .wp-block-group {
	width: 100%;
}
.rm-page-head .wp-block-post-title {
	margin: 0;
	line-height: 1.08;
}
main.wp-block-group > .rm-page-content,
.wp-block-group-is-layout-flow > .rm-page-content {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}
.rm-page-content .wp-block-post-content,
.rm-page-content .wp-block-post-content > :first-child {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}
.rm-page-content .wp-block-post-content > :where(:not(.alignleft):not(.alignright):not(.alignwide):not(.alignfull)) {
	max-width: 760px;
	margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size, 1180px)) / 2)) !important;
	margin-right: auto !important;
}
.rm-page-content:has(.wp-block-post-content > .alignfull:last-child) {
	padding-bottom: 0 !important;
}
.rm-page-content .wp-block-post-content > :not(.alignfull) + .alignfull {
	margin-block-start: var(--wp--preset--spacing--50) !important;
}
:root :where(.rm-page-content.is-layout-flow) > *,
:root :where(.rm-page-content .is-layout-flow) > :first-child {
	margin-block-start: 0;
}

/* Footer contact/hour rows: core block gap is too roomy for stacked details. */
footer.wp-block-group .wp-block-column > p {
	margin-block-start: 0.45rem !important;
	margin-block-end: 0 !important;
}
footer.wp-block-group .wp-block-site-logo + p {
	margin-block-start: 1.25rem !important;
}
footer.wp-block-group .wp-block-column > .wp-block-heading + p {
	margin-block-start: 1rem !important;
}

/* --- Sticky, slightly translucent header --- */
.rm-header {
	position: sticky;
	top: 0;
	z-index: 100;
	backdrop-filter: saturate(1.1) blur(6px);
	background-color: rgba(250, 247, 239, 0.92);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

/* Header logo sizing */
.rm-header .wp-block-site-logo img,
.rm-header .custom-logo {
	max-height: 62px;
	width: auto;
}

/* Nav: remove underline, add hover color */
.rm-header .wp-block-navigation a {
	text-decoration: none;
}
.rm-header .wp-block-navigation a:hover,
.rm-header .wp-block-navigation .current-menu-item a,
.rm-header .wp-block-navigation a[aria-current="page"] {
	color: var(--wp--preset--color--primary);
}
.rm-header .wp-block-navigation__responsive-container-open {
	align-items: center;
	background-color: var(--wp--preset--color--primary);
	border-radius: 8px;
	color: var(--wp--preset--color--base);
	display: none;
	font-weight: 700;
	gap: 0.5rem;
	min-height: 3rem;
	padding: 0.75rem 1rem;
}
.rm-header .wp-block-navigation__responsive-container-open::after {
	content: "Menu";
	font-size: var(--wp--preset--font-size--small);
	line-height: 1;
}
.rm-header .wp-block-navigation__responsive-container-open:hover,
.rm-header .wp-block-navigation__responsive-container-open:focus {
	background-color: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--base);
}
.rm-header .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--base) !important;
	box-sizing: border-box;
	height: 100svh;
	inset: 0;
	max-height: none;
	overflow: hidden;
	padding: 0;
	position: fixed;
	z-index: 1000;
}
.rm-header .wp-block-navigation__responsive-close {
	height: 100%;
	width: 100%;
}
.rm-header .wp-block-navigation__responsive-dialog {
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 0;
	width: 100%;
}
.rm-header .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--contrast);
	position: fixed;
	right: clamp(0.9rem, 4vw, 1.5rem) !important;
	top: clamp(0.9rem, 4vw, 1.5rem) !important;
	z-index: 1001;
}
.rm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start;
	box-sizing: border-box;
	display: flex;
	flex: 1 1 auto;
	justify-content: flex-start;
	min-height: 0;
	padding: clamp(3.25rem, 9vh, 4.25rem) var(--wp--style--root--padding-right) clamp(2rem, 8vh, 4rem) var(--wp--style--root--padding-left) !important;
	width: 100%;
}
.rm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: clamp(0.85rem, 2.5vh, 1.25rem);
	height: auto;
	margin-left: auto;
	margin-right: auto;
	max-width: var(--wp--style--global--wide-size, 1180px);
	width: 100%;
}
.rm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(2.35rem, 11vw, 3.85rem);
	font-weight: 700;
	line-height: 0.96;
	padding: 0;
}

@media (max-width: 781px) {
	.rm-header .wp-block-navigation__responsive-container-open {
		display: inline-flex;
	}
	.rm-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}
	.rm-header .wp-block-navigation__responsive-container.is-menu-open {
		display: block !important;
		left: 0 !important;
		right: 0 !important;
		top: 0 !important;
	}
}

@media (min-width: 782px) {
	.rm-header .wp-block-navigation__responsive-container-open {
		display: none !important;
	}
	.rm-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: block !important;
		position: relative;
	}
	.rm-header .wp-block-navigation__container {
		gap: clamp(1.35rem, 3vw, 2.35rem);
	}
	.rm-header .wp-block-navigation-item__content {
		color: var(--wp--preset--color--contrast);
		font-family: var(--wp--preset--font-family--heading);
		font-size: clamp(1.05rem, 1.15vw, 1.22rem);
		font-weight: 700;
		letter-spacing: 0.01em;
		line-height: 1;
		padding: 0.65rem 0;
		position: relative;
		transition: color 160ms ease;
	}
	.rm-header .wp-block-navigation-item__content::after {
		background-color: var(--wp--preset--color--primary);
		border-radius: 999px;
		bottom: 0.28rem;
		content: "";
		height: 2px;
		left: 0;
		position: absolute;
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform 180ms ease;
		width: 100%;
	}
	.rm-header .wp-block-navigation-item__content:hover,
	.rm-header .wp-block-navigation-item__content:focus,
	.rm-header .wp-block-navigation-item__content[aria-current="page"],
	.rm-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content {
		color: var(--wp--preset--color--primary-dark);
	}
	.rm-header .wp-block-navigation-item__content:hover::after,
	.rm-header .wp-block-navigation-item__content:focus::after,
	.rm-header .wp-block-navigation-item__content[aria-current="page"]::after,
	.rm-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content::after {
		transform: scaleX(1);
	}
}

/* --- Hero: keep overlaid text legible on photos --- */
.rm-hero h1,
.rm-hero h2,
.rm-hero p {
	text-shadow: 0 1px 18px rgba(20, 28, 14, 0.45);
}

/* --- Hero: ONE global treatment for every page ---------------------------
   The hero lives in a shared template part (parts/hero.html) driven by each
   page's Featured Image (cover background) + Title (h1) + Excerpt (subhead).

   Gutter alignment is intentionally left to *native* block layout: the inner
   copy group is `alignwide`, so it shares the exact same 1180px band and root
   padding as every other alignwide section (the stats bar, story columns,
   etc.). We deliberately do NOT cap/center the cover's inner container here —
   doing so previously applied the 1180px max-width to the already-padded
   container and pushed the hero copy one whole gutter to the right of the
   rest of the page. Less CSS, correct alignment at every width. */

:root {
	/* Single source of truth for the floating stats-card overlap. The hero's
	   bottom padding is (base + overlap) and the card is pulled up by exactly
	   `overlap`, so the visible gap *below* the hero copy always equals the gap
	   *above* it — at every screen width, because nothing here depends on a vh
	   min-height that wouldn't grow to match. */
	--rm-hero-pad: var(--wp--preset--spacing--60);
	--rm-overlap: clamp(2.5rem, 5vw, 4.5rem);
}

.rm-hero.wp-block-cover {
	/* Lay the inner container out as a normal full-width constrained block —
	   exactly like post-content / the header — instead of a centered flex item.
	   The cover's default flexbox shrink-wraps and horizontally offsets the
	   inner container, which pushed the hero copy off the page gutter on
	   narrower screens. As a plain block it inherits the SAME global-padding +
	   alignwide system as every other section, so the hero copy lines up with
	   the nav and the stats card at every width. We don't vertically center
	   (padding sets the height), so dropping flex costs nothing. */
	display: block;
	min-height: 0 !important; /* padding + content define the height */
	padding-top: var(--rm-hero-pad) !important;
	padding-bottom: calc(var(--rm-hero-pad) + var(--rm-overlap)) !important;
	/* Zero the cover's default 1em horizontal padding. That 1em was a fixed
	   ~17px inset on the inner container at every width, nudging the hero copy
	   off the page gutter. With it gone, the inner container's own global
	   padding alone sets the gutter — identical to the nav and main content. */
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* The cover's inner container carries width:100% AND the global padding, but
   defaults to content-box — so the padding is ADDED to 100%, making the band
   ~2×gutter wider than the cover. That over-widened the content and shifted the
   centered copy off-gutter at wide widths (and caused horizontal overflow).
   border-box folds the padding back in so it fills the cover exactly — laying
   out identically to post-content / the header at every width. */
.rm-hero > .wp-block-cover__inner-container {
	box-sizing: border-box;
}

/* === Button system =======================================================
   Three consistent button looks, registered as block styles in functions.php
   so they're pickable from the toolbar, and styled here:

     1. Primary on LIGHT  — solid Meadow Green, cream text.
        Use: the default button, or .is-style-forest to be explicit.
     2. Primary on DARK   — cream chip, dark-green text (hero "Request a Quote").
        Use: .is-style-cream.
     3. Secondary on DARK — transparent w/ white hairline (hero "Call Us").
        Use: .is-style-outline (core's built-in style).

   To stay consistent even when content doesn't pick a style, a solid button
   sitting on a green band (the hero, the .rm-cta contact band, the turf
   pricing band) automatically takes the Cream look. Add .is-style-forest to
   force the green look on a dark band instead. The single shared definition
   below keeps all three identical everywhere they're used. */

/* NOTE on !important: WordPress prints its colour utility classes
   (.has-*-background-color / .has-*-color) with !important, so a button that
   still carries an old palette colour (e.g. the pricing CTA's accent) would
   otherwise win over these styles. Matching that !important is the standard
   way to let a button *style* override a stray palette colour. The default
   (no-colour) buttons don't need it, but it keeps the styles authoritative. */

/* 1 — Primary on LIGHT: solid green. (Mirrors the theme.json button default
   so the explicit style and the default match exactly.) */
.wp-block-button.is-style-forest > .wp-block-button__link {
	background-color: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--base) !important;
	border: 0;
}
.wp-block-button.is-style-forest > .wp-block-button__link:hover,
.wp-block-button.is-style-forest > .wp-block-button__link:focus {
	background-color: var(--wp--preset--color--primary-dark) !important;
	color: var(--wp--preset--color--base) !important;
}

/* 2 — Primary on DARK: cream chip. Explicit (.is-style-cream) + auto on green
   bands. The :not() escapes let an outline or forest button opt out. */
.wp-block-button.is-style-cream > .wp-block-button__link,
.rm-hero .wp-block-button:not(.is-style-outline):not(.is-style-forest) > .wp-block-button__link,
.has-primary-dark-background-color .wp-block-button:not(.is-style-outline):not(.is-style-forest) > .wp-block-button__link,
.has-primary-background-color .wp-block-button:not(.is-style-outline):not(.is-style-forest) > .wp-block-button__link {
	background-color: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--primary-dark) !important;
	border: 0;
}
.wp-block-button.is-style-cream > .wp-block-button__link:hover,
.wp-block-button.is-style-cream > .wp-block-button__link:focus,
.rm-hero .wp-block-button:not(.is-style-outline):not(.is-style-forest) > .wp-block-button__link:hover,
.rm-hero .wp-block-button:not(.is-style-outline):not(.is-style-forest) > .wp-block-button__link:focus,
.has-primary-dark-background-color .wp-block-button:not(.is-style-outline):not(.is-style-forest) > .wp-block-button__link:hover,
.has-primary-dark-background-color .wp-block-button:not(.is-style-outline):not(.is-style-forest) > .wp-block-button__link:focus,
.has-primary-background-color .wp-block-button:not(.is-style-outline):not(.is-style-forest) > .wp-block-button__link:hover,
.has-primary-background-color .wp-block-button:not(.is-style-outline):not(.is-style-forest) > .wp-block-button__link:focus {
	background-color: var(--wp--preset--color--surface) !important;
	color: var(--wp--preset--color--primary-dark) !important;
}

/* --- Cards: gentle lift on hover --- */
.rm-card {
	transition: transform 0.18s ease, box-shadow 0.18s ease;
	height: 100%;
}
.rm-card:hover {
	transform: translateY(-3px);
}
.rm-card .wp-block-heading a {
	color: inherit;
	text-decoration: none;
}
.rm-card .wp-block-heading a:hover,
.rm-card .wp-block-heading a:focus {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}
.rm-card .wp-block-image a {
	display: block;
}

/* --- Nursery inventory cards and tables --- */
.rm-plant-card {
	height: 100%;
}
.rm-plant-card .wp-block-heading {
	margin-bottom: 0;
}
.rm-plant-card .rm-plant-varieties {
	max-width: 58rem;
}
.rm-plant-card > .rm-plant-meta {
	margin-top: var(--wp--preset--spacing--30);
	max-width: none !important;
	width: 100%;
}
.rm-plant-meta {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	overflow: clip;
}
.rm-plant-meta:has(> .wp-block-group:nth-child(3)) {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.rm-plant-meta > .wp-block-group {
	align-items: center;
	background: var(--wp--preset--color--base);
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	justify-content: center;
	min-height: 5rem;
	margin: 0 !important;
	padding: 0.9rem 0.85rem;
	text-align: center;
}
.rm-plant-meta > .wp-block-group + .wp-block-group {
	border-left: 1px solid var(--wp--preset--color--line);
}
.rm-plant-meta p {
	margin: 0;
}
.rm-tree-table {
	overflow-x: auto;
}
.rm-tree-table table {
	border-collapse: collapse;
	min-width: 0;
	table-layout: fixed;
	width: 100%;
}
.rm-tree-table thead {
	background: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--base);
}
.rm-tree-table th,
.rm-tree-table td {
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding: 0.9rem 0.55rem;
	text-align: left;
	vertical-align: top;
}
.rm-tree-table th:first-child,
.rm-tree-table td:first-child {
	width: 54%;
}
.rm-tree-table th {
	font-weight: 700;
}
.rm-tree-table td:not(:first-child),
.rm-tree-table th:not(:first-child) {
	white-space: nowrap;
}
.rm-tree-table th:nth-child(2),
.rm-tree-table td:nth-child(2) {
	width: 12%;
}
.rm-tree-table th:nth-child(3),
.rm-tree-table td:nth-child(3) {
	width: 18%;
}
.rm-tree-table th:nth-child(4),
.rm-tree-table td:nth-child(4) {
	width: 16%;
}
.rm-tree-table tbody tr:nth-child(even) {
	background: rgba(255, 255, 255, 0.55);
}
.rm-tree-table strong {
	display: block;
	line-height: 1.3;
}
.rm-tree-table em {
	color: var(--wp--preset--color--contrast-soft);
	display: block;
	font-size: var(--wp--preset--font-size--small);
	margin-top: 0.25rem;
}

@media (max-width: 781px) {
	.rm-plant-meta,
	.rm-plant-meta:has(> .wp-block-group:nth-child(3)) {
		grid-template-columns: 1fr;
	}
	.rm-plant-meta > .wp-block-group {
		align-items: flex-start;
		min-height: 0;
		padding: 0.85rem 1rem;
		text-align: left;
	}
	.rm-plant-meta > .wp-block-group + .wp-block-group {
		border-left: 0;
		border-top: 1px solid var(--wp--preset--color--line);
	}
	.rm-tree-table th,
	.rm-tree-table td {
		padding-bottom: 0.85rem;
		padding-top: 0.85rem;
	}
	.rm-tree-table th:first-child,
	.rm-tree-table td:first-child {
		width: 52%;
	}
	.rm-tree-table td:not(:first-child),
	.rm-tree-table th:not(:first-child) {
		font-size: 0.95em;
		padding-left: 0.35rem;
		padding-right: 0.35rem;
	}
	.rm-tree-table th:nth-child(2),
	.rm-tree-table td:nth-child(2) {
		width: 12%;
	}
	.rm-tree-table th:nth-child(3),
	.rm-tree-table td:nth-child(3) {
		width: 19%;
	}
	.rm-tree-table th:nth-child(4),
	.rm-tree-table td:nth-child(4) {
		width: 17%;
	}
}

/* --- Stats / trust bar: white card straddling the hero's lower edge --- */
.rm-cards {
	position: relative;
	z-index: 3;
	/* Restore the floating-card shadow so the overlap reads as a real lift. */
	box-shadow: var(--wp--preset--shadow--card);
}
.rm-cards.wp-block-columns.has-background {
	padding-left: 0.5em;
	padding-right: 0.5em;
}
/* Pull the card up by exactly the overlap constant so it straddles the hero's
   bottom edge. The hero reserves a matching `overlap` of extra bottom padding
   (above), so the result is equal top/bottom breathing room in the hero. The
   .alignwide compound beats core's flow spacing. */
.rm-cards.alignwide {
	margin-block-start: calc(-1 * var(--rm-overlap));
}

/* The card's own pull-up creates the overlap, so its wrapper needs no vertical
   padding; the next section supplies its own top padding. Zero top padding
   also lets the negative margin reach up past the template/content boundary
   into the hero (which now lives in a template part). */
.wp-block-group.alignfull:has(> .rm-cards) {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.wp-block-group.alignfull:has(> .rm-cards) + .wp-block-group.alignfull {
	padding-top: var(--wp--preset--spacing--40) !important;
}

/* Desktop: hairline divider between adjacent stat columns. On mobile these are
   zeroed (below) in favour of the stacked grid's 1px row gaps. */
.rm-cards .wp-block-column + .wp-block-column {
	border-left: 1px solid var(--wp--preset--color--line);
}

/* Mobile: stack the four stats in a single vertical column with hairline
   dividers (instead of side-by-side), keeping the icon-beside-text layout and
   the same overlap of the hero. */
@media (max-width: 781px) {
	.rm-cards.alignwide {
		display: grid;
		grid-template-columns: 1fr;
		gap: 1px;
		overflow: hidden;
		background-color: var(--wp--preset--color--line);
		margin-block-start: calc(-1 * var(--rm-overlap));
	}
	.rm-cards .wp-block-column {
		border-left-width: 0 !important;
		margin: 0 !important;
		background-color: var(--wp--preset--color--surface);
		padding: var(--wp--preset--spacing--30) !important;
	}
}

/* Each stat: icon beside a stacked title + description */
.rm-stat {
	align-items: flex-start;
	flex-wrap: nowrap;
}
.rm-stat-icon {
	flex: 0 0 auto;
	display: inline-flex;
	color: var(--wp--preset--color--primary);
}
.rm-stat-icon svg {
	width: 34px;
	height: 34px;
}
.rm-stat .wp-block-heading {
	margin: 0;
}

/* --- Product photo badge --- */
.rm-badge {
	position: absolute;
	top: clamp(0.55rem, 2vw, 0.75rem);
	right: clamp(0.55rem, 2vw, 0.75rem);
	margin: 0 !important;
	border: 1px solid rgba(61, 110, 49, 0.28);
	border-radius: 999px;
	text-align: center;
	line-height: 1;
	text-transform: uppercase;
	background: rgba(250, 247, 239, 0.94);
	color: var(--wp--preset--color--primary-dark);
	font-family: var(--wp--preset--font-family--body);
	font-weight: 700;
	font-size: clamp(0.58rem, 1.7vw, 0.68rem);
	letter-spacing: 0.08em;
	padding: 0.48rem 0.64rem;
	box-shadow: 0 5px 16px rgba(36, 41, 29, 0.18);
	pointer-events: none;
	white-space: nowrap;
}
.rm-badge-wrap {
	position: relative;
}

/* --- Eyebrow label (small caps heading kicker) --- */
.rm-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-weight: 700;
	font-size: 0.78rem;
	color: var(--wp--preset--color--primary);
}

/* --- Star rating --- */
.rm-stars {
	color: var(--wp--preset--color--accent);
	letter-spacing: 0.12em;
	font-size: 1.15rem;
}

/* --- "Arrow" text links --- */
.rm-arrow-link a,
a.rm-arrow-link {
	text-decoration: none;
	font-weight: 600;
}
.rm-arrow-link a:hover,
a.rm-arrow-link:hover {
	text-decoration: underline;
}

/* --- Checklist (list with leaf/check markers) --- */
.rm-checklist ul,
ul.rm-checklist {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}
.rm-checklist li {
	position: relative;
	margin-bottom: 0.6em;
	padding-left: 1.9em;
	line-height: 1.7;
}
.rm-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.17em;
	width: 1.35em;
	height: 1.35em;
	background: var(--wp--preset--color--primary);
	border-radius: 50%;
}
.rm-checklist li::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0.17em;
	width: 1.35em;
	height: 1.35em;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 0.95em 0.95em;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='%23faf7ef' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round' d='m5.5 12.5 4 4 9-10'/%3E%3C/svg%3E");
}
.rm-checklist li:last-child {
	margin-bottom: 0;
}

/* 3 — Secondary on DARK: outline (core's .is-style-outline). Transparent with
   a white hairline; pairs with the Cream primary on photos/green bands. */
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	border: 2px solid currentColor;
	color: var(--wp--preset--color--surface);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus {
	background: rgba(255, 255, 255, 0.12);
	color: var(--wp--preset--color--surface);
}
