/*
Theme Name: Riverhouse Create
Theme URI: https://example.invalid/riverhouse-create-local
Author: Riverhouse Create local scaffold
Author URI: https://example.invalid/local-only
Description: Public block theme for Riverhouse Create with account, class-booking, cancellation, event, field-trip, policy, and commerce presentation adapters. Live operation depends on the companion ledger plugin and configured external services.
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 8.1
Version: 0.3.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: riverhouse-create
Tags: full-site-editing, block-patterns, education, accessibility-ready

Traceability: RH-P1-005 local skeleton lane. RH1-001/RH1-002 home + four equal discipline pathways; RH1-003 field trips; RH1-004/RH1-005/RH1-006 upcoming special-events placeholders; RH1-007/RH1-008 discipline/class template foundation; RH1-031/RH1-032/RH1-033 field-trip inquiry placeholders; RH1-034/RH1-040 events-vs-classes boundary and Create-only homepage event visibility; RH1-041-RH1-047 privacy/consent placeholder pages.
*/

html {
  scroll-behavior: smooth;
}

body {
  background: var(--wp--preset--color--base);
  color: var(--wp--preset--color--contrast);
}

.rhc-skip-link {
  position: absolute;
  left: -999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.rhc-skip-link:focus {
  left: 1rem;
  top: 1rem;
  width: auto;
  height: auto;
  z-index: 1000;
  padding: 0.75rem 1rem;
  border-radius: 999px;
  background: #182221;
  color: #fffaf2;
  text-decoration: none;
  font-weight: 700;
  outline: 3px solid #b85c38;
  outline-offset: 3px;
}

.wp-site-blocks {
  min-height: 100vh;
}

.rhc-placeholder-note {
  border-left: 4px solid var(--wp--preset--color--river-clay);
  padding-left: var(--wp--preset--spacing--40);
}

.rhc-eyebrow {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rhc-phase2-photo-placeholder {
  align-items: center;
  aspect-ratio: 4 / 3;
  background: color-mix(in srgb, var(--wp--preset--color--river-sage) 24%, var(--wp--preset--color--base));
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 18%, transparent);
  border-radius: 1.25rem;
  box-sizing: border-box;
  color: var(--wp--preset--color--contrast);
  display: grid;
  gap: 0.75rem;
  justify-items: center;
  margin-block: var(--wp--preset--spacing--40) 0;
  max-inline-size: 100%;
  min-block-size: 16rem;
  overflow: clip;
  padding: var(--wp--preset--spacing--50);
  text-align: center;
}

.rhc-phase2-photo-placeholder > div {
  font-size: clamp(2.5rem, 8vw, 5rem);
  line-height: 1;
}

.rhc-phase2-photo-placeholder figcaption {
  max-inline-size: 42rem;
}

.rhc-instructor-photo-slot {
  align-items: center;
  aspect-ratio: 4 / 5;
  background: color-mix(in srgb, var(--wp--preset--color--river-clay) 18%, var(--wp--preset--color--base));
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--river-clay) 44%, transparent);
  border-radius: 1rem;
  box-sizing: border-box;
  display: grid;
  gap: 0.5rem;
  justify-items: center;
  max-inline-size: min(100%, 18rem);
  min-block-size: 16rem;
  padding: var(--wp--preset--spacing--40);
  text-align: center;
}

.rhc-instructor-photo-slot span {
  font-size: clamp(2rem, 7vw, 4rem);
}

.rhc-phase2-summary dl {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
}

.rhc-phase2-summary dt,
.rhc-faculty-card .rhc-eyebrow {
  font-weight: 700;
}

.rhc-phase2-summary dd {
  margin-inline-start: 0;
}

.rhc-faculty-grid {
  display: grid;
  gap: var(--wp--preset--spacing--40);
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
}

.rhc-faculty-card,
.rhc-phase2-session-card,
.rhc-phase2-instructor-card {
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 18%, transparent);
  border-radius: 1rem;
  box-sizing: border-box;
  padding: var(--wp--preset--spacing--40);
}

.rhc-dot {
  background: var(--wp--preset--color--river-sage);
  border-radius: 999px;
  display: inline-block;
  inline-size: 0.75em;
  block-size: 0.75em;
  margin-inline-end: 0.45em;
}

.rhc-equal-pathways .wp-block-column,
.rhc-card-grid .wp-block-column {
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 18%, transparent);
  border-radius: 1rem;
  padding: var(--wp--preset--spacing--40);
}

.rhc-equal-pathways .wp-block-column {
  display: flex;
  flex-basis: 0;
  flex-direction: column;
  justify-content: space-between;
}

.rhc-equal-pathway-cards {
  align-items: stretch;
}

.rhc-event-artwork-placeholder {
  background: color-mix(in srgb, var(--wp--preset--color--river-sage) 18%, transparent);
  border-radius: 0.75rem;
  font-weight: 700;
  min-height: 8rem;
  padding: var(--wp--preset--spacing--40);
}

main#riverhouse-public-main.rh-homepage .rh-discipline-grid--overlay {
	box-sizing: border-box;
	display: grid;
	gap: clamp(1rem, 2.4vw, 1.5rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-block-start: clamp(1.25rem, 3vw, 2rem);
	max-inline-size: 100%;
	min-inline-size: 0;
}

main#riverhouse-public-main.rh-homepage .rh-discipline-card--overlay {
	border-radius: clamp(1.25rem, 3vw, 2rem);
	box-shadow: 0 18px 42px rgba(24, 34, 33, 0.18);
	box-sizing: border-box;
	color: #fffaf2;
	display: grid;
	min-block-size: clamp(18rem, 30vw, 25rem);
	min-inline-size: 0;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

main#riverhouse-public-main.rh-homepage .rh-discipline-card--overlay:focus-visible {
	outline: 4px solid #b85c38;
	outline-offset: 4px;
}

main#riverhouse-public-main.rh-homepage .rh-discipline-card-media,
main#riverhouse-public-main.rh-homepage .rh-discipline-card-media img,
main#riverhouse-public-main.rh-homepage .rh-discipline-card-shade,
main#riverhouse-public-main.rh-homepage .rh-discipline-card--overlay .rh-discipline-card-body {
	grid-area: 1 / 1;
}

main#riverhouse-public-main.rh-homepage .rh-discipline-card-media {
	block-size: 100%;
	display: block;
	inline-size: 100%;
	inset: 0;
	min-inline-size: 0;
	position: absolute;
}

main#riverhouse-public-main.rh-homepage .rh-discipline-card-media img {
	display: block;
	max-inline-size: none;
	object-fit: cover;
	object-position: center;
	position: absolute;
}

main#riverhouse-public-main.rh-homepage .rh-discipline-card-media--landscape img {
	block-size: auto;
	inline-size: 100%;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

main#riverhouse-public-main.rh-homepage .rh-discipline-card-media--portrait img {
	block-size: auto;
	inline-size: 100%;
	object-position: center 42%;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

main#riverhouse-public-main.rh-homepage .rh-discipline-card-shade {
	background: linear-gradient(180deg, rgba(24, 34, 33, 0.08) 0%, rgba(24, 34, 33, 0.38) 44%, rgba(24, 34, 33, 0.86) 100%);
	pointer-events: none;
}

main#riverhouse-public-main.rh-homepage .rh-discipline-card--overlay .rh-discipline-card-body {
	align-self: end;
	display: grid;
	gap: 0.42rem;
	max-inline-size: min(100%, 32rem);
	min-inline-size: 0;
	overflow-wrap: anywhere;
	padding: clamp(1.1rem, 3vw, 1.8rem);
	position: relative;
	z-index: 1;
}

main#riverhouse-public-main.rh-homepage .rh-discipline-card-kicker {
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

main#riverhouse-public-main.rh-homepage .rh-discipline-card-title {
	font-size: clamp(1.7rem, 4vw, 2.45rem);
	font-weight: 800;
	line-height: 1;
}

main#riverhouse-public-main.rh-homepage .rh-discipline-card-summary {
	font-size: clamp(0.98rem, 1.8vw, 1.08rem);
	line-height: 1.45;
}

main#riverhouse-public-main.rh-homepage .rh-discipline-card--overlay .rh-text-action {
	color: inherit;
	font-weight: 800;
}

@media (max-width: 720px) {
	main#riverhouse-public-main.rh-homepage .rh-discipline-grid--overlay {
		grid-template-columns: minmax(0, 1fr);
	}

	main#riverhouse-public-main.rh-homepage .rh-discipline-card-media--landscape img {
		block-size: 100%;
		inline-size: auto;
		left: 50%;
		top: 0;
		transform: translateX(-50%);
	}

	main#riverhouse-public-main.rh-homepage .rh-discipline-card--overlay {
		min-block-size: clamp(18rem, 78vw, 23rem);
	}
}

.rhc-home-class-discovery-cta,
.rhc-home-class-discovery-cta a {
  color: #ffffff;
}

main#riverhouse-public-main .rhc-classes-schedule-teaser :where(a, button, [tabindex]):focus-visible {
  outline: 3px solid #b85c38;
  outline-offset: 3px;
}

main#riverhouse-public-main .rhc-classes-sample-card {
  min-width: 0;
  overflow-wrap: anywhere;
}

main#riverhouse-public-main .rhc-classes-sample-card ul {
  padding-inline-start: clamp(1.15rem, 5vw, 1.5rem);
}

main#riverhouse-public-main .rhc-class-request-form {
  max-width: 100%;
}

main#riverhouse-public-main .rhc-class-request-form :where(input:not([type="hidden"]):not([type="checkbox"]), select, textarea),
main#riverhouse-public-main .rhc-cancellation-request-form :where(input:not([type="hidden"]):not([type="checkbox"]), select, textarea) {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  width: 100%;
}

main#riverhouse-public-main .rhc-class-request-form label:has(> input[type="checkbox"]),
main#riverhouse-public-main .rhc-cancellation-request-form label:has(> input[type="checkbox"]) {
  align-items: start;
  box-sizing: border-box;
  column-gap: 0.55rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  max-inline-size: 100%;
}

main#riverhouse-public-main .rhc-class-request-form input[type="checkbox"],
main#riverhouse-public-main .rhc-cancellation-request-form input[type="checkbox"] {
  block-size: 1rem;
  box-sizing: border-box;
  display: block;
  inline-size: 1rem !important;
  margin-block-start: 0.25em;
  margin-inline: 0;
  max-inline-size: 1rem !important;
  min-inline-size: 1rem;
  width: 1rem !important;
}

main#riverhouse-public-main .rhc-selected-class-summary,
main#riverhouse-public-main .rhc-class-request-status {
  border: 2px solid var(--wp--preset--color--river-moss, #5d6f4f);
  border-radius: 18px;
  box-sizing: border-box;
  margin-block: var(--wp--preset--spacing--40, 1.5rem);
  max-width: 100%;
  overflow-wrap: anywhere;
  padding: clamp(1rem, 4vw, 1.5rem);
}

main#riverhouse-public-main .rhc-class-request-status--error {
  border-color: var(--wp--preset--color--river-clay, #8a4f39);
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-policy-cards,
main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-account-steps,
main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-account-request,
main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-price-grid,
main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-price-card,
main#riverhouse-public-main.rhc-credits-account-page .rhc-account-request-form,
main#riverhouse-public-main.rhc-credits-account-page .rhc-cancellation-request-form,
main#riverhouse-public-main.rhc-credits-account-page .rhc-cancellation-request-status {
  max-inline-size: 100%;
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-price {
  font-size: clamp(1.8rem, 8vw, 3rem);
  line-height: 1.1;
  margin-block: 0.25rem 0.75rem;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-account-steps ol,
main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-policy-cards ul {
  padding-inline-start: clamp(1.1rem, 5vw, 1.6rem);
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-account-request-form :where(input:not([type="hidden"]):not([type="checkbox"]), select, textarea),
main#riverhouse-public-main.rhc-credits-account-page .rhc-cancellation-request-form :where(input:not([type="hidden"]):not([type="checkbox"]), select, textarea) {
  box-sizing: border-box;
  display: block;
  max-inline-size: 100%;
  min-inline-size: 0;
  width: 100%;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-account-request-form label:has(> input[type="checkbox"][name="rhc_policy_acknowledgement"]) {
  align-items: start;
  box-sizing: border-box;
  column-gap: 0.55rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  max-inline-size: 100%;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-account-request-form input[type="checkbox"][name="rhc_policy_acknowledgement"] {
  block-size: 1rem;
  box-sizing: border-box;
  display: block;
  inline-size: 1rem !important;
  margin-block-start: 0.25em;
  margin-inline: 0;
  max-inline-size: 1rem !important;
  min-inline-size: 1rem;
  width: 1rem !important;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-cancellation-request-form label:has(> input[type="checkbox"][name="rhc_cancel_policy_acknowledgement"]) {
  align-items: start;
  box-sizing: border-box;
  column-gap: 0.55rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  max-inline-size: 100%;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-cancellation-request-form input[type="checkbox"][name="rhc_cancel_policy_acknowledgement"] {
  block-size: 1rem;
  box-sizing: border-box;
  display: block;
  inline-size: 1rem !important;
  margin-block-start: 0.25em;
  margin-inline: 0;
  max-inline-size: 1rem !important;
  min-inline-size: 1rem;
  width: 1rem !important;
}

main#riverhouse-public-main.rhc-events-page .rhc-event-card-grid,
main#riverhouse-public-main.rhc-events-page .rhc-event-card,
main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-registration-request,
main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-form {
  max-inline-size: 100%;
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-form :where(input, select, textarea) {
  box-sizing: border-box;
  display: block;
  max-inline-size: 100%;
  min-inline-size: 0;
  width: 100%;
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-form label.rhc-event-request-acknowledgement {
  align-items: start;
  box-sizing: border-box;
  column-gap: 0.55rem;
  cursor: pointer;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  max-inline-size: 100%;
  min-block-size: 44px;
  padding-block: 0.35rem;
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-form input[type="checkbox"][name="rhc_staff_review_ack"] {
  block-size: 1.25rem;
  box-sizing: border-box;
  display: block;
  height: 1.25rem;
  inline-size: 1.25rem !important;
  margin-block-start: 0.25em;
  margin-inline: 0;
  max-inline-size: 1.25rem !important;
  min-block-size: 1.25rem;
  min-height: 1.25rem;
  min-inline-size: 1.25rem;
  padding: 0;
  width: 1.25rem !important;
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-form .rhc-honeypot,
main#riverhouse-public-main.rh-field-trips-page .rhc-honeypot {
  display: none !important;
  visibility: hidden !important;
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-form .rhc-honeypot :where(label, input),
main#riverhouse-public-main.rh-field-trips-page .rhc-honeypot :where(label, input) {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

header.wp-block-group,
header.wp-block-group > .wp-block-group,
header.wp-block-group .wp-block-site-title,
header.wp-block-group .wp-block-navigation {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}

header.wp-block-group .wp-block-navigation-item__content,
main#riverhouse-public-main .wp-block-button__link {
  align-items: center;
  box-sizing: border-box;
  display: inline-flex;
  min-block-size: 44px;
}

main#riverhouse-public-main .wp-block-buttons,
main#riverhouse-public-main .wp-block-button,
main#riverhouse-public-main .wp-block-button__link {
  max-inline-size: 100%;
}

main#riverhouse-public-main.rhc-class-booking-request-page .rhc-class-request-form select#rhc_class_session {
  box-sizing: border-box;
  display: block;
  inline-size: 100% !important;
  max-inline-size: 100% !important;
  min-inline-size: 0;
  width: 100% !important;
}

main#riverhouse-public-main.rhc-class-booking-request-page .rhc-class-request-form :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea),
main#riverhouse-public-main.rhc-class-booking-request-page .rhc-cancellation-request-form :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  box-sizing: border-box;
  display: block;
  max-inline-size: 100%;
  min-inline-size: 0;
  width: 100%;
}

main#riverhouse-public-main.rhc-class-booking-request-page .rhc-class-request-form p:has(> label > input[type="checkbox"][name="rhc_policy_acknowledgement"]),
main#riverhouse-public-main.rhc-class-booking-request-page .rhc-cancellation-request-form p:has(> label > input[type="checkbox"][name="rhc_cancel_policy_acknowledgement"]) {
  box-sizing: border-box;
  inline-size: 100%;
  max-inline-size: 100%;
  min-inline-size: 0;
}

main#riverhouse-public-main.rhc-class-booking-request-page .rhc-class-request-form label:has(> input[type="checkbox"][name="rhc_policy_acknowledgement"]) {
  align-items: start;
  box-sizing: border-box;
  column-gap: 0.55rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  inline-size: 100%;
  max-inline-size: 100%;
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

main#riverhouse-public-main.rhc-class-booking-request-page .rhc-cancellation-request-form label:has(> input[type="checkbox"][name="rhc_cancel_policy_acknowledgement"]) {
  align-items: start;
  box-sizing: border-box;
  column-gap: 0.55rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  inline-size: 100%;
  max-inline-size: 100%;
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

main#riverhouse-public-main.rhc-class-booking-request-page .rhc-class-request-form input[type="checkbox"][name="rhc_policy_acknowledgement"],
main#riverhouse-public-main.rhc-class-booking-request-page .rhc-cancellation-request-form input[type="checkbox"][name="rhc_cancel_policy_acknowledgement"] {
  block-size: 1rem;
  box-sizing: border-box;
  display: block;
  flex: 0 0 auto;
  inline-size: 1rem !important;
  margin-block-start: 0.25em;
  margin-inline: 0;
  max-inline-size: 1rem !important;
  min-inline-size: 1rem;
  width: 1rem !important;
}

main#riverhouse-public-main.rhc-legal-page .rhc-legal-content {
  max-inline-size: min(100%, 68rem);
}

main#riverhouse-public-main.rhc-legal-page .rhc-legal-draft-status,
main#riverhouse-public-main.rhc-legal-page .rhc-policy-summary {
  border: 2px solid currentColor;
  border-radius: 1rem;
  margin-block-end: 2rem;
  padding: clamp(1rem, 3vw, 1.5rem);
}

main#riverhouse-public-main.rhc-legal-page .rhc-legal-marker {
  border-inline-start: 4px solid currentColor;
  font-weight: 700;
  padding-inline-start: 1rem;
}

main#riverhouse-public-main.rhc-legal-page .rhc-legal-table {
  border-collapse: collapse;
  display: block;
  inline-size: 100%;
  max-inline-size: 100%;
  overflow-x: auto;
}

main#riverhouse-public-main.rhc-cookie-policy-page .rhc-consent-choice-panel,
main#riverhouse-public-main.rhc-cookie-policy-page .rhc-consent-choice-list {
  box-sizing: border-box;
  max-inline-size: 100%;
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

main#riverhouse-public-main.rhc-cookie-policy-page .rhc-consent-choice-list {
  padding-inline-start: clamp(1.1rem, 5vw, 1.6rem);
}

.rhc-complianz-runtime-fallback {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 9999;
	max-width: min(30rem, calc(100vw - 2rem));
	padding: 1rem;
	border: 1px solid rgba(58, 63, 42, 0.22);
	border-radius: 0.85rem;
	background: #fffaf0;
	box-shadow: 0 1rem 2rem rgba(36, 44, 31, 0.18);
	color: #26301f;
}

.rhc-complianz-runtime-fallback p {
	margin: 0 0 0.75rem;
}

.rhc-complianz-runtime-fallback p:last-child {
	margin-bottom: 0;
}

.rhc-complianz-runtime-fallback a {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

main#riverhouse-public-main.rhc-legal-page .rhc-legal-table th,
main#riverhouse-public-main.rhc-legal-page .rhc-legal-table td {
  border: 1px solid currentColor;
  padding: 0.75rem;
  text-align: start;
  vertical-align: top;
}

.rhc-site-footer .rhc-footer-columns {
  gap: clamp(1.5rem, 4vw, 3rem);
}

.rhc-site-footer .rhc-footer-heading {
  margin-block-start: 0;
}

.rhc-site-footer .wp-block-navigation-item__content {
  min-block-size: 44px;
}

@media (max-width: 599px) {
  .wp-site-blocks,
  main,
  main *,
  .rhc-site-footer,
  .rhc-site-footer * {
    box-sizing: border-box;
  }

  main#riverhouse-public-main,
  main#riverhouse-public-main .rhc-placeholder-note,
  main#riverhouse-public-main .rhc-card-grid,
  main#riverhouse-public-main .rhc-equal-pathways,
  main#riverhouse-public-main .wp-block-group,
  main#riverhouse-public-main .wp-block-columns,
  main#riverhouse-public-main .wp-block-column,
  main#riverhouse-public-main p,
  main#riverhouse-public-main li,
  main#riverhouse-public-main h1,
  main#riverhouse-public-main h2,
  main#riverhouse-public-main h3,
  main#riverhouse-public-main h4,
  main#riverhouse-public-main h5,
  main#riverhouse-public-main h6,
  main#riverhouse-public-main a,
  main#riverhouse-public-main strong {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    overflow-wrap: anywhere !important;
    word-break: break-word;
  }

  main#riverhouse-public-main .alignfull,
  main#riverhouse-public-main .alignwide,
  main#riverhouse-public-main .rhc-card-grid,
  main#riverhouse-public-main .rhc-equal-pathways,
  main#riverhouse-public-main .wp-block-group,
  main#riverhouse-public-main .wp-block-columns,
  .rhc-site-footer,
  .rhc-site-footer .rhc-footer-columns,
  .rhc-site-footer .wp-block-column,
  .rhc-site-footer .wp-block-navigation,
  .rhc-site-footer .wp-block-navigation__container,
  .rhc-site-footer .wp-block-navigation-item,
  .rhc-site-footer .wp-block-navigation-item__content {
    max-width: 100%;
    min-width: 0;
  }

  main#riverhouse-public-main .alignfull,
  main#riverhouse-public-main .alignwide,
  main#riverhouse-public-main .rhc-card-grid,
  main#riverhouse-public-main .rhc-equal-pathways,
  main#riverhouse-public-main .wp-block-group,
  main#riverhouse-public-main .wp-block-columns {
    width: auto;
  }

  main#riverhouse-public-main .wp-block-columns {
    display: flex;
    flex-direction: column;
    inline-size: 100%;
  }

  main#riverhouse-public-main .wp-block-column {
    flex-basis: auto !important;
    inline-size: 100%;
    max-inline-size: 100%;
  }

  .rhc-site-footer {
    inline-size: 100%;
    overflow-x: clip;
  }

  .rhc-site-footer .rhc-footer-columns {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    inline-size: 100%;
  }

  .rhc-site-footer .wp-block-column {
    flex-basis: auto !important;
    inline-size: 100%;
  }

  .rhc-site-footer .wp-block-navigation__container {
    align-items: flex-start;
    inline-size: 100%;
  }

  .rhc-site-footer .wp-block-navigation-item__content {
    overflow-wrap: anywhere;
    white-space: normal;
  }

  header.wp-block-group {
    overflow-x: clip;
  }

  header.wp-block-group > .wp-block-group,
  header.wp-block-group .wp-block-site-title,
  header.wp-block-group .wp-block-navigation {
    inline-size: 100%;
  }

  header.wp-block-group .wp-block-site-title,
  header.wp-block-group .wp-block-site-title a {
    overflow-wrap: anywhere;
    white-space: normal;
  }

  header.wp-block-group .wp-block-navigation__responsive-container-open {
    margin-inline-start: auto;
    min-block-size: 44px;
    min-inline-size: 44px;
  }

  header .wp-block-navigation__responsive-container.is-menu-open {
    box-sizing: border-box;
    inset: 0;
    max-width: 100vw;
    overflow-x: hidden;
    overflow-y: auto;
    position: fixed;
    width: 100vw;
    z-index: 100000;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
    margin: 0;
    padding-inline: clamp(1.25rem, 6vw, 2rem);
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    align-items: stretch;
    justify-content: flex-start;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    align-items: stretch;
    margin-inline: auto;
    max-width: 22rem;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    max-width: 100%;
    width: 100%;
  }

  header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    align-items: center;
    box-sizing: border-box;
    justify-content: center;
    min-block-size: 44px;
    max-width: 100%;
    overflow-wrap: break-word;
    padding-block: 0.35rem;
    padding-inline: 0.25rem;
    text-align: center;
    white-space: normal;
    width: 100%;
  }

  main#riverhouse-public-main .wp-block-buttons,
  main#riverhouse-public-main .wp-block-button,
  main#riverhouse-public-main .wp-block-button__link {
    inline-size: 100%;
  }

  main#riverhouse-public-main .wp-block-button__link {
    justify-content: center;
    white-space: normal;
  }

  .riverhouse-static-surface .wp-block-navigation__responsive-container.is-menu-open {
    display: flex;
    visibility: visible;
    opacity: 1;
    box-sizing: border-box;
    inset: 0;
    max-width: 100vw;
    overflow-x: hidden;
    overflow-y: auto;
    position: fixed;
    width: 100vw;
    z-index: 100000;
  }

  .riverhouse-static-surface .wp-block-navigation__responsive-container-open[aria-expanded="true"] {
    display: none;
  }

  .riverhouse-static-surface .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
    align-items: center;
    display: flex;
    justify-content: center;
    min-block-size: 44px;
    min-inline-size: 44px;
    visibility: visible;
    opacity: 1;
  }
}

/* Public mobile content margin guards: keep text/forms off viewport edges without creating horizontal scroll. */
@media (max-width: 599px) {
	main#riverhouse-public-main {
		inline-size: 100%;
		overflow-x: clip;
	}

	main#riverhouse-public-main > :where(.wp-block-group, section),
	main#riverhouse-public-main > :where(.wp-block-group.alignfull, .wp-block-group.alignwide),
	main#riverhouse-public-main :where(.wp-block-group.alignwide, .wp-block-group.alignfull),
	main#riverhouse-public-main.rh-field-trips-page :where(.wrap, .card),
	main#riverhouse-public-main.rhc-class-booking-request-page :where(.rhc-class-booking-request, .rhc-test-cancellation-state),
	main#riverhouse-public-main.rhc-credits-account-page :where(.rhc-test-account-summary, .rhc-test-cancellation-state, .rhc-credit-account-steps) {
		box-sizing: border-box;
		max-inline-size: min(100%, 100vw);
		padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));
	}

	main#riverhouse-public-main.rh-field-trips-page :where(.wrap, .card),
	main#riverhouse-public-main.rhc-class-booking-request-page :where(.rhc-class-booking-request, .rhc-test-cancellation-state),
	main#riverhouse-public-main.rhc-credits-account-page :where(.rhc-test-account-summary, .rhc-test-cancellation-state, .rhc-credit-account-steps) {
		margin-inline: auto;
	}

	main#riverhouse-public-main :where(h1, h2, h3, h4, h5, h6, p, ul, ol, li, form, label, .wp-block-columns, .wp-block-column, .wp-block-buttons, .rhc-credit-balance-grid, .rhc-credit-price-grid, .rhc-account-request-form, .rhc-cancellation-request-form) {
		box-sizing: border-box;
		inline-size: auto;
		max-inline-size: calc(100vw - 2rem) !important;
		margin-left: auto;
		margin-right: auto;
	}

	main#riverhouse-public-main :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea, button) {
		box-sizing: border-box;
		inline-size: 100%;
		max-inline-size: 100%;
	}

	main#riverhouse-public-main.rhc-class-booking-request-page :where(.rhc-class-request-form, .rhc-cancellation-request-form) label:has(> input[type="checkbox"]) {
		inline-size: 100%;
		max-inline-size: 100%;
		overflow-wrap: anywhere;
	}
}

/* Credits/account mobile guards. */
main#riverhouse-public-main.rhc-credits-account-page .rhc-account-request-form { max-width: 760px; }
main#riverhouse-public-main.rhc-credits-account-page .rhc-account-request-form :where(input, select, textarea) { box-sizing: border-box; max-width: 100%; }

main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-balance-panel {
	border: 1px solid rgba(45, 75, 60, 0.16);
	border-radius: 24px;
	padding: clamp(1.25rem, 4vw, 2rem);
	background: #fffdf7;
	box-shadow: 0 14px 40px rgba(45, 75, 60, 0.08);
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-balance-summary {
	font-size: clamp(1.15rem, 2.5vw, 1.45rem);
	font-weight: 700;
	margin-block: 0 1rem;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-balance-grid,
main#riverhouse-public-main.rhc-credits-account-page .rhc-account-credit-summary-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin: 1.25rem 0 1.5rem;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-balance-card,
main#riverhouse-public-main.rhc-credits-account-page .rhc-account-credit-summary-card,
main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-history-list li,
main#riverhouse-public-main.rhc-credits-account-page .rhc-class-request-receipt,
main#riverhouse-public-main.rhc-credits-account-page .rhc-class-request-empty,
main#riverhouse-public-main.rhc-credits-account-page .rhc-field-trip-inquiry-receipt,
main#riverhouse-public-main.rhc-credits-account-page .rhc-field-trip-inquiry-empty,
main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-empty-state,
main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-error-state {
	min-width: 0;
	border: 1px solid rgba(45, 75, 60, 0.14);
	border-radius: 18px;
	padding: 1rem;
	background: #f8f3ea;
	overflow-wrap: anywhere;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-balance-card span,
main#riverhouse-public-main.rhc-credits-account-page .rhc-account-credit-summary-card span,
main#riverhouse-public-main.rhc-credits-account-page .rhc-account-credit-summary-card small,
main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-history-list small {
	display: block;
	color: #4d6357;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-balance-card strong,
main#riverhouse-public-main.rhc-credits-account-page .rhc-account-credit-summary-card strong {
	display: block;
	font-size: clamp(2rem, 8vw, 3rem);
	line-height: 1;
	margin: 0.35rem 0;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-history-list {
	list-style: none;
	padding: 0;
	margin: 1rem 0;
	display: grid;
	gap: 0.85rem;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-history-list li {
	display: grid;
	grid-template-columns: minmax(7.5rem, auto) minmax(0, 1fr);
	gap: 0.5rem 1rem;
	align-items: start;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-history-list li small {
	grid-column: 2;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-history-status {
	border-radius: 999px;
	padding: 0.2rem 0.65rem;
	font-size: 0.82rem;
	font-weight: 700;
	text-align: center;
	white-space: nowrap;
	background: #e6eee7;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-history-status--pending {
	background: #f3e4c8;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-class-request-receipts,
main#riverhouse-public-main.rhc-credits-account-page .rhc-account-credit-summary {
	border: 1px solid rgba(45, 75, 60, 0.16);
	border-radius: 24px;
	padding: clamp(1.25rem, 4vw, 2rem);
	background: #fffdf7;
	box-shadow: 0 14px 40px rgba(45, 75, 60, 0.08);
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-event-request-receipts,
main#riverhouse-public-main.rhc-credits-account-page .rhc-field-trip-inquiry-receipts {
	border: 1px solid rgba(45, 75, 60, 0.16);
	border-radius: 24px;
	padding: clamp(1.25rem, 4vw, 2rem);
	background: #fffdf7;
	box-shadow: 0 14px 40px rgba(45, 75, 60, 0.08);
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-class-request-receipt-list {
	list-style: none;
	padding: 0;
	margin: 1rem 0 0;
	display: grid;
	gap: 0.85rem;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-event-request-receipt-list,
main#riverhouse-public-main.rhc-credits-account-page .rhc-field-trip-inquiry-receipt-list {
	list-style: none;
	padding: 0;
	margin: 1rem 0 0;
	display: grid;
	gap: 0.85rem;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-class-request-receipt {
	display: grid;
	grid-template-columns: minmax(7.5rem, auto) minmax(0, 1fr);
	gap: 0.45rem 1rem;
	align-items: start;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-event-request-receipt,
main#riverhouse-public-main.rhc-credits-account-page .rhc-field-trip-inquiry-receipt {
	display: grid;
	grid-template-columns: minmax(7.5rem, auto) minmax(0, 1fr);
	gap: 0.45rem 1rem;
	align-items: start;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-event-request-receipt {
	display: grid;
	grid-template-columns: minmax(7.5rem, auto) minmax(0, 1fr);
	gap: 0.45rem 1rem;
	align-items: start;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-class-request-receipt small {
	display: block;
	color: #4d6357;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-customer-cancel-class-request {
	grid-column: 1 / -1;
	margin-block-start: 0.35rem;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-customer-cancel-class-request button {
	min-height: 44px;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-account-credit-summary-status {
	border-inline-start: 4px solid #b85c38;
	margin-block: 1rem 0;
	padding-inline-start: 1rem;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-event-request-receipt small,
main#riverhouse-public-main.rhc-credits-account-page .rhc-field-trip-inquiry-receipt small {
	display: block;
	color: #4d6357;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-receipt-label {
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #4d6357;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-receipt-status {
	border-radius: 0;
	padding: 0.2rem 0.65rem;
	font-size: 0.82rem;
	font-weight: 700;
	justify-self: start;
	background: var(--surface);
	border: 1px solid var(--rule);
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-honeypot {
	display: none !important;
}

@media (max-width: 480px) {
	main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-balance-grid,
	main#riverhouse-public-main.rhc-credits-account-page .rhc-account-credit-summary-grid,
	main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-history-list li,
	main#riverhouse-public-main.rhc-credits-account-page .rhc-class-request-receipt,
	main#riverhouse-public-main.rhc-credits-account-page .rhc-event-request-receipt,
	main#riverhouse-public-main.rhc-credits-account-page .rhc-field-trip-inquiry-receipt {
		grid-template-columns: minmax(0, 1fr);
	}

	main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-history-list li small {
		grid-column: auto;
	}
}

/* Shared public header lockup guard: keep the image wordmark compact on static secondary pages. */
.rhc-phase1-header .rh-wordmark {
	align-items: center;
	box-sizing: border-box;
	display: inline-flex;
	gap: 0.5rem;
	max-inline-size: 100%;
	min-inline-size: 0;
	overflow-wrap: anywhere;
}

.rhc-phase1-header .rh-wordmark picture,
.rhc-phase1-header .rh-wordmark img {
	block-size: 44px;
	display: inline-block;
	flex: 0 0 44px;
	inline-size: 44px;
	max-inline-size: 44px;
	object-fit: contain;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-phase2-credit-card {
	background: var(--surface);
	border-color: var(--rule);
	padding: var(--sp-6);
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-balance-grid,
main#riverhouse-public-main.rhc-credits-account-page .rhc-account-credit-summary-grid {
	gap: var(--sp-4);
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-balance-card,
main#riverhouse-public-main.rhc-credits-account-page .rhc-account-credit-summary-card {
	background: var(--surface);
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-balance-card strong,
main#riverhouse-public-main.rhc-credits-account-page .rhc-account-credit-summary-card strong {
	font-size: var(--fs-hero);
	letter-spacing: 0;
	color: var(--tx);
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-phase2-held-guide,
main#riverhouse-public-main.rhc-class-booking-request-page .rhc-phase2-booking-rail,
main#riverhouse-public-main.rhc-class-booking-request-page .rhc-phase2-booking-steps,
main#riverhouse-public-main.rhc-class-booking-request-page .rhc-test-cancellation-state {
	box-sizing: border-box;
	min-inline-size: 0;
	max-inline-size: 100%;
	border: 1px solid var(--rule);
	padding: var(--sp-5);
	background: var(--surface);
	overflow-wrap: anywhere;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-phase2-held-guide table,
main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-balance-panel table {
	inline-size: 100%;
	border-collapse: collapse;
	margin-block-start: var(--sp-4);
	font-size: var(--fs-sm);
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-phase2-held-guide :where(th, td) {
	padding: var(--sp-3) var(--sp-2);
	border-bottom: 1px solid var(--rule);
	text-align: left;
	vertical-align: top;
}

main#riverhouse-public-main.rhc-credits-account-page .rhc-credit-price-grid > .wp-block-column,
main#riverhouse-public-main.rhc-credits-account-page .rhc-account-request-form,
main#riverhouse-public-main.rhc-credits-account-page .rhc-cancellation-request-form,
main#riverhouse-public-main.rhc-class-booking-request-page .rhc-class-request-form,
main#riverhouse-public-main.rhc-class-booking-request-page .rhc-cancellation-request-form {
	box-sizing: border-box;
	min-inline-size: 0;
	border: 1px solid var(--rule);
	padding: var(--sp-5);
	background: var(--surface);
}

main#riverhouse-public-main.rhc-credits-account-page :where(input, select, textarea),
main#riverhouse-public-main.rhc-class-booking-request-page :where(input, select, textarea) {
	box-sizing: border-box;
	inline-size: 100%;
	min-inline-size: 0;
	border: 1px solid var(--rule);
	padding: var(--sp-3) var(--sp-4);
	background: var(--surface);
	color: var(--tx);
	font: inherit;
}

main#riverhouse-public-main.rhc-credits-account-page :where(label),
main#riverhouse-public-main.rhc-class-booking-request-page :where(label) {
	display: grid;
	gap: var(--sp-2);
	font-weight: 700;
}

main#riverhouse-public-main.rhc-credits-account-page :where(button, .wp-element-button),
main#riverhouse-public-main.rhc-class-booking-request-page :where(button, .wp-element-button) {
	border: 0;
	padding: var(--sp-3) var(--sp-5);
	background: var(--rust);
	color: var(--on-ink);
	font-weight: 800;
	text-decoration: none;
}

main#riverhouse-public-main.rhc-credits-account-page .is-style-outline .wp-element-button,
main#riverhouse-public-main.rhc-class-booking-request-page .is-style-outline .wp-element-button {
	background: transparent;
	color: var(--tx);
	border: 1px solid var(--rule);
}

main#riverhouse-public-main.rhc-class-booking-request-page .rhc-phase2-creditbar {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--sp-3) var(--sp-4);
	padding: var(--sp-3) var(--sp-4);
	background: var(--ground);
	border-block: 1px solid var(--rule);
	color: var(--tx-2);
}

main#riverhouse-public-main.rhc-class-booking-request-page .rhc-phase2-steps {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--sp-5);
	display: grid;
	gap: var(--sp-3);
}

main#riverhouse-public-main.rhc-class-booking-request-page .rhc-phase2-steps li {
	display: grid;
	grid-template-columns: var(--sp-7) minmax(0, 1fr);
	gap: var(--sp-3) var(--sp-4);
	align-items: start;
	padding: var(--sp-4);
	background: var(--surface);
}

main#riverhouse-public-main.rhc-class-booking-request-page .rhc-phase2-steps li span {
	display: grid;
	place-items: center;
	inline-size: var(--sp-7);
	block-size: var(--sp-7);
	background: var(--river);
	color: var(--on-ink);
	font-weight: 800;
}

main#riverhouse-public-main.rhc-class-booking-request-page .rhc-phase2-steps li small {
	grid-column: 2;
	color: var(--tx-2);
}

main#riverhouse-public-main.rhc-class-booking-request-page .rhc-phase2-booking-rail {
	position: sticky;
	top: var(--sp-4);
	background: var(--surface);
}

main#riverhouse-public-main.rhc-class-booking-request-page .rhc-phase2-rail-row {
	display: flex;
	justify-content: space-between;
	gap: var(--sp-4);
	padding-block: var(--sp-3);
	border-bottom: 1px solid var(--rule);
}

main#riverhouse-public-main.rhc-class-booking-request-page .rhc-phase2-rail-note,
main#riverhouse-public-main.rhc-class-booking-request-page .rhc-request-note,
main#riverhouse-public-main.rhc-credits-account-page .rhc-request-note,
main#riverhouse-public-main.rhc-credits-account-page .rhc-account-credit-summary-status {
	border-inline-start: 0;
	padding: var(--sp-4);
	background: var(--surface);
	color: var(--tx);
}

@media (max-width: 720px) {
	main#riverhouse-public-main.rhc-class-booking-request-page .rhc-phase2-booking-rail {
		position: static;
	}

	main#riverhouse-public-main.rhc-class-booking-request-page {
		--rhc-mobile-sticky-offset: calc(var(--sp-10) + env(safe-area-inset-bottom,0px));
	}

	main#riverhouse-public-main.rhc-class-booking-request-page .rhc-class-request-form[data-rhc-mobile-sticky-form] {
		padding-bottom: var(--rhc-mobile-sticky-offset);
	}

	main#riverhouse-public-main.rhc-class-booking-request-page .rhc-mobile-sticky-action[data-rhc-mobile-sticky-action] {
		position: fixed;
		inset-inline: var(--sp-3);
		inset-block-end: 0;
		z-index: 20;
		box-sizing: border-box;
		border: 1px solid var(--rule);
		background: var(--ink);
		color: var(--on-ink);
		padding: var(--sp-3);
		padding-bottom: calc(var(--sp-3) + env(safe-area-inset-bottom,0px));
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--sp-3);
		transform: translateY(110%);
		opacity: 0;
		pointer-events: none;
	}

	main#riverhouse-public-main.rhc-class-booking-request-page .rhc-mobile-sticky-action[data-rhc-mobile-sticky-action].is-visible {
		transform: translateY(0);
		opacity: 1;
		pointer-events: auto;
	}
}

@media (max-width: 480px) {
	main#riverhouse-public-main.rhc-credits-account-page,
	main#riverhouse-public-main.rhc-class-booking-request-page {
		inline-size: 100%;
		max-inline-size: 100vw;
	}

	main#riverhouse-public-main.rhc-credits-account-page .rhc-phase2-account-stack,
	main#riverhouse-public-main.rhc-class-booking-request-page .rhc-class-booking-request {
		padding-inline: var(--sp-4);
	}

	main#riverhouse-public-main.rhc-credits-account-page .rhc-phase2-held-guide,
	main#riverhouse-public-main.rhc-class-booking-request-page .rhc-phase2-booking-rail,
	main#riverhouse-public-main.rhc-class-booking-request-page .rhc-phase2-booking-steps,
	main#riverhouse-public-main.rhc-class-booking-request-page .rhc-test-cancellation-state,
	main#riverhouse-public-main.rhc-credits-account-page .rhc-account-request-form,
	main#riverhouse-public-main.rhc-credits-account-page .rhc-cancellation-request-form,
	main#riverhouse-public-main.rhc-class-booking-request-page .rhc-class-request-form,
	main#riverhouse-public-main.rhc-class-booking-request-page .rhc-cancellation-request-form {
		padding: var(--sp-4);
	}

	main#riverhouse-public-main.rhc-class-booking-request-page .rhc-phase2-creditbar {
		justify-content: flex-start;
	}
}

/* Phase 1 style alignment for events and event-request surfaces. */
main#riverhouse-public-main.rhc-events-page,
main#riverhouse-public-main.rhc-event-registration-request-page {
	color: var(--tx);
	overflow-x: clip;
}

main#riverhouse-public-main.rhc-events-page .rhc-events-hero,
main#riverhouse-public-main.rhc-event-registration-request-page > .alignfull:first-of-type {
	border-bottom: 1px solid var(--rule);
	background: var(--paper) !important;
}

main#riverhouse-public-main.rhc-events-page .rhc-event-card-grid,
main#riverhouse-public-main.rhc-events-page .rhc-phase2-event-card-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(1.35rem, 3vw, 1.65rem);
	margin-block: clamp(1.25rem, 3vw, 2rem);
}

main#riverhouse-public-main.rhc-events-page .rhc-event-card,
main#riverhouse-public-main.rhc-events-page .rhc-phase2-event-card,
main#riverhouse-public-main.rhc-events-page .evcard {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(14rem, 0.9fr) minmax(0, 1.1fr);
	margin-bottom: 0;
	max-inline-size: 100%;
	min-inline-size: 0;
	overflow: hidden;
	border: 1px solid var(--rule);
	border-radius: 0;
	background: var(--surface);
	box-shadow: none;
}

main#riverhouse-public-main.rhc-events-page .rhc-phase2-event-media,
main#riverhouse-public-main.rhc-events-page .rh-event-card-image {
	--rhc-event-media-inset: clamp(0.75rem, 1.5vw, 1rem);
	align-self: start;
	aspect-ratio: 4 / 3;
	box-sizing: border-box;
	display: block;
	inline-size: auto;
	margin-block: var(--rhc-event-media-inset);
	margin-inline: var(--rhc-event-media-inset);
	min-block-size: 0;
	min-inline-size: 0;
	overflow: hidden;
	position: relative;
	border-radius: 0;
	background: linear-gradient(135deg, #d9e6dc, #f4e3c4);
}

main#riverhouse-public-main.rhc-events-page .rhc-phase2-event-media > :where(picture, a),
main#riverhouse-public-main.rhc-events-page .rh-event-card-image > :where(picture, a),
main#riverhouse-public-main.rhc-events-page .rhc-phase2-event-media > a > picture,
main#riverhouse-public-main.rhc-events-page .rh-event-card-image > a > picture {
	block-size: 100%;
	display: block;
	inline-size: 100%;
	inset: 0;
	position: absolute;
}

main#riverhouse-public-main.rhc-events-page .rhc-phase2-event-media img,
main#riverhouse-public-main.rhc-events-page .rh-event-card-image img {
	block-size: 100%;
	display: block;
	inline-size: 100%;
	max-inline-size: none;
	object-fit: cover;
	object-position: var(--rhc-event-media-position, center center);
}

main#riverhouse-public-main.rhc-events-page .rhc-event-card-body,
main#riverhouse-public-main.rhc-events-page .body {
	padding: clamp(1.5rem, 4vw, 2rem);
}

main#riverhouse-public-main.rhc-events-page .rhc-phase2-event-badge,
main#riverhouse-public-main.rhc-events-page .rh-event-badge,
main#riverhouse-public-main.rhc-events-page .badge {
	display: inline-flex;
	align-items: center;
	max-inline-size: 100%;
	border-radius: 0;
	padding: 0.32rem 0.72rem;
	background: var(--surface);
	color: var(--rust);
	font-size: 0.82rem;
	font-weight: 800;
	overflow-wrap: anywhere;
}

main#riverhouse-public-main.rhc-events-page .rhc-event-card h3 {
	font-size: clamp(1.55rem, 4vw, 1.9rem);
	line-height: 1.08;
	margin-block: 0.75rem 0.4rem;
}

main#riverhouse-public-main.rhc-events-page .rhc-event-card-facts {
	display: grid;
	gap: 0.6rem;
	margin-block: 1rem;
}

main#riverhouse-public-main.rhc-events-page .rhc-phase2-event-day-list,
main#riverhouse-public-main.rhc-events-page .rhc-ticket-day-list,
main#riverhouse-public-main.rhc-events-page .daylist {
	list-style: none;
	display: grid;
	gap: 0.65rem;
	margin: 1rem 0 1.2rem;
	padding: 1rem 0 0;
	border-top: 1px solid rgba(95, 122, 99, 0.2);
}

main#riverhouse-public-main.rhc-events-page .rhc-phase2-event-day-list li,
main#riverhouse-public-main.rhc-events-page .rhc-ticket-day-list li,
main#riverhouse-public-main.rhc-events-page .daylist li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) minmax(13rem, auto);
	gap: 0.65rem 0.8rem;
	align-items: center;
	min-block-size: 44px;
	padding-block: 0.35rem;
}

main#riverhouse-public-main.rhc-events-page .rhc-phase2-event-day-status,
main#riverhouse-public-main.rhc-events-page .avail {
	display: inline-grid;
	place-items: center;
	inline-size: 1.2rem;
	block-size: 1.2rem;
	border-radius: 0;
	background: var(--river);
}

main#riverhouse-public-main.rhc-events-page .rhc-ticket-day-list .st,
main#riverhouse-public-main.rhc-events-page .daylist .st {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.7rem;
	min-inline-size: 0;
}

main#riverhouse-public-main.rhc-events-page .rhc-event-interest-panel,
main#riverhouse-public-main.rhc-events-page .rhc-events-notice,
main#riverhouse-public-main.rhc-event-registration-request-page .rhc-phase2-event-request-rail,
main#riverhouse-public-main.rhc-event-registration-request-page .rhc-phase2-event-request-main,
main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-status-panel,
main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-form {
	box-sizing: border-box;
	min-inline-size: 0;
	max-inline-size: 100%;
	border: 1px solid var(--rule);
	border-radius: 0;
	padding: clamp(1.15rem, 3vw, 1.8rem);
	background: var(--surface);
	box-shadow: none;
	overflow-wrap: anywhere;
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-phase2-event-request-shell {
	display: grid;
	grid-template-columns: minmax(16rem, 0.58fr) minmax(0, 1fr);
	gap: clamp(1.25rem, 4vw, 2.5rem);
	align-items: start;
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-phase2-event-request-rail {
	position: sticky;
	top: 1rem;
	background: var(--surface);
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-phase2-event-rail-list div {
	display: grid;
	gap: 0.25rem;
	padding-block: 0.8rem;
	border-bottom: 1px solid rgba(45, 75, 60, 0.12);
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-status-panel {
	margin-block: 1rem;
	background: var(--ground);
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-status-panel.is-info {
	background: #fff8ea;
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-status-panel.is-success {
	background: #f5f8f0;
	border-color: #5d7556;
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-status-panel.is-warning {
	background: #fff8ea;
	border-color: #b85c38;
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-status-panel h2 {
	font-size: clamp(1.2rem, 2.4vw, 1.55rem);
	margin-block: 0 0.45rem;
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-status-panel p {
	margin: 0;
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-form :where(input, select, textarea, button) {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: 100%;
	min-inline-size: 0;
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-form :where(input, select, textarea) {
	border: 1px solid var(--rule);
	border-radius: 0;
	padding: 0.86rem 0.95rem;
	background: var(--surface);
	font: inherit;
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-form label {
	display: grid;
	gap: 0.45rem;
	font-weight: 700;
}

main#riverhouse-public-main.rhc-event-registration-request-page .rhc-event-request-form input[type="checkbox"] {
	inline-size: 1rem;
	max-inline-size: 1rem;
}

@media (max-width: 900px) {
	main#riverhouse-public-main.rhc-events-page .rhc-event-card-grid,
	main#riverhouse-public-main.rhc-events-page .rhc-phase2-event-card-grid,
	main#riverhouse-public-main.rhc-events-page .rhc-event-card,
	main#riverhouse-public-main.rhc-events-page .rhc-phase2-event-card,
	main#riverhouse-public-main.rhc-events-page .evcard,
	main#riverhouse-public-main.rhc-event-registration-request-page .rhc-phase2-event-request-shell {
		grid-template-columns: minmax(0, 1fr);
	}

	main#riverhouse-public-main.rhc-events-page .rhc-phase2-event-media,
	main#riverhouse-public-main.rhc-events-page .rh-event-card-image {
		inline-size: auto;
		margin-block: var(--rhc-event-media-inset) 0;
		margin-inline: var(--rhc-event-media-inset);
		min-block-size: 0;
	}

	main#riverhouse-public-main.rhc-event-registration-request-page .rhc-phase2-event-request-rail {
		position: static;
	}
}

@media (max-width: 480px) {
	main#riverhouse-public-main.rhc-events-page,
	main#riverhouse-public-main.rhc-event-registration-request-page {
		inline-size: 100%;
		max-inline-size: 100vw;
	}

	main#riverhouse-public-main.rhc-events-page .wrap,
	main#riverhouse-public-main.rhc-event-registration-request-page .rhc-phase2-event-request {
		box-sizing: border-box;
		max-inline-size: min(100%, 100vw);
		padding-inline: 1rem;
	}

	main#riverhouse-public-main.rhc-events-page .rhc-phase2-event-day-list li,
	main#riverhouse-public-main.rhc-events-page .rhc-ticket-day-list li,
	main#riverhouse-public-main.rhc-events-page .daylist li {
		grid-template-columns: auto minmax(0, 1fr);
	}

	main#riverhouse-public-main.rhc-events-page .rhc-ticket-day-list .st,
	main#riverhouse-public-main.rhc-events-page .daylist .st {
		grid-column: 1 / -1;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
}


main#riverhouse-public-main.rh-field-trips-page .rh-field-trip-form-shell,
main#riverhouse-public-main.rh-field-trips-page .rh-field-trip-inquiry-form {
  box-sizing: border-box;
  max-inline-size: 100%;
}

main#riverhouse-public-main.rh-field-trips-page .rh-field-trip-inquiry-form :where(input, select, textarea, button) {
  box-sizing: border-box;
  max-inline-size: 100%;
}

main#riverhouse-public-main.rh-field-trips-page .rh-field-trip-inquiry-form :where(input, select, textarea) {
  inline-size: 100%;
  min-inline-size: 0;
}

main#riverhouse-public-main.rh-field-trips-page .rhc-public-inquiry-request-status,
main#riverhouse-public-main.rh-field-trips-page .rhc-request-note {
  overflow-wrap: anywhere;
}

main#riverhouse-public-main.rh-field-trips-page .rh-field-trip-inquiry-form .rhc-honeypot,
main#riverhouse-public-main.rh-field-trips-page .rh-field-trip-inquiry-form .rhc-honeypot :where(label, input) {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

main#riverhouse-public-main.rh-field-trips-page .rh-field-trip-status-wrap,
main#riverhouse-public-main.rh-field-trips-page .rh-field-trip-planning-summary,
main#riverhouse-public-main.rh-field-trips-page .rhc-field-trip-inquiry-status-panel,
main#riverhouse-public-main.rh-field-trips-page .rh-field-trip-page-content-shell {
  box-sizing: border-box;
  max-inline-size: 100%;
  min-width: 0;
}

main#riverhouse-public-main.rh-field-trips-page .rh-field-trip-status-wrap {
  margin-block: clamp(1rem, 3vw, 2rem) 0;
}

main#riverhouse-public-main.rh-field-trips-page .rhc-field-trip-inquiry-status-panel {
	background: var(--surface);
	border: 2px solid var(--rust);
	border-radius: 0;
	color: var(--tx);
	padding: clamp(1rem, 3vw, 1.35rem);
}

main#riverhouse-public-main.rh-field-trips-page .rhc-field-trip-inquiry-status-panel.is-success {
	background: var(--surface);
	border-color: var(--river);
}

main#riverhouse-public-main.rh-field-trips-page .rhc-field-trip-inquiry-status-panel h2 {
  font-size: clamp(1.2rem, 2.4vw, 1.55rem);
  margin-block: 0 0.45rem;
}

main#riverhouse-public-main.rh-field-trips-page .rhc-field-trip-inquiry-status-panel p {
  margin: 0;
}

@media (max-width: 480px) {
  main#riverhouse-public-main.rh-field-trips-page,
  main#riverhouse-public-main.rh-field-trips-page .wrap,
  main#riverhouse-public-main.rh-field-trips-page .card,
  main#riverhouse-public-main.rh-field-trips-page .rh-field-trip-page-content-shell,
  main#riverhouse-public-main.rh-field-trips-page .rh-field-trip-planning-summary,
  main#riverhouse-public-main.rh-field-trips-page .rhc-field-trip-inquiry-status-panel {
    max-inline-size: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
  }

  main#riverhouse-public-main.rh-field-trips-page .rh-field-trip-status-wrap {
    padding-inline: 1rem;
  }
}

/* RH-VISUAL-P1-KIT-003 moved former template inline visual styles into source classes. */
.rh-kit-src-u-0466783d{width:100%}
.rh-kit-src-u-11f145ab{margin:3px 0 8px}
.rh-kit-src-u-13f24e73{margin-bottom:22px}
.rh-kit-src-u-1b0f4999{margin-top:16px}
.rh-kit-src-u-1d1b4b55{padding:22px;display:grid;gap:18px}
.rh-kit-src-u-24f3a016{color:#182221;margin-top:0;margin-bottom:1.25rem;font-family:Georgia, 'Times New Roman', serif;font-size:clamp(2.25rem, 7vw, 4.8rem);font-weight:400;line-height:1.04}
.rh-kit-src-u-2517a51b{margin-top:22px}
.rh-kit-src-u-28e43cf3{border-radius:10px;mix-blend-mode:multiply}
.rh-kit-src-u-2b583d73{margin-bottom:14px}
.rh-kit-src-u-2d1e35fb{aspect-ratio:4/3}
.rh-kit-src-u-345438e7{aspect-ratio:4/3}
.rh-kit-src-u-3f367c00{align-items:stretch}
.rh-kit-src-u-46a43ef4{border-radius:24px;padding-top:var(--wp--preset--spacing--40);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40)}
.rh-kit-src-u-49428156{color:#23302f;margin-top:0;margin-bottom:1rem;font-size:1.05rem;line-height:1.7}
.rh-kit-src-u-49860aae{color:#5f6f68;margin-top:0;margin-bottom:0;font-size:0.98rem;line-height:1.65}
.rh-kit-src-u-49fcd855{margin-top:24px}
.rh-kit-src-u-4cee7771{overflow-x:auto;max-width:100%}
.rh-kit-src-u-4f2eb4ab{padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--60)}
.rh-kit-src-u-5244a5bc{padding:26px;margin-bottom:18px}
.rh-kit-src-u-535f429d{margin:12px 0 18px}
.rh-kit-src-u-544aaea6{padding-top:var(--wp--preset--spacing--60);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--50)}
.rh-kit-src-u-583f758b{margin-top:28px}
.rh-kit-src-u-5894699e{padding:30px;max-width:100%;overflow-x:auto}
.rh-kit-src-u-669b48f4{padding:26px}
.rh-kit-src-u-699ee683{margin:12px 0 22px}
.rh-kit-src-u-6ac1322b{width:42%}
.rh-kit-src-u-6c6153ef{color:var(--pine)}
.rh-kit-src-u-6d000617{margin-left:auto}
.rh-kit-src-u-6e12ab0d{margin-bottom:26px}
.rh-kit-src-u-81aea127{margin-top:9px}
.rh-kit-src-u-8677744d{margin-bottom:24px}
.rh-kit-src-u-86de7ac6{margin-top:18px}
.rh-kit-src-u-87c136df{margin-bottom:16px}
.rh-kit-src-u-8a77e5a3{margin-top:8px}
.rh-kit-src-u-a045c30f{color:#b85c38;margin-top:1.5rem;margin-bottom:1rem;font-size:0.84rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase}
.rh-kit-src-u-a57c0468{margin:16px 0 26px}
.rh-kit-src-u-a64d56da{padding-top:var(--wp--preset--spacing--70);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--70);padding-left:var(--wp--preset--spacing--50)}
.rh-kit-src-u-ac503540{margin:12px 0 16px}
.rh-kit-src-u-afe42145{padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--40)}
.rh-kit-src-u-b56cd91e{border-color:#f4dfbf;border-width:1px;border-radius:36px;background-color:#f4dfbf;padding-top:clamp(1.5rem, 5vw, 3rem);padding-right:clamp(1.25rem, 5vw, 3rem);padding-bottom:clamp(1.5rem, 5vw, 3rem);padding-left:clamp(1.25rem, 5vw, 3rem)}
.rh-kit-src-u-c1105bdf{margin-top:64px}
.rh-kit-src-u-c2f8546b{margin-top:32px}
.rh-kit-src-u-c5fb5b6e{margin:16px 0 8px}
.rh-kit-src-u-c66ff2c0{width:30%}
.rh-kit-src-u-c8fdf556{margin:18px 0 14px}
.rh-kit-src-u-cdc43263{border-width:1px;border-radius:24px;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)}
.rh-kit-src-u-cde6799c{border-width:1px;border-radius:24px;padding-top:var(--wp--preset--spacing--40);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40)}
.rh-kit-src-u-ce7cd75a{color:#23302f;background-color:#fffaf2;min-height:100vh;padding-top:clamp(2.5rem, 7vw, 6rem);padding-right:clamp(1.25rem, 5vw, 4rem);padding-bottom:clamp(2.5rem, 7vw, 6rem);padding-left:clamp(1.25rem, 5vw, 4rem)}
.rh-kit-src-u-cf2ce286{display:none!important}
.rh-kit-src-u-cf4882d2{margin:16px 0 14px}
.rh-kit-src-u-d00d80b9{padding-top:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50)}
.rh-kit-src-u-d2c171b1{margin-top:10px}
.rh-kit-src-u-de42435e{margin-top:0;margin-bottom:1rem;font-size:clamp(1.12rem, 2.3vw, 1.5rem);line-height:1.55}
.rh-kit-src-u-dfb21652{align-items:start}
.rh-kit-src-u-e20863f0{margin-top:16px;max-width:34ch;color:#A9B7AF}
.rh-kit-src-u-e5977ccd{display:flex;gap:14px;flex-wrap:wrap}
.rh-kit-src-u-e5ebac73{padding-top:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40)}
.rh-kit-src-u-eab06af2{width:96px;flex:none}
.rh-kit-src-u-f15bdb61{font-size:1.1rem}
.rh-kit-src-u-f41cd0cc{padding-top:var(--wp--preset--spacing--60);padding-bottom:var(--wp--preset--spacing--60)}
.rh-kit-src-u-fe7b4979{margin-top:6px}
.rh-kit-src-u-feeb600f{padding:22px;display:flex;gap:18px;align-items:flex-start;max-width:760px}
/* End RH-VISUAL-P1-KIT-003 source utility classes. */

/* Customer-only WooCommerce wallet, pass history, and private profile photo. */
.woocommerce-account .rhc-wallet-hub {
  display: grid;
  gap: clamp(1.5rem, 4vw, 2.5rem);
}

.woocommerce-account .rhc-wallet-hub__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.5rem;
}

.woocommerce-account .rhc-wallet-hub :where(.rhc-wallet-hub__balance, .rhc-wallet-hub__passes, .rhc-wallet-hub__bookings) {
  min-width: 0;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.woocommerce-account .rhc-wallet-pass-list {
  display: grid;
  gap: 1rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.woocommerce-account .rhc-wallet-pass {
  padding: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--cream, #fffaf2) 72%, white);
}

.woocommerce-account .rhc-wallet-pass :where(h4, p) {
  margin-block: 0 0.35rem;
}

.woocommerce-account .rhc-wallet-profile-photo,
.woocommerce-account .rhc-private-profile-photo__current {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  flex-wrap: wrap;
}

.woocommerce-account :where(.rhc-wallet-profile-photo, .rhc-private-profile-photo__current) img {
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
}

.woocommerce-account .rhc-private-profile-photo {
  margin-block: 1.5rem;
  padding: 1rem;
}

.woocommerce-account .rhc-pass-checkout {
  margin-block: 0 2rem;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}

.woocommerce-account .rhc-pass-checkout__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 1rem;
  margin-block-start: 1.25rem;
}

.woocommerce-account .rhc-pass-checkout__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  padding: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--cream, #fffaf2) 72%, white);
}

.woocommerce-account .rhc-pass-checkout__card :where(h3, p) {
  margin-block: 0 0.6rem;
}

.woocommerce-account .rhc-pass-checkout__price {
  font-size: 1.25rem;
}

.woocommerce-account .rhc-pass-checkout__form {
  width: 100%;
  margin-block-start: auto;
  padding-block-start: 0.5rem;
}

.woocommerce-account .rhc-pass-checkout__form button {
  width: 100%;
  min-height: 44px;
  white-space: normal;
}

.woocommerce-account .rhc-pass-checkout__blocked {
  margin-block-start: auto;
  color: #8a341f;
}

@media (max-width: 640px) {
  .woocommerce-account .rhc-wallet-hub__header {
    flex-direction: column-reverse;
  }

  .woocommerce-account .rhc-pass-checkout__grid {
    grid-template-columns: 1fr;
  }
}
