/* Admin structure styles - ships with modules/admin. Skin (colors, fonts)
   comes from the active theme: token CSS variables + the theme's fonts.css
   and gms_icons.css, linked by modules/admin/templates/layout.php. */

:root {
	/* ============================================================
	   GMS BRAND PALETTE - single source of truth (logo + site)
	   ============================================================ */
	/* logo greens - mane gradient (top = brightest brand green) */
	--gms-body: #c8e1c3;
	--gms-mane-top: #0c8642;
	--gms-mane-1: #0f733a;
	--gms-mane-2: #125f31;
	--gms-mane-3: #144c24;
	--gms-mane-4: #10371a;
	--gms-mane-shadow: #0b130b;
	/* site brand greens */
	--gms-green-dark: #00370d;
	--gms-green: #008521;
	--gms-green-vivid: #00aa33;
	/* site sage + mint greens */
	--gms-sage-1: #aed2a7;
	--gms-sage-2: #c7e0c2;
	--gms-sage-3: #c9e4c8;
	--gms-sage-4: #c8dfc2;
	--gms-sage-5: #9dc49f;
	--gms-mint-1: #e3f0df;
	--gms-mint-2: #e4f1e3;
	/* neutrals */
	--gms-white: #ffffff;
	--gms-black: #000000;
	--gms-green-gray: #4d6453;
	--gms-border: #b8cdbb;
	/* utility accents (pop) */
	--gms-gold: #ffd801;
	--gms-teal: #0099aa;
	--gms-error: #bb0000;
	--gms-error-dark: #990000;
	--gms-error-bg: #ffdddd;
	/* rgb triplets for rgba() shadows + overlays */
	--gms-shadow-rgb: 0, 55, 13;
	--gms-white-rgb: 255, 255, 255;
	--gms-black-rgb: 0, 0, 0;
	--gms-body-rgb: 200, 225, 195;
	--gms-mane-top-rgb: 12, 134, 66;
	--gms-gold-rgb: 255, 216, 1;
	--theme-color-bg: var(--gms-body);
	--theme-color-surface: var(--gms-white);
	--theme-color-text: var(--gms-mane-4);
	--theme-color-muted: var(--gms-green-gray);
	--theme-color-accent: var(--gms-green-dark);
	--theme-color-border: var(--gms-border);
	--theme-page-section-bg: var(--gms-white);
	--theme-page-section-text: var(--gms-mane-4);
	--theme-page-section-border: var(--gms-border);
	--theme-page-section-radius: 0px;
	--theme-page-section-padding: 1.25rem 1.4rem;
	--theme-page-section-shadow: none;
	--theme-content-card-bg: var(--gms-white);
	--theme-content-card-text: var(--gms-mane-4);
	--theme-content-card-border: var(--gms-border);
	--theme-content-card-radius: 18px;
	--theme-content-card-padding: 1rem 1.05rem 1.1rem;
	--theme-content-card-shadow: 0 14px 28px rgba(var(--gms-shadow-rgb), 0.08);
	--theme-content-card-hover-bg: var(--gms-white);
	--theme-content-card-hover-text: var(--gms-mane-4);
	--theme-content-card-hover-border: var(--gms-border);
	--theme-content-card-hover-radius: 18px;
	--theme-content-card-hover-padding: 1rem 1.05rem 1.1rem;
	--theme-content-card-hover-shadow: 0 18px 34px rgba(var(--gms-shadow-rgb), 0.12);
	--theme-content-card-hover-margin: 0 0 1rem 0;
	--theme-content-card-hover-text-align: left;
	--theme-section-title-color: var(--gms-mane-4);
	--theme-section-title-size: 1.2rem;
	--theme-section-title-margin-bottom: 0.75rem;
	--theme-body-copy-color: var(--gms-mane-4);
	--theme-body-copy-size: 1rem;
	--theme-body-copy-line-height: 1.7;
	--theme-meta-pill-bg: var(--gms-sage-3);
	--theme-meta-pill-text: var(--gms-green-dark);
	--theme-meta-pill-border: var(--gms-border);
	--theme-meta-pill-radius: 999px;
	--theme-meta-pill-padding-y: 0.35rem;
	--theme-meta-pill-padding-x: 0.8rem;
	--theme-action-button-bg: var(--gms-green-dark);
	--theme-action-button-text: var(--gms-mint-2);
	--theme-action-button-border: var(--gms-green-dark);
	--theme-action-button-radius: 999px;
	--theme-action-button-padding-y: 20px;
	--theme-action-button-padding-x: 20px;
	--theme-action-button-shadow: none;
	--theme-action-button-hover-bg: var(--gms-green-dark);
	--theme-action-button-hover-text: var(--gms-mint-2);
	--theme-action-button-hover-border: var(--gms-green-dark);
	--theme-action-button-hover-radius: 999px;
	--theme-action-button-hover-padding-y: 0.6rem;
	--theme-action-button-hover-padding-x: 1rem;
	--theme-action-button-hover-shadow: 0 0.5rem 1.1rem rgba(var(--gms-shadow-rgb), 0.14);
	--theme-action-button-hover-margin: 0;
	--theme-action-button-hover-text-align: left;
	--theme-action-button-secondary-bg: var(--gms-white);
	--theme-action-button-secondary-text: var(--gms-mane-4);
	--theme-action-button-secondary-border: var(--gms-border);
	--theme-action-button-secondary-radius: 999px;
	--theme-action-button-secondary-padding-y: 0.6rem;
	--theme-action-button-secondary-padding-x: 1rem;
	--theme-action-button-secondary-shadow: none;
	--theme-action-button-secondary-margin: 0;
	--theme-action-button-secondary-text-align: left;
	--theme-action-button-secondary-hover-bg: var(--gms-mint-1);
	--theme-action-button-secondary-hover-text: var(--gms-mane-4);
	--theme-action-button-secondary-hover-border: var(--gms-border);
	--theme-action-button-secondary-hover-radius: 999px;
	--theme-action-button-secondary-hover-padding-y: 0.6rem;
	--theme-action-button-secondary-hover-padding-x: 1rem;
	--theme-action-button-secondary-hover-shadow: 0 0.5rem 1.1rem rgba(var(--gms-shadow-rgb), 0.07);
	--theme-action-button-secondary-hover-margin: 0;
	--theme-action-button-secondary-hover-text-align: left;
	--theme-action-button-tertiary-bg: transparent;
	--theme-action-button-tertiary-text: var(--gms-green-dark);
	--theme-action-button-tertiary-border: transparent;
	--theme-action-button-tertiary-radius: 999px;
	--theme-action-button-tertiary-padding-y: 0.6rem;
	--theme-action-button-tertiary-padding-x: 1rem;
	--theme-action-button-tertiary-shadow: none;
	--theme-action-button-tertiary-margin: 0;
	--theme-action-button-tertiary-text-align: left;
	--theme-action-button-tertiary-hover-bg: var(--gms-sage-3);
	--theme-action-button-tertiary-hover-text: var(--gms-green-dark);
	--theme-action-button-tertiary-hover-border: transparent;
	--theme-action-button-tertiary-hover-radius: 999px;
	--theme-action-button-tertiary-hover-padding-y: 0.6rem;
	--theme-action-button-tertiary-hover-padding-x: 1rem;
	--theme-action-button-tertiary-hover-shadow: none;
	--theme-action-button-tertiary-hover-margin: 0;
	--theme-action-button-tertiary-hover-text-align: left;
}

body {
	margin: 0;
	font-family: var(--theme-body-font-family, 'Poppins', Arial, sans-serif);
	font-size: var(--theme-body-font-size, 16px);
	line-height: var(--theme-body-line-height, 1.7);
	background: var(--theme-body-bg, var(--theme-color-bg));
	color: var(--theme-body-text, var(--theme-color-text));
	text-align: var(--theme-body-text-align, left);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: 'Bodoni 16', Georgia, serif;
	font-weight: 400;
}

html.is-loading-overlay {
	overflow: hidden;
}

a {
	color: var(--theme-link-text, var(--theme-color-link, var(--theme-color-accent)));
	font-family: var(--theme-link-font-family, inherit);
	font-size: var(--theme-link-font-size, inherit);
	font-weight: var(--theme-link-font-weight, inherit);
	font-style: var(--theme-link-font-style, normal);
	line-height: var(--theme-link-line-height, inherit);
	letter-spacing: var(--theme-link-letter-spacing, inherit);
	text-transform: var(--theme-link-text-transform, none);
	text-decoration: var(--theme-link-text-decoration, underline);
	background: var(--theme-link-bg, transparent);
	border: var(--theme-link-border-width, 1px) var(--theme-link-border-style, solid) var(--theme-link-border, transparent);
	border-radius: var(--theme-link-radius, 0);
	padding: var(--theme-link-padding-y, 0) var(--theme-link-padding-x, 0);
	box-shadow: var(--theme-link-shadow, none);
	margin: var(--theme-link-margin, 0);
	text-align: var(--theme-link-text-align, left);
}

a:hover,
a:focus-visible {
	color: var(--theme-link-hover-text, var(--theme-link-text, var(--theme-color-link, var(--theme-color-accent))));
	text-decoration: var(--theme-link-hover-text-decoration, none);
	background: var(--theme-link-hover-bg, transparent);
	border-color: var(--theme-link-hover-border, transparent);
	border-width: var(--theme-link-hover-border-width, var(--theme-link-border-width, 1px));
	border-style: var(--theme-link-hover-border-style, var(--theme-link-border-style, solid));
	border-radius: var(--theme-link-hover-radius, var(--theme-link-radius, 0));
	padding: var(--theme-link-hover-padding-y, var(--theme-link-padding-y, 0)) var(--theme-link-hover-padding-x, var(--theme-link-padding-x, 0));
	box-shadow: var(--theme-link-hover-shadow, none);
	font-family: var(--theme-link-hover-font-family, var(--theme-link-font-family, inherit));
	font-size: var(--theme-link-hover-font-size, var(--theme-link-font-size, inherit));
	font-weight: var(--theme-link-hover-font-weight, var(--theme-link-font-weight, inherit));
	font-style: var(--theme-link-hover-font-style, var(--theme-link-font-style, normal));
	line-height: var(--theme-link-hover-line-height, var(--theme-link-line-height, inherit));
	letter-spacing: var(--theme-link-hover-letter-spacing, var(--theme-link-letter-spacing, inherit));
	text-transform: var(--theme-link-hover-text-transform, var(--theme-link-text-transform, none));
	margin: var(--theme-link-hover-margin, var(--theme-link-margin, 0));
	text-align: var(--theme-link-hover-text-align, var(--theme-link-text-align, left));
}

blockquote {
	padding: 0 30px 0 0;
}

blockquote:before {
	content: url('/images/quote.png');
	position: absolute;
	left: -25px;
	padding: 0 25px 0 0;
}

blockquote:after {
	content: url('/images/quote2.png');
  position: absolute;
  right: 0;
}

input:not([type=checkbox]), textarea {
  width: 100%;
  padding: 15px 20px;
  font-size: 16px;
  box-sizing: border-box;
}

/*
input[type="checkbox"] {
  width: 30px;
}
*/
.loading-fixed {
	position: fixed;
	top: 50px;
	left: calc(50% - 44px);
	width: 88px;
	max-width: 88px;
	z-index: 2147483647;
}

.loading-bg-fixed {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	filter: alpha(opacity=75);
	opacity: 0.75;
	background: var(--white);
	z-index: 2147483646;
}

.shell {
	margin: 0;
	padding: 0;
	/*
	max-width: 1100px;
	margin: 0 auto;
	padding: 2rem 1.25rem 4rem;
	*/
}
	
.shell-admin {
	position: relative;
	max-width: none;
	padding: 0 1.25rem 3rem;
}

.loading-bg-fixed {
	position: fixed;
	inset: 0;
	background: rgba(var(--gms-body-rgb), 0.72);
	z-index: 1600;
}

.loading-fixed {
	position: fixed;
	top: 2rem;
	left: calc(50% - 32px);
	width: 64px;
	max-width: 64px;
	height: 64px;
	z-index: 1601;
	display: flex;
	align-items: center;
	justify-content: center;
}

.loading-fixed::before {
	content: '';
	width: 42px;
	height: 42px;
	border-radius: 999px;
	border: 4px solid rgba(var(--gms-shadow-rgb), 0.15);
	border-top-color: var(--gms-mane-top);
	animation: gms_loading_spin 0.9s linear infinite;
}

@keyframes gms_loading_spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

.site-header {
	position: relative;
	display: block;
	align-items: flex-start;
	gap: 1rem;
	background: var(--theme-header-bg, transparent);
	color: var(--theme-header-text, inherit);
	border: 1px solid var(--theme-header-border, transparent);
	border-radius: var(--theme-header-radius, 0);
	padding: var(--theme-header-padding, 0 0 1rem 0);
	box-shadow: var(--theme-header-shadow, none);
	margin: var(--theme-header-margin, 0 0 2rem 0);
	width: 100%;
	min-width: 0;
	max-width: none;
	height: var(--theme-header-height, auto);
	min-height: var(--theme-header-min-height, 0);
	max-height: var(--theme-header-max-height, none);
	text-align: var(--theme-header-text-align, left);
	box-sizing: border-box;
}

.site-header-blocks {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	gap: var(--header-blocks-gap, 1rem);
	margin: var(--header-blocks-margin, 0);
	padding: var(--header-blocks-padding, 0 3.25rem 0 0);
}

.site-header-blocks.site-header-blocks-count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.site-header-blocks.site-header-blocks-count-2 {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
}

.site-header-blocks.site-header-blocks-count-2 .site-header-block {
	flex: 0 1 auto;
}

.site-header-blocks.site-header-blocks-count-2 .site-header-block-kind-branding .theme-block-canvas {
	max-width: 420px;
}

.site-header-blocks.site-header-blocks-count-2 .site-header-block-kind-contact_compact .theme-block-canvas {
	max-width: 340px;
}

.site-header-blocks.site-header-blocks-count-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.site-header-blocks.site-header-blocks-count-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.site-header-blocks.site-header-blocks-count-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.site-header-block {
	min-width: 0;
	text-align: var(--theme-header-text-align, left);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-self: flex-start;
}

.site-header-blocks.site-header-blocks-count-1 .site-header-block {
	justify-self: start;
}

.site-header-blocks.site-header-blocks-count-2 .site-header-block:first-child,
.site-header-blocks.site-header-blocks-count-3 .site-header-block:first-child,
.site-header-blocks.site-header-blocks-count-4 .site-header-block:first-child,
.site-header-blocks.site-header-blocks-count-5 .site-header-block:first-child {
	justify-self: start;
}

.site-header-blocks.site-header-blocks-count-2 .site-header-block:last-child,
.site-header-blocks.site-header-blocks-count-3 .site-header-block:last-child,
.site-header-blocks.site-header-blocks-count-4 .site-header-block:last-child,
.site-header-blocks.site-header-blocks-count-5 .site-header-block:last-child {
	justify-self: end;
}

.site-header-blocks.site-header-blocks-count-3 .site-header-block:nth-child(2),
.site-header-blocks.site-header-blocks-count-5 .site-header-block:nth-child(3) {
	justify-self: center;
}

.site-header-blocks.site-header-blocks-count-4 .site-header-block:nth-child(2) {
	justify-self: start;
}

.site-header-blocks.site-header-blocks-count-4 .site-header-block:nth-child(3) {
	justify-self: end;
}

.site-header-blocks.site-header-blocks-count-5 .site-header-block:nth-child(2) {
	justify-self: start;
}

.site-header-blocks.site-header-blocks-count-5 .site-header-block:nth-child(4) {
	justify-self: end;
}

.site-header-block .theme-block-canvas {
	margin-left: 0;
	margin-right: auto;
}

.site-header h1 {
	margin: 0;
	color: var(--theme-header-heading-color, var(--theme-header-text, inherit));
	background: var(--theme-header-heading-bg, transparent);
	border: 1px solid var(--theme-header-heading-border, transparent);
	font-family: var(--theme-header-heading-font-family, inherit);
	font-size: var(--theme-header-heading-font-size, clamp(2rem, 4vw, 3.5rem));
	font-weight: var(--theme-header-heading-font-weight, 400);
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	line-height: var(--theme-header-heading-line-height, 1);
	letter-spacing: var(--theme-header-heading-letter-spacing, 0);
	width: var(--theme-header-heading-width, auto);
	min-width: var(--theme-header-heading-min-width, 0);
	max-width: var(--theme-header-heading-max-width, none);
	height: var(--theme-header-heading-height, auto);
	min-height: var(--theme-header-heading-min-height, 0);
	max-height: var(--theme-header-heading-max-height, none);
	text-align: var(--theme-header-heading-text-align, var(--theme-header-text-align, left));
}

.site-logo {
	display: block;
	width: auto;
	max-height: 1em;
}

.site-tagline {
	margin: var(--theme-header-paragraph-margin, 0.35rem 0 0);
	color: var(--theme-header-paragraph-color, var(--theme-color-muted));
	background: var(--theme-header-paragraph-bg, transparent);
	border: 1px solid var(--theme-header-paragraph-border, transparent);
	font-family: var(--theme-header-paragraph-font-family, var(--theme-body-font-family));
	font-size: var(--theme-header-paragraph-font-size, 0.95rem);
	font-weight: var(--theme-header-paragraph-font-weight, 400);
	line-height: var(--theme-header-paragraph-line-height, 1.55);
	letter-spacing: var(--theme-header-paragraph-letter-spacing, 0);
	width: var(--theme-header-paragraph-width, auto);
	min-width: var(--theme-header-paragraph-min-width, 0);
	max-width: var(--theme-header-paragraph-max-width, none);
	height: var(--theme-header-paragraph-height, auto);
	min-height: var(--theme-header-paragraph-min-height, 0);
	max-height: var(--theme-header-paragraph-max-height, none);
	text-align: var(--theme-header-paragraph-text-align, var(--theme-header-text-align, left));
}

.nav-toggle {
	position: absolute;
	top: 5px;
	right: 10px;
	border: 0;
	background: transparent;
	color: var(--theme-color-text);
	cursor: pointer;
	padding: 0;
	margin: 0.6rem 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	order: 2;
}

.nav-toggle .gms {
	font-size: 1.6rem;
}

.theme-switch-button {
	position: fixed;
	top: 10px;
	right: 50px;
	z-index: 1400;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--theme-body-text);
	box-shadow: none;
	cursor: pointer;
	font-size: 20px;
	line-height: 1;
	z-index: 1;
}

.theme-switch-button .gms {
	font-size: 20px;
	line-height: 1;
}

.contact-line {
	margin: 0 0 0.35rem;
}

.contact-line:last-child {
	margin-bottom: 0;
}

.cache-clear-link .gms {
	font-size: 0.9rem;
}

.page-theme-block {
	background: transparent;
	padding: 0;
	width: 100%;
	max-width: 360px;
	margin: 0;
	justify-self: stretch;
	text-align: left;
}

.page-theme-blocks.page-theme-blocks-count-1 .page-theme-block {
	justify-self: center;
}

.page-theme-blocks.page-theme-blocks-count-2 .page-theme-block:first-child,
.page-theme-blocks.page-theme-blocks-count-3 .page-theme-block:first-child,
.page-theme-blocks.page-theme-blocks-count-4 .page-theme-block:first-child,
.page-theme-blocks.page-theme-blocks-count-5 .page-theme-block:first-child {
	justify-self: start;
}

.page-theme-blocks.page-theme-blocks-count-2 .page-theme-block:last-child,
.page-theme-blocks.page-theme-blocks-count-3 .page-theme-block:last-child,
.page-theme-blocks.page-theme-blocks-count-4 .page-theme-block:last-child,
.page-theme-blocks.page-theme-blocks-count-5 .page-theme-block:last-child {
	justify-self: end;
}

.page-theme-blocks.page-theme-blocks-count-3 .page-theme-block:nth-child(2),
.page-theme-blocks.page-theme-blocks-count-5 .page-theme-block:nth-child(3) {
	justify-self: center;
}

.page-theme-blocks.page-theme-blocks-count-4 .page-theme-block:nth-child(2) {
	justify-self: start;
}

.page-theme-blocks.page-theme-blocks-count-4 .page-theme-block:nth-child(3) {
	justify-self: end;
}

.page-theme-blocks.page-theme-blocks-count-5 .page-theme-block:nth-child(2) {
	justify-self: start;
}

.page-theme-blocks.page-theme-blocks-count-5 .page-theme-block:nth-child(4) {
	justify-self: end;
}

.page-theme-block .theme-block-canvas {
	margin-left: 0;
	margin-right: auto;
}

.site-nav-panel {
	display: none;
	position: absolute;
	top: 0;
	right: 1.25rem;
	width: min(320px, calc(100vw - 2.5rem));
	min-width: var(--site-nav-min-width, 0);
	max-height: calc(100vh - 35px);
	background: rgba(var(--gms-white-rgb), 0.98);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.75);
	padding: 1rem 1.1rem;
	overflow-y: auto;
	z-index: 20;
	font-family: var(--site-nav-font-family, inherit);
	font-weight: var(--site-nav-font-weight, inherit);
}

.site-nav-panel.is-open {
	display: block;
}

.theme-block-canvas {
	position: relative;
	max-width: 100%;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.75);
	border-radius: 1rem;
	box-sizing: border-box;
	overflow: hidden;
}

.theme-block-canvas [data-block-node] {
	position: absolute;
	box-sizing: border-box;
	overflow: auto;
}

.theme-site-branding-block {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	overflow: visible !important;
}

.theme-site-branding-block h1 {
	color: var(--theme-header-heading-color, var(--theme-header-text, inherit));
	background: var(--theme-header-heading-bg, transparent);
	border: 1px solid var(--theme-header-heading-border, transparent);
	font-family: var(--theme-header-heading-font-family, inherit);
	font-size: var(--theme-header-heading-font-size, clamp(2rem, 4vw, 3.5rem));
	font-weight: var(--theme-header-heading-font-weight, 400);
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 0.65rem;
	line-height: var(--theme-header-heading-line-height, 1);
	letter-spacing: var(--theme-header-heading-letter-spacing, 0);
	max-width: 100%;
	margin: 0;
	text-align: var(--theme-header-heading-text-align, var(--theme-header-text-align, left));
}

.theme-site-branding-block h1 > span {
	display: flex;
	align-items: center;
	line-height: inherit;
	transform: translateY(-0.05em);
}

.theme-site-branding-block .site-tagline {
	margin: 0.08rem 0 0;
	color: var(--theme-header-paragraph-color, var(--theme-color-muted));
	background: var(--theme-header-paragraph-bg, transparent);
	border: 1px solid var(--theme-header-paragraph-border, transparent);
	font-family: var(--theme-header-paragraph-font-family, var(--theme-body-font-family));
	font-size: var(--theme-header-paragraph-font-size, 0.95rem);
	font-weight: var(--theme-header-paragraph-font-weight, 400);
	line-height: var(--theme-header-paragraph-line-height, 1.55);
	letter-spacing: var(--theme-header-paragraph-letter-spacing, 0);
	text-align: var(--theme-header-paragraph-text-align, var(--theme-header-text-align, left));
	transform: translateY(-0.08rem);
}

.theme-site-branding-block .site-logo,
.theme-block-canvas .site-logo {
	display: block;
	flex: 0 0 auto;
	width: auto !important;
	height: auto !important;
	max-width: 100%;
	max-height: calc(var(--theme-header-heading-font-size, clamp(2rem, 4vw, 3.5rem)) * 1.35);
	object-fit: contain;
}

.site-nav-list,
.site-subnav-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-nav-item + .site-nav-item {
	margin-top: 0.75rem;
}

.site-nav-entry {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.45rem;
}

.site-nav-entry[data-site-nav-tree-entry] {
	cursor: pointer;
}

.site-nav-entry[data-site-nav-tree-entry] > a {
	pointer-events: none;
}

.site-nav-item > a,
.site-subnav-item > a,
.site-nav-entry > a {
	text-decoration: none;
	color: var(--site-nav-color, var(--gms-mane-4));
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: var(--site-nav-font-size, 1rem);
	font-weight: var(--site-nav-font-weight, inherit);
	text-transform: var(--site-nav-text-transform, none);
}

.site-nav-heading,
.site-subnav-heading {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: var(--site-nav-sub-color, var(--gms-green-gray));
	text-transform: var(--site-nav-text-transform, uppercase);
	letter-spacing: 0.08em;
	font-size: calc(var(--site-nav-font-size, 1rem) * 0.78);
	font-weight: var(--site-nav-font-weight, inherit);
}

.site-nav-panel-list-flat .site-subnav-item > a {
	color: var(--site-nav-flat-sub-color, var(--site-nav-sub-color, var(--gms-green-gray)));
	font-size: calc(var(--site-nav-font-size, 1rem) * 0.88);
	text-transform: var(--site-nav-flat-sub-text-transform, none);
}

.site-nav-panel-list-flat .site-subnav-heading {
	color: var(--site-nav-flat-sub-color, var(--site-nav-sub-color, var(--gms-green-gray)));
	font-size: calc(var(--site-nav-font-size, 1rem) * 0.88);
	text-transform: var(--site-nav-flat-sub-text-transform, var(--site-nav-text-transform, uppercase));
}

.site-nav-panel-list-tree .site-nav-heading,
.site-nav-panel-list-tree .site-subnav-heading,
.site-nav-panel-accordion .site-nav-heading,
.site-nav-panel-accordion .site-subnav-heading,
.site-nav-panel-slider .site-nav-heading,
.site-nav-panel-slider .site-subnav-heading {
	color: var(--site-nav-color, var(--gms-mane-4));
	text-transform: var(--site-nav-text-transform, none);
	letter-spacing: 0;
	font-size: var(--site-nav-font-size, 1rem);
}

.site-nav-icon {
	flex: 0 0 auto;
	width: 1em;
	height: 1em;
	object-fit: contain;
}

.site-nav-icon-svg svg {
	display: block;
	width: 1em;
	height: 1em;
}

.site-subnav-list {
	margin-top: 0.45rem;
	padding-left: 1rem;
}

.site-subnav-list-nested {
	margin-top: 0.3rem;
	padding-left: 0.9rem;
}

.site-subnav-item + .site-subnav-item {
	margin-top: 0.35rem;
}

.site-nav-tree-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 1.75rem;
	height: 1.75rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--site-nav-color, var(--gms-green-gray));
	font-weight: var(--site-nav-font-weight, inherit);
	text-transform: var(--site-nav-text-transform, none);
	cursor: pointer;
}

.site-nav-tree-toggle .gms,
.site-nav-slider-forward > .gms,
.site-nav-slider-back > .gms {
	font-size: var(--site-nav-glyph-font-size, 1em);
	transform: translateY(var(--site-nav-glyph-vertical-offset, 0));
}

.site-nav-panel-list-tree .site-subnav-list,
.site-nav-panel-accordion .site-subnav-list {
	display: none;
}

.site-nav-panel-list-tree .site-nav-item.is-open > .site-subnav-list,
.site-nav-panel-list-tree .site-subnav-item.is-open > .site-subnav-list,
.site-nav-panel-accordion .site-nav-item.is-open > .site-subnav-list,
.site-nav-panel-accordion .site-subnav-item.is-open > .site-subnav-list {
	display: grid;
}

.site-nav-slider {
	position: relative;
	overflow: hidden;
}

.site-nav-slider-panel {
	display: none;
	gap: 0.55rem;
}

.site-nav-slider-panel.is-active {
	display: grid;
}

.site-nav-slider-forward,
.site-nav-slider-back {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--site-nav-color, var(--gms-mane-4));
	font-size: var(--site-nav-font-size, 1rem);
	font-weight: var(--site-nav-font-weight, inherit);
	text-transform: var(--site-nav-text-transform, none);
	text-align: left;
	cursor: pointer;
}

.site-nav-slider-forward {
	justify-content: space-between;
}

.site-nav-slider-back {
	justify-content: flex-start;
	color: var(--site-nav-sub-color, var(--gms-green-gray));
	font-weight: var(--site-nav-font-weight, 650);
}

.site-nav-slider-label {
	min-width: 0;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}

.site-nav-slider-forward > .gms {
	flex: 0 0 auto;
	margin-left: auto;
}

.site-nav-slider-back-row {
	padding-bottom: 0.45rem;
	border-bottom: 1px solid rgba(var(--gms-shadow-rgb), 0.1);
}

.content-card {
	background: var(--theme-content-card-bg);
	color: var(--theme-content-card-text);
	border: 1px solid var(--theme-content-card-border);
	border-radius: var(--theme-content-card-radius);
	padding: var(--theme-content-card-padding);
	box-shadow: var(--theme-content-card-shadow);
	margin: var(--theme-content-card-margin, 0 0 1rem 0);
	width: var(--theme-content-card-width, auto);
	min-width: var(--theme-content-card-min-width, 0);
	max-width: var(--theme-content-card-max-width, none);
	height: var(--theme-content-card-height, auto);
	min-height: var(--theme-content-card-min-height, 0);
	max-height: var(--theme-content-card-max-height, none);
	text-align: var(--theme-content-card-text-align, left);
}

.content-card.content-nav-card:hover,
.content-card.content-nav-card:focus-within {
	background: var(--theme-content-card-hover-bg, var(--theme-content-card-bg));
	color: var(--theme-content-card-hover-text, var(--theme-content-card-text));
	border: 1px solid var(--theme-content-card-hover-border, var(--theme-content-card-border));
	border-radius: var(--theme-content-card-hover-radius, var(--theme-content-card-radius));
	padding: var(--theme-content-card-hover-padding, var(--theme-content-card-padding));
	box-shadow: var(--theme-content-card-hover-shadow, var(--theme-content-card-shadow));
	margin: var(--theme-content-card-hover-margin, var(--theme-content-card-margin, 0 0 1rem 0));
	text-align: var(--theme-content-card-hover-text-align, var(--theme-content-card-text-align, left));
}

.content-form label {
	display: block;
	margin: 0 0 0.85rem;
}

.content-form .is-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.content-form-header {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.content-form-title,
.content-form-subtext {
	margin: 0;
}

.content-form-field-label {
	display: block;
	font-weight: 600;
}

.content-form-choice {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0;
}

.theme-default-form-canvas.content-form {
	display: grid;
	gap: 0.85rem;
	align-content: start;
	border-radius: 0;
	box-shadow: none;
}

.theme-default-form-canvas.content-form [data-form-node] {
	position: relative;
	left: auto;
	top: auto;
	min-width: 0;
	overflow: visible;
}

.theme-default-form-canvas.content-form [data-form-node] > * {
	max-width: 100%;
}

.theme-editor-form-flow-preview .theme-block-button {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
}

.content-form input[type='text'],
.content-form input[type='date'],
.content-form input[type='datetime-local'],
.content-form input[type='email'],
.content-form input[type='month'],
.content-form input[type='tel'],
.content-form input[type='time'],
.content-form input[type='url'],
.content-form input[type='week'],
.content-form input[type='number'],
.content-form input[type='search'],
.content-form input[type='password'],
.content-form input[type='color'],
.content-form input[type='range'],
.content-form select,
.content-form textarea {
	width: 100%;
	max-width: 100%;
	padding: 0.75rem 0.9rem;
	border: 1px solid var(--theme-content-card-border, var(--gms-border));
	border-radius: 12px;
	background: rgba(var(--gms-white-rgb), 0.96);
	color: inherit;
	box-sizing: border-box;
	font: inherit;
}

.content-form textarea {
	min-height: 7rem;
	resize: vertical;
}

.content-form input[type='checkbox'],
.content-form input[type='radio'] {
	width: auto;
	margin-right: 0.45rem;
}

.content-title,
.content-card-title,
.content-section-title,
.content-block h2 {
	margin: 0 0 0.75rem;
}

.content-title {
	font-size: clamp(2rem, 4vw, 3.4rem);
}

.content-rich h1,
.content-title {
	color: var(--theme-h1-color);
	background: var(--theme-h1-bg, transparent);
	border: 1px solid var(--theme-h1-border, transparent);
	font-family: var(--theme-h1-font-family);
	font-size: var(--theme-h1-font-size);
	font-weight: var(--theme-h1-font-weight);
	line-height: var(--theme-h1-line-height);
	letter-spacing: var(--theme-h1-letter-spacing);
	margin: var(--theme-h1-margin);
	width: var(--theme-h1-width, auto);
	min-width: var(--theme-h1-min-width, 0);
	max-width: var(--theme-h1-max-width, none);
	height: var(--theme-h1-height, auto);
	min-height: var(--theme-h1-min-height, 0);
	max-height: var(--theme-h1-max-height, none);
	text-align: var(--theme-h1-text-align, left);
}

.content-rich h2 {
	color: var(--theme-h2-color);
	background: var(--theme-h2-bg, transparent);
	border: 1px solid var(--theme-h2-border, transparent);
	font-family: var(--theme-h2-font-family);
	font-size: var(--theme-h2-font-size);
	font-weight: var(--theme-h2-font-weight);
	line-height: var(--theme-h2-line-height);
	letter-spacing: var(--theme-h2-letter-spacing);
	margin: var(--theme-h2-margin);
	width: var(--theme-h2-width, auto);
	min-width: var(--theme-h2-min-width, 0);
	max-width: var(--theme-h2-max-width, none);
	height: var(--theme-h2-height, auto);
	min-height: var(--theme-h2-min-height, 0);
	max-height: var(--theme-h2-max-height, none);
	text-align: var(--theme-h2-text-align, left);
}

.content-rich h3 {
	color: var(--theme-h3-color);
	background: var(--theme-h3-bg, transparent);
	border: 1px solid var(--theme-h3-border, transparent);
	font-family: var(--theme-h3-font-family);
	font-size: var(--theme-h3-font-size);
	font-weight: var(--theme-h3-font-weight);
	line-height: var(--theme-h3-line-height);
	letter-spacing: var(--theme-h3-letter-spacing);
	margin: var(--theme-h3-margin);
	width: var(--theme-h3-width, auto);
	min-width: var(--theme-h3-min-width, 0);
	max-width: var(--theme-h3-max-width, none);
	height: var(--theme-h3-height, auto);
	min-height: var(--theme-h3-min-height, 0);
	max-height: var(--theme-h3-max-height, none);
	text-align: var(--theme-h3-text-align, left);
}

.content-kicker {
	margin: 0 0 0.35rem;
	color: var(--gms-green-gray);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.8rem;
}

.content-copy,
.content-summary,
.content-meta,
.content-rich,
.content-block p {
	margin: var(--theme-paragraph-margin, 0 0 0.85rem 0);
	line-height: var(--theme-paragraph-line-height, var(--theme-body-line-height));
	font-size: var(--theme-paragraph-font-size, var(--theme-body-font-size));
	font-family: var(--theme-paragraph-font-family, var(--theme-body-font-family));
	font-weight: var(--theme-paragraph-font-weight, 400);
	letter-spacing: var(--theme-paragraph-letter-spacing, 0);
	color: var(--theme-paragraph-color, var(--theme-body-text));
	background: var(--theme-paragraph-bg, transparent);
	border: 1px solid var(--theme-paragraph-border, transparent);
	width: var(--theme-paragraph-width, auto);
	min-width: var(--theme-paragraph-min-width, 0);
	max-width: var(--theme-paragraph-max-width, none);
	height: var(--theme-paragraph-height, auto);
	min-height: var(--theme-paragraph-min-height, 0);
	max-height: var(--theme-paragraph-max-height, none);
	text-align: var(--theme-paragraph-text-align, left);
}

.content-summary:last-child,
.content-copy:last-child,
.content-meta:last-child,
.content-rich > *:last-child,
.content-block p:last-child {
	margin-bottom: 0;
}

.content-rich {
	overflow-wrap: anywhere;
	word-break: break-word;
	min-width: 0;
}

.content-rich > *:first-child {
	margin-top: 0;
}

.content-rich p,
.content-rich ul,
.content-rich ol {
	margin: var(--theme-paragraph-margin, 0 0 0.85rem 0);
}

.content-rich ul,
.content-rich ol {
	padding-left: var(--theme-list-padding-left, 1.15rem);
	margin: var(--theme-list-margin, 0 0 0.85rem 0);
	font-family: var(--theme-list-font-family, var(--theme-body-font-family));
	font-size: var(--theme-list-font-size, var(--theme-body-font-size));
	font-weight: var(--theme-list-font-weight, 400);
	line-height: var(--theme-list-line-height, var(--theme-body-line-height));
	letter-spacing: var(--theme-list-letter-spacing, 0);
	color: var(--theme-list-color, var(--theme-body-text));
	background: var(--theme-list-bg, transparent);
	border: 1px solid var(--theme-list-border, transparent);
	width: var(--theme-list-width, auto);
	min-width: var(--theme-list-min-width, 0);
	max-width: var(--theme-list-max-width, none);
	height: var(--theme-list-height, auto);
	min-height: var(--theme-list-min-height, 0);
	max-height: var(--theme-list-max-height, none);
	text-align: var(--theme-list-text-align, left);
}

.content-rich ul,
.theme-editor-preview-list-block ul {
	list-style: none;
	padding-left: var(--theme-list-padding-left, 1.15rem);
}

.content-rich ul li,
.theme-editor-preview-list-block ul li {
	position: relative;
	padding-left: calc(var(--theme-list-marker-column-width, 1.1rem) + var(--theme-list-text-indent, 0.45rem));
}

.content-rich ul li + li,
.theme-editor-preview-list-block ul li + li {
	margin-top: var(--theme-list-item-gap, 0.45rem);
}

.content-rich ul li::before,
.theme-editor-preview-list-block ul li::before {
	content: var(--theme-list-marker-content, "•");
	position: absolute;
	left: var(--theme-list-marker-indent, 0);
	top: var(--theme-list-marker-offset-y, 0.05em);
	width: var(--theme-list-marker-column-width, 1.1rem);
	height: var(--theme-list-marker-column-width, 1.1rem);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--theme-list-marker-color, var(--theme-color-accent));
	font-family: var(--theme-list-marker-font-family, inherit);
	font-size: var(--theme-list-marker-size, 1em);
	line-height: 1;
	background-image: var(--theme-list-marker-image, none);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.content-rich img,
.content-rich video,
.content-rich audio,
.content-rich iframe {
	max-width: 100%;
	box-sizing: border-box;
	position: relative;
	z-index: 0;
}

.content-rich > *:not(img):not(video):not(audio):not(iframe) {
	position: relative;
	z-index: 1;
}

.content-panel,
.content-card {
	min-width: 0;
}

.content-title,
.content-card-title {
	margin: 0 0 0.65rem;
	line-height: 1.1;
	letter-spacing: .1rem;
}

.content-card-title a,
.content-title a {
	text-decoration: none;
}

.content-copy,
.content-summary,
.content-rich,
.content-lead {
	line-height: 1.7;
	overflow-wrap: anywhere;
	word-break: break-word;
	min-width: 0;
}

.content-rich {
	overflow: hidden;
	position: relative;
	isolation: isolate;
}

.content-chip-primary.is-active {
	background: var(--gms-mane-2);
	color: var(--gms-white);
}

.content-actions a,
.theme-preview-button,
.theme-editor-preview-button,
.content-button-primary,
.content-button-secondary,
.content-button-tertiary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	text-transform: uppercase;
}

.content-actions a,
.theme-preview-button,
.theme-editor-preview-button,
.content-button-primary {
	padding: var(--theme-action-button-padding-y) var(--theme-action-button-padding-x);
	border-radius: var(--theme-action-button-radius);
	border: 1px solid var(--theme-action-button-border);
	background: var(--theme-action-button-bg);
	color: var(--theme-action-button-text);
	box-shadow: var(--theme-action-button-shadow);
	text-decoration: none;
	margin: var(--theme-action-button-margin, 0);
	width: var(--theme-action-button-width, auto);
	min-width: var(--theme-action-button-min-width, 0);
	max-width: var(--theme-action-button-max-width, none);
	height: var(--theme-action-button-height, auto);
	min-height: var(--theme-action-button-min-height, 0);
	max-height: var(--theme-action-button-max-height, none);
	text-align: var(--theme-action-button-text-align, left);
}

.content-actions a:hover,
.content-actions a:focus-visible,
.theme-preview-button.is-hover-preview,
.theme-editor-preview-button.is-hover-preview,
.content-button-primary:hover,
.content-button-primary:focus-visible {
	padding: var(--theme-action-button-hover-padding-y, var(--theme-action-button-padding-y)) var(--theme-action-button-hover-padding-x, var(--theme-action-button-padding-x));
	border-radius: var(--theme-action-button-hover-radius, var(--theme-action-button-radius));
	border: 1px solid var(--theme-action-button-hover-border, var(--theme-action-button-border));
	background: var(--theme-action-button-hover-bg, var(--theme-action-button-bg));
	color: var(--theme-action-button-hover-text, var(--theme-action-button-text));
	box-shadow: var(--theme-action-button-hover-shadow, var(--theme-action-button-shadow));
	margin: var(--theme-action-button-hover-margin, var(--theme-action-button-margin, 0));
	width: var(--theme-action-button-hover-width, var(--theme-action-button-width, auto));
	min-width: var(--theme-action-button-hover-min-width, var(--theme-action-button-min-width, 0));
	max-width: var(--theme-action-button-hover-max-width, var(--theme-action-button-max-width, none));
	height: var(--theme-action-button-hover-height, var(--theme-action-button-height, auto));
	min-height: var(--theme-action-button-hover-min-height, var(--theme-action-button-min-height, 0));
	max-height: var(--theme-action-button-hover-max-height, var(--theme-action-button-max-height, none));
	text-align: var(--theme-action-button-hover-text-align, var(--theme-action-button-text-align, left));
	text-decoration: none;
}

.content-button-secondary,
.theme-preview-button-secondary {
	padding: var(--theme-action-button-secondary-padding-y) var(--theme-action-button-secondary-padding-x);
	border-radius: var(--theme-action-button-secondary-radius);
	border: 1px solid var(--theme-action-button-secondary-border);
	background: var(--theme-action-button-secondary-bg);
	color: var(--theme-action-button-secondary-text);
	box-shadow: var(--theme-action-button-secondary-shadow);
	margin: var(--theme-action-button-secondary-margin, 0);
	width: var(--theme-action-button-secondary-width, auto);
	min-width: var(--theme-action-button-secondary-min-width, 0);
	max-width: var(--theme-action-button-secondary-max-width, none);
	height: var(--theme-action-button-secondary-height, auto);
	min-height: var(--theme-action-button-secondary-min-height, 0);
	max-height: var(--theme-action-button-secondary-max-height, none);
	text-align: var(--theme-action-button-secondary-text-align, left);
}

.content-button-secondary:hover,
.content-button-secondary:focus-visible,
.theme-preview-button-secondary.is-hover-preview {
	padding: var(--theme-action-button-secondary-hover-padding-y, var(--theme-action-button-secondary-padding-y)) var(--theme-action-button-secondary-hover-padding-x, var(--theme-action-button-secondary-padding-x));
	border-radius: var(--theme-action-button-secondary-hover-radius, var(--theme-action-button-secondary-radius));
	border: 1px solid var(--theme-action-button-secondary-hover-border, var(--theme-action-button-secondary-border));
	background: var(--theme-action-button-secondary-hover-bg, var(--theme-action-button-secondary-bg));
	color: var(--theme-action-button-secondary-hover-text, var(--theme-action-button-secondary-text));
	box-shadow: var(--theme-action-button-secondary-hover-shadow, var(--theme-action-button-secondary-shadow));
	margin: var(--theme-action-button-secondary-hover-margin, var(--theme-action-button-secondary-margin, 0));
	text-align: var(--theme-action-button-secondary-hover-text-align, var(--theme-action-button-secondary-text-align, left));
	text-decoration: none;
}

.content-button-tertiary,
.theme-preview-button-tertiary {
	padding: var(--theme-action-button-tertiary-padding-y) var(--theme-action-button-tertiary-padding-x);
	border-radius: var(--theme-action-button-tertiary-radius);
	border: 1px solid var(--theme-action-button-tertiary-border);
	background: var(--theme-action-button-tertiary-bg);
	color: var(--theme-action-button-tertiary-text);
	box-shadow: var(--theme-action-button-tertiary-shadow);
	margin: var(--theme-action-button-tertiary-margin, 0);
	width: var(--theme-action-button-tertiary-width, auto);
	min-width: var(--theme-action-button-tertiary-min-width, 0);
	max-width: var(--theme-action-button-tertiary-max-width, none);
	height: var(--theme-action-button-tertiary-height, auto);
	min-height: var(--theme-action-button-tertiary-min-height, 0);
	max-height: var(--theme-action-button-tertiary-max-height, none);
	text-align: var(--theme-action-button-tertiary-text-align, left);
}

.content-button-tertiary:hover,
.content-button-tertiary:focus-visible,
.theme-preview-button-tertiary.is-hover-preview {
	padding: var(--theme-action-button-tertiary-hover-padding-y, var(--theme-action-button-tertiary-padding-y)) var(--theme-action-button-tertiary-hover-padding-x, var(--theme-action-button-tertiary-padding-x));
	border-radius: var(--theme-action-button-tertiary-hover-radius, var(--theme-action-button-tertiary-radius));
	border: 1px solid var(--theme-action-button-tertiary-hover-border, var(--theme-action-button-tertiary-border));
	background: var(--theme-action-button-tertiary-hover-bg, var(--theme-action-button-tertiary-bg));
	color: var(--theme-action-button-tertiary-hover-text, var(--theme-action-button-tertiary-text));
	box-shadow: var(--theme-action-button-tertiary-hover-shadow, var(--theme-action-button-tertiary-shadow));
	margin: var(--theme-action-button-tertiary-hover-margin, var(--theme-action-button-tertiary-margin, 0));
	text-align: var(--theme-action-button-tertiary-hover-text-align, var(--theme-action-button-tertiary-text-align, left));
	text-decoration: none;
}

.content-chip-accent.is-active {
	background: var(--gms-mane-top);
	color: var(--gms-white);
}

.content-media-figure img,
.content-media-image,
.cover-image {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 1rem;
}

.content-rich > *:first-child {
	margin-top: 0;
}

.content-rich img,
.content-rich video,
.content-rich audio,
.content-rich iframe {
	box-sizing: border-box;
	position: relative;
	z-index: 0;
}

.content-rich > *:not(img):not(video):not(audio):not(iframe) {
	position: relative;
	z-index: 1;
}

.admin-inline-preview {
	padding: 0.75rem 0.9rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	background: rgba(var(--gms-white-rgb), 0.65);
	color: var(--gms-green-gray);
	border-radius: 0.8rem;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.admin-editor-rich {
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.16);
	border-radius: 1rem;
	background: rgba(var(--gms-white-rgb), 0.92);
	overflow: visible;
	position: relative;
}

.admin-editor-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	padding: 0.9rem;
	background: rgba(var(--gms-shadow-rgb), 0.08);
	position: sticky;
	top: 0.5rem;
	z-index: 5;
	border-bottom: 1px solid rgba(var(--gms-shadow-rgb), 0.1);
	backdrop-filter: blur(6px);
	border-radius: 1rem 1rem 0 0;
	z-index: 2000;
}

.admin-editor-toolbar-group {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.admin-editor-toolbar-inline-field {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.admin-editor-toolbar-inline-field span {
	font-weight: normal;
}

.admin-editor-toolbar-inline-field input {
	width: 5rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	border-radius: 999px;
	background: var(--gms-white);
	color: var(--gms-mane-4);
	font: inherit;
	padding: 0.35rem 0.6rem;
}

.admin-editor-toolbar-inline-field select {
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	border-radius: 999px;
	background: var(--gms-white);
	color: var(--gms-mane-4);
	font: inherit;
	padding: 0.35rem 0.6rem;
}

.admin-editor-color-button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.admin-editor-color-button-swatch {
	width: 1rem;
	height: 1rem;
	border-radius: 999px;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.18);
	background: var(--gms-mane-4);
	box-sizing: border-box;
}

.admin-editor-toolbar button,
.gms-modal-close,
.admin-editor-modal-close,
.admin-editor-media-item button {
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	background: var(--gms-white);
	color: var(--gms-green-gray);
	padding: 0.55rem 0.8rem;
	border-radius: 999px;
	cursor: pointer;
	font: inherit;
}

/* Theme-wide close glyph button. */
.gms-modal-close,
.admin-editor-modal-close {
	width: 2.2rem;
	height: 2.2rem;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.gms-modal-close .gms,
.admin-editor-modal-close .gms {
	font-size: 0.95rem;
}

.admin-editor-code-toggle {
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	background: rgba(var(--gms-shadow-rgb), 0.08);
	color: var(--gms-green-gray);
	padding: 0.55rem 0.9rem;
	border-radius: 999px;
}

.admin-editor-code-toggle.is-active {
	background: var(--gms-green-dark);
	border-color: var(--gms-green);
	color: var(--gms-white);
}

.blog-color-picker-card {
	width: min(720px, 98%);
	background: var(--gms-mane-4);
	color: var(--gms-mint-2);
}

.blog-color-picker-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 1rem;
}

.blog-color-picker-workarea {
	display: grid;
	gap: 0.45rem;
}

.blog-color-picker-canvas-wrap {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 18px;
	gap: 0.9rem;
	align-items: stretch;
}

.blog-color-picker-canvas {
	position: relative;
	min-height: 280px;
	border: 1px solid rgba(var(--gms-white-rgb), 0.12);
	overflow: hidden;
	cursor: crosshair;
}

.blog-color-picker-canvas-white,
.blog-color-picker-canvas-black {
	position: absolute;
	inset: 0;
}

.blog-color-picker-canvas-white {
	background: linear-gradient(to right, var(--gms-white) 0%, rgba(var(--gms-white-rgb), 0) 100%);
}

.blog-color-picker-canvas-black {
	background: linear-gradient(to top, var(--gms-black) 0%, rgba(var(--gms-black-rgb), 0) 100%);
}

.blog-color-picker-canvas-knob,
.blog-color-picker-hue-knob {
	position: absolute;
	width: 14px;
	height: 14px;
	border: 2px solid var(--gms-white);
	border-radius: 999px;
	box-shadow: 0 0 0 1px rgba(var(--gms-black-rgb), 0.45);
	pointer-events: none;
	transform: translate(-50%, -50%);
}

.blog-color-picker-hue {
	position: relative;
	min-height: 280px;
	border: 1px solid rgba(var(--gms-white-rgb), 0.12);
	background: linear-gradient(to bottom, var(--gms-error) 0%, var(--gms-gold) 16.66%, var(--gms-green-vivid) 33.33%, var(--gms-teal) 50%, var(--gms-teal) 66.66%, var(--gms-gold) 83.33%, var(--gms-error) 100%);
	cursor: ns-resize;
}

.blog-color-picker-hue-knob {
	left: 50%;
}

.blog-color-picker-checkbox {
	display: block;
	align-items: center;
	gap: 0.5rem;
	color: var(--gms-black);
	margin-top: -0.15rem;
}

.blog-color-picker-sidebar {
	display: grid;
	gap: 1rem;
	align-content: start;
}

.blog-color-picker-actions {
	display: grid;
	gap: 0.65rem;
}

.blog-color-picker-actions button {
	width: 100%;
}

.blog-color-picker-swatches {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.blog-color-picker-swatch-label {
	margin-bottom: 0.35rem;
	color: var(--gms-border);
	text-transform: lowercase;
}

.blog-color-picker-swatch {
	height: 76px;
	border: 1px solid rgba(var(--gms-white-rgb), 0.14);
	background: var(--gms-black);
}

.blog-color-picker-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.6rem 0.75rem;
}

.blog-color-picker-fields label {
	display: grid;
	grid-template-columns: 0 minmax(0, 1fr);
	gap: 0.4rem;
	align-items: center;
	color: var(--gms-mint-2);
}

.blog-color-picker-fields input {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid rgba(var(--gms-black-rgb), 0.25);
	background: var(--gms-white);
	color: var(--gms-mane-4);
	padding: 0.4rem 0.5rem;
	font: inherit;
}

.blog-color-picker-hex {
	grid-column: 1 / -1;
	grid-template-columns: 0 minmax(0, 1fr);
}

.theme-editor-color-rgba {
	grid-column: 1 / -1;
	grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 599px) {
.blog-color-picker-layout {
		grid-template-columns: 1fr;
	}
}

.admin-editor-surface,
.admin-editor-rich textarea[data-editor-source] {
	min-height: 24rem;
	box-sizing: border-box;
	width: 100%;
	background: transparent;
	color: var(--gms-mane-4);
	font: inherit;
	line-height: 1.75;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.admin-editor-surface-shell {
	margin-top: 0.7rem;
	padding: 1rem;
}

.admin-editor-surface-clip {
	overflow: hidden;
	position: relative;
	isolation: isolate;
}

.admin-editor-surface {
	min-height: 22rem;
}

.admin-editor-surface img,
.admin-editor-surface video,
.admin-editor-surface audio,
.admin-editor-surface iframe {
	position: relative;
	z-index: 0;
}

.admin-editor-surface > *:not(img):not(video):not(audio):not(iframe) {
	position: relative;
	z-index: 1;
}

.admin-editor-surface img.is-editor-selected-image,
.cover-preview-stage img.is-editor-selected-image {
	outline: 2px solid rgba(var(--gms-mane-top-rgb), 0.6);
	outline-offset: 2px;
}

.admin-editor-image-overlay {
	position: fixed;
	z-index: 1400;
	pointer-events: none;
	border: 1px dashed rgba(var(--gms-mane-top-rgb), 0.65);
	box-sizing: border-box;
}

.admin-editor-image-reset,
.admin-editor-image-handle {
	pointer-events: auto;
}

.admin-editor-image-reset-anchor {
	position: fixed;
	z-index: 1401;
	pointer-events: none;
}

.admin-editor-image-reset-anchor[hidden] {
	display: none;
}

.admin-editor-image-reset {
	position: static;
	width: 1.9rem;
	height: 1.9rem;
	border: 0;
	border-radius: 999px;
	background: rgba(var(--gms-mane-top-rgb), 0.96);
	color: var(--gms-white);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 0.2rem 0.45rem rgba(var(--gms-shadow-rgb), 0.18);
	pointer-events: auto;
	flex: 0 0 auto;
}

.admin-editor-image-delete {
	position: static;
	width: 1.9rem;
	height: 1.9rem;
	border: 0;
	border-radius: 999px;
	background: rgba(var(--gms-shadow-rgb), 0.9);
	color: var(--gms-white);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font: inherit;
	box-shadow: 0 0.2rem 0.45rem rgba(var(--gms-shadow-rgb), 0.18);
	pointer-events: auto;
	flex: 0 0 auto;
}

.admin-editor-image-align-overlay {
	position: absolute;
	left: 10px;
	top: 10px;
	display: inline-flex;
	gap: 0.35rem;
	pointer-events: auto;
}

.admin-editor-image-align-button {
	width: 1.9rem;
	height: 1.9rem;
	border: 0;
	border-radius: 999px;
	background: rgba(var(--gms-shadow-rgb), 0.82);
	color: var(--gms-white);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font: inherit;
	font-size: 0.82rem;
	box-shadow: 0 0.2rem 0.45rem rgba(var(--gms-shadow-rgb), 0.18);
}

.admin-editor-image-align-button.is-active {
	background: var(--gms-mane-top);
}

.admin-editor-image-rotate-handle {
	position: absolute;
	width: 1.25rem;
	height: 1.25rem;
	border: 0;
	background: transparent;
	cursor: grab;
	pointer-events: auto;
	padding: 0;
	box-sizing: border-box;
}

.admin-editor-image-rotate-handle-nw {
	left: -20px;
	top: -20px;
	border-top: 4px solid var(--gms-mane-4);
	border-left: 4px solid var(--gms-mane-4);
	border-radius: 1.25rem 0 0 0;
}

.admin-editor-image-rotate-handle-ne {
	right: -20px;
	top: -20px;
	border-top: 4px solid var(--gms-mane-4);
	border-right: 4px solid var(--gms-mane-4);
	border-radius: 0 1.25rem 0 0;
}

.admin-editor-image-rotate-handle-se {
	right: -20px;
	bottom: -20px;
	border-right: 4px solid var(--gms-mane-4);
	border-bottom: 4px solid var(--gms-mane-4);
	border-radius: 0 0 1.25rem 0;
}

.admin-editor-image-rotate-handle-sw {
	left: -20px;
	bottom: -20px;
	border-left: 4px solid var(--gms-mane-4);
	border-bottom: 4px solid var(--gms-mane-4);
	border-radius: 0 0 0 1.25rem;
}

.admin-editor-image-reset[hidden] {
	display: none;
}

.admin-editor-image-handle {
	position: absolute;
	width: 0.8rem;
	height: 0.8rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.16);
	background: var(--gms-white);
	border-radius: 999px;
	padding: 0;
}

.admin-editor-image-handle-nw,
.admin-editor-image-handle-ne,
.admin-editor-image-handle-sw,
.admin-editor-image-handle-se {
	cursor: nwse-resize;
}

.admin-editor-image-handle-ne,
.admin-editor-image-handle-sw {
	cursor: nesw-resize;
}

.admin-editor-image-handle-n,
.admin-editor-image-handle-s {
	cursor: ns-resize;
}

.admin-editor-image-handle-e,
.admin-editor-image-handle-w {
	cursor: ew-resize;
}

.admin-editor-image-handle-nw {
	top: -0.45rem;
	left: -0.45rem;
}

.admin-editor-image-handle-n {
	top: -0.45rem;
	left: calc(50% - 0.4rem);
}

.admin-editor-image-handle-ne {
	top: -0.45rem;
	right: -0.45rem;
}

.admin-editor-image-handle-e {
	top: calc(50% - 0.4rem);
	right: -0.45rem;
}

.admin-editor-image-handle-se {
	right: -0.45rem;
	bottom: -0.45rem;
}

.admin-editor-image-handle-s {
	left: calc(50% - 0.4rem);
	bottom: -0.45rem;
}

.admin-editor-image-handle-sw {
	left: -0.45rem;
	bottom: -0.45rem;
}

.admin-editor-image-handle-w {
	top: calc(50% - 0.4rem);
	left: -0.45rem;
}

.admin-editor-surface:focus,
.admin-editor-rich textarea[data-editor-source]:focus {
	outline: none;
}

.admin-editor-rich textarea[data-editor-source] {
	border: 0;
	resize: vertical;
	margin-top: 0.7rem;
}

.admin-editor-rich.is-code-view .admin-editor-surface {
	display: none;
}

.admin-editor-rich.is-code-view textarea[data-editor-source] {
	display: block;
}

.admin-editor-modal {
	position: fixed;
	inset: 0;
	background: rgba(var(--gms-shadow-rgb), 0.42);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	z-index: 3000;
}

.admin-editor-modal[hidden] {
	display: none;
}

.admin-editor-modal-card {
	width: min(720px, 100%);
	max-height: 90vh;
	overflow: auto;
	background: var(--gms-white);
	border-radius: 1rem;
	padding: 1.25rem;
}

.admin-editor-modal-header {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: flex-start;
	margin-bottom: 1rem;
}

.admin-editor-modal-header h3,
.admin-editor-modal-section h4 {
	margin: 0 0 0.35rem;
	color: var(--gms-black);
}

.admin-editor-modal-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 1rem;
}

.admin-editor-modal-section {
	padding: 1rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.75);
	border-radius: 0.9rem;
	background: rgba(var(--gms-white-rgb), 0.62);
}

.admin-editor-modal-section-sticky {
	position: sticky;
	top: 1rem;
	align-self: start;
}

.admin-editor-media-list {
	display: grid;
	gap: 0.7rem;
}

.admin-editor-media-tools {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 220px;
	gap: 0.75rem;
	margin-bottom: 0.9rem;
}

.admin-editor-media-tools input,
.admin-editor-media-tools select {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.18);
	padding: 0.7rem 0.8rem;
	font: inherit;
	background: var(--gms-white);
	color: var(--gms-mane-4);
}

.admin-editor-media-item {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: flex-start;
	padding: 0.9rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.1);
	border-radius: 0.8rem;
	background: var(--gms-white);
	cursor: pointer;
}

.admin-editor-media-item.is-selected {
	border-color: rgba(var(--gms-shadow-rgb), 0.55);
	box-shadow: 0 0 0 2px rgba(var(--gms-shadow-rgb), 0.08);
}

.admin-editor-media-item-main {
	display: flex;
	gap: 0.85rem;
	min-width: 0;
	overflow-wrap: anywhere;
}

.admin-editor-media-thumb,
.admin-editor-media-preview-visual {
	width: 88px;
	height: 88px;
	border-radius: 0.8rem;
	overflow: hidden;
	background: rgba(var(--gms-shadow-rgb), 0.06);
	flex: 0 0 auto;
}

.admin-editor-media-thumb img,
.admin-editor-media-preview-visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.admin-editor-media-thumb-fallback,
.admin-editor-media-preview-fallback {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.72rem;
	color: var(--gms-green-gray);
	text-align: center;
	padding: 0.5rem;
	box-sizing: border-box;
}

.admin-editor-media-item-actions {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	align-items: stretch;
}

.admin-editor-media-item-actions a {
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	background: var(--gms-white);
	color: var(--gms-green-gray);
	padding: 0.55rem 0.8rem;
	border-radius: 999px;
	cursor: pointer;
	font: inherit;
	text-decoration: none;
	text-align: center;
}

.admin-editor-media-preview {
	min-height: 180px;
	margin-bottom: 0.9rem;
}

.admin-editor-media-preview-stage {
	min-height: 220px;
	margin-bottom: 0.9rem;
	padding: 1rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.1);
	border-radius: 0.8rem;
	background: var(--gms-white);
	overflow: hidden;
	position: relative;
	isolation: isolate;
}

.admin-editor-media-preview-stage > *:first-child {
	margin-top: 0;
}

.admin-editor-media-preview-stage img,
.admin-editor-media-preview-stage video,
.admin-editor-media-preview-stage audio,
.admin-editor-media-preview-stage iframe {
	max-width: 100%;
}

.admin-editor-media-preview-card {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	padding: 0.95rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.1);
	border-radius: 0.8rem;
	background: var(--gms-white);
}

.admin-editor-media-preview-copy {
	min-width: 0;
	overflow-wrap: anywhere;
}

.admin-editor-media-preview-copy strong {
	display: block;
	margin-bottom: 0.35rem;
}

.admin-editor-media-preview-copy p {
	margin: 0.5rem 0;
}

.admin-editor-insert-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-bottom: 0.9rem;
}

.admin-editor-insert-actions button {
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	background: var(--gms-white);
	color: var(--gms-green-gray);
	padding: 0.55rem 0.8rem;
	border-radius: 999px;
	cursor: pointer;
	font: inherit;
}

.admin-editor-insert-actions button[disabled] {
	opacity: 0.45;
	cursor: not-allowed;
}

.cover-preview {
	margin-top: 0.75rem;
	overflow: visible;
}

.cover-preview-stage {
	min-height: 220px;
	padding: 1rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.1);
	border-radius: 0.8rem;
	background: var(--gms-white);
	overflow: visible;
	position: relative;
	isolation: isolate;
	width: 100%;
	box-sizing: border-box;
}

.cover-preview-stage .content-cover {
	margin: 0;
}

.cover-preview-stage .cover-image {
	width: auto;
	height: auto;
	display: block;
	max-width: 100%;
}

.cover-preview-card {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
	padding: 0.9rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.1);
	border-radius: 0.8rem;
	background: var(--gms-white);
}

.cover-preview-card img {
	width: 96px;
	height: 96px;
	object-fit: cover;
	border-radius: 0.8rem;
	display: block;
}

.cover-preview-copy {
	min-width: 0;
}

.cover-preview-copy strong {
	display: block;
	margin-bottom: 0.35rem;
}

.site-footer {
	background: var(--theme-footer-bg, transparent);
	color: var(--theme-footer-text, inherit);
	border: 1px solid var(--theme-footer-border, transparent);
	border-radius: var(--theme-footer-radius, 0);
	padding: var(--theme-footer-padding, 1.5rem 0 0);
	box-shadow: var(--theme-footer-shadow, none);
	margin: var(--theme-footer-margin, 2.5rem 0 0);
	width: 100%;
	min-width: 0;
	max-width: none;
	height: var(--theme-footer-height, auto);
	min-height: var(--theme-footer-min-height, 0);
	max-height: var(--theme-footer-max-height, none);
	text-align: var(--theme-footer-text-align, left);
	box-sizing: border-box;
}

.footer-links {
	margin: var(--footer-menu-margin, 0 0 20px);
	padding: var(--footer-menu-padding, 0);
	text-align: center;
}

.footer-links-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.45rem 0.9rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-links-item {
	position: relative;
}

.footer-links-item:not(:last-child)::after {
	content: '|';
	margin-left: 0.9rem;
	color: rgba(var(--gms-shadow-rgb), 0.45);
}

.footer-links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	font-size: var(--footer-menu-font-size, inherit);
	font-weight: var(--footer-menu-font-weight, inherit);
}

.footer-links a .gms {
	font-size: inherit;
	font-weight: inherit;
	line-height: 1;
}

.footer-copyright {
	text-align: center;
}

.footer-copyright p {
	margin: 0;
	font-size: var(--footer-menu-font-size, 0.9rem);
	font-weight: var(--footer-menu-font-weight, 400);
}

.footer-social-links {
	margin-top: 0;
}

.footer-social-links .footer-links-list {
	gap: 0.6rem 1rem;
}

.footer-social-links .footer-links-item:not(:last-child)::after {
	content: none;
}

.footer-grid {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	gap: var(--footer-blocks-gap, 1.5rem 2rem);
	margin: var(--footer-blocks-margin, 0);
	padding: var(--footer-blocks-padding, 0);
}

.footer-grid.footer-grid-count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.footer-grid.footer-grid-count-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.footer-grid.footer-grid-count-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.footer-grid.footer-grid-count-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.footer-block {
	background: transparent;
	padding: 0;
	width: 100%;
	max-width: 360px;
	margin: 0;
	justify-self: stretch;
	text-align: left;
}

.footer-grid.footer-grid-count-1 .footer-block {
	justify-self: center;
}

.footer-grid.footer-grid-count-2 .footer-block:first-child,
.footer-grid.footer-grid-count-3 .footer-block:first-child,
.footer-grid.footer-grid-count-4 .footer-block:first-child,
.footer-grid.footer-grid-count-5 .footer-block:first-child {
	justify-self: start;
}

.footer-grid.footer-grid-count-2 .footer-block:last-child,
.footer-grid.footer-grid-count-3 .footer-block:last-child,
.footer-grid.footer-grid-count-4 .footer-block:last-child,
.footer-grid.footer-grid-count-5 .footer-block:last-child {
	justify-self: end;
}

.footer-grid.footer-grid-count-3 .footer-block:nth-child(2),
.footer-grid.footer-grid-count-5 .footer-block:nth-child(3) {
	justify-self: center;
}

.footer-grid.footer-grid-count-4 .footer-block:nth-child(2) {
	justify-self: start;
}

.footer-grid.footer-grid-count-4 .footer-block:nth-child(3) {
	justify-self: end;
}

.footer-grid.footer-grid-count-5 .footer-block:nth-child(2) {
	justify-self: start;
}

.footer-grid.footer-grid-count-5 .footer-block:nth-child(4) {
	justify-self: end;
}

.footer-block h2 {
	margin: var(--theme-footer-heading-margin, 0 0 0.75rem);
	color: var(--theme-footer-heading-color, var(--theme-footer-text, inherit));
	background: var(--theme-footer-heading-bg, transparent);
	border: 1px solid var(--theme-footer-heading-border, transparent);
	font-family: var(--theme-footer-heading-font-family, inherit);
	font-size: var(--theme-footer-heading-font-size, 1rem);
	font-weight: var(--theme-footer-heading-font-weight, 400);
	line-height: var(--theme-footer-heading-line-height, 1.12);
	letter-spacing: var(--theme-footer-heading-letter-spacing, 0);
	width: var(--theme-footer-heading-width, auto);
	min-width: var(--theme-footer-heading-min-width, 0);
	max-width: var(--theme-footer-heading-max-width, none);
	height: var(--theme-footer-heading-height, auto);
	min-height: var(--theme-footer-heading-min-height, 0);
	max-height: var(--theme-footer-heading-max-height, none);
	text-align: var(--theme-footer-heading-text-align, var(--theme-footer-text-align, left));
}

.footer-block p {
	margin: var(--theme-footer-paragraph-margin, 0 0 0.55rem);
	color: var(--theme-footer-paragraph-color, var(--theme-footer-text, inherit));
	background: var(--theme-footer-paragraph-bg, transparent);
	border: 1px solid var(--theme-footer-paragraph-border, transparent);
	font-family: var(--theme-footer-paragraph-font-family, var(--theme-body-font-family));
	font-size: var(--theme-footer-paragraph-font-size, 0.95rem);
	font-weight: var(--theme-footer-paragraph-font-weight, 400);
	line-height: var(--theme-footer-paragraph-line-height, 1.55);
	letter-spacing: var(--theme-footer-paragraph-letter-spacing, 0);
	width: var(--theme-footer-paragraph-width, auto);
	min-width: var(--theme-footer-paragraph-min-width, 0);
	max-width: var(--theme-footer-paragraph-max-width, none);
	height: var(--theme-footer-paragraph-height, auto);
	min-height: var(--theme-footer-paragraph-min-height, 0);
	max-height: var(--theme-footer-paragraph-max-height, none);
	text-align: var(--theme-footer-paragraph-text-align, var(--theme-footer-text-align, left));
}

.footer-block p:last-child {
	margin-bottom: 0;
}

.site-footer .theme-block-canvas {
	width: 100% !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	overflow: visible;
}

.site-footer .theme-block-canvas [data-block-node] {
	max-width: 100%;
}

.footer-block .theme-block-canvas {
	margin-left: 0;
	margin-right: auto;
}

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

.social-list li {
	margin: 0 0 0.45rem;
}

.social-list li:last-child {
	margin-bottom: 0;
}

.social-list a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
}

.social-list a .gms {
	font-size: 1.15rem;
	line-height: 1;
}

.footer-map iframe {
	width: 100%;
	min-height: 240px;
	border: 0;
}

.site-footer .theme-block-canvas iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	max-width: 100%;
	border: 0;
}

.admin-shell {
	margin: 1rem auto 0 auto;
}

.admin-layout {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr) 450px;
	gap: 1.5rem;
	align-items: start;
}

.admin-layout-full {
	grid-template-columns: 250px minmax(0, 1fr);
}

.admin-layout-main {
	min-width: 0;
}

.admin-sidebar {
	position: sticky;
	top: 1.25rem;
	align-self: start;
	/*max-height: calc(100vh - 2.5rem);
	overflow: auto;*/
}

.admin-sidebar-card {
	display: grid;
	gap: 1rem;
	padding: 1.15rem 1rem;
	background: rgba(var(--gms-white-rgb), 0.9);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.75);
	border-radius: 1rem;
	box-shadow: 0 1rem 2.2rem rgba(var(--gms-shadow-rgb), 0.08);
	max-height: calc(100vh - 220px);
	overflow-y: auto;
}

.admin-sidebar-card-muted {
	background: rgba(var(--gms-white-rgb), 0.82);
}

.admin-sidebar-kicker {
	margin: 0;
	color: var(--gms-green-gray);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.74rem;
}

.admin-sidebar-title {
	margin: 0;
	font-size: 1.35rem;
}

.admin-sidebar-nav {
	display: grid;
	gap: 1rem;
}

.admin-sidebar-group {
	display: grid;
	gap: 0.45rem;
}

.admin-sidebar-group h3 {
	margin: 0;
	font-family: 'Poppins', Arial, sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gms-green-gray);
}

.admin-sidebar-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.3rem;
}

.admin-sidebar-sublist {
	list-style: none;
	margin: 0.35rem 0 0 0;
	padding: 0 0 0 1.5rem;
	display: grid;
	gap: 0.2rem;
}

.admin-sidebar-link {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding: 0.7rem 0.8rem;
	border-radius: 0.85rem;
	box-sizing: border-box;
	color: var(--gms-green-gray);
	text-decoration: none;
	background: transparent;
	border: 1px solid transparent;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.admin-sidebar-link,
.admin-sidebar-link:visited,
.admin-sidebar-link:hover,
.admin-sidebar-link:focus-visible {
	padding: 0.7rem 0.8rem;
	border-radius: 0.85rem;
	margin: 0;
	text-decoration: none;
	box-shadow: none;
}

.admin-sidebar-link .gms {
	font-size: 0.95rem;
}

.admin-sidebar-link:hover,
.admin-sidebar-link:focus-visible {
	background: rgba(var(--gms-shadow-rgb), 0.12);
	border-color: rgba(var(--gms-shadow-rgb), 0.18);
	color: var(--gms-mane-3);
}

.admin-sidebar-link.is-active:hover,
.admin-sidebar-link.is-active:focus-visible {
	background: rgba(var(--gms-shadow-rgb), 0.16);
	border-color: rgba(var(--gms-shadow-rgb), 0.22);
	color: var(--gms-mane-3);
}

.admin-sidebar-link.is-active {
	background: rgba(var(--gms-shadow-rgb), 0.12);
	border-color: rgba(var(--gms-shadow-rgb), 0.18);
	color: var(--gms-mane-3);
	font-weight: 600;
}

.admin-sidebar-right {
	top: 1.25rem;
}

.admin-sidebar-sublink {
	display: block;
	padding: 0.45rem 0.5rem;
	box-sizing: border-box;
	color: var(--gms-green-gray);
	text-decoration: none;
	border: 1px solid transparent;
	border-radius: 0.6rem;
	background: transparent;
}

.admin-sidebar-sublink,
.admin-sidebar-sublink:visited,
.admin-sidebar-sublink:hover,
.admin-sidebar-sublink:focus-visible {
	padding: 0.45rem 0.5rem;
	border-radius: 0.6rem;
	margin: 0;
	text-decoration: none;
	box-shadow: none;
}

.admin-sidebar-sublink:hover,
.admin-sidebar-sublink:focus-visible {
	color: var(--gms-mane-3);
	background: rgba(var(--gms-shadow-rgb), 0.06);
	border-color: rgba(var(--gms-shadow-rgb), 0.18);
}

.admin-sidebar-sublink.is-active {
	color: var(--gms-mane-3);
	font-weight: 600;
	background: rgba(var(--gms-shadow-rgb), 0.06);
	border-color: rgba(var(--gms-shadow-rgb), 0.18);
}

.admin-sidebar-sublink.is-active:hover,
.admin-sidebar-sublink.is-active:focus-visible {
	color: var(--gms-mane-3);
	background: rgba(var(--gms-shadow-rgb), 0.06);
	border-color: rgba(var(--gms-shadow-rgb), 0.18);
}

.admin-list-shell,
.admin-editor-shell {
	display: grid;
	gap: 1.25rem;
}

.admin-panel,
.admin-list-panel,
.admin-editor-panel {
	background: rgba(var(--gms-white-rgb), 0.82);
	padding: 1.5rem;
}

.admin-panel-header,
.admin-list-header,
.admin-editor-header {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: flex-start;
	margin-bottom: 1.25rem;
}

.admin-list-header > .admin-actions.admin-actions-stack,
.admin-editor-header > .admin-actions.admin-actions-stack {
	display: none;
}

.admin-kicker {
	margin: 0 0 0.35rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.8rem;
	color: var(--gms-green-gray);
}

.admin-panel-header h2 {
	margin: 0 0 0.5rem;
}

.admin-copy {
	margin: 0;
	max-width: 60ch;
}

.admin-editor-form {
	display: grid;
	gap: 1.5rem;
}

.admin-editor-grid {
	align-items: start;
}

.admin-editor-section {
	display: grid;
	gap: 1rem;
	padding: 1.2rem 1.25rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.09);
	background: rgba(var(--gms-white-rgb), 0.72);
}

.admin-editor-section-header {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: flex-start;
}

/*
	Templates that carry BOTH classes were losing the flex-start above. `.admin-section-header`
	is declared a second time much later in this file with `align-items: center`, and at equal
	specificity the later rule wins - so the heading and its paragraph sat vertically centred
	against each other instead of aligning at the top.

	Fixed here with the two-class selector rather than by changing that later rule, because
	the plain `.admin-section-header` genuinely needs `center`: on the leads view and the scans
	queue it pairs a one-line h3 with a button or a link, and centring is what keeps the control
	level with the text. Only the h3 + paragraph pairing wants the top alignment.
*/
.admin-section-header.admin-editor-section-header {
	align-items: flex-start;
}

.admin-editor-section-header h3 {
	margin: 0 0 0.35rem;
}

.admin-editor-section-header p {
	margin: 0;
	color: var(--gms-green-gray);
	max-width: 70ch;
}

.admin-editor-rich-list {
	display: grid;
	gap: 1rem;
}

.admin-actions a {
	display: inline-block;
	padding: 0.65rem 0.9rem;
	text-decoration: none;
	background: var(--gms-mane-4);
	color: var(--gms-mint-2);
}

.admin-actions form {
	margin: 0;
}

.admin-actions button {
	display: inline-block;
	padding: 0.65rem 0.9rem;
	text-decoration: none;
	background: var(--gms-mane-4);
	color: var(--gms-mint-2);
	border: 0;
	cursor: pointer;
	font: inherit;
}

.admin-actions .gms-modal-close,
.admin-actions .admin-editor-modal-close {
	width: 2.2rem;
	height: 2.2rem;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.admin-actions-stack {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.admin-actions-inline {
	margin-top: 0.6rem;
}

.admin-alert {
	margin-bottom: 1rem;
	padding: 0.85rem 1rem;
	background: rgba(var(--gms-shadow-rgb), 0.16);
	color: var(--gms-mane-3);
}

.admin-alert-error {
	background: rgba(var(--gms-mane-top-rgb), 0.12);
	color: var(--gms-mane-1);
}

/* Inline yes/no state, used by the Stripe configuration panel on Store > Settings.
   Only tokens DEFINED at :root in this file are used - --gms-error is set at line 37.
   A token that is merely referenced somewhere else silently falls back to whatever the
   declaration's fallback happens to be, which is how the store share circles ended up
   invisible in dark mode. "ok" deliberately inherits rather than inventing a green: there
   is no success token in this stylesheet, and adding a one-off colour here would be a
   second palette nobody maintains. */
.admin-status-ok {
	font-weight: 600;
}

.admin-status-warn {
	color: var(--gms-error);
	font-weight: 600;
}

/* Name/value readout, used by the Stripe configuration panel on Store > Settings.
   The markup used to borrow `.store-summary-*` from the THEME stylesheet, which admin
   never loads - and every one of those rules is scoped to `.store-shell` anyway, so it
   could not have applied here even if it did. The spans fell back to plain inline and
   ran together ("Modetest"). Same trap as `.content-button` and `.admin-status-*`:
   confirm a class is DEFINED IN THIS FILE before using it in an admin template. */
.admin-config-list {
	margin: 0 0 1rem;
	padding: 0;
	max-width: 34rem;
	list-style: none;
	display: grid;
	gap: 0.45rem;
}

.admin-config-list li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1.2rem;
	padding-bottom: 0.45rem;
	border-bottom: 1px solid rgba(var(--gms-shadow-rgb), 0.1);
}

.admin-config-name {
	opacity: 0.8;
}

.admin-config-value {
	text-align: right;
	white-space: nowrap;
}

.content-card {
	background: var(--theme-content-card-bg);
	color: var(--theme-content-card-text);
	border: 1px solid var(--theme-content-card-border);
	border-radius: var(--theme-content-card-radius);
	box-shadow: var(--theme-content-card-shadow);
	padding: var(--theme-content-card-padding);
}

.content-rich {
	display: grid;
	gap: 0.8rem;
}

.content-rich p,
.content-rich ul,
.content-rich ol {
	margin: 0;
}

.content-rich ul,
.content-rich ol {
	padding-left: 1.15rem;
}

.jobs-application-detail {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

@media (max-width: 900px) {
.content-split-layout,
	.jobs-application-detail {
		grid-template-columns: 1fr;
	}

.admin-layout {
		grid-template-columns: 1fr;
	}

.admin-sidebar {
		position: static;
		max-height: none;
	}

.theme-editor-utility-row {
		grid-template-columns: 1fr;
	}

.theme-editor-color-editor-row {
		grid-template-columns: 1fr;
	}

.theme-editor-color-editor-remove {
		padding-bottom: 0;
	}
}

.settings-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1rem;
}

.settings-field {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	margin-bottom: 0.9rem;
}

.settings-field span {
	/*font-weight: bold;*/
}

.settings-field textarea {
	width: 100%;
}

.settings-field input,
.settings-field textarea {
	box-sizing: border-box;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.18);
	padding: 0.7rem 0.8rem;
	font: inherit;
	background: var(--gms-white);
	color: var(--gms-mane-4);
}

.settings-field small {
	color: var(--gms-green-gray);
	overflow-wrap: anywhere;
}

.settings-field .field-error {
	color: var(--gms-mane-top);
	font-weight: bold;
}

.settings-field select {
	box-sizing: border-box;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.18);
	padding: 0.7rem 0.8rem;
	font: inherit;
	background: var(--gms-white);
	color: var(--gms-mane-4);
	width: auto;
}

.settings-field-wide {
	grid-column: 1 / -1;
}

.settings-grid-compact {
	grid-template-columns: minmax(0, 1fr);
	gap: 0.9rem;
}

.admin-sidebar-right .settings-grid-compact .settings-field {
	margin: 0;
}

.admin-sidebar-right .settings-field textarea {
	min-height: 9rem;
}

.settings-field-checkbox {
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0.55rem;
}

.settings-field-checkbox input[type="checkbox"] {
	order: 0;
	flex: 0 0 auto;
	width: auto;
	margin: 0;
	padding: 0;
}

.settings-field-checkbox span {
	order: 1;
}

.settings-submit {
	margin-top: 1.25rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.settings-submit-compact {
	margin-top: 0;
}

.settings-submit button {
	border: 0;
	background: var(--gms-mane-top);
	color: var(--gms-white);
	padding: 0.8rem 1.15rem;
	font: inherit;
	cursor: pointer;
}

.button,
.button-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.72rem 0.95rem;
	border-radius: 0.95rem;
	font: inherit;
	font-size: 0.92rem;
	cursor: pointer;
	text-decoration: none;
	line-height: 1;
	box-shadow: 0 0.4rem 0.9rem rgba(var(--gms-shadow-rgb), 0.05);
}

.button {
	border: 1px solid var(--gms-mane-3) !important;
	background: var(--gms-mane-3) !important;
	color: var(--gms-white) !important;
	font-weight: 600;
}

.button:hover,
.button:focus-visible {
	background: var(--gms-mane-2) !important;
	border: 1px solid var(--gms-mane-2) !important;
	color: var(--gms-white) !important;
	padding: 0.72rem 0.95rem !important;
	border-radius: 0.95rem !important;
	font-weight: 600 !important;
	font-size: 0.92rem !important;
	line-height: 1 !important;
	box-shadow: 0 0.5rem 1.1rem rgba(var(--gms-shadow-rgb), 0.14) !important;
	font-family: inherit !important;
	font-style: inherit !important;
	letter-spacing: inherit !important;
	text-transform: none !important;
	text-decoration: none !important;
}

.button:disabled {
	opacity: 0.55;
	cursor: default;
}

.button-secondary {
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.18) !important;
	background: var(--gms-white) !important;
	color: var(--gms-mane-4) !important;
}

.button-secondary:hover,
.button-secondary:focus-visible {
	background: rgba(var(--gms-shadow-rgb), 0.05) !important;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.35) !important;
	color: var(--gms-mane-4) !important;
	padding: 0.72rem 0.95rem !important;
	border-radius: 0.95rem !important;
	font-weight: inherit !important;
	font-size: 0.92rem !important;
	line-height: 1 !important;
	box-shadow: 0 0.5rem 1.1rem rgba(var(--gms-shadow-rgb), 0.07) !important;
	font-family: inherit !important;
	font-style: inherit !important;
	letter-spacing: inherit !important;
	text-transform: none !important;
	text-decoration: none !important;
}

.button-secondary:disabled {
	opacity: 0.55;
	cursor: default;
}

.button-secondary-danger {
	border: 1px solid rgba(var(--gms-mane-top-rgb), 0.45) !important;
	background: transparent !important;
	color: var(--gms-mane-top) !important;
}

.admin-section + .admin-section {
	margin-top: 1.5rem;
}

.admin-section-header {
	margin-bottom: 1rem;
}

.admin-section-header h3 {
	margin: 0 0 0.35rem;
}

.admin-section-header p {
	margin: 0;
	color: var(--gms-green-gray);
}

.admin-table-wrap,
.admin-table-card {
	overflow-x: auto;
}

.admin-table,
.admin-list-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--gms-white);
}

.admin-table th,
.admin-table td {
	padding: 0.85rem 0.9rem;
	border-bottom: 1px solid rgba(var(--gms-shadow-rgb), 0.1);
	text-align: left;
	vertical-align: top;
}

.admin-table th {
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--gms-green-gray);
}

.admin-table-meta {
	margin-top: 0.25rem;
	color: var(--gms-green-gray);
	font-size: 0.92rem;
	overflow-wrap: anywhere;
}

.admin-list-clickable-row {
	cursor: pointer;
}

.admin-list-clickable-row:hover td,
.admin-list-clickable-row:focus-within td {
	background: rgba(var(--gms-shadow-rgb), 0.06);
}

.admin-list-clickable-row.is-selected td {
	background: rgba(var(--gms-shadow-rgb), 0.12);
	color: var(--gms-mane-3);
	font-weight: 600;
}

.admin-list-clickable-row.is-selected td:first-child {
	box-shadow: inset 3px 0 0 var(--gms-mane-3);
}

.admin-list-row-title {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
}

.admin-list-row-title .gms {
	color: var(--gms-green-gray);
	padding-top: 0.1rem;
	cursor: grab;
	touch-action: none;
	user-select: none;
}

.admin-nav-row.is-dragging {
	opacity: 0.5;
}

.admin-nav-row.is-drag-target td {
	box-shadow: inset 0 2px 0 var(--gms-mane-3);
}

.admin-nav-row.is-indent-target td:first-child {
	box-shadow: inset 4.2rem 0 0 rgba(var(--gms-mane-top-rgb), 0.08), inset 0 2px 0 var(--gms-mane-3);
}

.admin-nav-master-submit {
	margin-top: 0.85rem;
}

.admin-nav-settings-card {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0 0 0.75rem;
	padding: 0.75rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.1);
	border-radius: 8px;
	background: rgba(var(--gms-white-rgb), 0.72);
	color: var(--gms-mane-4);
	text-align: left;
	cursor: pointer;
}

.admin-nav-settings-card strong,
.admin-nav-settings-card small {
	display: block;
}

.admin-nav-settings-card small {
	margin-top: 0.15rem;
	color: var(--gms-green-gray);
	font-size: 0.8rem;
}

.admin-nav-settings-card.is-selected {
	border-color: rgba(var(--gms-shadow-rgb), 0.45);
	background: rgba(var(--gms-shadow-rgb), 0.07);
	box-shadow: inset 3px 0 0 var(--gms-mane-3);
}

.admin-nav-settings-tree-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.admin-nav-style-editor[hidden],
.admin-nav-type-editor[hidden],
.admin-nav-settings-editor[hidden],
.admin-nav-item-editor[hidden] {
	display: none !important;
}

.admin-nav-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
}

.admin-nav-toolbar button,
.admin-nav-row-actions button,
.admin-nav-toggle,
.admin-nav-drag-handle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: transparent;
	color: var(--gms-green-gray);
	border-radius: 0;
	box-shadow: none;
	cursor: pointer;
}

.admin-nav-toolbar button:hover,
.admin-nav-toolbar button:focus-visible,
.admin-nav-row-actions button:hover,
.admin-nav-row-actions button:focus-visible,
.admin-nav-toggle:hover,
.admin-nav-toggle:focus-visible,
.admin-nav-drag-handle:hover,
.admin-nav-drag-handle:focus-visible {
	color: var(--gms-mane-3);
	outline: none;
}

.admin-nav-tree-card {
	padding: 0.75rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.1);
	border-radius: 8px;
	background: rgba(var(--gms-white-rgb), 0.7);
}

.admin-nav-tree,
.admin-nav-children {
	display: grid;
	gap: 0.45rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.admin-nav-children {
	margin-top: 0.45rem;
	padding-left: 3rem;
	min-height: 0.7rem;
}

.admin-nav-drag-active .admin-nav-children {
	min-height: 2.4rem;
	padding-top: 0.4rem;
	padding-bottom: 0.4rem;
	border-left: 2px dashed rgba(var(--gms-shadow-rgb), 0.28);
}

.admin-nav-item-content {
	display: grid;
	grid-template-columns: 2rem 2rem minmax(0, 1fr) auto;
	gap: 0.5rem;
	align-items: center;
	padding: 0.55rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.11);
	border-radius: 8px;
	background: var(--gms-white);
	transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.admin-nav-item.is-nested > .admin-nav-item-content {
	border-left: 3px solid var(--gms-mane-3);
}

.admin-nav-item.is-selected > .admin-nav-item-content {
	border-color: rgba(var(--gms-shadow-rgb), 0.45);
	background: rgba(var(--gms-shadow-rgb), 0.07);
	box-shadow: inset 3px 0 0 var(--gms-mane-3);
}

.admin-nav-drag-handle,
.admin-nav-toggle,
.admin-nav-toggle-placeholder {
	width: 2rem;
	height: 2rem;
	padding: 0;
}

.admin-nav-drag-handle {
	cursor: grab;
	touch-action: none;
	user-select: none;
}

.admin-nav-drag-handle:active {
	cursor: grabbing;
}

.admin-nav-main {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	text-align: left;
	cursor: pointer;
}

.admin-nav-title {
	font-weight: 650;
	color: var(--gms-mane-3);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.admin-nav-url {
	color: var(--gms-green-gray);
	font-size: 0.85rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.admin-nav-icon {
	flex: 0 0 auto;
	width: 1.15rem;
	height: 1.15rem;
	object-fit: contain;
	color: var(--gms-mane-3);
}

.admin-nav-icon-svg svg {
	display: block;
	width: 1.15rem;
	height: 1.15rem;
}

.admin-nav-badge {
	flex: 0 0 auto;
	padding: 0.12rem 0.45rem;
	border-radius: 999px;
	background: rgba(var(--gms-shadow-rgb), 0.1);
	color: var(--gms-mane-3);
	font-size: 0.72rem;
	font-weight: 700;
}

.admin-nav-badge-muted {
	background: rgba(var(--gms-shadow-rgb), 0.12);
	color: var(--gms-green-gray);
}

.admin-nav-row-actions {
	display: flex;
	gap: 0.35rem;
}

.admin-nav-row-actions button {
	width: 2rem;
	height: 2rem;
	padding: 0;
	cursor: pointer;
}

.admin-nav-row-actions button[data-nav-delete]:hover,
.admin-nav-row-actions button[data-nav-delete]:focus-visible {
	color: var(--gms-error);
}

.admin-nav-ghost {
	opacity: 0.35;
}

.admin-nav-drag {
	box-shadow: 0 0.45rem 1.25rem rgba(var(--gms-shadow-rgb), 0.18);
}

.admin-nav-icon-editor {
	display: grid;
	gap: 0.7rem;
}

.admin-nav-icon-fields {
	display: grid;
	gap: 0.7rem;
}

.admin-nav-size-pair {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 0.65rem;
}

.admin-nav-media-button {
	width: fit-content;
	border: 0;
	background: transparent;
	color: var(--gms-mane-3);
	font-weight: 700;
	padding: 0;
	cursor: pointer;
}

.admin-nav-media-current {
	display: flex;
	gap: 0.55rem;
	align-items: center;
	min-height: 2.25rem;
	color: var(--gms-green-gray);
	font-size: 0.86rem;
}

.admin-nav-media-current img {
	width: 2rem;
	height: 2rem;
	object-fit: cover;
	border-radius: 4px;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.12);
}

.admin-modal {
	position: fixed;
	inset: 0;
	z-index: 120;
	display: grid;
	place-items: center;
	padding: 1.25rem;
	background: rgba(var(--gms-shadow-rgb), 0.45);
}

.admin-modal[hidden] {
	display: none;
}

.admin-modal-card {
	display: grid;
	gap: 1rem;
	width: min(680px, 96vw);
	max-height: 86vh;
	overflow: auto;
	padding: 1rem;
	border-radius: 8px;
	background: var(--gms-white);
	box-shadow: 0 1rem 2.2rem rgba(var(--gms-shadow-rgb), 0.24);
}

.admin-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.admin-modal-header h3 {
	margin: 0;
}

.admin-modal-header button {
	border: 0;
	background: transparent;
	color: var(--gms-green-gray);
	cursor: pointer;
}

.admin-list-row-link {
	color: inherit;
	text-decoration: none;
}

.admin-list-row-link:hover,
.admin-list-row-link:focus-visible {
	color: var(--gms-mane-3);
}

.theme-editor-shell {
	display: grid;
	gap: 1.25rem;
}

.theme-editor-shell .admin-editor-header {
	position: sticky;
	top: 0;
	z-index: 40;
	margin: -1.5rem -1.5rem 1.25rem;
	padding: 0.7rem 1.5rem 0.75rem;
	background: rgba(var(--gms-white-rgb), 0.96);
	border-bottom: 1px solid rgba(var(--gms-shadow-rgb), 0.08);
	backdrop-filter: blur(6px);
}

.theme-editor-shell .admin-editor-header > div {
	position: relative;
	width: 100%;
	padding-right: 0;
}

.theme-editor-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	align-items: center;
	margin-top: 0.45rem;
}

.theme-editor-toolbar label {
	display: grid;
	gap: 0.3rem;
	min-width: min(280px, 100%);
}

.theme-editor-toolbar select,
.theme-editor-toolbar button {
	font: inherit;
}

.theme-editor-target-card.is-selected {
	border-color: rgba(var(--gms-shadow-rgb), 0.3);
	box-shadow: inset 3px 0 0 var(--gms-mane-3), 0 0 0 3px rgba(var(--gms-shadow-rgb), 0.08);
}

.theme-editor-sidebar-fields {
	display: grid;
	gap: 1rem;
}

.theme-editor-sidebar-tabs {
	position: sticky;
	top: 0;
	z-index: 12;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.4rem;
	padding: 0.7rem 0 0.75rem;
	margin: 0 0 0.25rem;
	background: rgba(var(--gms-white-rgb), 0.96);
	border-bottom: 1px solid rgba(var(--gms-shadow-rgb), 0.08);
	backdrop-filter: blur(6px);
}

.theme-editor-sidebar-tab {
	padding: 0.48rem 0.4rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.75);
	border-radius: 0.8rem;
	background: var(--gms-white);
	color: var(--gms-green-gray);
	font: inherit;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.15;
	text-align: center;
	cursor: pointer;
	box-shadow: none;
}

.theme-editor-sidebar-tab.is-active {
	background: var(--gms-mane-3);
	border-color: var(--gms-mane-3);
	color: var(--gms-white);
}

.theme-editor-sidebar-tab:disabled {
	background: rgba(var(--gms-white-rgb), 0.72);
	color: var(--gms-green-gray);
	border-color: rgba(var(--gms-shadow-rgb), 0.08);
	cursor: default;
}

.theme-editor-field-group {
	display: grid;
	gap: 0.8rem;
}

.theme-editor-field-group h4 {
	margin: 0;
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--gms-green-gray);
}

.theme-editor-css-field {
	position: relative;
	overflow: visible;
	z-index: 5;
}

.theme-editor-css-hints {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% - 2rem);
	z-index: 25;
	display: grid;
	gap: 0.15rem;
	padding: 0.45rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.10);
	border-radius: 0.95rem;
	background: rgba(var(--gms-white-rgb), 0.98);
	box-shadow: 0 0.9rem 2rem rgba(var(--gms-shadow-rgb), 0.12);
	max-height: 15rem;
	overflow: auto;
}

.theme-editor-css-hint {
	width: 100%;
	padding: 0.45rem 0.6rem;
	border: 0;
	border-radius: 0.7rem;
	background: transparent;
	color: var(--gms-mane-4);
	text-align: left;
	font: inherit;
	cursor: pointer;
	box-shadow: none;
}

.theme-editor-css-hint:hover,
.theme-editor-css-hint:focus-visible,
.theme-editor-css-hint.is-active {
	background: rgba(var(--gms-mane-top-rgb), 0.08);
	color: var(--gms-mane-top);
}

.admin-sidebar-card .admin-editor-section-header {
	display: block;
}

.admin-sidebar-card .admin-editor-section-header h3 {
	display: block;
	margin: 0 0 0.35rem;
}

.admin-sidebar-card .admin-editor-section-header p {
	display: block;
	margin: 0;
}

.theme-editor-preview-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin: 20px 0 0 0;
}

.theme-editor-shell .admin-editor-header .button,
.theme-editor-shell .admin-editor-header .button-secondary,
.theme-editor-shell .admin-editor-header .theme-editor-preview-actions > button {
	transform: none;
	transition: none;
	font-size: 0.92rem !important;
	line-height: 1 !important;
	font-family: 'Poppins', Arial, sans-serif !important;
	font-style: normal !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-decoration: none !important;
}

.theme-editor-shell .admin-editor-header .button,
.theme-editor-shell .admin-editor-header .theme-editor-preview-actions > button.button {
	font-weight: 600 !important;
}

.theme-editor-shell .admin-editor-header .button:hover,
.theme-editor-shell .admin-editor-header .button:focus-visible,
.theme-editor-shell .admin-editor-header .theme-editor-preview-actions > button.button:hover,
.theme-editor-shell .admin-editor-header .theme-editor-preview-actions > button.button:focus-visible {
	background: var(--gms-mane-3) !important;
	border: 1px solid var(--gms-mane-3) !important;
	color: var(--gms-white) !important;
	padding: 0.72rem 0.95rem !important;
	border-radius: 0.95rem !important;
	font-weight: 600 !important;
	font-size: 0.92rem !important;
	font-family: 'Poppins', Arial, sans-serif !important;
	font-style: normal !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-decoration: none !important;
	line-height: 1 !important;
	box-shadow: 0 0.4rem 0.9rem rgba(var(--gms-shadow-rgb), 0.05) !important;
	transform: none !important;
}

.theme-editor-shell .admin-editor-header .button-secondary:hover,
.theme-editor-shell .admin-editor-header .button-secondary:focus-visible,
.theme-editor-shell .admin-editor-header .theme-editor-preview-actions > button:not(.button):not(.button-secondary):hover,
.theme-editor-shell .admin-editor-header .theme-editor-preview-actions > button:not(.button):not(.button-secondary):focus-visible {
	background: var(--gms-white) !important;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.18) !important;
	color: var(--gms-mane-4) !important;
	padding: 0.72rem 0.95rem !important;
	border-radius: 0.95rem !important;
	font-weight: 400 !important;
	font-size: 0.92rem !important;
	font-family: 'Poppins', Arial, sans-serif !important;
	font-style: normal !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-decoration: none !important;
	line-height: 1 !important;
	box-shadow: 0 0.4rem 0.9rem rgba(var(--gms-shadow-rgb), 0.05) !important;
	transform: none !important;
}

.theme-editor-preview-actions button,
.theme-editor-toolbar .settings-field select,
.theme-editor-mode-toggle button {
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.16);
	background: var(--gms-white);
	color: var(--gms-mane-4);
	padding: 0.72rem 0.95rem;
	border-radius: 0.95rem;
	font: inherit;
	box-shadow: 0 0.4rem 0.9rem rgba(var(--gms-shadow-rgb), 0.04);
	cursor: pointer;
}

.theme-editor-preview-actions button:hover,
.theme-editor-preview-actions button:focus-visible,
.theme-editor-toolbar .settings-field select:hover,
.theme-editor-toolbar .settings-field select:focus-visible {
	border-color: rgba(var(--gms-shadow-rgb), 0.24);
}

.theme-editor-preview-actions button[type='submit'] {
	color: var(--gms-white);
	background: var(--theme-action-button-bg);
}

.theme-editor-mode-toggle {
	position: absolute;
	top: 0;
	right: 0;
	display: inline-flex;
	align-items: center;
	gap: 0.15rem;
	padding: 0.1rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.16);
	border-radius: 999px;
	background: rgba(var(--gms-white-rgb), 0.92);
	box-shadow: inset 0 1px 0 rgba(var(--gms-white-rgb), 0.65);
}

.theme-editor-mode-toggle button {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	padding: 0.24rem 0.42rem;
	border-radius: 999px;
	background: transparent;
	color: var(--gms-green-gray);
	box-shadow: none;
	border: 0;
	font-size: 0.82rem;
	line-height: 1;
	transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.theme-editor-mode-toggle button .gms {
	font-size: 15px;
}

.theme-editor-mode-toggle button.is-active {
	background: var(--gms-mane-3);
	color: var(--gms-white);
	box-shadow: 0 0.45rem 0.9rem rgba(var(--gms-shadow-rgb), 0.18);
}

.theme-editor-mode-toggle button:not(.is-active) {
	opacity: 0.82;
}

.theme-editor-mode-toggle button:hover,
.theme-editor-mode-toggle button:focus-visible {
	transform: none;
}

.theme-editor-workbench {
	gap: 1.25rem;
}

.theme-editor-utility-row {
	display: grid;
	grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr);
	gap: 1rem;
}

.theme-editor-utility-row[hidden],
.theme-editor-preview-frame[hidden] {
	display: none !important;
}

.theme-editor-blocks-panel {
	display: grid;
	gap: 1rem;
}

.theme-editor-blocks-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.theme-editor-blocks-canvas {
	display: grid;
	gap: 1rem;
}

.theme-editor-block-workspace {
	display: grid;
	grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.6fr);
	gap: 1rem;
	align-items: start;
}

.theme-editor-cards-workspace {
	grid-template-columns: minmax(0, 1fr);
}

.theme-editor-forms-workspace {
	grid-template-columns: minmax(240px, 25%) minmax(0, 75%);
	align-items: start;
}

.theme-editor-cards-workspace .settings-submit-compact {
	justify-content: flex-start;
}

.theme-editor-forms-workspace .settings-submit-compact {
	grid-column: 1 / -1;
	justify-content: flex-start;
}

.theme-editor-cards-workspace .theme-editor-block-editor,
.theme-editor-cards-workspace .block-editor-card {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.theme-editor-forms-workspace .theme-editor-block-editor,
.theme-editor-forms-workspace .block-editor-card {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	align-self: start;
}

.theme-editor-card-header-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
}

.theme-editor-card-header-row .page-block-header-main {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
}

.theme-editor-card-header-actions {
	margin-left: auto;
}

.theme-editor-card-delete-button {
	border: 0;
	background: transparent;
	box-shadow: none;
	padding: 0.2rem;
	min-width: auto;
}

.theme-editor-card-delete-button:hover,
.theme-editor-card-delete-button:focus {
	border: 0;
	background: transparent;
	box-shadow: none;
}

.theme-editor-block-list,
.theme-editor-block-editor,
.theme-editor-block-card,
.theme-editor-block-empty {
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.1);
	border-radius: 18px;
	background: rgba(var(--gms-white-rgb), 0.82);
	padding: 1rem;
	box-shadow: 0 12px 28px rgba(var(--gms-shadow-rgb), 0.06);
}

.theme-editor-block-list {
	display: grid;
	gap: 0.8rem;
	min-width: 0;
}

.theme-editor-block-list-item {
	width: 100%;
	max-width: 100%;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: start;
	column-gap: 0.65rem;
	gap: 0.5rem;
	padding: 0.75rem 0.8rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.1);
	border-radius: 0.85rem;
	background: rgba(var(--gms-white-rgb), 0.9);
	text-align: left;
	color: var(--gms-mane-4);
	box-shadow: none;
	cursor: pointer;
	box-sizing: border-box;
	min-width: 0;
}

.theme-editor-block-list-drag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.9rem;
	min-height: 2rem;
	color: rgba(var(--gms-shadow-rgb), 0.48);
	cursor: grab;
	grid-column: 1;
	grid-row: 1 / span 2;
}

.theme-editor-block-list-drag:active {
	cursor: grabbing;
}

.theme-editor-block-list-item strong {
	font-size: 0.98rem;
	grid-column: 2;
}

.theme-editor-block-list-item span {
	font-size: 0.85rem;
	color: var(--gms-green-gray);
	grid-column: 2;
}

.theme-editor-block-list-item.is-selected {
	border-color: rgba(var(--gms-mane-top-rgb), 0.28);
	box-shadow: 0 10px 20px rgba(var(--gms-mane-top-rgb), 0.08);
}

.theme-editor-block-list-item.is-drag-target {
	border-style: dashed;
	border-color: rgba(var(--gms-shadow-rgb), 0.35);
}

.theme-editor-block-list-item.is-dragging {
	opacity: 0.55;
}

.theme-editor-footer-block-picker {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0.65rem;
	align-items: end;
	margin-bottom: 0.35rem;
}

.theme-editor-footer-block-item-actions {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.45rem;
	pointer-events: auto;
	grid-column: 3;
	grid-row: 2;
	align-self: end;
}

.theme-editor-footer-block-toggle {
	font-size: 1.45rem;
	position: relative;
	z-index: 3;
	cursor: pointer;
	pointer-events: auto;
	touch-action: manipulation;
	user-select: none;
}

.theme-editor-footer-block-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.1rem;
	height: 2.1rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.12);
	border-radius: 999px;
	background: var(--gms-white);
	color: var(--gms-mane-top);
	cursor: pointer;
	position: relative;
	z-index: 3;
	pointer-events: auto;
}

.theme-editor-footer-block-remove:hover,
.theme-editor-footer-block-remove:focus-visible {
	border-color: rgba(var(--gms-mane-top-rgb), 0.28);
	background: rgba(var(--gms-mane-top-rgb), 0.08);
	outline: none;
}

.theme-editor-footer-links-preview-list {
	margin: 0.75rem 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.65rem;
}

.theme-editor-footer-links-preview-item,
.theme-editor-footer-links-preview-empty {
	font-size: 0.88rem;
	color: var(--gms-green-gray);
}

.theme-editor-footer-links-preview-item:not(:last-child)::after {
	content: "|";
	margin-left: 0.65rem;
	color: rgba(var(--gms-shadow-rgb), 0.3);
}

.theme-editor-footer-links-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.85rem;
}

.theme-editor-footer-menu-cards {
	display: grid;
	gap: 0.85rem;
	margin-top: 0.85rem;
}

.theme-editor-footer-menu-card {
	cursor: pointer;
}

.theme-editor-footer-menu-card.is-disabled {
	opacity: 0.65;
}

.theme-editor-footer-menu-card.is-drag-target {
	border-style: dashed;
	border-color: rgba(var(--gms-shadow-rgb), 0.35);
}

.theme-editor-footer-menu-card.is-dragging {
	opacity: 0.55;
}

.theme-editor-footer-menu-card-head {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.75rem;
	align-items: start;
}

.theme-editor-footer-menu-drag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	min-height: 2rem;
	color: var(--gms-green-gray);
	cursor: grab;
}

.theme-editor-footer-menu-drag-static {
	cursor: default;
	opacity: 0.75;
}

.theme-editor-footer-menu-settings {
	display: grid;
	gap: 0.55rem;
	margin: 0 0 0.85rem;
}

.theme-editor-footer-menu-setting-row {
	display: grid;
	grid-template-columns: minmax(90px, auto) minmax(0, 1fr);
	gap: 1rem;
	align-items: center;
}

.theme-editor-footer-menu-setting-label {
	text-align: left;
	color: var(--gms-green-gray);
	font-size: 1rem;
}

.theme-editor-footer-menu-setting-value {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	min-width: 0;
}

.theme-editor-footer-menu-setting-value input {
	width: min(220px, 100%);
	text-align: right;
}

.theme-editor-footer-menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.2rem;
	padding: 0;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.12);
	border-radius: 999px;
	background: var(--gms-white);
	box-shadow: 0 0.4rem 0.9rem rgba(var(--gms-shadow-rgb), 0.04);
	cursor: pointer;
}

.theme-editor-footer-menu-toggle .gms {
	font-size: 1.7rem;
	line-height: 1;
}

.theme-editor-footer-menu-toggle.is-on {
	color: var(--gms-green);
}

.theme-editor-footer-menu-toggle.is-off {
	color: var(--gms-border);
}

.theme-editor-footer-fixed-card {
	cursor: pointer;
}

.theme-editor-footer-copyright-preview {
	margin-top: 0.75rem;
	padding-top: 0.2rem;
	color: var(--gms-green-gray);
	font-size: 0.88rem;
	line-height: 1.55;
}

.theme-editor-footer-copyright-preview-inner {
	word-break: break-word;
	overflow-wrap: anywhere;
}

.theme-editor-footer-copyright-preview-inner p {
	margin: 0;
}

.theme-editor-footer-links-list {
	display: grid;
	gap: 0.75rem;
}

.theme-editor-footer-link-row {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: start;
	gap: 0.75rem;
	padding: 0.8rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.1);
	border-radius: 0.9rem;
	background: rgba(var(--gms-white-rgb), 0.9);
}

.theme-editor-footer-link-row.is-drag-target {
	border-style: dashed;
	border-color: rgba(var(--gms-shadow-rgb), 0.35);
}

.theme-editor-footer-link-row.is-dragging {
	opacity: 0.55;
}

.theme-editor-footer-link-drag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	min-height: 2.4rem;
	color: var(--gms-green-gray);
	cursor: grab;
}

.theme-editor-footer-link-fields {
	display: grid;
	gap: 0.5rem;
	min-width: 0;
}

.theme-editor-footer-link-remove {
	align-self: center;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.2rem;
	height: 2.2rem;
	border: 1px solid rgba(var(--gms-mane-top-rgb), 0.18);
	border-radius: 999px;
	background: rgba(var(--gms-white-rgb), 0.92);
	color: var(--gms-mane-top);
	cursor: pointer;
}

.theme-editor-footer-link-field input,
.theme-editor-footer-menu-setting-value input {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.18);
	padding: 0.7rem 0.8rem;
	font: inherit;
	background: var(--gms-white);
	color: var(--gms-mane-4);
	border-radius: 0.9rem;
}

.theme-editor-token-autocomplete {
	display: grid;
	gap: 0.25rem;
	margin-top: 0.45rem;
	padding: 0.45rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.12);
	border-radius: 0.8rem;
	background: rgba(var(--gms-white-rgb), 0.98);
	box-shadow: 0 10px 24px rgba(var(--gms-shadow-rgb), 0.08);
}

.theme-editor-token-option {
	width: 100%;
	padding: 0.45rem 0.55rem;
	border: 0;
	border-radius: 0.55rem;
	background: transparent;
	text-align: left;
	color: var(--gms-green-gray);
	cursor: pointer;
}

.theme-editor-token-option.is-active,
.theme-editor-token-option:hover,
.theme-editor-token-option:focus-visible {
	background: rgba(var(--gms-mane-top-rgb), 0.08);
	color: var(--gms-mane-top);
}

#themeEditorSidebarTitle.is-block-title-editable {
	border-bottom: 1px dashed currentColor;
	outline: none;
	cursor: text;
	min-width: 4ch;
}

#themeEditorSidebarTitle.is-block-title-editable:focus {
	border-bottom-color: var(--gms-teal);
}

.theme-editor-block-actions-group {
	display: flex;
	gap: 0.5rem;
	padding-top: 0.5rem;
	border-top: 1px solid rgba(var(--gms-black-rgb), 0.08);
}

.theme-editor-block-editor {
	display: grid;
	gap: 1rem;
	align-self: start;
}

.theme-editor-block-stage-header {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
}

.theme-editor-block-stage-header h4 {
	margin: 0 0 0.2rem;
	font-size: 1.1rem;
}

.theme-editor-block-stage-header p {
	margin: 0;
	color: var(--gms-green-gray);
}

.theme-editor-block-snap-controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1rem;
	padding: 0.7rem 0.85rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.12);
	border-radius: 0.9rem;
	background: rgba(var(--gms-white-rgb), 0.72);
}

.theme-editor-block-snap-controls label {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.92rem;
	color: var(--gms-green-gray);
}

.theme-editor-block-snap-toggle {
	font-weight: 600;
}

.theme-editor-block-snap-controls input[type="number"] {
	width: 5.25rem;
}

.theme-editor-node-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}

.theme-editor-node-toolbar button {
	flex: 0 0 auto;
}

.theme-editor-blocks-panel-inline {
	margin-top: 1rem;
}

.theme-editor-attached-blocks-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
}

.theme-editor-attached-blocks-header h4 {
	margin: 0 0 0.2rem;
	font-size: 1.05rem;
}

.theme-editor-attached-blocks-header p {
	margin: 0;
	color: var(--gms-green-gray);
}

.theme-editor-preview-managed-block-empty {
	padding: 0.9rem 1rem;
	border: 1px dashed rgba(var(--gms-shadow-rgb), 0.18);
	border-radius: 0.9rem;
	color: var(--gms-green-gray);
	background: rgba(var(--gms-white-rgb), 0.42);
}

.theme-editor-preview-managed-block-canvas {
	position: relative;
	max-width: 100%;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.18);
	border-radius: 1rem;
	background: rgba(var(--gms-white-rgb), 0.74);
	overflow: hidden;
}

.theme-editor-preview-managed-block-canvas.is-selected {
	border-color: rgba(var(--gms-mane-top-rgb), 0.38);
	box-shadow: 0 0 0 2px rgba(var(--gms-mane-top-rgb), 0.10);
}

.theme-editor-preview-managed-block-node.is-selected {
	border-color: rgba(var(--gms-mane-top-rgb), 0.55);
	box-shadow: 0 0 0 2px rgba(var(--gms-mane-top-rgb), 0.12);
}

.theme-editor-preview-managed-block-canvas [data-block-node].is-selected {
	outline: 1px solid rgba(var(--gms-mane-top-rgb), 0.55);
	outline-offset: 1px;
}

.theme-editor-block-stage {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.theme-editor-block-stage-inner {
	position: relative;
	width: 320px;
	height: 260px;
	min-height: 0;
	border: 1px dashed rgba(var(--gms-shadow-rgb), 0.75);
	border-radius: 0;
	background: rgba(var(--gms-white-rgb), 0.75);
	overflow: visible;
}

.theme-block-canvas {
	overflow: hidden;
}

.theme-editor-block-node {
	position: absolute;
	display: block;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 0;
	background: transparent;
	cursor: pointer;
	box-sizing: border-box;
	overflow: visible;
}

.theme-editor-block-node.is-selected {
	border-color: rgba(var(--gms-mane-top-rgb), 0.55);
	box-shadow: 0 0 0 2px rgba(var(--gms-mane-top-rgb), 0.12);
}

.theme-editor-block-node.is-drag-target {
	border-style: dashed;
	border-color: rgba(var(--gms-shadow-rgb), 0.35);
}

.theme-editor-block-node-preview {
	width: 100%;
	height: 100%;
	min-height: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
	border: 0;
	overflow: hidden;
	box-sizing: border-box;
}

.theme-editor-block-node-preview > *:first-child {
	margin-top: 0;
}

.theme-editor-block-node-preview > *:last-child {
	margin-bottom: 0;
}

.theme-editor-block-node-preview img:not(.site-logo),
.theme-editor-preview-managed-block-node img:not(.site-logo) {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.theme-editor-block-node-preview .site-logo,
.theme-editor-preview-managed-block-node .site-logo {
	display: block;
	flex: 0 0 auto;
	width: auto !important;
	height: auto !important;
	max-width: 100%;
	max-height: calc(var(--theme-header-heading-font-size, clamp(2rem, 4vw, 3.5rem)) * 1.35);
	object-fit: contain;
}

.theme-editor-block-image-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 100%;
	padding: 0.85rem;
	border: 1px dashed rgba(var(--gms-shadow-rgb), 0.18);
	border-radius: 0.75rem;
	background: rgba(var(--gms-white-rgb), 0.78);
	color: var(--gms-green-gray);
	font-size: 0.9rem;
	text-align: center;
	box-sizing: border-box;
}

.theme-editor-block-node-handle {
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 2px solid var(--gms-teal);
	background: var(--gms-white);
	box-sizing: border-box;
	z-index: 10;
	display: none;
}

.theme-editor-block-node.is-selected .theme-editor-block-node-handle {
	display: block;
}

/* All handles sit fully inside the node outline */
.theme-editor-block-node-handle[data-handle="nw"] { top: 0; left: 0; cursor: nwse-resize; }

.theme-editor-block-node-handle[data-handle="n"]  { top: 0; left: calc(50% - 5px); cursor: ns-resize; }

.theme-editor-block-node-handle[data-handle="ne"] { top: 0; left: calc(100% - 10px); cursor: nesw-resize; }

.theme-editor-block-node-handle[data-handle="w"]  { top: calc(50% - 5px); left: 0; cursor: ew-resize; }

.theme-editor-block-node-handle[data-handle="e"]  { top: calc(50% - 5px); left: calc(100% - 10px); cursor: ew-resize; }

.theme-editor-block-node-handle[data-handle="sw"] { top: calc(100% - 10px); left: 0; cursor: nesw-resize; }

.theme-editor-block-node-handle[data-handle="s"]  { top: calc(100% - 10px); left: calc(50% - 5px); cursor: ns-resize; }

.theme-editor-block-node-handle[data-handle="se"] { top: calc(100% - 10px); left: calc(100% - 10px); cursor: nwse-resize; }

/* Rotation handles — quarter-circle arcs outside each corner */
.theme-editor-block-node-rotate {
	position: absolute;
	width: 14px;
	height: 14px;
	border: 2px solid var(--gms-teal);
	background: transparent;
	box-sizing: border-box;
	display: none;
	z-index: 9;
	cursor: crosshair;
	opacity: 0.7;
	transition: opacity 0.1s;
}

.theme-editor-block-node-rotate:hover {
	opacity: 1;
}

.theme-editor-block-node.is-selected .theme-editor-block-node-rotate {
	display: block;
}

/* Each arc sits outside the node corners, extending ~15px beyond the boundary */
[data-rotate="nw"] { top: -15px; left: -15px; border-bottom: none; border-right: none; border-radius: 100% 0 0 0; }

[data-rotate="ne"] { top: -15px; left: calc(100% + 1px); border-bottom: none; border-left: none; border-radius: 0 100% 0 0; }

[data-rotate="sw"] { top: calc(100% + 1px); left: -15px; border-top: none; border-right: none; border-radius: 0 0 0 100%; }

[data-rotate="se"] { top: calc(100% + 1px); left: calc(100% + 1px); border-top: none; border-left: none; border-radius: 0 0 100% 0; }

.theme-editor-block-node-trash,
.theme-editor-block-node-reset {
	position: absolute;
	top: -22px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--gms-white);
	border: 0;
	cursor: pointer;
	display: none;
	z-index: 20;
	align-items: center;
	justify-content: center;
	font-size: 0.65rem;
	padding: 0;
	line-height: 1;
	box-shadow: 0 1px 4px rgba(var(--gms-black-rgb), 0.18);
}

.theme-editor-block-node-trash {
	left: 0;
	color: var(--gms-mane-top);
}

.theme-editor-block-node-reset {
	left: 24px;
	color: var(--gms-teal);
}

.theme-editor-block-node.is-selected .theme-editor-block-node-trash {
	display: flex;
}

.theme-editor-block-node.is-selected.has-rotation .theme-editor-block-node-reset {
	display: flex;
}

.theme-editor-block-canvas-resize {
	position: absolute;
	right: 0.55rem;
	bottom: 0.55rem;
	width: 14px;
	height: 14px;
	border-radius: 999px;
	border: 2px solid var(--gms-teal);
	background: var(--gms-white);
	cursor: nwse-resize;
	box-sizing: border-box;
	z-index: 50;
}

.theme-editor-dim-wrap {
	display: flex;
	gap: 0.35rem;
	align-items: center;
}

.theme-editor-dim-wrap input {
	flex: 1;
	min-width: 0;
}

.theme-editor-dim-unit {
	flex-shrink: 0;
	width: 2.6rem;
	padding: 0.15rem 0.1rem;
	font-size: 0.78rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.18);
	border-radius: 4px;
	background: var(--gms-white);
	cursor: pointer;
}

.theme-editor-block-node-disabled,
.theme-editor-faux-input,
.theme-editor-faux-choice,
.theme-editor-spacer-placeholder,
.theme-editor-block-note {
	color: var(--gms-green-gray);
}

.theme-editor-form-field-preview {
	display: grid;
	gap: 0.45rem;
	width: 100%;
}

.theme-editor-form-flow-card {
	display: grid;
	gap: 1rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.theme-editor-form-flow-list {
	display: grid;
	gap: 0.25rem;
}

.theme-editor-form-flow-empty {
	padding: 1rem 1.05rem;
	border: 1px dashed rgba(var(--gms-shadow-rgb), 0.18);
	border-radius: 0.9rem;
	background: rgba(var(--gms-white-rgb), 0.78);
	color: var(--gms-green-gray);
}

.theme-editor-form-flow-empty p {
	margin: 0;
}

.theme-editor-form-flow-row {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 0.65rem;
	align-items: start;
	padding: 0.2rem 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	cursor: pointer;
}

.theme-editor-form-flow-row-ghost {
	opacity: 0.45;
}

.theme-editor-form-flow-row-dragging {
	box-shadow: 0 14px 30px rgba(var(--gms-shadow-rgb), 0.12);
}

.theme-editor-form-flow-remove,
.theme-editor-form-flow-drag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.5rem;
	height: 1.5rem;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	line-height: 1;
	box-shadow: none;
	font-size: 1rem;
}

.theme-editor-form-flow-remove {
	color: var(--gms-mane-top);
}

.theme-editor-form-flow-drag {
	cursor: grab;
	color: var(--gms-green-gray);
}

.theme-editor-form-flow-drag:active {
	cursor: grabbing;
}

.theme-editor-form-flow-remove i,
.theme-editor-form-flow-drag i {
	display: block;
	font-size: 1rem;
	line-height: 1;
	pointer-events: none;
}

.theme-editor-form-flow-preview {
	position: relative;
	min-width: 0;
	padding: 0.25rem 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: visible;
}

.theme-editor-form-flow-row.is-selected .theme-editor-form-flow-preview::before {
	content: '';
	position: absolute;
	top: -0.35rem;
	right: -0.45rem;
	bottom: -0.35rem;
	left: -0.45rem;
	border: 1px solid rgba(var(--gms-mane-top-rgb), 0.42);
	border-radius: 0.65rem;
	box-shadow: 0 0 0 2px rgba(var(--gms-mane-top-rgb), 0.10);
	pointer-events: none;
}

.theme-editor-form-flow-preview > *:first-child {
	margin-top: 0;
}

.theme-editor-form-flow-preview > *:last-child {
	margin-bottom: 0;
}

.theme-editor-form-flow-preview .theme-editor-faux-input,
.theme-editor-form-flow-preview .theme-editor-faux-choice {
	height: auto;
	min-height: 0;
}

.theme-editor-form-flow-preview .theme-editor-faux-textarea {
	min-height: 7rem;
}

.theme-editor-form-field-preview .is-visually-hidden,
.theme-editor-faux-choice .is-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.theme-editor-faux-input {
	display: block;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: 0.7rem 0.8rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.16);
	background: rgba(var(--gms-white-rgb), 0.82);
}

.theme-editor-faux-textarea {
	min-height: 100%;
	white-space: normal;
}

.theme-editor-faux-choice {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: 0.55rem 0.8rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.16);
	background: rgba(var(--gms-white-rgb), 0.82);
}

.theme-editor-spacer-placeholder {
	display: grid;
	place-items: center;
	min-height: 2.6rem;
	border: 1px dashed rgba(var(--gms-shadow-rgb), 0.18);
	border-radius: 0.8rem;
	background: rgba(var(--gms-body-rgb), 0.55);
}

.theme-editor-map-placeholder {
	display: grid;
	place-items: center;
	min-height: 220px;
	border: 1px dashed rgba(var(--gms-shadow-rgb), 0.18);
	border-radius: 12px;
	background: linear-gradient(135deg, rgba(var(--gms-body-rgb), 0.85), rgba(var(--gms-white-rgb), 0.96));
	color: var(--gms-green-gray);
	font-size: 0.95rem;
}

.theme-editor-map-frame {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 220px;
	border: 0;
	pointer-events: none;
}

.theme-block-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--theme-action-button-padding-y, 0.7rem) var(--theme-action-button-padding-x, 1.15rem);
	border: 1px solid var(--theme-action-button-border, var(--theme-color-accent));
	border-radius: var(--theme-action-button-radius, 999px);
	background: var(--theme-action-button-bg, var(--theme-color-accent));
	color: var(--theme-action-button-text, var(--gms-white));
	box-shadow: var(--theme-action-button-shadow, none);
}

.theme-editor-utility-card {
	position: relative;
	padding: 1rem 1.1rem 1.05rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.75);
	border-radius: 1rem;
	background: rgba(var(--gms-white-rgb), 0.86);
	cursor: pointer;
}

.theme-editor-utility-label {
	margin: 0 0 0.35rem;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gms-green-gray);
}

#themeEditorFooterLinksCard {
	margin: 20px 0 0 0;
}

.theme-editor-utility-copy {
	margin: 0;
	color: var(--gms-green-gray);
}

.theme-editor-colors-card {
	display: grid;
	gap: 0.85rem;
}

.theme-editor-color-list-preview {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 0.85rem;
}

.theme-editor-color-preview-row {
	min-width: 190px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 1.8rem 1.8rem;
	gap: 0.45rem;
	align-items: center;
}

.theme-editor-color-preview-name {
	font-size: 0.92rem;
	color: var(--gms-green-gray);
	overflow-wrap: anywhere;
}

.theme-editor-color-preview-chip {
	display: block;
	width: 1.8rem;
	height: 1.8rem;
	border-radius: 0.55rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.75);
}

.theme-editor-preview-frame {
	padding: 1rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.08);
	background:
		linear-gradient(135deg, rgba(var(--gms-white-rgb), 0.65), rgba(var(--gms-body-rgb), 0.9)),
		repeating-linear-gradient(90deg, rgba(var(--gms-shadow-rgb), 0.03) 0, rgba(var(--gms-shadow-rgb), 0.03) 1px, transparent 1px, transparent 32px),
		repeating-linear-gradient(0deg, rgba(var(--gms-shadow-rgb), 0.03) 0, rgba(var(--gms-shadow-rgb), 0.03) 1px, transparent 1px, transparent 32px);
}

.theme-editor-preview-canvas {
	display: grid;
	gap: 0;
	padding: 1.4rem;
	background: var(--theme-body-bg, var(--theme-color-bg));
	color: var(--theme-body-text, var(--theme-color-text));
	font-family: var(--theme-body-font-family, 'Poppins', Arial, sans-serif);
	font-size: var(--theme-body-font-size, 16px);
	line-height: var(--theme-body-line-height, 1.7);
	text-align: var(--theme-body-text-align, left);
	transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.theme-editor-preview-canvas[data-preview-mode='dark'] {
	box-shadow: inset 0 0 0 1px rgba(var(--gms-white-rgb), 0.06);
}

.theme-editor-node {
	position: relative;
}

.theme-editor-node.is-selected {
	outline: 2px solid rgba(var(--gms-mane-top-rgb), 0.2);
	outline-offset: 2px;
}

.theme-editor-preview-header,
.theme-editor-preview-main,
.theme-editor-preview-article,
.theme-editor-preview-footer {
	cursor: pointer;
}

.theme-editor-preview-header {
	padding: var(--theme-header-padding);
	margin: var(--theme-header-margin);
	border-radius: var(--theme-header-radius);
	border: 1px solid var(--theme-header-border);
	background: var(--theme-header-bg);
	box-shadow: var(--theme-header-shadow);
	color: var(--theme-header-text);
	width: 100%;
	min-width: 0;
	max-width: none;
	height: var(--theme-header-height, auto);
	min-height: var(--theme-header-min-height, 0);
	max-height: var(--theme-header-max-height, none);
	text-align: var(--theme-header-text-align, left);
	box-sizing: border-box;
}

.theme-editor-preview-main {
	padding: var(--theme-main-padding);
	margin: var(--theme-main-margin);
	border-radius: var(--theme-main-radius);
	border: 1px solid var(--theme-main-border);
	background: var(--theme-main-bg);
	box-shadow: var(--theme-main-shadow);
	color: var(--theme-main-text);
	width: var(--theme-main-width, auto);
	min-width: var(--theme-main-min-width, 0);
	max-width: var(--theme-main-max-width, none);
	height: var(--theme-main-height, auto);
	min-height: var(--theme-main-min-height, 0);
	max-height: var(--theme-main-max-height, none);
	text-align: var(--theme-main-text-align, left);
}

.theme-editor-preview-article {
	padding: var(--theme-article-padding);
	margin: var(--theme-article-margin);
	border-radius: var(--theme-article-radius);
	border: 1px solid var(--theme-article-border);
	background: var(--theme-article-bg);
	box-shadow: var(--theme-article-shadow);
	color: var(--theme-article-text);
	width: var(--theme-article-width, auto);
	min-width: var(--theme-article-min-width, 0);
	max-width: var(--theme-article-max-width, none);
	height: var(--theme-article-height, auto);
	min-height: var(--theme-article-min-height, 0);
	max-height: var(--theme-article-max-height, none);
	text-align: var(--theme-article-text-align, left);
}

.theme-editor-preview-footer {
	padding: var(--theme-footer-padding);
	margin: var(--theme-footer-margin);
	border-radius: var(--theme-footer-radius);
	border: 1px solid var(--theme-footer-border);
	background: var(--theme-footer-bg);
	box-shadow: var(--theme-footer-shadow);
	color: var(--theme-footer-text);
	width: 100%;
	min-width: 0;
	max-width: none;
	height: var(--theme-footer-height, auto);
	min-height: var(--theme-footer-min-height, 0);
	max-height: var(--theme-footer-max-height, none);
	text-align: var(--theme-footer-text-align, left);
	box-sizing: border-box;
}

.theme-editor-preview-footer {
	display: grid;
	gap: 1rem;
}

.theme-editor-preview-header {
	overflow: hidden;
}

.theme-editor-preview-header .site-contact {
	margin-left: auto;
}

.theme-editor-preview-footer .footer-links {
	margin: 0;
}

.theme-editor-preview-footer .footer-block {
	background: rgba(var(--gms-white-rgb), 0.55);
	padding: 1rem 1.25rem;
}

.theme-editor-preview-section {
	padding: var(--theme-page-section-padding);
	margin: var(--theme-page-section-margin);
	border-radius: var(--theme-page-section-radius);
	border: 1px solid var(--theme-page-section-border);
	background: var(--theme-page-section-bg);
	box-shadow: var(--theme-page-section-shadow);
	color: var(--theme-page-section-text);
	cursor: pointer;
	width: var(--theme-page-section-width, auto);
	min-width: var(--theme-page-section-min-width, 0);
	max-width: var(--theme-page-section-max-width, none);
	height: var(--theme-page-section-height, auto);
	min-height: var(--theme-page-section-min-height, 0);
	max-height: var(--theme-page-section-max-height, none);
	text-align: var(--theme-page-section-text-align, left);
}

.theme-editor-preview-card {
	padding: var(--theme-content-card-padding);
	margin: var(--theme-content-card-margin);
	border-radius: var(--theme-content-card-radius);
	border: 1px solid var(--theme-content-card-border);
	background: var(--theme-content-card-bg);
	box-shadow: var(--theme-content-card-shadow);
	color: var(--theme-content-card-text);
	cursor: pointer;
	width: var(--theme-content-card-width, auto);
	min-width: var(--theme-content-card-min-width, 0);
	max-width: var(--theme-content-card-max-width, none);
	height: var(--theme-content-card-height, auto);
	min-height: var(--theme-content-card-min-height, 0);
	max-height: var(--theme-content-card-max-height, none);
	text-align: var(--theme-content-card-text-align, left);
}

.theme-editor-preview-card.is-hover-preview {
	padding: var(--theme-content-card-hover-padding, var(--theme-content-card-padding));
	margin: var(--theme-content-card-hover-margin, var(--theme-content-card-margin));
	border-radius: var(--theme-content-card-hover-radius, var(--theme-content-card-radius));
	border: 1px solid var(--theme-content-card-hover-border, var(--theme-content-card-border));
	background: var(--theme-content-card-hover-bg, var(--theme-content-card-bg));
	box-shadow: var(--theme-content-card-hover-shadow, var(--theme-content-card-shadow));
	color: var(--theme-content-card-hover-text, var(--theme-content-card-text));
	width: var(--theme-content-card-hover-width, var(--theme-content-card-width, auto));
	min-width: var(--theme-content-card-hover-min-width, var(--theme-content-card-min-width, 0));
	max-width: var(--theme-content-card-hover-max-width, var(--theme-content-card-max-width, none));
	height: var(--theme-content-card-hover-height, var(--theme-content-card-height, auto));
	min-height: var(--theme-content-card-hover-min-height, var(--theme-content-card-min-height, 0));
	max-height: var(--theme-content-card-hover-max-height, var(--theme-content-card-max-height, none));
	text-align: var(--theme-content-card-hover-text-align, var(--theme-content-card-text-align, left));
}

.theme-editor-preview-heading-block,
.theme-editor-preview-copy-block,
.theme-editor-preview-list-block,
.theme-editor-preview-chip,
.theme-editor-preview-button {
	cursor: pointer;
}

.theme-editor-preview-heading-block h1,
.theme-editor-preview-heading-block h2,
.theme-editor-preview-heading-block h3,
.theme-editor-preview-copy-block p,
.theme-editor-preview-list-block ul {
	margin-top: 0;
}

.theme-editor-preview-heading-block-h1 h1 {
	margin: var(--theme-h1-margin);
	color: var(--theme-h1-color);
	background: var(--theme-h1-bg, transparent);
	border: 1px solid var(--theme-h1-border, transparent);
	font-family: var(--theme-h1-font-family);
	font-size: var(--theme-h1-font-size);
	font-weight: var(--theme-h1-font-weight);
	line-height: var(--theme-h1-line-height);
	letter-spacing: var(--theme-h1-letter-spacing);
	width: var(--theme-h1-width, auto);
	min-width: var(--theme-h1-min-width, 0);
	max-width: var(--theme-h1-max-width, none);
	height: var(--theme-h1-height, auto);
	min-height: var(--theme-h1-min-height, 0);
	max-height: var(--theme-h1-max-height, none);
	text-align: var(--theme-h1-text-align, left);
}

.theme-editor-preview-heading-block-h2 h2 {
	margin: var(--theme-h2-margin);
	color: var(--theme-h2-color);
	background: var(--theme-h2-bg, transparent);
	border: 1px solid var(--theme-h2-border, transparent);
	font-family: var(--theme-h2-font-family);
	font-size: var(--theme-h2-font-size);
	font-weight: var(--theme-h2-font-weight);
	line-height: var(--theme-h2-line-height);
	letter-spacing: var(--theme-h2-letter-spacing);
	width: var(--theme-h2-width, auto);
	min-width: var(--theme-h2-min-width, 0);
	max-width: var(--theme-h2-max-width, none);
	height: var(--theme-h2-height, auto);
	min-height: var(--theme-h2-min-height, 0);
	max-height: var(--theme-h2-max-height, none);
	text-align: var(--theme-h2-text-align, left);
}

.theme-editor-preview-heading-block-h3 h3 {
	margin: var(--theme-h3-margin);
	color: var(--theme-h3-color);
	background: var(--theme-h3-bg, transparent);
	border: 1px solid var(--theme-h3-border, transparent);
	font-family: var(--theme-h3-font-family);
	font-size: var(--theme-h3-font-size);
	font-weight: var(--theme-h3-font-weight);
	line-height: var(--theme-h3-line-height);
	letter-spacing: var(--theme-h3-letter-spacing);
	width: var(--theme-h3-width, auto);
	min-width: var(--theme-h3-min-width, 0);
	max-width: var(--theme-h3-max-width, none);
	height: var(--theme-h3-height, auto);
	min-height: var(--theme-h3-min-height, 0);
	max-height: var(--theme-h3-max-height, none);
	text-align: var(--theme-h3-text-align, left);
}

.theme-editor-preview-copy-block p {
	margin: var(--theme-paragraph-margin);
	color: var(--theme-paragraph-color);
	background: var(--theme-paragraph-bg, transparent);
	border: 1px solid var(--theme-paragraph-border, transparent);
	font-family: var(--theme-paragraph-font-family);
	font-size: var(--theme-paragraph-font-size);
	font-weight: var(--theme-paragraph-font-weight);
	line-height: var(--theme-paragraph-line-height);
	letter-spacing: var(--theme-paragraph-letter-spacing);
	width: var(--theme-paragraph-width, auto);
	min-width: var(--theme-paragraph-min-width, 0);
	max-width: var(--theme-paragraph-max-width, none);
	height: var(--theme-paragraph-height, auto);
	min-height: var(--theme-paragraph-min-height, 0);
	max-height: var(--theme-paragraph-max-height, none);
	text-align: var(--theme-paragraph-text-align, left);
}

.theme-editor-preview-list-block ul {
	padding-left: var(--theme-list-padding-left);
	margin: var(--theme-list-margin);
	color: var(--theme-list-color);
	background: var(--theme-list-bg, transparent);
	border: 1px solid var(--theme-list-border, transparent);
	font-family: var(--theme-list-font-family);
	font-size: var(--theme-list-font-size);
	font-weight: var(--theme-list-font-weight);
	line-height: var(--theme-list-line-height);
	letter-spacing: var(--theme-list-letter-spacing);
	width: var(--theme-list-width, auto);
	min-width: var(--theme-list-min-width, 0);
	max-width: var(--theme-list-max-width, none);
	height: var(--theme-list-height, auto);
	min-height: var(--theme-list-min-height, 0);
	max-height: var(--theme-list-max-height, none);
	text-align: var(--theme-list-text-align, left);
}

.theme-editor-preview-list-block li::marker {
	color: var(--theme-list-marker-color);
}

.theme-editor-preview-chip-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-top: 0.95rem;
}

.theme-editor-preview-link-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.9rem;
	margin: var(--theme-link-margin, 0);
	cursor: pointer;
}

.theme-editor-preview-link {
	display: inline-flex;
	align-items: center;
	background: var(--theme-link-bg);
	color: var(--theme-link-text);
	border: var(--theme-link-border-width, 1px) var(--theme-link-border-style, solid) var(--theme-link-border);
	border-radius: var(--theme-link-radius);
	padding: var(--theme-link-padding-y) var(--theme-link-padding-x);
	box-shadow: var(--theme-link-shadow);
	font-family: var(--theme-link-font-family);
	font-size: var(--theme-link-font-size);
	font-weight: var(--theme-link-font-weight);
	font-style: var(--theme-link-font-style, normal);
	line-height: var(--theme-link-line-height);
	letter-spacing: var(--theme-link-letter-spacing);
	text-transform: var(--theme-link-text-transform, none);
	text-decoration: var(--theme-link-text-decoration);
	width: var(--theme-link-width, auto);
	min-width: var(--theme-link-min-width, 0);
	max-width: var(--theme-link-max-width, none);
	height: var(--theme-link-height, auto);
	min-height: var(--theme-link-min-height, 0);
	max-height: var(--theme-link-max-height, none);
	text-align: var(--theme-link-text-align, left);
}

.theme-editor-preview-link.is-hover-preview {
	background: var(--theme-link-hover-bg);
	color: var(--theme-link-hover-text);
	border-color: var(--theme-link-hover-border);
	border-width: var(--theme-link-hover-border-width, var(--theme-link-border-width, 1px));
	border-style: var(--theme-link-hover-border-style, var(--theme-link-border-style, solid));
	border-radius: var(--theme-link-hover-radius);
	padding: var(--theme-link-hover-padding-y) var(--theme-link-hover-padding-x);
	box-shadow: var(--theme-link-hover-shadow);
	font-family: var(--theme-link-hover-font-family);
	font-size: var(--theme-link-hover-font-size);
	font-weight: var(--theme-link-hover-font-weight);
	font-style: var(--theme-link-hover-font-style, var(--theme-link-font-style, normal));
	line-height: var(--theme-link-hover-line-height);
	letter-spacing: var(--theme-link-hover-letter-spacing);
	text-transform: var(--theme-link-hover-text-transform, var(--theme-link-text-transform, none));
	text-decoration: var(--theme-link-hover-text-decoration);
	margin: var(--theme-link-hover-margin, 0);
	width: var(--theme-link-hover-width, auto);
	min-width: var(--theme-link-hover-min-width, 0);
	max-width: var(--theme-link-hover-max-width, none);
	height: var(--theme-link-hover-height, auto);
	min-height: var(--theme-link-hover-min-height, 0);
	max-height: var(--theme-link-hover-max-height, none);
	text-align: var(--theme-link-hover-text-align, left);
}

.theme-editor-preview-link-row[data-theme-target='link'] .theme-editor-preview-link.is-hover-preview {
	border-width: var(--theme-link-border-width, 1px);
	border-style: var(--theme-link-border-style, solid);
	border-radius: var(--theme-link-radius);
	padding: var(--theme-link-padding-y) var(--theme-link-padding-x);
	box-shadow: var(--theme-link-shadow);
	font-family: var(--theme-link-font-family);
	font-size: var(--theme-link-font-size);
	font-weight: var(--theme-link-font-weight);
	font-style: var(--theme-link-font-style, normal);
	line-height: var(--theme-link-line-height);
	letter-spacing: var(--theme-link-letter-spacing);
	text-transform: var(--theme-link-text-transform, none);
	text-decoration: var(--theme-link-text-decoration);
	margin: var(--theme-link-margin, 0);
	width: var(--theme-link-width, auto);
	min-width: var(--theme-link-min-width, 0);
	max-width: var(--theme-link-max-width, none);
	height: var(--theme-link-height, auto);
	min-height: var(--theme-link-min-height, 0);
	max-height: var(--theme-link-max-height, none);
	text-align: var(--theme-link-text-align, left);
}

.theme-editor-preview-header-link.is-hover-preview {
	background: var(--theme-header-link-hover-bg, var(--theme-header-link-bg, transparent));
	color: var(--theme-header-link-hover-text, var(--theme-header-link-text, var(--theme-link-hover-text, var(--theme-color-link))));
	border-color: var(--theme-header-link-hover-border, var(--theme-header-link-border, transparent));
	border-radius: var(--theme-header-link-hover-radius, var(--theme-header-link-radius, 0));
	padding: var(--theme-header-link-hover-padding-y, var(--theme-header-link-padding-y, 0)) var(--theme-header-link-hover-padding-x, var(--theme-header-link-padding-x, 0));
	box-shadow: var(--theme-header-link-hover-shadow, none);
	font-family: var(--theme-header-link-hover-font-family, var(--theme-header-link-font-family, inherit));
	font-size: var(--theme-header-link-hover-font-size, var(--theme-header-link-font-size, inherit));
	font-weight: var(--theme-header-link-hover-font-weight, var(--theme-header-link-font-weight, inherit));
	line-height: var(--theme-header-link-hover-line-height, var(--theme-header-link-line-height, inherit));
	letter-spacing: var(--theme-header-link-hover-letter-spacing, var(--theme-header-link-letter-spacing, inherit));
	text-decoration: var(--theme-header-link-hover-text-decoration, var(--theme-header-link-text-decoration, none));
	margin: var(--theme-header-link-hover-margin, var(--theme-header-link-margin, 0));
	text-align: var(--theme-header-link-hover-text-align, var(--theme-header-link-text-align, left));
}

.theme-editor-preview-footer-link.is-hover-preview {
	background: var(--theme-footer-link-hover-bg, var(--theme-footer-link-bg, transparent));
	color: var(--theme-footer-link-hover-text, var(--theme-footer-link-text, var(--theme-link-hover-text, var(--theme-color-link))));
	border-color: var(--theme-footer-link-hover-border, var(--theme-footer-link-border, transparent));
	border-radius: var(--theme-footer-link-hover-radius, var(--theme-footer-link-radius, 0));
	padding: var(--theme-footer-link-hover-padding-y, var(--theme-footer-link-padding-y, 0)) var(--theme-footer-link-hover-padding-x, var(--theme-footer-link-padding-x, 0));
	box-shadow: var(--theme-footer-link-hover-shadow, none);
	font-family: var(--theme-footer-link-hover-font-family, var(--theme-footer-link-font-family, inherit));
	font-size: var(--theme-footer-link-hover-font-size, var(--theme-footer-link-font-size, inherit));
	font-weight: var(--theme-footer-link-hover-font-weight, var(--theme-footer-link-font-weight, inherit));
	line-height: var(--theme-footer-link-hover-line-height, var(--theme-footer-link-line-height, inherit));
	letter-spacing: var(--theme-footer-link-hover-letter-spacing, var(--theme-footer-link-letter-spacing, inherit));
	text-decoration: var(--theme-footer-link-hover-text-decoration, var(--theme-footer-link-text-decoration, none));
	margin: var(--theme-footer-link-hover-margin, var(--theme-footer-link-margin, 0));
	text-align: var(--theme-footer-link-hover-text-align, var(--theme-footer-link-text-align, left));
}

.theme-editor-preview-chip span {
	display: inline-flex;
	align-items: center;
	padding: var(--theme-meta-pill-padding-y) var(--theme-meta-pill-padding-x);
	border-radius: var(--theme-meta-pill-radius);
	border: 1px solid var(--theme-meta-pill-border);
	background: var(--theme-meta-pill-bg);
	color: var(--theme-meta-pill-text);
	box-shadow: var(--theme-meta-pill-shadow);
	width: var(--theme-meta-pill-width, auto);
	min-width: var(--theme-meta-pill-min-width, 0);
	max-width: var(--theme-meta-pill-max-width, none);
	height: var(--theme-meta-pill-height, auto);
	min-height: var(--theme-meta-pill-min-height, 0);
	max-height: var(--theme-meta-pill-max-height, none);
	text-align: var(--theme-meta-pill-text-align, left);
}

.theme-editor-preview-actions-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1rem;
}

.theme-editor-preview-button span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	height: 100%;
	min-height: 0;
	max-height: none;
	box-sizing: border-box;
	color: inherit;
	text-align: inherit;
	pointer-events: none;
}

.theme-editor-color-editor {
	display: grid;
	gap: 0.9rem;
}

.theme-editor-color-editor-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.45rem;
	align-items: stretch;
	padding: 0.7rem 0.8rem 0.8rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.08);
	border-radius: 0.9rem;
	background: rgba(var(--gms-white-rgb), 0.55);
}

.theme-editor-color-editor-controls {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.75rem;
	align-items: flex-start;
	justify-content: flex-start;
}

.theme-editor-color-editor-controls .settings-field {
	width: auto;
	min-width: 0;
	flex: 0 0 auto;
	display: inline-flex;
	flex-direction: column;
}

.theme-editor-color-editor-controls .settings-field-wide {
	grid-column: auto;
}

.theme-editor-color-editor-remove {
	display: inline-flex;
	align-items: flex-start;
	flex: 0 0 auto;
}

.theme-editor-color-editor-row .settings-field {
	margin-bottom: 0;
	align-self: start;
}

.theme-editor-color-editor-row .settings-field span {
	font-size: 0.8rem;
	color: var(--gms-green-gray);
	line-height: 1.1;
}

.theme-editor-color-editor-row input[type='color'] {
	width: 3rem;
	min-width: 3rem;
	padding: 0.2rem;
	border-radius: 0.8rem;
}

.theme-editor-color-button {
	min-width: 3rem;
	justify-content: center;
	padding: 0.45rem 0.55rem !important;
}

.theme-editor-color-editor-row .settings-field input[type='text'] {
	padding-top: 0.55rem;
	padding-bottom: 0.55rem;
}

.theme-editor-color-editor-row .button-secondary {
	margin-top: 1.4rem;
}

.theme-editor-color-editor-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.theme-editor-inline-picker {
	display: flex;
	align-items: stretch;
	gap: 0.55rem;
}

.theme-editor-inline-picker .theme-editor-inline-picker-button {
	flex: 0 0 auto;
	width: 2.9rem;
	min-width: 2.9rem;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.9rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	background: var(--gms-white);
	color: var(--gms-mane-top);
	box-shadow: none;
}

.theme-editor-inline-picker .theme-editor-inline-picker-button:hover,
.theme-editor-inline-picker .theme-editor-inline-picker-button:focus-visible {
	transform: translateY(-1px);
	border-color: rgba(var(--gms-mane-top-rgb), 0.32);
}

.theme-editor-inline-picker input {
	flex: 1 1 auto;
	min-width: 0;
}

.theme-editor-picker-modal {
	width: min(1100px, calc(100vw - 2rem));
}

.theme-editor-picker-grid {
	align-items: start;
}

.theme-editor-glyph-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 0.65rem;
	max-height: 60vh;
	overflow: auto;
}

.theme-editor-glyph-option,
.theme-editor-media-option {
	width: 100%;
	padding: 0.85rem;
	border-radius: 1rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.10);
	background: rgba(var(--gms-white-rgb), 0.82);
	display: flex;
	align-items: center;
	gap: 0.8rem;
	text-align: left;
	color: var(--gms-mane-4);
	box-shadow: none;
}

.theme-editor-glyph-option {
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 0.55rem;
	padding: 0.75rem 0.55rem;
	text-align: center;
	min-height: 8.75rem;
}

.theme-editor-glyph-option:hover,
.theme-editor-glyph-option:focus-visible,
.theme-editor-media-option:hover,
.theme-editor-media-option:focus-visible,
.theme-editor-glyph-option.is-selected,
.theme-editor-media-option.is-selected {
	border-color: rgba(var(--gms-mane-top-rgb), 0.28);
	background: rgba(var(--gms-white-rgb), 0.98);
	transform: translateY(-1px);
}

.theme-editor-glyph-option-icon,
.theme-editor-glyph-preview-icon {
	width: 3rem;
	height: 3rem;
	border-radius: 0.9rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(var(--gms-mane-top-rgb), 0.08);
	color: var(--gms-mane-top);
	font-size: 30px;
	flex: 0 0 auto;
}

.theme-editor-glyph-option-copy,
.theme-editor-media-option-copy,
.theme-editor-glyph-preview-meta,
.theme-editor-media-preview-meta {
	display: flex;
	flex-direction: column;
	gap: 0.16rem;
	min-width: 0;
}

.theme-editor-glyph-option-copy {
	align-items: center;
}

.theme-editor-glyph-option-copy strong,
.theme-editor-media-option-copy strong,
.theme-editor-glyph-preview-meta strong,
.theme-editor-media-preview-meta strong {
	font-size: 0.95rem;
}

.theme-editor-glyph-option-copy small,
.theme-editor-media-option-copy small,
.theme-editor-glyph-preview-meta span,
.theme-editor-media-preview-meta span {
	color: var(--gms-green-gray);
	font-size: 0.82rem;
	overflow-wrap: anywhere;
}

.theme-editor-media-option-thumb {
	width: 4rem;
	height: 4rem;
	border-radius: 0.95rem;
	background: rgba(var(--gms-mane-top-rgb), 0.06);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex: 0 0 auto;
	color: var(--gms-mane-top);
}

.theme-editor-media-option-thumb img,
.theme-editor-media-preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.theme-editor-media-preview {
	display: grid;
	gap: 0.8rem;
}

.theme-editor-media-preview img {
	max-height: 260px;
	border-radius: 1rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.10);
}

.admin-table-actions a {
	color: var(--gms-mane-top);
	text-decoration: none;
	font-weight: bold;
}

.admin-table-actions {
	white-space: nowrap;
}

.admin-table-actions a,
.admin-icon-button {
	width: 2.1rem;
	height: 2.1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	background: var(--gms-white);
	color: var(--gms-mane-top);
	text-decoration: none;
	margin-right: 0.35rem;
	box-sizing: border-box;
}

.admin-table-actions a {
	background: var(--gms-mane-top);
	border-color: var(--gms-mane-top);
	color: var(--gms-white);
}

.admin-table-actions form {
	display: inline-block;
	margin: 0;
}

.admin-icon-button {
	cursor: pointer;
	font: inherit;
	padding: 0;
}

.admin-icon-button-danger {
	color: var(--gms-mane-top);
	border-color: rgba(var(--gms-mane-top-rgb), 0.24);
}

.admin-table-actions .gms,
.admin-icon-button .gms {
	font-size: calc(0.95rem + 2pt);
	line-height: 1;
}

.admin-table-actions-bare a,
.admin-table-actions-bare button {
	width: 2.1rem;
	height: 2.1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: none;
	box-shadow: none;
	padding: 0;
	margin-right: 0.25rem;
	cursor: pointer;
	color: var(--gms-mane-4);
	text-decoration: none;
}

.admin-table-actions-bare .admin-row-action-delete {
	color: var(--gms-mane-top);
}

.admin-table-actions-bare a:hover,
.admin-table-actions-bare a:focus,
.admin-table-actions-bare button:hover,
.admin-table-actions-bare button:focus {
	color: var(--gms-mane-1);
}

.admin-table-actions-bare .admin-row-action-delete:hover,
.admin-table-actions-bare .admin-row-action-delete:focus {
	color: var(--gms-mane-top);
}

.admin-table-actions-bare .gms {
	font-size: calc(0.95rem + 5pt);
	line-height: 1;
}

/* A text link sitting alongside the bare glyph actions - the 2.1rem square above
   would crush it flat. Used for the "Archived (N)" link in the Engagement Flow
   campaigns header. */
.admin-table-actions-bare .admin-actions-textlink {
	width: auto;
	height: 2.1rem;
	padding: 0 0.5rem;
	font-size: 0.85rem;
	white-space: nowrap;
}

.admin-media-thumb {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 0.6rem;
	display: block;
	background: rgba(var(--gms-shadow-rgb), 0.06);
}

.media-replace-row {
	display: flex;
	gap: 1rem;
	align-items: center;
	padding: 0.9rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.1);
	background: var(--gms-white);
}

.media-replace-preview {
	width: 160px;
	min-width: 160px;
	min-height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem;
	box-sizing: border-box;
	background: rgba(var(--gms-shadow-rgb), 0.04);
}

.media-replace-preview img {
	max-width: 100%;
	max-height: 180px;
	width: auto;
	height: auto;
	display: block;
}

.media-replace-actions {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	align-items: flex-start;
}

.button-like {
	border: 0;
	background: var(--gms-mane-4);
	color: var(--gms-mint-2);
	padding: 0.65rem 0.9rem;
	cursor: pointer;
	font: inherit;
}

.block-editor-list {
	display: grid;
	gap: 1rem;
}

.admin-inline-error {
	padding: 0.75rem 0.9rem;
	background: rgba(var(--gms-mane-top-rgb), 0.08);
	color: var(--gms-mane-1);
	border: 1px solid rgba(var(--gms-mane-top-rgb), 0.12);
}

.block-editor-card {
	padding: 1rem;
	background: var(--gms-white);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.1);
}

.block-editor-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 0.9rem;
	margin-bottom: 0.9rem;
}

.block-editor-grid .settings-field-checkbox {
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0.55rem;
}

.block-editor-grid .settings-field-checkbox span {
	order: 1;
}

.block-editor-grid .settings-field-checkbox input[type="checkbox"] {
	order: 0;
	margin-top: 0;
}

.page-block-rich-field {
	gap: 0.55rem;
}

.page-block-rich-field-header {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin: 0 0 10px 0;
}

.page-block-rich-preview {
	display: none;
	min-height: 12rem;
	padding: 1rem 1.1rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	background: var(--gms-white);
	cursor: text;
}

.page-block-rich-preview.is-empty::before {
	content: 'Click to edit this block';
	color: var(--gms-green-gray);
}

.page-block-rich-host[hidden] {
	display: none;
}

.page-block-rich-host .page-rich-editor-shell {
	display: grid;
	gap: 0.85rem;
}

.page-block-rich-field.is-active .page-block-rich-preview {
	display: none;
	border-color: rgba(var(--gms-mane-top-rgb), 0.35);
	box-shadow: 0 0 0 3px rgba(var(--gms-mane-top-rgb), 0.08);
}

.page-block-rich-field.is-active .page-block-rich-host {
	display: block;
}

.auth-shell {
	max-width: 42rem;
	margin: 0 auto;
	padding: 3rem 1.5rem 4rem;
}

.auth-panel {
  margin: 0 auto;
	padding: 1.5rem;
	background: rgba(var(--gms-white-rgb), 0.96);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.75);

  width: calc(100vw - 30px);
	max-width: 700px;
  border-radius: 10px;
  box-sizing: border-box;
}

.auth-copy {
	margin: 0 0 1.25rem;
	max-width: 52ch;
}

.auth-form {
	display: grid;
	gap: 1rem;
}

.auth-checkbox {
	align-items: center;
}

.auth-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.9rem;
}

.auth-secondary-button {
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.18);
	background: var(--gms-white);
	color: var(--gms-mane-4);
	padding: 0.8rem 1rem;
	font: inherit;
	cursor: pointer;
}

.password-toggle-field {
	position: relative;
}

.password-toggle-field input {
	padding-right: 3rem;
}

.password-toggle-button {
	position: absolute;
	top: 50%;
	right: 0.45rem;
	transform: translateY(-50%);
	border: 0;
	background: transparent;
	color: var(--gms-green-gray);
	width: 2rem;
	height: 2rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.password-toggle-button .gms {
	font-size: 1rem;
}

@media (max-width: 700px) {
.site-header {
		display: block;
	}

.site-header-blocks {
		display: grid;
		grid-template-columns: 1fr;
		padding-right: 3.25rem;
	}

.footer-grid {
		grid-template-columns: 1fr;
		justify-items: stretch;
	}

.footer-block {
		max-width: none;
	}

.page-theme-block {
		max-width: none;
	}

.theme-editor-footer-block-picker {
		grid-template-columns: 1fr;
	}

.nav-toggle {
		order: -1;
		margin: 0 0 0.65rem 0;
	}

.admin-panel-header {
		flex-direction: column;
	}

.auth-actions {
		align-items: stretch;
	}

.admin-editor-modal-grid,
	.admin-editor-media-tools {
		grid-template-columns: 1fr;
	}

.admin-editor-media-item,
	.admin-editor-media-preview-card,
	.cover-preview-card,
	.media-replace-row {
		flex-direction: column;
	}

.admin-editor-media-thumb,
	.admin-editor-media-preview-visual {
		width: 100%;
		height: 180px;
	}

.cover-preview-card img {
		width: 100%;
		height: 180px;
	}

.media-replace-preview {
		width: 100%;
		min-width: 0;
	}

.theme-editor-footer-menu-setting-row {
		grid-template-columns: 1fr;
		gap: 0.35rem;
	}

.theme-editor-footer-menu-setting-value {
		justify-content: flex-start;
	}

.theme-editor-footer-menu-setting-value input {
		width: 100%;
		text-align: left;
	}

.theme-editor-block-workspace {
		grid-template-columns: 1fr;
	}
}

.shell > main:not(.admin-shell):not(.admin-layout-main),
.site-main,
.content-main {
	background: var(--theme-main-bg, transparent);
	color: var(--theme-main-text, inherit);
	border: 1px solid var(--theme-main-border, transparent);
	border-radius: var(--theme-main-radius, 0);
	padding: var(--theme-main-padding, 0);
	box-shadow: var(--theme-main-shadow, none);
	margin: var(--theme-main-margin, 0);
	width: var(--theme-main-width, auto);
	min-width: var(--theme-main-min-width, 0);
	max-width: var(--theme-main-max-width, none);
	height: var(--theme-main-height, auto);
	min-height: var(--theme-main-min-height, 0);
	max-height: var(--theme-main-max-height, none);
	text-align: var(--theme-main-text-align, left);
}

/* =============================================
   Leads module admin styles
   ============================================= */
.admin-panel-actions {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
	align-items: flex-start;
	flex-shrink: 0;
}

.admin-panel-section {
	margin-bottom: 1.75rem;
	overflow-wrap: anywhere;
	word-wrap: anywhere;
	word-break: normal;
}

.admin-panel-section:last-child {
	margin-bottom: 0;
}

.admin-panel-section > h3 {
	margin: 0 0 0.5rem;
	font-size: 1rem;
}

.admin-section-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin-bottom: 0.75rem;
}

.admin-section-header h3 {
	margin: 0;
}

.admin-stat-strip {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 1.5rem;
}

.admin-stat-card {
	background: rgba(var(--gms-white-rgb), 0.72);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.09);
	padding: 0.85rem 1.1rem;
	min-width: 120px;
}

.admin-stat-label {
	margin: 0 0 0.25rem;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--gms-green-gray);
}

.admin-stat-value {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 700;
}

.admin-two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
	margin-bottom: 1.75rem;
}

.admin-three-col {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 1.5rem;
	margin-bottom: 1.75rem;
}

@media (max-width: 900px) {
.admin-two-col,
	.admin-three-col {
		grid-template-columns: 1fr;
	}
}

/* =============================================
   Public site launch refinement
   ============================================= */
.route-public .site-header {
	border-width: 0 0 1px;
}

.route-public .site-header-blocks {
	width: min(1180px, calc(100% - 2.5rem));
	margin-left: auto;
	margin-right: auto;
}

.route-public .shell > main {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	box-sizing: border-box;
}

.route-public .content-header {
	margin-bottom: clamp(1.75rem, 4vw, 3rem);
	padding-bottom: clamp(1rem, 2vw, 1.5rem);
	border-bottom: 1px solid var(--theme-color-border);
}

.route-public .content-title {
	width: 100%;
	max-width: 100%;
	font-size: clamp(2.35rem, 4vw, 3.85rem);
}

.route-public .content-section-list {
	gap: 0;
}

.route-public .content-block {
	border-width: 0 0 1px;
}

.route-public .content-block:last-child {
	border-bottom: 0;
}

.route-public .content-rich p,
.route-public .content-rich ul,
.route-public .content-rich ol {
	max-width: 74ch;
}

.route-public .content-rich li + li {
	margin-top: 0.55rem;
}

.route-public blockquote {
	position: relative;
	max-width: 52rem;
	margin: 0 0 1.75rem;
	padding: 0.2rem 0 0.2rem 1.5rem;
	border-left: 3px solid var(--theme-color-accent);
	font-family: 'Bodoni 16', Georgia, serif;
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	line-height: 1.45;
}

.route-public blockquote::before,
.route-public blockquote::after {
	content: none;
}

.route-public .content-eyebrow {
	margin: 0 0 0.65rem;
	color: var(--theme-color-muted);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.route-public .content-button-primary,
.route-public .content-button-secondary,
.route-public .content-button-tertiary {
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.route-public .content-button-primary:hover,
.route-public .content-button-secondary:hover,
.route-public .content-button-tertiary:hover {
	transform: translateY(-1px);
}

.route-public .page-child-card,
.route-public .content-card {
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.route-public .page-child-card.content-nav-card:hover,
.route-public .page-child-card.content-nav-card:focus-visible,
.route-public .content-card.content-nav-card:hover,
.route-public .content-card.content-nav-card:focus-within {
	transform: translateY(-2px);
}

.route-public .site-footer {
	border-width: 1px 0 0;
}

.route-public .footer-grid,
.route-public .footer-links,
.route-public .footer-copyright {
	width: min(1180px, calc(100% - 2.5rem));
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.route-public.page-slug-contact .content-form-section {
	width: min(600px, 100%) !important;
	max-width: 100% !important;
}

@media (max-width: 700px) {
.route-public .site-header-blocks {
		width: calc(100% - 2rem);
	}

.route-public .shell > main {
		padding-left: 1rem;
		padding-right: 1rem;
	}

.route-public .content-header {
		margin-bottom: 1.5rem;
	}

.route-public .content-title {
		max-width: none;
	}

.route-public .footer-grid,
	.route-public .footer-links,
	.route-public .footer-copyright {
		width: calc(100% - 2rem);
	}

.route-public .content-rich img[style*='float'] {
		float: none !important;
		display: block;
		margin: 0 auto 1.25rem !important;
	}
}

/* =============================================
   Public module normalization
   ============================================= */
.route-public .public-page-shell {
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 1.25rem;
	box-sizing: border-box;
}

.route-public .public-page-frame {
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	padding: clamp(1.35rem, 4vw, 3.5rem);
	background: var(--theme-article-bg, var(--theme-color-surface));
	color: var(--theme-article-text, var(--theme-color-text));
	border: 1px solid var(--theme-article-border, var(--theme-color-border));
	border-radius: var(--theme-article-radius, 4px);
	box-shadow: var(--theme-article-shadow, 0 18px 50px rgba(var(--gms-shadow-rgb), 0.08));
	box-sizing: border-box;
}

.route-public .public-page-header,
.route-public .content-header {
	margin: 0 0 clamp(1.75rem, 4vw, 3rem);
	padding: 0 0 clamp(1rem, 2vw, 1.5rem);
	border-bottom: 1px solid var(--theme-color-border);
}

.route-public .public-page-header .content-copy,
.route-public .content-header .content-copy,
.route-public .content-header .auth-copy {
	max-width: 70ch;
	margin-bottom: 0;
}

.route-public .content-kicker,
.route-public .page-kicker,
.route-public .admin-kicker {
	margin: 0 0 0.65rem;
	color: var(--theme-color-muted);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.route-public .content-title {
	letter-spacing: var(--theme-h1-letter-spacing, -0.015em);
}

.route-public .content-card-title {
	letter-spacing: var(--theme-h2-letter-spacing, -0.01em);
}

.route-public .public-card-grid {
	gap: clamp(1rem, 2.5vw, 1.5rem);
}

.route-public .content-card {
	margin: 0;
	border-radius: var(--theme-content-card-radius, 3px);
}

.route-public .content-card-compact {
	gap: 0.85rem;
	padding: var(--theme-content-card-padding);
}

.route-public .content-card-title a {
	color: inherit;
	text-decoration: none;
}

.route-public .content-card-title a:hover,
.route-public .content-card-title a:focus-visible {
	color: var(--theme-link-hover-text, var(--theme-color-link_hover));
	text-decoration: underline;
}

.route-public .content-meta {
	gap: 0.45rem 0.9rem;
	margin: 0 0 1rem;
	color: var(--theme-color-muted);
	font-size: 0.88rem;
	line-height: 1.5;
}

.route-public .content-meta span + span::before {
	content: '/';
	margin-right: 0.9rem;
	color: var(--theme-color-border);
}

.route-public .content-chip-row {
	gap: 0.5rem;
	margin-top: 1rem;
}

.route-public .content-chip,
.route-public .content-pill {
	border-radius: var(--theme-meta-pill-radius, 3px);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.035em;
}

.route-public a.content-chip {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	padding: 0.45rem 0.8rem;
	margin: 0;
	border: 1px solid transparent;
	border-radius: var(--theme-meta-pill-radius, 3px);
	font-family: inherit;
	font-size: 0.82rem;
	font-weight: 600;
	font-style: normal;
	line-height: 1.4;
	letter-spacing: 0.035em;
	text-align: left;
	text-decoration: none;
	text-transform: none;
}

.route-public a.content-chip:hover,
.route-public a.content-chip:focus-visible {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	padding: 0.45rem 0.8rem;
	margin: 0;
	background: var(--theme-color-surface-alt, var(--theme-color-surface_alt));
	color: var(--theme-color-link-hover, var(--theme-color-link_hover));
	border: 1px solid var(--theme-color-accent);
	border-radius: var(--theme-meta-pill-radius, 3px);
	box-shadow: none;
	font-family: inherit;
	font-size: 0.82rem;
	font-weight: 600;
	font-style: normal;
	line-height: 1.4;
	letter-spacing: 0.035em;
	text-align: left;
	text-decoration: none;
	text-transform: none;
}

.route-public .content-chip-primary.is-active,
.route-public .content-chip-accent.is-active {
	background: var(--theme-color-accent);
	border-color: var(--theme-color-accent);
	color: var(--theme-color-button_text);
}

.route-public .content-media-figure,
.route-public .content-cover {
	margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
}

.route-public .content-media-figure img,
.route-public .content-media-image,
.route-public .cover-image {
	border-radius: 3px;
}

.route-blog .content-card .content-media-image {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.route-blog .public-card-grid .content-card {
	min-width: 0;
}

.route-blog .blog-post-frame > .content-rich {
	max-width: 76ch;
}

.route-public .content-lead {
	max-width: 70ch;
	color: var(--theme-color-text);
	font-size: clamp(1.05rem, 1.5vw, 1.18rem);
	line-height: 1.75;
}

.route-public .content-split-layout {
	gap: clamp(1rem, 3vw, 2rem);
}

.route-public .content-card-sticky {
	position: sticky;
	top: 1.25rem;
}

.route-public .admin-panel,
.route-public .auth-panel {
	background: var(--theme-content-card-bg, var(--theme-color-surface));
	color: var(--theme-content-card-text, var(--theme-color-text));
	border: 1px solid var(--theme-content-card-border, var(--theme-color-border));
	border-radius: var(--theme-content-card-radius, 3px);
	box-shadow: none;
}

.route-public .auth-shell {
	max-width: 760px;
	padding-top: 0;
	padding-bottom: 0;
}

.route-public .auth-panel {
	width: 100%;
	max-width: 760px;
	padding: clamp(1.35rem, 4vw, 3rem);
}

.route-account .auth-shell {
	max-width: 1120px;
}

.route-account .auth-panel {
	max-width: 1120px;
}

.route-public .settings-grid,
.route-public .account-password {
	min-height: 0;
	background: var(--theme-color-background);
	border: 1px solid var(--theme-color-border);
	border-radius: 3px;
	cursor: default;
}

.route-public .settings-field input,
.route-public .settings-field select,
.route-public .settings-field textarea,
.route-public .admin-form input,
.route-public .admin-form select,
.route-public .admin-form textarea {
	border: 1px solid var(--theme-color-border);
	border-radius: 3px;
	background: var(--theme-color-surface);
	color: var(--theme-color-text);
	box-shadow: none;
}

.route-public .settings-field input:focus,
.route-public .settings-field select:focus,
.route-public .settings-field textarea:focus,
.route-public .admin-form input:focus,
.route-public .admin-form select:focus,
.route-public .admin-form textarea:focus {
	outline: 2px solid var(--theme-color-accent-soft);
	outline-offset: 1px;
	border-color: var(--theme-color-accent);
}

.route-public .settings-submit button,
.route-public .admin-actions button,
.route-public .button-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--theme-action-button-padding-y) var(--theme-action-button-padding-x);
	background: var(--theme-action-button-bg);
	color: var(--theme-action-button-text);
	border: 1px solid var(--theme-action-button-border);
	border-radius: var(--theme-action-button-radius, 3px);
	box-shadow: var(--theme-action-button-shadow);
	font: inherit;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
}

.route-public .settings-submit button:hover,
.route-public .settings-submit button:focus-visible,
.route-public .admin-actions button:hover,
.route-public .admin-actions button:focus-visible {
	background: var(--theme-action-button-hover-bg);
	color: var(--theme-action-button-hover-text);
	border-color: var(--theme-action-button-hover-border);
	box-shadow: var(--theme-action-button-hover-shadow);
}

.route-public .auth-secondary-button {
	padding: var(--theme-action-button-secondary-padding-y) var(--theme-action-button-secondary-padding-x);
	background: var(--theme-action-button-secondary-bg);
	color: var(--theme-action-button-secondary-text);
	border: 1px solid var(--theme-action-button-secondary-border);
	border-radius: var(--theme-action-button-secondary-radius, 3px);
	box-shadow: var(--theme-action-button-secondary-shadow);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.route-public .auth-secondary-button:hover,
.route-public .auth-secondary-button:focus-visible {
	background: var(--theme-action-button-secondary-hover-bg);
	color: var(--theme-action-button-secondary-hover-text);
	border-color: var(--theme-action-button-secondary-hover-border);
	box-shadow: var(--theme-action-button-secondary-hover-shadow);
}

.route-public .button-link {
	background: var(--theme-action-button-bg);
	border-color: var(--theme-action-button-border);
	color: var(--theme-action-button-text);
}

.route-public .button-link:hover,
.route-public .button-link:focus-visible {
	background: var(--theme-action-button-hover-bg);
	border-color: var(--theme-action-button-hover-border);
	color: var(--theme-action-button-hover-text);
}

.route-public .admin-alert {
	border: 1px solid var(--theme-color-border);
	border-radius: 3px;
	background: var(--theme-color-accent-soft);
	color: var(--theme-color-text);
}

.route-public .admin-alert-error {
	border-color: rgba(var(--gms-mane-top-rgb), 0.35);
	background: rgba(var(--gms-mane-top-rgb), 0.1);
	color: inherit;
}

.route-public .error-shell {
	min-height: 45vh;
	place-items: stretch;
}

.route-public .error-card {
	max-width: 860px;
}

.route-public .error-code {
	color: var(--theme-color-muted);
}

@media (max-width: 900px) {
.route-public .content-card-sticky {
		position: static;
	}
}

@media (max-width: 700px) {
.route-public .public-page-shell {
		padding-left: 1rem;
		padding-right: 1rem;
	}

.route-public .public-page-frame,
	.route-public .auth-panel {
		padding: 1.25rem;
	}

.route-public .content-meta span + span::before {
		content: none;
	}

.route-public .content-meta span {
		width: 100%;
	}
}

.admin-timeline-card {
	padding: 0.85rem 0;
	border-bottom: 1px solid rgba(var(--gms-shadow-rgb), 0.09);
}

.admin-timeline-card:last-child {
	border-bottom: none;
}

.admin-timeline-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
	margin-bottom: 0.4rem;
}

.admin-filter-bar {
	margin-bottom: 1.25rem;
	padding: 1rem;
	background: rgba(var(--gms-white-rgb), 0.72);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.09);
}

.admin-filter-bar .settings-grid {
	grid-template-columns: repeat(4, 1fr);
	gap: 0.6rem;
}

.admin-filter-bar .settings-field {
	flex-direction: row;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0;
}

.admin-filter-bar .settings-field span {
	white-space: nowrap;
	font-size: 0.82rem;
	color: var(--gms-green-gray);
	flex-shrink: 0;
}

.admin-filter-bar .settings-field input,
.admin-filter-bar .settings-field select {
	flex: 1;
	min-width: 0;
}

.admin-filter-actions {
	display: flex;
	gap: 0.5rem;
	margin-top: 0.75rem;
}

.admin-empty {
	color: var(--gms-green-gray);
	font-style: italic;
	margin: 0.5rem 0;
}

.leads-badge {
	display: inline-block;
	padding: 0.15em 0.6em;
	font-size: 0.78rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.18);
	border-radius: 3px;
	text-transform: capitalize;
	color: var(--gms-mane-4);
	background: rgba(var(--gms-white-rgb), 0.8);
}

.leads-badge-good {
	border-color: rgba(var(--gms-mane-top-rgb), 0.3);
	background: rgba(var(--gms-mane-top-rgb), 0.08);
	color: var(--gms-mane-2);
}

.leads-badge-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: 0.35rem;
}

.admin-layout-main-leads {
	container-type: inline-size;
}

.admin-layout-main-leads .admin-shell {
	margin-top: 0;
}

.admin-layout-main-leads .admin-panel,
.admin-layout-main-leads .admin-list-panel,
.admin-layout-main-leads .admin-editor-panel {
	padding: 1.25rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.08);
	border-radius: 8px;
	box-sizing: border-box;
}

.admin-layout-main-leads .admin-panel-header,
.admin-layout-main-leads .admin-list-header,
.admin-layout-main-leads .admin-editor-header {
	align-items: center;
	padding-bottom: 0.9rem;
	border-bottom: 1px solid rgba(var(--gms-shadow-rgb), 0.08);
}

.admin-layout-main-leads .admin-copy {
	max-width: 100ch;
}

.admin-layout-main-leads .admin-stat-strip {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 0.65rem;
	margin-bottom: 1rem;
}

.admin-layout-main-leads .admin-stat-card {
	min-width: 0;
	padding: 0.7rem 0.85rem;
	border-radius: 8px;
	box-sizing: border-box;
	overflow-wrap: anywhere;
}

.admin-layout-main-leads .admin-stat-value {
	font-size: 1.3rem;
	line-height: 1.15;
	overflow-wrap: anywhere;
}

.admin-layout-main-leads .admin-two-col {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-bottom: 1rem;
}

.admin-layout-main-leads .admin-three-col {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	margin-bottom: 1rem;
}

.admin-layout-main-leads .admin-panel-section {
	min-width: 0;
	margin-bottom: 1rem;
	padding: 0.95rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.08);
	border-radius: 8px;
	background: rgba(var(--gms-white-rgb), 0.58);
	box-sizing: border-box;
}

.admin-layout-main-leads .settings-grid {
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 0.7rem;
}

.admin-layout-main-leads .settings-field {
	min-width: 0;
	margin-bottom: 0;
}

.admin-layout-main-leads .settings-field-checkbox {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0.55rem;
	min-height: 2.4rem;
	padding: 0.45rem 0;
}

.admin-layout-main-leads .settings-field-checkbox input[type="checkbox"] {
	order: 0;
	flex: 0 0 auto;
	width: 1rem;
	min-width: 1rem;
	height: 1rem;
	margin: 0;
}

.admin-layout-main-leads .settings-field-checkbox span {
	order: 1;
	min-width: 0;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.admin-layout-main-leads .settings-field input,
.admin-layout-main-leads .settings-field select,
.admin-layout-main-leads .settings-field textarea {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
}

.admin-layout-main-leads .settings-field textarea {
	resize: vertical;
}

.admin-layout-main-leads .button,
.admin-layout-main-leads .button-secondary {
	min-height: 2.4rem;
	white-space: normal;
	text-align: center;
}

.admin-layout-main-leads .admin-panel-actions {
	justify-content: flex-end;
}

.admin-layout-main-leads .admin-filter-bar {
	border-radius: 8px;
	box-sizing: border-box;
}

.admin-layout-main-leads .admin-filter-bar .settings-grid {
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.admin-layout-main-leads .admin-filter-bar .settings-field {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
}

.admin-layout-main-leads .admin-table-wrap {
	max-width: 100%;
	border-radius: 8px;
}

.admin-layout-main-leads .admin-table {
	table-layout: fixed;
}

.admin-layout-main-leads .admin-table th,
.admin-layout-main-leads .admin-table td {
	overflow-wrap: anywhere;
	word-break: normal;
}

.admin-layout-main-leads .admin-table-meta,
.admin-layout-main-leads .admin-empty,
.admin-layout-main-leads p,
.admin-layout-main-leads strong,
.admin-layout-main-leads a {
	overflow-wrap: anywhere;
}

.admin-layout-main-leads details.admin-panel-section {
	padding: 0;
}

.admin-layout-main-leads details.admin-panel-section > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.95rem;
	cursor: pointer;
	font-weight: 700;
}

.admin-layout-main-leads details.admin-panel-section > summary::after {
	content: '+';
	flex: 0 0 auto;
	font-size: 1.2rem;
	line-height: 1;
}

.admin-layout-main-leads details.admin-panel-section[open] > summary::after {
	content: '-';
}

.admin-layout-main-leads .admin-panel-section-body {
	padding: 0 0.95rem 0.95rem;
}

@container (max-width: 860px) {
	.admin-layout-main-leads .admin-two-col,
	.admin-layout-main-leads .admin-three-col {
		grid-template-columns: 1fr;
	}

	.admin-layout-main-leads .admin-panel-header,
	.admin-layout-main-leads .admin-list-header,
	.admin-layout-main-leads .admin-editor-header {
		align-items: stretch;
	}
}

@container (max-width: 620px) {
	.admin-layout-main-leads .admin-panel-actions,
	.admin-layout-main-leads .admin-filter-actions,
	.admin-layout-main-leads .leads-row-actions {
		display: grid;
		grid-template-columns: 1fr;
		justify-content: stretch;
	}

	.admin-layout-main-leads .admin-filter-bar .settings-field {
		grid-template-columns: 1fr;
	}
}

/* =============================================
   Homepage concept 02 refinement
   ============================================= */
.route-public.page-slug-index .shell > main {
	position: relative;
	padding: clamp(1rem, 2vw, 1.5rem) 0 clamp(3rem, 7vw, 5.5rem);
	background:
		linear-gradient(90deg, rgba(var(--gms-shadow-rgb), 0.045) 1px, transparent 1px),
		linear-gradient(180deg, rgba(var(--gms-shadow-rgb), 0.04) 1px, transparent 1px),
		linear-gradient(180deg, var(--gms-mint-1) 0%, var(--gms-mint-2) 56%, var(--gms-mint-2) 100%);
	background-size: 56px 56px, 56px 56px, auto;
}

.route-public.page-slug-index .content-article-home {
	width: min(1340px, 100%);
	max-width: 1340px;
	margin: 0 auto;
	padding: 0 clamp(1.25rem, 5vw, 4.5rem);
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
}

.route-public.page-slug-index .content-header-home {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.route-public.page-slug-index .content-header-home::after {
	content: none;
}

.route-public.page-slug-index .content-section-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2.4vw, 1.65rem);
}

.route-public.page-slug-index .content-section-list > .content-block {
	position: relative;
	z-index: 1;
	margin: 0;
	box-sizing: border-box;
}

.route-public.page-slug-index .homepage-hero-section {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 0.86fr) minmax(320px, 1.14fr);
	align-items: stretch;
	min-height: clamp(30rem, 55vw, 41rem);
	padding: 0;
	overflow: hidden;
	background: rgba(var(--gms-white-rgb), 0.9);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	border-radius: 2px;
	box-shadow: 0 22px 55px rgba(var(--gms-shadow-rgb), 0.08);
}

.route-public.page-slug-index .homepage-hero-section::before,
.route-public.page-slug-index .homepage-hero-section::after {
	content: "";
	position: absolute;
	z-index: 3;
	width: 18px;
	height: 18px;
	pointer-events: none;
}

.route-public.page-slug-index .homepage-hero-section::before {
	top: 16px;
	left: 16px;
	border-top: 1.5px solid rgba(var(--gms-shadow-rgb), 0.4);
	border-left: 1.5px solid rgba(var(--gms-shadow-rgb), 0.4);
}

.route-public.page-slug-index .homepage-hero-section::after {
	right: 16px;
	bottom: 16px;
	border-right: 1.5px solid rgba(var(--gms-shadow-rgb), 0.4);
	border-bottom: 1.5px solid rgba(var(--gms-shadow-rgb), 0.4);
}

.route-public.page-slug-index .homepage-hero-copy {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: none;
	margin: 0;
	padding: clamp(2.2rem, 5vw, 4.4rem) clamp(1.5rem, 4vw, 3.75rem);
	background:
		linear-gradient(90deg, rgba(var(--gms-body-rgb), 0.98) 0%, rgba(var(--gms-body-rgb), 0.92) 74%, rgba(var(--gms-body-rgb), 0) 100%),
		linear-gradient(180deg, rgba(var(--gms-shadow-rgb), 0.05) 1px, transparent 1px);
	background-size: auto, 100% 44px;
}

.route-public.page-slug-index .homepage-hero-copy::after {
	content: "";
	display: block;
	width: min(190px, 42%);
	height: 1px;
	margin-top: clamp(1.35rem, 3vw, 2.2rem);
	background: var(--gms-gold);
	box-shadow: 28px 0 0 rgba(var(--gms-gold-rgb), 0.38);
}

.route-public.page-slug-index .homepage-hero-copy .content-eyebrow {
	margin-bottom: clamp(0.85rem, 2vw, 1.35rem);
	color: var(--gms-green-gray);
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.18em;
}

.route-public.page-slug-index .homepage-hero-copy h2 {
	max-width: 12.5ch;
	margin: 0;
	color: var(--gms-mane-3);
	font-family: 'Bodoni 16', Georgia, serif;
	font-size: clamp(3rem, 7.6vw, 6.7rem);
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: 0;
}

.route-public.page-slug-index .homepage-hero-copy p:not(.content-eyebrow) {
	max-width: 34rem;
	margin-top: clamp(1rem, 2vw, 1.45rem);
	color: var(--gms-mane-2);
	font-size: clamp(1rem, 1.45vw, 1.18rem);
	line-height: 1.72;
}

.route-public.page-slug-index .homepage-hero-visual {
	position: relative;
	min-width: 0;
	min-height: 100%;
	margin: 0;
	overflow: hidden;
	background: var(--gms-sage-2);
}

.route-public.page-slug-index .homepage-hero-visual::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(var(--gms-body-rgb), 0.34) 0%, rgba(var(--gms-body-rgb), 0) 28%),
		linear-gradient(180deg, rgba(var(--gms-shadow-rgb), 0.08), rgba(var(--gms-shadow-rgb), 0));
	pointer-events: none;
}

.route-public.page-slug-index .homepage-hero-visual::after {
	content: "";
	position: absolute;
	right: clamp(1.15rem, 2.5vw, 2.3rem);
	bottom: clamp(1.1rem, 2.5vw, 2rem);
	z-index: 2;
	width: 46px;
	height: 5px;
	background: var(--gms-gold);
	box-shadow: 10px -12px 0 -1px var(--gms-gold), 20px 0 0 rgba(var(--gms-gold-rgb), 0.45);
	pointer-events: none;
}

.route-public.page-slug-index .homepage-hero-visual picture,
.route-public.page-slug-index .homepage-hero-visual img {
	display: block;
	width: 100%;
	height: 100%;
}

.route-public.page-slug-index .homepage-hero-visual img {
	object-fit: cover;
	object-position: 70% 50%;
}

.route-public.page-slug-index .content-block-key-services_overview,
.route-public.page-slug-index .content-block-key-seo_strategy {
	min-height: 100%;
	padding: clamp(1.45rem, 3vw, 2.45rem);
	background: rgba(var(--gms-white-rgb), 0.86);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	border-radius: 2px;
	box-shadow: 0 16px 36px rgba(var(--gms-shadow-rgb), 0.06);
}

.route-public.page-slug-index .content-block-key-services_overview::before,
.route-public.page-slug-index .content-block-key-seo_strategy::before {
	content: "";
	position: absolute;
	top: 12px;
	right: 12px;
	width: 13px;
	height: 13px;
	border-top: 1.5px solid rgba(var(--gms-shadow-rgb), 0.3);
	border-right: 1.5px solid rgba(var(--gms-shadow-rgb), 0.3);
}

.route-public.page-slug-index .content-block-key-services_overview .content-section-title,
.route-public.page-slug-index .content-block-key-seo_strategy .content-section-title {
	max-width: 15ch;
	margin-bottom: 1rem;
	color: var(--gms-mane-3);
	font-size: clamp(1.8rem, 3vw, 2.45rem);
	line-height: 1.05;
}

.route-public.page-slug-index .content-block-key-services_overview .content-rich,
.route-public.page-slug-index .content-block-key-seo_strategy .content-rich {
	margin: 0;
}

.route-public.page-slug-index .content-block-key-services_overview .content-rich p,
.route-public.page-slug-index .content-block-key-seo_strategy .content-rich p {
	color: var(--gms-green-gray);
	font-size: 0.98rem;
	line-height: 1.62;
}

.route-public.page-slug-index .content-block-key-services_overview ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
}

.route-public.page-slug-index .content-block-key-services_overview li {
	position: relative;
	margin: 0;
	padding: 0.85rem 0.9rem 0.85rem 1rem;
	background: rgba(var(--gms-body-rgb), 0.54);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.13);
	border-radius: 2px;
	color: var(--gms-mane-2);
}

.route-public.page-slug-index .content-block-key-services_overview li::before {
	content: "";
	position: absolute;
	top: 0.9rem;
	right: 0.85rem;
	width: 6px;
	height: 6px;
	background: var(--gms-gold);
	transform: rotate(45deg);
}

.route-public.page-slug-index .content-block-key-services_overview .b,
.route-public.page-slug-index .content-block-key-seo_strategy .b {
	color: var(--gms-mane-3);
	font-weight: 700;
}

.route-public.page-slug-index .content-block-key-cta_contact {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
	gap: clamp(1.25rem, 4vw, 3rem);
	align-items: center;
	padding: clamp(1.4rem, 3vw, 2.35rem) clamp(1.45rem, 4vw, 3.4rem);
	background:
		linear-gradient(90deg, rgba(var(--gms-shadow-rgb), 0.08) 1px, transparent 1px),
		linear-gradient(180deg, rgba(var(--gms-shadow-rgb), 0.055) 1px, transparent 1px),
		var(--gms-sage-4);
	background-size: 40px 40px, 40px 40px, auto;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.16);
	border-left: 5px solid var(--gms-gold);
	border-radius: 2px;
	box-shadow: 0 18px 45px rgba(var(--gms-shadow-rgb), 0.07);
}

.route-public.page-slug-index .content-block-key-cta_contact .content-section-title {
	margin: 0;
	color: var(--gms-mane-3);
	font-size: clamp(1.9rem, 3.4vw, 2.7rem);
	line-height: 1.05;
}

.route-public.page-slug-index .content-block-key-cta_contact .content-rich {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(1rem, 3vw, 2rem);
	align-items: center;
	margin: 0;
}

.route-public.page-slug-index .content-block-key-cta_contact .content-rich p {
	margin: 0;
	color: var(--gms-mane-2);
	line-height: 1.62;
}

.route-public.page-slug-index .content-block-key-cta_contact .content-button-primary {
	background: var(--gms-mane-3);
	color: var(--gms-mint-2);
	border-color: var(--gms-mane-3);
	border-radius: 2px;
	box-shadow: none;
}

.route-public.page-slug-index .content-block-key-cta_contact .content-button-primary:hover,
.route-public.page-slug-index .content-block-key-cta_contact .content-button-primary:focus-visible {
	background: var(--gms-gold);
	border-color: var(--gms-gold);
	color: var(--gms-mane-3);
}

@media (max-width: 960px) {
.route-public.page-slug-index .content-section-list {
		grid-template-columns: 1fr;
	}

.route-public.page-slug-index .homepage-hero-section,
	.route-public.page-slug-index .content-block-key-cta_contact {
		grid-template-columns: 1fr;
	}

.route-public.page-slug-index .homepage-hero-visual {
		min-height: clamp(18rem, 58vw, 30rem);
	}

.route-public.page-slug-index .homepage-hero-copy {
		background: rgba(var(--gms-body-rgb), 0.96);
	}

.route-public.page-slug-index .content-block-key-cta_contact .content-rich {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
.route-public.page-slug-index .shell > main {
		padding-top: 0.75rem;
	}

.route-public.page-slug-index .content-article-home {
		padding: 0 1rem;
	}

.route-public.page-slug-index .homepage-hero-section {
		min-height: 0;
	}

.route-public.page-slug-index .homepage-hero-copy {
		padding: clamp(2rem, 8vw, 3.2rem) 1.25rem;
	}

.route-public.page-slug-index .homepage-hero-copy h2 {
		font-size: clamp(2.75rem, 13vw, 4.45rem);
	}

.route-public.page-slug-index .homepage-hero-copy p:not(.content-eyebrow) {
		font-size: 1rem;
	}

.route-public.page-slug-index .homepage-hero-visual {
		min-height: clamp(19rem, 82vw, 29rem);
	}

.route-public.page-slug-index .homepage-hero-visual img {
		object-position: 50% 42%;
	}

.route-public.page-slug-index .content-block-key-services_overview,
	.route-public.page-slug-index .content-block-key-seo_strategy,
	.route-public.page-slug-index .content-block-key-cta_contact {
		padding: 1.25rem;
	}

.route-public.page-slug-index .content-block-key-services_overview ul {
		grid-template-columns: 1fr;
	}
}

/* =============================================
   Homepage concept 02 sample alignment
   ============================================= */
.route-public.page-slug-index .shell > main {
	padding: clamp(0.9rem, 2vw, 1.5rem) 0 0;
	background:
		linear-gradient(rgba(var(--gms-shadow-rgb), 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(var(--gms-shadow-rgb), 0.05) 1px, transparent 1px),
		var(--gms-mint-1);
	background-size: 56px 56px, 56px 56px, auto;
}

.route-public.page-slug-index .content-article-home {
	width: min(1340px, 100%);
	max-width: 1340px;
	padding: 0 clamp(1.25rem, 5vw, 4.5rem);
}

.route-public.page-slug-index .content-section-list {
	gap: 0;
}

.route-public.page-slug-index .homepage-hero-section {
	position: relative;
	display: block;
	min-height: clamp(460px, 54vw, 620px);
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--gms-sage-4);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.12);
	border-radius: 2px;
	box-shadow: none;
}

.route-public.page-slug-index .homepage-hero-copy {
	position: absolute;
	inset: 0 auto 0 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: min(720px, 62%);
	max-width: 720px;
	padding: 0 clamp(1.6rem, 4.2vw, 3.75rem) clamp(1.6rem, 4.2vw, 3.75rem);
	background: transparent;
}

.route-public.page-slug-index .homepage-hero-copy::before {
	content: "";
	position: absolute;
	inset: 0 -18vw 0 0;
	z-index: -1;
	background: linear-gradient(95deg, rgba(var(--gms-body-rgb), 0.98) 0%, rgba(var(--gms-body-rgb), 0.9) 35%, rgba(var(--gms-body-rgb), 0.48) 60%, rgba(var(--gms-body-rgb), 0) 100%);
}

.route-public.page-slug-index .homepage-hero-copy::after {
	width: clamp(70px, 15vw, 190px);
	margin-top: clamp(1.4rem, 3vw, 2.25rem);
	background: var(--gms-gold);
	box-shadow: -22px 0 0 -18px var(--gms-gold), 14px 0 0 rgba(var(--gms-gold-rgb), 0.42);
}

.route-public.page-slug-index .homepage-hero-copy .content-eyebrow {
	margin: 0 0 clamp(0.85rem, 2vw, 1.25rem);
	color: var(--gms-green-gray);
	font-family: 'Poppins', Arial, sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.route-public.page-slug-index .homepage-hero-copy h2 {
	max-width: 8.8ch;
	color: var(--gms-mane-3);
	font-size: clamp(3.45rem, 7.1vw, 6.85rem);
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: 0;
}

.route-public.page-slug-index .homepage-hero-copy p:not(.content-eyebrow) {
	max-width: 28rem;
	margin-top: clamp(1rem, 2vw, 1.45rem);
	color: var(--gms-mane-3);
	font-family: 'Poppins', Arial, sans-serif;
	font-size: clamp(0.98rem, 1.3vw, 1.08rem);
	line-height: 1.7;
}

.route-public.page-slug-index .homepage-hero-copy h2 + p + p {
	display: none;
}

.route-public.page-slug-index .homepage-hero-visual {
	position: absolute;
	inset: 0;
	min-height: 0;
	background: var(--gms-sage-4);
}

.route-public.page-slug-index .homepage-hero-visual::before {
	background: linear-gradient(180deg, rgba(var(--gms-shadow-rgb), 0.08), rgba(var(--gms-shadow-rgb), 0));
}

.route-public.page-slug-index .homepage-hero-visual img {
	object-fit: cover;
	object-position: 72% 50%;
}

.route-public.page-slug-index .homepage-hero-section::before,
.route-public.page-slug-index .homepage-hero-section::after {
	width: 18px;
	height: 18px;
}

.route-public.page-slug-index .content-block-key-services_overview {
	grid-column: 1 / -1;
	margin: clamp(0.65rem, 1.5vw, 1.1rem) 0 0;
	padding: clamp(1.25rem, 2.6vw, 1.9rem) clamp(1.5rem, 3.4vw, 3.25rem);
	background: var(--gms-sage-4);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	border-radius: 2px;
	box-shadow: none;
}

.route-public.page-slug-index .content-block-key-services_overview::before {
	content: none;
}

.route-public.page-slug-index .content-block-key-services_overview .content-section-title {
	margin: 0 0 0.85rem;
	max-width: none;
	font-family: 'Poppins', Arial, sans-serif;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	line-height: 1.35;
	text-transform: uppercase;
	color: var(--gms-green-gray);
}

.route-public.page-slug-index .content-block-key-services_overview .content-rich > p {
	max-width: 68ch;
	margin: 0 0 1.25rem;
	color: var(--gms-mane-3);
}

.route-public.page-slug-index .content-block-key-services_overview ul {
	counter-reset: homepage-feature;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.1rem, 2.4vw, 2.2rem);
	margin: 0;
}

.route-public.page-slug-index .content-block-key-services_overview li {
	counter-increment: homepage-feature;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.85rem;
	align-items: start;
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--gms-mane-3);
}

.route-public.page-slug-index .content-block-key-services_overview li::before {
	content: counter(homepage-feature, decimal-leading-zero);
	position: static;
	width: auto;
	height: auto;
	padding: 0.45rem 0.55rem;
	background: transparent;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.32);
	transform: none;
	font-family: 'Poppins', Arial, sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1;
}

.route-public.page-slug-index .content-block-key-services_overview li .b {
	display: block;
	font-family: 'Bodoni 16', Georgia, serif;
	font-size: clamp(1.05rem, 1.7vw, 1.28rem);
	font-weight: 400;
	line-height: 1.18;
}

.route-public.page-slug-index .content-block-key-services_overview li br {
	display: none;
}

.route-public.page-slug-index .content-block-key-services_overview li {
	font-family: 'Poppins', Arial, sans-serif;
	font-size: 0.78rem;
	line-height: 1.45;
	color: var(--gms-green-gray);
}

.route-public.page-slug-index .content-block-key-seo_strategy {
	grid-column: 1 / -1;
	margin: clamp(1.75rem, 4vw, 3.4rem) 0 0;
	padding: clamp(1.75rem, 3vw, 2.5rem);
	background: var(--gms-mint-2);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	border-radius: 2px;
	box-shadow: none;
}

.route-public.page-slug-index .content-block-key-seo_strategy::before,
.route-public.page-slug-index .content-block-key-seo_strategy::after {
	content: "";
	position: absolute;
	width: 13px;
	height: 13px;
	pointer-events: none;
}

.route-public.page-slug-index .content-block-key-seo_strategy::before {
	top: 12px;
	right: 12px;
	border-top: 1.5px solid rgba(var(--gms-shadow-rgb), 0.3);
	border-right: 1.5px solid rgba(var(--gms-shadow-rgb), 0.3);
}

.route-public.page-slug-index .content-block-key-seo_strategy::after {
	left: 12px;
	bottom: 12px;
	border-left: 1.5px solid rgba(var(--gms-shadow-rgb), 0.3);
	border-bottom: 1.5px solid rgba(var(--gms-shadow-rgb), 0.3);
}

.route-public.page-slug-index .content-block-key-seo_strategy .content-section-title {
	max-width: none;
	font-size: clamp(2rem, 3vw, 2.7rem);
}

.route-public.page-slug-index .content-block-key-seo_strategy .content-rich {
	columns: 2 22rem;
	column-gap: clamp(1.5rem, 4vw, 3rem);
}

.route-public.page-slug-index .content-block-key-seo_strategy .content-rich p {
	break-inside: avoid;
}

.route-public.page-slug-index .content-block-key-cta_contact {
	margin: clamp(1.75rem, 4vw, 3.5rem) 0 0;
	padding: clamp(1.35rem, 3vw, 2.15rem) 0 0;
	background: transparent;
	border: 0;
	border-top: 1px solid rgba(var(--gms-shadow-rgb), 0.18);
	box-shadow: none;
}

.route-public.page-slug-index .content-block-key-cta_contact .content-section-title {
	font-size: clamp(1.85rem, 3vw, 2.45rem);
}

.route-public.page-slug-index .content-block-key-cta_contact .content-button-primary {
	padding: 0.85rem 1.4rem;
	background: transparent;
	color: var(--gms-mane-3);
	border: 1px solid var(--gms-gold);
	border-radius: 2px;
	font-family: 'Poppins', Arial, sans-serif;
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.route-public.page-slug-index .content-block-key-cta_contact .content-button-primary:hover,
.route-public.page-slug-index .content-block-key-cta_contact .content-button-primary:focus-visible {
	background: var(--gms-mane-3);
	border-color: var(--gms-mane-3);
	color: var(--gms-mint-1);
}

.route-public .site-footer {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0 clamp(1rem, 3vw, 2rem);
	width: min(1340px, 100%);
	max-width: 1340px;
	margin: clamp(1.4rem, 3vw, 2.15rem) auto 0;
	padding: 0 clamp(1.25rem, 5vw, 4.5rem) clamp(2.65rem, 6vw, 4.5rem);
	background: transparent;
	border: 0;
	box-shadow: none;
}

.route-public .footer-social-links {
	grid-column: 1 / -1;
	margin: 0;
	padding: 0;
}

.route-public .footer-social-links::after {
	content: "";
	display: block;
	height: 1px;
	margin: clamp(1.25rem, 3vw, 1.9rem) 0;
	background: rgba(var(--gms-shadow-rgb), 0.16);
}

.route-public .footer-social-links .footer-links-list {
	gap: 0.75rem;
}

.route-public .footer-social-links a {
	width: 38px;
	height: 38px;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.22);
	border-radius: 50%;
	color: var(--gms-mane-3);
	font-size: 1rem;
	text-decoration: none;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.route-public .footer-social-links a:hover,
.route-public .footer-social-links a:focus-visible {
	background: var(--gms-mane-3);
	border-color: var(--gms-mane-3);
	color: var(--gms-mint-1);
}

.route-public .site-footer > .footer-links:not(.footer-social-links):not(.footer-copyright) {
	grid-column: 1;
	justify-self: start;
	margin: 0;
	padding: 0;
}

.route-public .site-footer > .footer-links:not(.footer-social-links):not(.footer-copyright) .footer-links-list {
	justify-content: flex-start;
	gap: clamp(1rem, 2.2vw, 1.9rem);
}

.route-public .site-footer > .footer-links:not(.footer-social-links):not(.footer-copyright) .footer-links-item::after {
	content: none;
}

.route-public .site-footer > .footer-links:not(.footer-social-links):not(.footer-copyright) a {
	color: var(--gms-green-gray);
	font-family: 'Poppins', Arial, sans-serif;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.13em;
	line-height: 1.4;
	text-decoration: none;
	text-transform: uppercase;
}

.route-public .footer-copyright {
	grid-column: 2;
	justify-self: end;
	margin: 0;
	padding: 0;
	text-align: right;
}

.route-public .footer-copyright p {
	color: var(--gms-green-gray);
	font-family: 'Poppins', Arial, sans-serif;
	font-size: 0.68rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

@media (max-width: 960px) {
.route-public.page-slug-index .homepage-hero-copy {
		width: min(680px, 72%);
	}

.route-public.page-slug-index .content-block-key-services_overview ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
.route-public.page-slug-index .shell > main {
		padding-top: 0.75rem;
	}

.route-public.page-slug-index .content-article-home {
		padding: 0 1rem;
	}

.route-public.page-slug-index .homepage-hero-section {
		min-height: 76vh;
	}

.route-public.page-slug-index .homepage-hero-copy {
		inset: 0 0 auto;
		width: 100%;
		max-width: none;
		padding: clamp(2rem, 8vw, 3.5rem) 1.35rem;
		justify-content: flex-start;
	}

.route-public.page-slug-index .homepage-hero-copy::before {
		inset: 0 0 -12vh 0;
		background: linear-gradient(180deg, rgba(var(--gms-body-rgb), 0.98) 0%, rgba(var(--gms-body-rgb), 0.84) 42%, rgba(var(--gms-body-rgb), 0) 100%);
	}

.route-public.page-slug-index .homepage-hero-copy h2 {
		max-width: 8.8ch;
		font-size: clamp(2.65rem, 12vw, 4.15rem);
	}

.route-public.page-slug-index .homepage-hero-copy p:not(.content-eyebrow) {
		max-width: 27rem;
	}

.route-public.page-slug-index .homepage-hero-visual img {
		object-position: 50% 42%;
	}

.route-public.page-slug-index .content-block-key-services_overview,
	.route-public.page-slug-index .content-block-key-seo_strategy {
		padding: 1.25rem;
	}

.route-public.page-slug-index .content-block-key-services_overview ul,
	.route-public.page-slug-index .content-block-key-seo_strategy .content-rich,
	.route-public.page-slug-index .content-block-key-cta_contact,
	.route-public.page-slug-index .content-block-key-cta_contact .content-rich,
	.route-public .site-footer {
		grid-template-columns: 1fr;
	}

.route-public.page-slug-index .content-block-key-seo_strategy .content-rich {
		columns: auto;
	}

.route-public.page-slug-index .content-block-key-cta_contact .content-rich p:last-child {
		text-align: left;
	}

.route-public .site-footer > .footer-links:not(.footer-social-links):not(.footer-copyright),
	.route-public .footer-copyright {
		grid-column: 1;
		justify-self: center;
		text-align: center;
	}

.route-public .site-footer > .footer-links:not(.footer-social-links):not(.footer-copyright) .footer-links-list {
		justify-content: center;
	}

.route-public .footer-copyright {
		margin-top: 1rem;
	}
}

/* =============================================
   Homepage concept 02 header correction
   ============================================= */
.route-public.page-slug-index .shell {
	background: var(--gms-mint-1);
}

.route-public.page-slug-index .site-header {
	position: relative;
	z-index: 10;
	width: min(1340px, 100%);
	max-width: 1340px;
	margin: 0 auto;
	padding: clamp(0.95rem, 2.4vw, 1.5rem) clamp(1.25rem, 5vw, 4.5rem);
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	box-shadow: none;
	box-sizing: border-box;
}

.route-public.page-slug-index .site-header-blocks {
	width: auto;
	min-height: 54px;
	margin: 0;
	padding: 0 !important;
}

.route-public.page-slug-index .site-header-block-kind-branding {
	width: auto;
	min-width: 0;
}

.route-public.page-slug-index .site-header-block-kind-branding .theme-block-canvas {
	position: relative;
	width: auto !important;
	min-width: 0;
	min-height: 54px !important;
	height: 54px !important;
	padding-left: 67px;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	overflow: visible;
}

.route-public.page-slug-index .site-header-block-kind-branding [data-block-node="heading"],
.route-public.page-slug-index .site-header-block-kind-branding [data-block-node="text"] {
	display: none !important;
}

.route-public.page-slug-index .site-header-block-kind-branding [data-block-node="image"] {
	left: 0 !important;
	top: 0 !important;
	width: 54px !important;
	height: 54px !important;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.25);
	border-radius: 50%;
	background: var(--gms-mint-1);
	overflow: hidden !important;
}

.route-public.page-slug-index .site-header-block-kind-branding [data-block-node="image"] img {
	width: 118% !important;
	height: 118% !important;
	max-width: none !important;
	margin: -9% !important;
	object-fit: cover !important;
}

.route-public.page-slug-index .site-header-block-kind-branding .theme-block-canvas::after {
	content: "green mane studio";
	display: flex;
	align-items: center;
	height: 54px;
	color: var(--gms-mane-3);
	font-family: 'Poppins', Arial, sans-serif;
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	line-height: 1.3;
	text-transform: lowercase;
	white-space: nowrap;
}

@media (max-width: 700px) {
.route-public.page-slug-index .site-header {
		padding: 0.85rem 1rem;
	}

.route-public.page-slug-index .site-header-block-kind-branding .theme-block-canvas {
		padding-left: 56px;
	}

.route-public.page-slug-index .site-header-block-kind-branding [data-block-node="image"] {
		width: 44px !important;
		height: 44px !important;
	}

.route-public.page-slug-index .site-header-block-kind-branding .theme-block-canvas::after {
		height: 44px;
		max-width: 45vw;
		font-size: 0.68rem;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}

/* =============================================
   Homepage concept 02 png-only correction
   ============================================= */
.route-public.page-slug-index .shell,
.route-public.page-slug-index .shell > main {
	background: linear-gradient(var(--gms-template-shell-bg), var(--gms-template-shell-bg)) var(--gms-white) !important;
}

.route-public.page-slug-index .homepage-hero-copy {
	background: transparent;
}

.route-public.page-slug-index .homepage-hero-section,
.route-public.page-slug-index .content-block-key-services_overview,
.route-public.page-slug-index .content-block-key-seo_strategy,
.route-public.page-slug-index .content-block-key-cta_contact,
.route-public.page-slug-index .site-footer {
	background-image: none !important;
}

.route-public.page-slug-index .homepage-hero-section {
	background: var(--gms-white);
	box-shadow: 0 18px 44px rgba(var(--gms-shadow-rgb), 0.055);
}

.route-public.page-slug-index .homepage-hero-copy::before {
	background: linear-gradient(95deg, rgba(var(--gms-white-rgb), 0.98) 0%, rgba(var(--gms-white-rgb), 0.9) 38%, rgba(var(--gms-white-rgb), 0.48) 61%, rgba(var(--gms-white-rgb), 0) 100%);
}

.route-public.page-slug-index .content-block-key-services_overview {
	background: var(--gms-white);
	box-shadow: 0 12px 30px rgba(var(--gms-shadow-rgb), 0.045);
}

.route-public.page-slug-index .content-block-key-seo_strategy {
	background: var(--gms-white);
	box-shadow: 0 12px 30px rgba(var(--gms-shadow-rgb), 0.045);
}

.route-public.page-slug-index .content-block-key-cta_contact {
	background: transparent;
}

@media (max-width: 700px) {
.route-public.page-slug-index .homepage-hero-copy::before {
		background: linear-gradient(180deg, rgba(var(--gms-white-rgb), 0.98) 0%, rgba(var(--gms-white-rgb), 0.84) 42%, rgba(var(--gms-white-rgb), 0) 100%);
	}
}

/* =============================================
   Homepage concept 02 width and readability correction
   ============================================= */
.route-public.page-slug-index .shell > main {
	padding: 1rem 0 0;
}

.route-public.page-slug-index .content-article-home {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 2vw;
}

.route-public.page-slug-index .content-section-list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(1.15rem, 3vw, 2.25rem);
	width: 100%;
	max-width: none;
}

.route-public.page-slug-index .content-section-list > .content-block {
	grid-column: 1 / -1;
	width: 100%;
	min-width: 0;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	box-sizing: border-box;
}

.route-public.page-slug-index .homepage-hero-section {
	width: 100%;
	min-height: clamp(470px, 58vw, 720px);
	margin: 0;
}

.route-public.page-slug-index .homepage-hero-visual,
.route-public.page-slug-index .homepage-hero-visual picture,
.route-public.page-slug-index .homepage-hero-visual img {
	width: 100%;
	height: 100%;
}

.route-public.page-slug-index .homepage-hero-visual img {
	object-fit: cover;
	object-position: center center;
}

.route-public.page-slug-index .homepage-hero-copy {
	width: min(760px, 58vw);
	max-width: 760px;
	min-width: min(92vw, 360px);
}

.route-public.page-slug-index .homepage-hero-copy h2 {
	max-width: 11ch;
	font-size: clamp(3.1rem, 7.4vw, 7.1rem);
}

.route-public.page-slug-index .homepage-hero-copy p:not(.content-eyebrow) {
	max-width: 36rem;
}

.route-public.page-slug-index .content-block-key-services_overview,
.route-public.page-slug-index .content-block-key-seo_strategy,
.route-public.page-slug-index .content-block-key-cta_contact {
	width: 100%;
	max-width: none;
	padding: clamp(1.4rem, 3vw, 2.5rem);
}

.route-public.page-slug-index .content-block-key-services_overview .content-rich,
.route-public.page-slug-index .content-block-key-seo_strategy .content-rich,
.route-public.page-slug-index .content-block-key-cta_contact .content-rich {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: none;
	columns: auto;
}

.route-public.page-slug-index .content-block-key-services_overview .content-rich p,
.route-public.page-slug-index .content-block-key-seo_strategy .content-rich p,
.route-public.page-slug-index .content-block-key-cta_contact .content-rich p {
	width: auto;
	min-width: 0;
	max-width: 74ch;
	white-space: normal;
	word-break: normal;
	overflow-wrap: normal;
}

.route-public.page-slug-index .content-block-key-services_overview ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: clamp(1rem, 2vw, 1.75rem);
	width: 100%;
	min-width: 0;
}

.route-public.page-slug-index .content-block-key-services_overview li {
	min-width: 0;
	white-space: normal;
	word-break: normal;
	overflow-wrap: normal;
}

.route-public.page-slug-index .content-block-key-cta_contact {
	display: grid;
	grid-template-columns: minmax(220px, 0.55fr) minmax(320px, 1fr);
	gap: clamp(1rem, 3vw, 2.5rem);
	align-items: center;
}

.route-public.page-slug-index .content-block-key-cta_contact .content-rich {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(1rem, 3vw, 2rem);
	align-items: center;
}

@media (max-width: 900px) {
.route-public.page-slug-index .homepage-hero-copy {
		width: min(680px, 72vw);
	}

.route-public.page-slug-index .content-block-key-cta_contact,
	.route-public.page-slug-index .content-block-key-cta_contact .content-rich {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
.route-public.page-slug-index .content-article-home {
		padding: 0 1rem;
	}

.route-public.page-slug-index .homepage-hero-section {
		min-height: clamp(560px, 92vh, 740px);
	}

.route-public.page-slug-index .homepage-hero-copy {
		width: 100%;
		min-width: 0;
	}

.route-public.page-slug-index .homepage-hero-copy h2 {
		font-size: clamp(2.55rem, 11vw, 4.25rem);
	}

.route-public.page-slug-index .homepage-hero-visual img {
		object-position: center center;
	}
}

.route-public.page-slug-index {
	background: var(--gms-sage-4);
}

.route-public.page-slug-index ::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}

.route-public.page-slug-index ::-webkit-scrollbar-thumb {
	background: rgba(var(--gms-shadow-rgb), 0.22);
	border-radius: 8px;
}

.route-public.page-slug-index .shell {
	position: relative;
	min-height: 100vh;
	overflow-x: hidden;
	background: var(--gms-mint-1);
	color: var(--gms-mane-3);
	font-family: 'GMS Clean Spectral', serif;
}

.route-public.page-slug-index .shell::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.45;
	background-image: linear-gradient(rgba(var(--gms-shadow-rgb), 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--gms-shadow-rgb), 0.05) 1px, transparent 1px);
	background-size: 56px 56px;
}

.route-public.page-slug-index .site-header,
.route-public.page-slug-index .gms-clean-home,
.route-public.page-slug-index .site-footer,
.route-public.page-slug-index .site-nav-panel {
	position: relative;
	z-index: 1;
}

.route-public.page-slug-index .site-header {
	z-index: 10;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: clamp(15px, 2.4vw, 24px) clamp(20px, 5vw, 72px);
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
}

.route-public.page-slug-index .site-header-blocks {
	max-width: 1340px;
	min-height: 52px;
	margin: 0 auto;
	padding: 0 58px 0 0 !important;
	align-items: center;
}

.route-public.page-slug-index .site-header-block-kind-branding .theme-block-canvas {
	min-height: 52px !important;
	height: 52px !important;
	padding-left: 64px;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	overflow: visible;
}

.route-public.page-slug-index .site-header-block-kind-branding [data-block-node="heading"],
.route-public.page-slug-index .site-header-block-kind-branding [data-block-node="text"] {
	display: none !important;
}

.route-public.page-slug-index .site-header-block-kind-branding [data-block-node="image"] {
	left: 0 !important;
	top: 0 !important;
	width: 52px !important;
	height: 52px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	overflow: visible !important;
}

.route-public.page-slug-index .site-header-block-kind-branding [data-block-node="image"] img {
	width: auto !important;
	height: 52px !important;
	max-width: none !important;
	margin: 0 !important;
	object-fit: contain !important;
}

.route-public.page-slug-index .site-header-block-kind-branding .theme-block-canvas::after {
	content: "green mane studio";
	display: flex;
	align-items: center;
	height: 52px;
	color: var(--gms-mane-3);
	font-family: 'GMS Clean Cormorant', serif;
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 600;
	letter-spacing: 0.005em;
	line-height: 1;
	text-transform: lowercase;
}

.route-public.page-slug-index .nav-toggle,
.route-public.page-slug-index.shell:not(.shell-admin) .nav-toggle,
.route-public.page-slug-index .shell:not(.shell-admin) .nav-toggle {
	position: fixed;
	top: 16px;
	right: clamp(20px, 5vw, 72px);
	width: 48px;
	height: 38px;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.28);
	border-radius: 2px;
	background: transparent;
	box-shadow: none;
	color: var(--gms-mane-3);
	z-index: 1401;
}

#menu-icon {
	background: rgb(var(--gms-sage-4), .5);
	backdrop-filter: blur(3px);
}

.route-public.page-slug-index .nav-toggle .gms {
	font-size: 20px;
	line-height: 1;
}

.route-public.page-slug-index .site-nav-panel {
	position: fixed;
	top: 64px;
	right: clamp(20px, 5vw, 72px);
	width: min(320px, calc(100vw - 40px));
	max-height: calc(100vh - 82px);
	padding: 18px clamp(18px, 4vw, 26px);
	background: var(--gms-mint-1);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.18);
	box-shadow: 0 16px 30px -22px rgba(var(--gms-shadow-rgb), 0.4);
	font-family: 'GMS Clean Archivo', sans-serif;
}

.route-public.page-slug-index .site-nav-item > a,
.route-public.page-slug-index .site-subnav-item > a,
.route-public.page-slug-index .site-nav-heading,
.route-public.page-slug-index .site-subnav-heading,
.route-public.page-slug-index .site-nav-slider-forward,
.route-public.page-slug-index .site-nav-slider-back {
	color: var(--gms-mane-3);
	font-family: 'GMS Clean Archivo', sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
}

.route-public.page-slug-index .gms-clean-home {
	width: min(1340px, 100%);
	margin: 0 auto;
	padding: 0 clamp(20px, 5vw, 72px) clamp(28px, 4vw, 56px);
	box-sizing: border-box;
}

.route-public.page-slug-index .gms-clean-hero {
	position: relative;
	min-height: clamp(460px, 54vw, 620px);
	overflow: hidden;
}

.route-public.page-slug-index .gms-clean-hero picture,
.route-public.page-slug-index .gms-clean-hero img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
}

.route-public.page-slug-index .gms-clean-hero img {
	object-fit: cover;
	object-position: 72% 50%;
}

.route-public.page-slug-index .gms-clean-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(95deg, rgba(var(--gms-body-rgb), 0.77) 0%, #fff 13%, rgba(var(--gms-body-rgb), 0.52) 43%, rgba(var(--gms-body-rgb), 0) 62%);
}

.route-public.page-slug-index .gms-clean-hero-content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 clamp(26px, 4.2vw, 60px) clamp(26px, 4.2vw, 60px);
	box-sizing: border-box;
}

.route-public.page-slug-index .gms-clean-hero-copy {
	max-width: 720px;
}

.route-public.page-slug-index .gms-clean-hero h1 {
	margin: 0;
	color: var(--gms-mane-3);
	font-family: 'GMS Clean Cormorant', serif;
	font-size: clamp(46px, 8.6vw, 110px);
	font-weight: 600;
	line-height: 0.92;
	letter-spacing: -0.012em;
}

.route-public.page-slug-index .gms-clean-hero p {
	max-width: 24ch;
	margin: clamp(16px, 2vw, 26px) 0 0;
	color: var(--gms-mane-3);
	font-size: clamp(17px, 2.2vw, 26px);
	line-height: 1.42;
}

.route-public.page-slug-index .gms-clean-ornament {
	display: flex;
	align-items: center;
	gap: 13px;
	margin-top: clamp(22px, 3vw, 36px);
}

.route-public.page-slug-index .gms-clean-diamond,
.route-public.page-slug-index .gms-clean-divider i {
	width: 9px;
	height: 9px;
	border: 1px solid var(--gms-mane-2);
	transform: rotate(45deg);
	flex: none;
}

.route-public.page-slug-index .gms-clean-rule,
.route-public.page-slug-index .gms-clean-divider span {
	height: 1px;
	background: var(--gms-mane-2);
	opacity: 0.75;
}

.route-public.page-slug-index .gms-clean-rule {
	width: clamp(70px, 15vw, 190px);
}

.route-public.page-slug-index .gms-clean-bars {
	display: flex;
	align-items: flex-end;
	gap: 3px;
}

.route-public.page-slug-index .gms-clean-bars span {
	width: 2px;
	background: var(--gms-mane-2);
}

.route-public.page-slug-index .gms-clean-bars span:nth-child(1),
.route-public.page-slug-index .gms-clean-bars span:nth-child(3) { height: 12px; }

.route-public.page-slug-index .gms-clean-bars span:nth-child(2) { height: 20px; }

.route-public.page-slug-index .gms-clean-bars span:nth-child(4) { height: 8px; }

.route-public.page-slug-index .gms-clean-corner {
	position: absolute;
	z-index: 3;
	width: 34px;
	height: 34px;
	border-color: rgba(var(--gms-shadow-rgb), 0.55);
	pointer-events: none;
}

.route-public.page-slug-index .gms-clean-corner-top {
	top: clamp(16px, 3vw, 34px);
	left: clamp(16px, 3vw, 34px);
	border-top: 1px solid;
	border-left: 1px solid;
}

.route-public.page-slug-index .gms-clean-corner-bottom {
	right: clamp(16px, 3vw, 34px);
	bottom: clamp(16px, 3vw, 34px);
	border-right: 1px solid;
	border-bottom: 1px solid;
}

.route-public.page-slug-index .gms-clean-process {
	margin-top: clamp(10px, 1.6vw, 18px);
	background: var(--gms-sage-4);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	border-radius: 2px;
	padding: clamp(20px, 2.6vw, 30px) clamp(28px, 3.4vw, 52px);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(195px, 1fr));
	gap: clamp(20px, 2.6vw, 34px);
}

.route-public.page-slug-index .gms-clean-process article {
	display: flex;
	gap: 14px;
}

.route-public.page-slug-index .gms-clean-process article > span {
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.32);
	padding: 7px 9px;
	font-family: 'GMS Clean Archivo', sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	align-self: flex-start;
}

.route-public.page-slug-index .gms-clean-process h2 {
	margin: 0;
	font-size: 15.5px;
	font-weight: 500;
	line-height: 1.25;
}

.route-public.page-slug-index .gms-clean-process p,
.route-public.page-slug-index .gms-clean-work-verbiage p,
.route-public.page-slug-index .gms-clean-work-header span {
	margin: 5px 0 0;
	color: var(--gms-green-gray);
	font-family: 'GMS Clean Archivo', sans-serif;
	font-size: 10.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.route-public.page-slug-index .gms-clean-services {
	margin-top: clamp(28px, 4vw, 54px);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 24px);
}

.route-public.page-slug-index .gms-clean-services article {
	position: relative;
	min-height: 304px;
	background: var(--gms-mint-2);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.15);
	border-radius: 2px;
	padding: clamp(22px, 2.7vw, 34px);
	display: flex;
	flex-direction: column;
}

.route-public.page-slug-index .gms-clean-service-icon {
	width: 68px;
	height: 68px;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.28);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--gms-mane-3);
}

.route-public.page-slug-index .gms-clean-code-icon {
	font-family: 'GMS Clean Archivo', sans-serif;
	font-size: 19px;
	font-weight: 600;
	letter-spacing: 0.01em;
}

.route-public.page-slug-index .gms-clean-services h2,
.route-public.page-slug-index .gms-clean-work-verbiage h3 {
	margin: clamp(20px, 2vw, 26px) 0 0;
	color: var(--gms-mane-3);
	font-family: 'GMS Clean Cormorant', serif;
	font-size: clamp(25px, 2.4vw, 31px);
	font-weight: 600;
	line-height: 1.04;
}

.route-public.page-slug-index .gms-clean-services p {
	margin: 11px 0 0;
	color: var(--gms-green-gray);
	font-size: 15px;
	line-height: 1.55;
}

.route-public.page-slug-index .gms-clean-card-rule {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	padding-top: 20px;
}

.route-public.page-slug-index .gms-clean-card-rule span:first-child {
	color: var(--gms-mane-2);
	font-family: 'GMS Clean Archivo', sans-serif;
	font-size: 18px;
	line-height: 1;
}

.route-public.page-slug-index .gms-clean-card-rule span:last-child {
	flex: 1;
	height: 1px;
	background: rgba(var(--gms-shadow-rgb), 0.45);
}

.route-public.page-slug-index .gms-clean-work {
	margin-top: clamp(30px, 5vw, 70px);
}

.route-public.page-slug-index .gms-clean-work-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 24px);
}

.route-public.page-slug-index .gms-clean-work-grid article {
	position: relative;
	aspect-ratio: 1.12 / 1;
	overflow: hidden;
	background: var(--gms-sage-4);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.12);
}

.route-public.page-slug-index .gms-clean-work-grid img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.route-public.page-slug-index .gms-clean-work-verbiage {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 24px);
	margin-top: 13px;
}

.route-public.page-slug-index .gms-clean-work-verbiage h3 {
	margin: 0;
	font-size: 23px;
}

.route-public.page-slug-index .gms-clean-work-verbiage p {
	letter-spacing: 0.12em;
}

.route-public.page-slug-index .gms-clean-work-header {
	display: flex;
	align-items: center;
	margin-top: clamp(22px, 3vw, 36px);
}

.route-public.page-slug-index .gms-clean-work-header span {
	margin: 0;
	font-size: 11px;
	letter-spacing: 0.2em;
}

.route-public.page-slug-index .gms-clean-divider {
	margin-top: clamp(38px, 5vw, 66px);
	display: flex;
	align-items: center;
	gap: 18px;
}

.route-public.page-slug-index .gms-clean-divider span {
	flex: 1;
	background: rgba(var(--gms-shadow-rgb), 0.18);
}

.route-public.page-slug-index .site-footer {
	position: relative;
	z-index: 1;
	width: min(1340px, 100%);
	max-width: 1340px;
	margin: clamp(22px, 3vw, 34px) auto 0;
	padding: 0 clamp(20px, 5vw, 72px) clamp(42px, 6vw, 72px);
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box;
}

.route-public.page-slug-index .site-footer .footer-links {
	margin: 0;
	padding: 0;
}

.route-public.page-slug-index .footer-social-links .footer-links-list {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.route-public.page-slug-index .footer-social-links .footer-links-item {
	margin: 0;
}

.route-public.page-slug-index .footer-social-links a {
	width: 38px;
	height: 38px;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.22);
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: var(--gms-mane-3);
	font-size: 20px;
	line-height: 1;
	text-decoration: none;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.route-public.page-slug-index .footer-social-links a:hover,
.route-public.page-slug-index .footer-social-links a:focus-visible {
	border-color: var(--gms-mane-3);
	background: var(--gms-mane-3);
	color: var(--gms-mint-1);
}

/*
.route-public.page-slug-index .site-footer > .footer-links:not(.footer-social-links):not(.footer-copyright) {
	border-top: 1px solid rgba(var(--gms-shadow-rgb), 0.16);
	margin-top: clamp(20px, 3vw, 30px);
	padding-top: clamp(20px, 3vw, 30px);
}
*/
.route-public.page-slug-index .site-footer > .footer-links:not(.footer-social-links):not(.footer-copyright) .footer-links-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(16px, 2.2vw, 30px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.route-public.page-slug-index .site-footer > .footer-links:not(.footer-social-links):not(.footer-copyright) a,
.route-public.page-slug-index .footer-copyright {
	color: var(--gms-green-gray);
	font-family: 'GMS Clean Archivo', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.13em;
	line-height: 1.3;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.2s;
}

.route-public.page-slug-index .site-footer > .footer-links:not(.footer-social-links):not(.footer-copyright) a:hover,
.route-public.page-slug-index .site-footer > .footer-links:not(.footer-social-links):not(.footer-copyright) a:focus-visible {
	color: var(--gms-mane-3);
}

.route-public.page-slug-index .footer-copyright {
	margin-top: 16px;
	color: var(--gms-green-gray);
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: none;
}

@media (max-width: 900px) {
.route-public.page-slug-index .gms-clean-services,
	.route-public.page-slug-index .gms-clean-work-grid,
	.route-public.page-slug-index .gms-clean-work-verbiage {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 719px) {
.route-public.page-slug-index .site-header {
		padding: 16px 20px;
	}

.route-public.page-slug-index .site-header-blocks {
		padding-right: 58px !important;
	}

.route-public.page-slug-index .site-header-block-kind-branding .theme-block-canvas {
		padding-left: 52px;
	}

.route-public.page-slug-index .site-header-block-kind-branding [data-block-node="image"],
	.route-public.page-slug-index .site-header-block-kind-branding [data-block-node="image"] img {
		height: 40px !important;
	}

.route-public.page-slug-index .site-header-block-kind-branding .theme-block-canvas::after {
		height: 40px;
		font-size: 20px;
	}

.route-public.page-slug-index .nav-toggle,
	.route-public.page-slug-index .shell:not(.shell-admin) .nav-toggle {
		top: 16px;
		right: 20px;
	}

.route-public.page-slug-index .site-nav-panel {
		top: 66px;
		right: 20px;
	}

.route-public.page-slug-index .gms-clean-home {
		padding: 0 20px clamp(26px, 6vw, 40px);
	}

.route-public.page-slug-index .gms-clean-hero {
		min-height: 76vh;
	}

.route-public.page-slug-index .gms-clean-hero img {
		object-position: 50% 42%;
	}

.route-public.page-slug-index .gms-clean-hero::after {
		background: linear-gradient(178deg, rgba(var(--gms-body-rgb), 0.97) 0%, rgba(var(--gms-body-rgb), 0.86) 26%, rgba(var(--gms-body-rgb), 0.28) 47%, rgba(var(--gms-body-rgb), 0) 64%);
	}

.route-public.page-slug-index .gms-clean-hero-content {
		justify-content: flex-start;
		padding-top: clamp(28px, 8vw, 56px);
	}

.route-public.page-slug-index .gms-clean-process,
	.route-public.page-slug-index .gms-clean-services article {
		padding: 22px;
	}
}

/* =============================================
   GMS clean global public theme - 2026-06-30
   Uses ..samples/example_template/index_clean.html as the visual source.
   ============================================= */
body.route-public {
	--gms-template-bg: var(--gms-mint-1);
	/* mint-1 at 25% - painted over a white base in the .shell rule */
	--gms-template-shell-bg: rgba(227, 240, 223, 0.25);
	--gms-template-outer-bg: var(--gms-sage-4);
	--gms-template-panel: var(--gms-mint-2);
	--gms-template-panel-alt: var(--gms-sage-4);
	--gms-template-ink: var(--gms-mane-3);
	--gms-template-body: var(--gms-green-gray);
	--gms-template-muted: var(--gms-green-gray);
	--gms-template-accent: var(--gms-mane-2);
	--gms-template-line: rgba(var(--gms-shadow-rgb), 0.16);
	background: var(--gms-template-outer-bg) !important;
	color: var(--gms-template-ink);
	font-family: 'GMS Clean Spectral', serif;
}

/* Dark mode for the public clean theme.
   data-theme-mode lives on <html>; the public palette lives on body.route-public
   and is built from the fixed light --gms-* palette, so it never flipped when the
   theme switcher toggled dark. Re-map the --gms-template-* surfaces (plus the
   shadow rgb triplet used for borders/dividers) to dark values here. Mirrors the
   selector pattern ThemeLibrary uses for the --theme-* tokens. */
html[data-theme-mode="dark"] body.route-public {
	--gms-template-outer-bg: #0a1410;
	--gms-template-bg: #0e1b13;
	--gms-template-shell-bg: #0e1b13;
	--gms-template-panel: #15281c;
	--gms-template-panel-alt: #1a3323;
	--gms-template-ink: #e7f2e6;
	--gms-template-body: #bcd4c0;
	--gms-template-muted: #93b199;
	--gms-template-accent: #37c46b;
	--gms-template-line: rgba(231, 242, 230, 0.14);
	--gms-shadow-rgb: 205, 230, 210;
}

@media (prefers-color-scheme: dark) {
html:not([data-theme-mode="light"]) body.route-public {
		--gms-template-outer-bg: #0a1410;
		--gms-template-bg: #0e1b13;
		--gms-template-shell-bg: #0e1b13;
		--gms-template-panel: #15281c;
		--gms-template-panel-alt: #1a3323;
		--gms-template-ink: #e7f2e6;
		--gms-template-body: #bcd4c0;
		--gms-template-muted: #93b199;
		--gms-template-accent: #37c46b;
		--gms-template-line: rgba(231, 242, 230, 0.14);
		--gms-shadow-rgb: 205, 230, 210;
	}
}

/* The homepage hero sits on a light photo with a light left gradient in BOTH
   modes, so its heading must stay dark even in dark mode (the sub-lede already
   uses --gms-mane-3 and stays dark). */
html[data-theme-mode="dark"] body.route-public .hero h1 {
	color: var(--gms-mane-3);
}

@media (prefers-color-scheme: dark) {
html:not([data-theme-mode="light"]) body.route-public .hero h1 {
		color: var(--gms-mane-3);
	}
}

/* Dark mode: public form fields default to a near-white bg + inherited (now light)
   text -> light-on-light. Theme them dark so typed text/placeholder stay readable. */
html[data-theme-mode="dark"] body.route-public .content-form input:not([type="checkbox"]):not([type="radio"]),
html[data-theme-mode="dark"] body.route-public .content-form select,
html[data-theme-mode="dark"] body.route-public .content-form textarea {
	background: rgba(255, 255, 255, 0.06);
	color: var(--gms-template-ink);
	border-color: rgba(231, 242, 230, 0.22);
}

html[data-theme-mode="dark"] body.route-public .content-form ::placeholder {
	color: rgba(231, 242, 230, 0.5);
}

@media (prefers-color-scheme: dark) {
html:not([data-theme-mode="light"]) body.route-public .content-form input:not([type="checkbox"]):not([type="radio"]),
	html:not([data-theme-mode="light"]) body.route-public .content-form select,
	html:not([data-theme-mode="light"]) body.route-public .content-form textarea {
		background: rgba(255, 255, 255, 0.06);
		color: var(--gms-template-ink);
		border-color: rgba(231, 242, 230, 0.22);
	}

html:not([data-theme-mode="light"]) body.route-public .content-form ::placeholder {
		color: rgba(231, 242, 230, 0.5);
	}
}

body.route-public ::selection {
	background: var(--gms-template-ink);
	color: var(--gms-template-bg);
}

body.route-public ::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}

body.route-public ::-webkit-scrollbar-thumb {
	background: rgba(var(--gms-shadow-rgb), 0.22);
	border-radius: 8px;
}

.route-public .shell {
	position: relative;
	min-height: 100vh;
	overflow-x: hidden;
	background: linear-gradient(var(--gms-template-shell-bg), var(--gms-template-shell-bg)) var(--gms-white) !important;
	color: var(--gms-template-ink);
	font-family: 'GMS Clean Spectral', serif;
}

.route-public .shell::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.45;
	background-image: linear-gradient(rgba(var(--gms-shadow-rgb), 0.05) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--gms-shadow-rgb), 0.05) 1px, transparent 1px);
	background-size: 56px 56px;
}

.route-public .shell > .site-header,
.route-public .shell > main,
.route-public .shell > .site-footer,
.route-public .shell > .site-nav-panel,
.route-public .auth-modal-backdrop {
	position: relative;
	z-index: 1;
}

.route-public .shell .site-header {
	z-index: 10;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: clamp(15px, 2.4vw, 24px) clamp(20px, 5vw, 72px);
	background: transparent !important;
	border: 0;
	border-bottom: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
}

.route-public .shell .site-header-blocks {
	width: 100%;
	max-width: 1340px;
	min-height: 52px;
	margin: 0 auto;
	padding: 0 58px 0 0 !important;
	align-items: center;
}

.route-public .shell .site-header-block-kind-branding .theme-block-canvas {
	min-height: 52px !important;
	height: 52px !important;
	padding-left: 64px;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	overflow: visible;
}

.route-public .shell .site-header-block-kind-branding [data-block-node="heading"],
.route-public .shell .site-header-block-kind-branding [data-block-node="text"] {
	display: none !important;
}

.route-public .shell .site-header-block-kind-branding [data-block-node="image"] {
	left: 0 !important;
	top: 0 !important;
	width: 52px !important;
	height: 52px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	overflow: visible !important;
}

.route-public .shell .site-header-block-kind-branding [data-block-node="image"] img {
	width: auto !important;
	height: 52px !important;
	max-width: none !important;
	margin: 0 !important;
	object-fit: contain !important;
}

.route-public .shell .site-header-block-kind-branding .theme-block-canvas::after {
	content: "green mane studio";
	display: flex;
	align-items: center;
	height: 52px;
	color: var(--gms-template-ink);
	font-family: 'GMS Clean Cormorant', serif;
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 600;
	letter-spacing: 0.005em;
	line-height: 1;
	text-transform: lowercase;
}

.route-public .shell .nav-toggle,
.route-public .shell:not(.shell-admin) .nav-toggle {
	position: fixed;
	top: 16px;
	right: clamp(20px, 5vw, 72px);
	width: 48px;
	height: 38px;
	margin: 0;
	padding: 0;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.28);
	border-radius: 2px;
	background: transparent;
	box-shadow: none;
	color: var(--gms-template-ink);
	z-index: 1401;
}

.route-public .shell .nav-toggle .gms {
	font-size: 20px;
	line-height: 1;
}

.route-public .shell .site-nav-panel {
	position: fixed;
	top: 64px;
	right: clamp(20px, 5vw, 72px);
	width: min(320px, calc(100vw - 40px));
	max-height: calc(100vh - 82px);
	padding: 18px clamp(18px, 4vw, 26px);
	background: var(--gms-template-bg);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.18);
	box-shadow: 0 16px 30px -22px rgba(var(--gms-shadow-rgb), 0.4);
	font-family: 'GMS Clean Archivo', sans-serif;
	z-index: 1399;
}

.route-public .shell .site-nav-item > a,
.route-public .shell .site-subnav-item > a,
.route-public .shell .site-nav-heading,
.route-public .shell .site-subnav-heading,
.route-public .shell .site-nav-slider-forward,
.route-public .shell .site-nav-slider-back {
	color: var(--gms-template-ink);
	font-family: 'GMS Clean Archivo', sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
}

.route-public #themeSwitchCont {
	z-index: 2000;
}

.route-public #themeSwitchCont.theme-switch-button {
	top: 18px;
	right: calc(clamp(20px, 5vw, 72px) + 58px);
	color: var(--gms-template-ink);
}

.route-public .shell > main.clean-index-main,
.route-public .hero-section,
.route-public .feature-section,
.route-public .cards-section,
.route-public .portfolio-section,
.route-public .divider,
.route-public .shell > .site-footer {
	max-width: 1340px;
	margin-left: auto;
	margin-right: auto;
	padding-left: clamp(20px, 5vw, 72px);
	padding-right: clamp(20px, 5vw, 72px);
	box-sizing: border-box;
}

.route-public .shell > main.clean-index-main {
	width: 100%;
	padding-top: 0;
	padding-bottom: clamp(28px, 4vw, 56px);
}

.route-public .hero-section {
	padding-top: clamp(14px, 2vw, 24px);
}

.route-public .hero {
	position: relative;
	min-height: clamp(460px, 54vw, 620px);
	overflow: hidden;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.12);
	border-radius: 2px;
}

.route-public .hero picture,
.route-public .hero img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.route-public .hero img {
	object-fit: cover;
	object-position: 72% 50%;
}

.route-public .hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(95deg, rgba(var(--gms-body-rgb), 0.77) 0%, #fff 13%, rgba(var(--gms-body-rgb), 0.52) 43%, rgba(var(--gms-body-rgb), 0) 62%);
}

.route-public .hero-content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 clamp(26px, 4.2vw, 60px) clamp(26px, 4.2vw, 60px);
	box-sizing: border-box;
}

.route-public .hero-copy {
	max-width: 720px;
}

.route-public .hero h1 {
	margin: 0;
	color: var(--gms-template-ink);
	font-family: 'GMS Clean Cormorant', serif;
	font-size: clamp(46px, 8.6vw, 110px);
	font-weight: 600;
	line-height: 0.92;
	letter-spacing: 0;
}

.route-public .lede {
	max-width: 24ch;
	margin: clamp(16px, 2vw, 26px) 0 0;
	color: var(--gms-mane-3);
	font-size: clamp(17px, 2.2vw, 26px);
	line-height: 1.42;
}

.route-public .ornament,
.route-public .divider-inner {
	display: flex;
	align-items: center;
	gap: 13px;
}

.route-public .ornament {
	margin-top: clamp(22px, 3vw, 36px);
}

.route-public .diamond,
.route-public .divider .diamond {
	width: 9px;
	height: 9px;
	border: 1px solid var(--gms-template-accent);
	transform: rotate(45deg);
	flex: none;
}

.route-public .ornament .rule,
.route-public .divider .rule {
	height: 1px;
	background: var(--gms-template-accent);
	opacity: 0.75;
}

.route-public .ornament .rule {
	width: clamp(70px, 15vw, 190px);
}

.route-public .bars,
.route-public .hero-mini-bars {
	display: flex;
	align-items: flex-end;
	gap: 3px;
}

.route-public .bars span,
.route-public .hero-mini-bars span {
	width: 2px;
	background: var(--gms-template-accent);
}

.route-public .bars span:nth-child(1),
.route-public .bars span:nth-child(3) { height: 9px; }

.route-public .bars span:nth-child(2) { height: 13px; }

.route-public .bars span:nth-child(4) { height: 15px; }

.route-public .blueprint-corner {
	position: absolute;
	z-index: 3;
	width: 18px;
	height: 18px;
	pointer-events: none;
}

.route-public .hero-corner-top {
	top: 16px;
	left: 16px;
	border-top: 1.5px solid rgba(var(--gms-shadow-rgb), 0.4);
	border-left: 1.5px solid rgba(var(--gms-shadow-rgb), 0.4);
}

.route-public .hero-corner-bottom {
	right: 16px;
	bottom: 16px;
	border-right: 1.5px solid rgba(var(--gms-shadow-rgb), 0.4);
	border-bottom: 1.5px solid rgba(var(--gms-shadow-rgb), 0.4);
}

.route-public .hero-mini-bars {
	position: absolute;
	right: 46px;
	bottom: 18px;
	z-index: 3;
}

.route-public .hero-mini-bars span {
	width: 3px;
}

.route-public .hero-mini-bars span:nth-child(1),
.route-public .hero-mini-bars span:nth-child(3) { height: 10px; }

.route-public .hero-mini-bars span:nth-child(2) { height: 16px; }

.route-public .feature-section {
	margin-top: clamp(10px, 1.6vw, 18px);
}

.route-public .feature-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(195px, 1fr));
	gap: clamp(20px, 2.6vw, 34px);
	padding: clamp(20px, 2.6vw, 30px) clamp(28px, 3.4vw, 52px);
	background: var(--gms-template-panel-alt);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.14);
	border-radius: 2px;
}

.route-public .feature {
	display: flex;
	gap: 14px;
}

.route-public .feature-num {
	align-self: flex-start;
	padding: 7px 9px;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.32);
	font-family: 'GMS Clean Archivo', sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
}

.route-public .feature-title {
	margin: 0;
	font-size: 15.5px;
	font-weight: 500;
	line-height: 1.25;
}

.route-public .feature-sub,
.route-public .section-kicker,
.route-public .portfolio-cat {
	margin: 5px 0 0;
	color: var(--gms-template-muted);
	font-family: 'GMS Clean Archivo', sans-serif;
	font-size: 10.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.route-public .cards-section {
	margin-top: clamp(28px, 4vw, 54px);
}

.route-public .cards,
.route-public .portfolio-scroller {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 24px);
}

.route-public .service-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 304px;
	padding: clamp(22px, 2.7vw, 34px);
	background: var(--gms-template-panel);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.15);
	border-radius: 2px;
	box-shadow: none;
}

.route-public .service-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 68px;
	height: 68px;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.28);
	border-radius: 50%;
	color: var(--gms-template-ink);
}

.route-public .code-icon {
	font-family: 'GMS Clean Archivo', sans-serif;
	font-size: 19px;
	font-weight: 600;
}

.route-public .service-card h3,
.route-public .portfolio-title {
	margin: clamp(20px, 2vw, 26px) 0 0;
	color: var(--gms-template-ink);
	font-family: 'GMS Clean Cormorant', serif;
	font-size: clamp(25px, 2.4vw, 31px);
	font-weight: 600;
	line-height: 1.04;
}

.route-public .service-card p {
	margin: 11px 0 0;
	color: var(--gms-template-body);
	font-size: 15px;
	line-height: 1.55;
}

.route-public .card-spacer {
	flex: 1;
}

.route-public .card-rule {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: auto;
	padding-top: 20px;
}

.route-public .card-rule span:first-child {
	color: var(--gms-template-accent);
	font-family: 'GMS Clean Archivo', sans-serif;
	font-size: 18px;
	line-height: 1;
}

.route-public .card-rule span:last-child {
	flex: 1;
	height: 1px;
	background: rgba(var(--gms-shadow-rgb), 0.45);
}

.route-public .portfolio-section {
	margin-top: clamp(30px, 5vw, 70px);
}

.route-public .section-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}

.route-public .portfolio-item {
	min-width: 0;
}

.route-public .portfolio-image {
	position: relative;
	aspect-ratio: 1.12 / 1;
	overflow: hidden;
	background: var(--gms-template-panel-alt);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.12);
}

.route-public .portfolio-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.route-public .portfolio-title {
	margin-top: 13px;
	font-size: 23px;
}

.route-public .portfolio-cat {
	display: block;
	letter-spacing: 0.12em;
}

.route-public .divider {
	margin-top: clamp(38px, 5vw, 66px);
}

.route-public .divider .rule {
	flex: 1;
	background: rgba(var(--gms-shadow-rgb), 0.18);
}

.route-public .shell > main:not(.clean-index-main) {
	width: min(1340px, 100%);
	margin: 0 auto;
	padding: clamp(30px, 5vw, 64px) clamp(20px, 5vw, 72px) clamp(42px, 6vw, 72px);
	box-sizing: border-box;
}

.route-public .content-panel,
.route-public .public-page-shell {
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.route-public .content-header {
	margin: 0 0 clamp(24px, 4vw, 42px);
	padding: 0 0 clamp(18px, 3vw, 30px);
	border-bottom: 1px solid rgba(var(--gms-shadow-rgb), 0.16);
}

.route-public .content-title {
	margin: 0;
	color: var(--gms-template-ink);
	font-family: 'GMS Clean Cormorant', serif;
	font-size: clamp(42px, 7vw, 86px);
	font-weight: 600;
	line-height: 0.95;
	letter-spacing: 0;
}

.route-public .content-section-list {
	display: grid;
	/* Explicit constrained column: the implicit auto column sizes to content, so one
	   wide child (e.g. an auto-fill grid that cannot wrap in an indefinite track)
	   would silently stretch EVERY sibling section past the viewport on mobile. */
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(18px, 3vw, 30px);
}

.route-public .content-block,
.route-public .page-child-card,
.route-public .content-card,
.route-public .content-form-section {
	background: var(--gms-template-panel);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.15);
	border-radius: 2px;
	box-shadow: none;
}

.route-public .content-block,
.route-public .content-form-section {
	padding: clamp(22px, 3vw, 38px);
}

/* Blocks can carry an admin-set inline width (width:600px;max-width:100%). Without
   border-box the section padding is ADDED to the capped 100%, overflowing phones. */
@media (max-width: 640px) {
.route-public .content-block,
	.route-public .content-form-section {
		box-sizing: border-box;
	}
}

.route-public .content-section-title,
.route-public .content-card-title {
	margin: 0 0 12px;
	color: var(--gms-template-ink);
	font-family: 'GMS Clean Cormorant', serif;
	font-size: clamp(25px, 2.7vw, 34px);
	font-weight: 600;
	line-height: 1.04;
}

.route-public .content-rich,
.route-public .content-card-copy {
	color: var(--gms-template-body);
	font-family: 'GMS Clean Spectral', serif;
	font-size: 16px;
	line-height: 1.65;
}

.route-public .content-rich p,
.route-public .content-rich ul,
.route-public .content-rich ol {
	max-width: 74ch;
}

/* Theme/contact forms render a .content-form-card inside a .content-form-section.
   Both were styled as panels, giving a box-inside-a-box. Keep the outer section as
   the single panel and neutralize the inner card so it matches the other pages. */
.route-public .content-form-card {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	margin: 0;
}

/* Portfolio blurb - lead paragraph under the page title on gallery pages. */
.route-public .content-lead {
	max-width: 70ch;
	margin: 0 0 clamp(24px, 4vw, 42px);
	color: var(--gms-template-body);
	font-family: 'GMS Clean Spectral', serif;
	font-size: clamp(17px, 1.6vw, 20px);
	line-height: 1.6;
}

/* Portfolio/image blocks (full-sites, product-photo, model-photo, catalogs, etc.)
   output one or more thumbnails per <p>. Flow them into a uniform responsive tile
   grid: equal-width tiles, top-aligned, cropped from the top so each piece keeps its
   most important edge. Frames + hover zoom echo the homepage cards. The <p> wrappers
   are collapsed with display:contents so the images/links become grid cells. */
.route-public .content-rich:has(p img) {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: clamp(12px, 1.4vw, 18px);
	align-items: start;
	max-width: none;
}

.route-public .content-rich:has(p img) p {
	display: contents;
	margin: 0;
	max-width: none;
}

.route-public .content-rich:has(p img) p > a,
.route-public .content-rich:has(p img) p > img {
	display: block;
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.16);
	border-radius: 2px;
	background: var(--gms-template-panel);
	cursor: pointer;
}

.route-public .content-rich:has(p img) p > a > img,
.route-public .content-rich:has(p img) p > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	transition: transform 320ms ease;
}

.route-public .content-rich:has(p img) p > a:hover > img,
.route-public .content-rich:has(p img) p > a:focus-visible > img,
.route-public .content-rich:has(p img) p > img:hover,
.route-public .content-rich:has(p img) p > img:focus-visible {
	transform: scale(1.05);
}

/* Portfolio / Gallery block (block_type=gallery) - image-picked sections.
   Fit mode: contain = scale-down + top (whole image, no crop); cover = fill + top crop.
   content-gallery-plain drops the section panel border/padding. */
.route-public .content-gallery .gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: clamp(12px, 1.4vw, 18px);
	align-items: start;
	margin-top: 0.6rem;
}

.route-public .content-gallery.gallery-cols-2 .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.route-public .content-gallery.gallery-cols-3 .gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.route-public .content-gallery.gallery-cols-4 .gallery-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.route-public .gallery-cell {
	margin: 0;
}

.route-public .gallery-tile {
	display: block;
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.route-public .gallery-caption {
	margin: 0.45rem 0 0;
	color: var(--gms-template-muted);
	font-family: 'GMS Clean Archivo', sans-serif;
	font-size: 12px;
	line-height: 1.4;
}

/* Portrait orientation: taller tiles + narrower columns so more fit per row. */
.route-public .content-gallery.gallery-orient-portrait .gallery-tile { aspect-ratio: 3 / 4; }

.route-public .content-gallery.gallery-orient-portrait.gallery-cols-auto .gallery-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }

/* Square orientation: 1:1 tiles. */
.route-public .content-gallery.gallery-orient-square .gallery-tile { aspect-ratio: 1 / 1; }

.route-public .content-gallery.gallery-orient-square.gallery-cols-auto .gallery-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }

.route-public .gallery-tile img {
	width: 100%;
	height: 100%;
	object-position: var(--gallery-crop, center top);
	transition: transform 320ms ease;
}

.route-public .gallery-fit-contain .gallery-tile img { object-fit: scale-down; }

.route-public .gallery-fit-cover .gallery-tile img { object-fit: cover; }

.route-public .gallery-tile:hover img,
.route-public .gallery-tile:focus-visible img { transform: scale(1.05); }

.route-public .content-gallery-plain {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

@media (max-width: 700px) {
.route-public .content-gallery.gallery-cols-3 .gallery-grid,
	.route-public .content-gallery.gallery-cols-4 .gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 460px) {
.route-public .content-gallery .gallery-grid {
		grid-template-columns: 1fr;
	}
}

/* Gallery block image picker (admin page editor) */
.gallery-picker-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0.4rem 0 0.6rem;
}

.gallery-picker-tile {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 104px;
}

.gallery-picker-thumb {
	position: relative;
	width: 104px;
	height: 84px;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 3px;
	overflow: hidden;
	background: rgba(0, 0, 0, 0.04);
	cursor: grab;
}

.gallery-picker-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.gallery-picker-caption,
.gallery-picker-link {
	width: 104px;
	box-sizing: border-box;
	padding: 3px 5px;
	font-size: 11px;
	line-height: 1.3;
}

.gallery-picker-link {
	margin-top: 3px;
}

.gallery-picker-tile-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 4px;
	box-sizing: border-box;
	font-size: 10px;
	text-align: center;
}

.gallery-picker-tile-actions {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	justify-content: space-between;
	background: rgba(0, 0, 0, 0.55);
}

.gallery-picker-tile-actions button {
	flex: 1;
	padding: 3px 0;
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 13px;
	line-height: 1;
	cursor: pointer;
}

.gallery-picker-tile-actions button[disabled] {
	opacity: 0.35;
	cursor: default;
}

.gallery-picker-tile-actions button:hover:not([disabled]) {
	background: rgba(0, 0, 0, 0.35);
}

.admin-editor-media-item.is-selected {
	outline: 2px solid var(--theme-color-accent, #00370d);
	outline-offset: -2px;
}

/* Before / after pair picker (admin page editor) */
.ba-pair-strip {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0.4rem 0 0.6rem;
}

.ba-pair {
	display: flex;
	align-items: flex-end;
	gap: 8px;
	flex-wrap: wrap;
}

.ba-pair-slot {
	width: 104px;
}

.ba-pair-slot-label {
	display: block;
	margin-bottom: 2px;
	font-size: 10px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 0.7;
}

.ba-pair-slot-pick {
	display: block;
	width: 104px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.ba-pair-slot-pick .gallery-picker-thumb {
	cursor: pointer;
}

.ba-pair-slot-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 104px;
	height: 84px;
	border: 1px dashed rgba(0, 0, 0, 0.35);
	border-radius: 3px;
	font-size: 11px;
}

.ba-pair-swap {
	padding: 4px 8px;
	margin-bottom: 26px;
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
}

.ba-pair-caption {
	flex: 1 1 160px;
	min-width: 140px;
	box-sizing: border-box;
	padding: 4px 6px;
	font-size: 12px;
}

.ba-pair-actions {
	display: flex;
	gap: 4px;
	margin-bottom: 2px;
}

.ba-pair-actions button {
	padding: 4px 8px;
	font-size: 13px;
	line-height: 1;
	cursor: pointer;
}

.ba-pair-actions button[disabled] {
	opacity: 0.35;
	cursor: default;
}

.route-public .content-button-primary,
.route-public .content-button-secondary,
.route-public .content-button-tertiary,
.route-public .contact-link {
	border-radius: 2px;
	font-family: 'GMS Clean Archivo', sans-serif;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.route-public .shell > .site-footer {
	width: min(1340px, 100%);
	max-width: 1340px;
	margin-top: clamp(22px, 3vw, 34px);
	padding-top: 0;
	padding-bottom: clamp(42px, 6vw, 72px);
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.route-public .shell > .site-footer .footer-links,
.route-public .shell > .site-footer .footer-copyright {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

.route-public .footer-social-links .footer-links-list {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.route-public .footer-social-links .footer-links-item {
	margin: 0;
}

.route-public .footer-social-links a {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.22);
	border-radius: 50%;
	color: var(--gms-template-ink);
	font-size: 20px;
	line-height: 1;
	text-decoration: none;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.route-public .footer-social-links a:hover,
.route-public .footer-social-links a:focus-visible {
	border-color: var(--gms-template-ink);
	background: var(--gms-template-ink);
	color: var(--gms-template-bg);
}

/*
.route-public .shell > .site-footer > .footer-links:not(.footer-social-links):not(.footer-copyright) {
	margin-top: clamp(20px, 3vw, 30px);
	padding-top: clamp(20px, 3vw, 30px);
	border-top: 1px solid rgba(var(--gms-shadow-rgb), 0.16);
}

.route-public .shell > .site-footer > .footer-links:not(.footer-social-links):not(.footer-copyright) .footer-links-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(16px, 2.2vw, 30px);
	margin: 0;
	padding: 0;
	list-style: none;
}
*/
.route-public .shell > .site-footer > .footer-links:not(.footer-social-links):not(.footer-copyright) a,
.route-public .footer-copyright {
	color: var(--gms-green-gray);
	font-family: 'GMS Clean Archivo', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.13em;
	line-height: 1.3;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.2s;
}

.route-public .shell > .site-footer > .footer-links:not(.footer-social-links):not(.footer-copyright) a:hover,
.route-public .shell > .site-footer > .footer-links:not(.footer-social-links):not(.footer-copyright) a:focus-visible {
	color: var(--gms-template-ink);
}

.route-public .footer-copyright {
	margin-top: 16px;
	color: var(--gms-template-muted);
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: none;
}

.route-public .footer-copyright p {
	margin: 0;
}

@media (max-width: 900px) {
.route-public .cards,
	.route-public .portfolio-scroller {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 719px) {
.route-public .shell .site-header {
		padding: 16px 20px;
	}

.route-public .shell .site-header-blocks {
		padding-right: 58px !important;
	}

.route-public .shell .site-header-block-kind-branding .theme-block-canvas {
		padding-left: 52px;
	}

.route-public .shell .site-header-block-kind-branding [data-block-node="image"],
	.route-public .shell .site-header-block-kind-branding [data-block-node="image"] img {
		height: 40px !important;
	}

.route-public .shell .site-header-block-kind-branding .theme-block-canvas::after {
		height: 40px;
		font-size: 20px;
	}

.route-public .shell .nav-toggle,
	.route-public .shell:not(.shell-admin) .nav-toggle {
		top: 16px;
		right: 20px;
	}

.route-public #themeSwitchCont.theme-switch-button {
		top: 58px;
		right: 20px;
	}

.route-public .shell .site-nav-panel {
		top: 66px;
		right: 20px;
	}

.route-public .shell > main.clean-index-main,
	.route-public .hero-section,
	.route-public .feature-section,
	.route-public .cards-section,
	.route-public .portfolio-section,
	.route-public .divider,
	.route-public .shell > .site-footer {
		padding-left: 20px;
		padding-right: 20px;
	}

.route-public .hero {
		min-height: 76vh;
	}

.route-public .hero img {
		object-position: 50% 42%;
	}

.route-public .hero::after {
		background: linear-gradient(178deg, rgba(var(--gms-body-rgb), 0.97) 0%, rgba(var(--gms-body-rgb), 0.86) 26%, rgba(var(--gms-body-rgb), 0.28) 47%, rgba(var(--gms-body-rgb), 0) 64%);
	}

.route-public .hero-content {
		justify-content: flex-start;
		padding-top: clamp(28px, 8vw, 56px);
	}

.route-public .feature-grid,
	.route-public .service-card,
	.route-public .content-block,
	.route-public .content-form-section {
		padding: 22px;
	}

.route-public .shell > main:not(.clean-index-main) {
		padding: 30px 20px 44px;
	}
}

/* Clean index parity fixes: keep the sample's main surface and process strip. */
.route-public.page-slug-index .shell > main.clean-index-main {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 0 clamp(28px, 4vw, 56px) !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.route-public.page-slug-index .shell > main.clean-index-main .hero-section,
.route-public.page-slug-index .shell > main.clean-index-main .feature-section,
.route-public.page-slug-index .shell > main.clean-index-main .cards-section,
.route-public.page-slug-index .shell > main.clean-index-main .portfolio-section,
.route-public.page-slug-index .shell > main.clean-index-main .divider {
	max-width: 1340px;
	margin-left: auto;
	margin-right: auto;
	padding-left: clamp(20px, 5vw, 72px);
	padding-right: clamp(20px, 5vw, 72px);
	box-sizing: border-box;
}

.route-public.page-slug-index .shell > main.clean-index-main .feature-section .feature {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	min-height: 0;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.route-public.page-slug-index .shell > main.clean-index-main .feature-section .feature > div {
	min-width: 0;
}

.route-public.page-slug-index .shell > main.clean-index-main .feature-section .feature-num {
	flex: none;
}

@media (max-width: 719px) {
.route-public.page-slug-index .shell > main.clean-index-main {
		padding-bottom: 40px !important;
	}

.route-public.page-slug-index .shell > main.clean-index-main .hero-section,
	.route-public.page-slug-index .shell > main.clean-index-main .feature-section,
	.route-public.page-slug-index .shell > main.clean-index-main .cards-section,
	.route-public.page-slug-index .shell > main.clean-index-main .portfolio-section,
	.route-public.page-slug-index .shell > main.clean-index-main .divider {
		padding-left: 20px;
		padding-right: 20px;
	}
}

.route-public.page-slug-index .shell > main.clean-index-main .feature-section .feature {
	justify-self: start;
	line-height: normal;
}

.route-public.page-slug-index .shell > main.clean-index-main .feature-section .feature-title {
	font-family: 'GMS Clean Spectral', serif;
	line-height: 1.25;
}

.route-public.page-slug-index .shell > main.clean-index-main .feature-section .feature-sub {
	line-height: normal;
}

.route-public.page-slug-index .shell > main.clean-index-main .feature-section .feature-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 980px) {
.route-public.page-slug-index .shell > main.clean-index-main .feature-section .feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
.route-public.page-slug-index .shell > main.clean-index-main .feature-section .feature-grid {
		grid-template-columns: 1fr;
	}
}

.route-public.page-slug-index .shell > main.clean-index-main .feature-section .feature {
	justify-self: stretch;
	width: auto;
}

.route-public.page-slug-index .shell > main.clean-index-main .feature-section .feature {
	width: 100% !important;
}

/* Live-site homepage text sections replacing Selected Work. */
.route-public.page-slug-index .shell > main.clean-index-main .live-home-sections {
	max-width: 1340px;
	margin: clamp(30px, 5vw, 70px) auto 0;
	padding-left: clamp(20px, 5vw, 72px);
	padding-right: clamp(20px, 5vw, 72px);
	box-sizing: border-box;
}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-heading {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(260px, 1.2fr);
	gap: clamp(18px, 3vw, 42px);
	align-items: end;
	margin: 0 0 clamp(16px, 2.4vw, 28px);
	padding-bottom: clamp(16px, 2.2vw, 24px);
	border-bottom: 1px solid rgba(var(--gms-shadow-rgb), 0.16);
}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-heading h2 {
	margin: 0;
	color: var(--gms-template-ink);
	font-family: 'GMS Clean Cormorant', serif;
	font-size: clamp(29px, 4vw, 54px);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 24px);
}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-section {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	min-height: 210px;
	padding: clamp(22px, 2.8vw, 34px);
	background: var(--gms-template-panel);
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.15);
	border-radius: 2px;
	box-shadow: none;
}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-section-wide {
	grid-column: 1 / -1;
	min-height: 0;
	background: var(--gms-template-panel-alt);
}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-num {
	padding: 7px 9px;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.32);
	color: var(--gms-template-ink);
	font-family: 'GMS Clean Archivo', sans-serif;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-section h3 {
	margin: 0;
	color: var(--gms-template-ink);
	font-family: 'GMS Clean Cormorant', serif;
	font-size: clamp(25px, 2.6vw, 34px);
	font-weight: 600;
	line-height: 1.04;
	letter-spacing: 0;
}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-section p {
	/*max-width: 68ch;*/
	margin: 12px 0 0;
	color: var(--gms-template-body);
	font-family: 'GMS Clean Spectral', serif;
	font-size: 16px;
	line-height: 1.6;
}

@media (max-width: 900px) {
.route-public.page-slug-index .shell > main.clean-index-main .live-home-heading,
	.route-public.page-slug-index .shell > main.clean-index-main .live-home-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 719px) {
.route-public.page-slug-index .shell > main.clean-index-main .live-home-sections {
		padding-left: 20px;
		padding-right: 20px;
	}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-section {
		grid-template-columns: 1fr;
		min-height: 0;
		padding: 22px;
	}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-num {
		width: max-content;
	}
}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-section {
	width: 100% !important;
	max-width: none !important;
	justify-self: stretch;
}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-section {
	box-sizing: border-box;
}

/* Expanded live homepage sections: no visible numbering. */
.route-public.page-slug-index .shell > main.clean-index-main .live-home-section {
	display: block;
	min-height: 0;
}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-section p + p {
	margin-top: 12px;
}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-num {
	display: none !important;
}

/* Only the opening AI-assisted section spans full width; later sections pair evenly. */
.route-public.page-slug-index .shell > main.clean-index-main .live-home-section-wide {
	grid-column: auto;
	background: var(--gms-template-panel);
}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-grid > .live-home-section:first-child {
	grid-column: 1 / -1;
	background: var(--gms-template-panel-alt);
}

/* Closing CTA band: spans full width like the opener, centered invitation. */
.route-public.page-slug-index .shell > main.clean-index-main .live-home-grid > .live-home-section-cta {
	grid-column: 1 / -1;
	background: var(--gms-template-panel-alt);
	text-align: center;
}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-section-cta p {
	max-width: 62ch;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-section-cta .live-home-cta-actions {
	text-align: center;
}

.route-public.page-slug-index .shell > main.clean-index-main .live-home-section-cta .content-button-primary {
	margin-top: 8px;
}

/* Start-a-project inquiry page */
.route-public .inquiry-page .inquiry-form-section .content-form-card {
	background: none;
	border: 0;
	padding: 0;
	box-shadow: none;
}

.route-public .inquiry-form p {
	margin: 0;
}

.route-public .inquiry-two {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
}

.route-public .inquiry-topics {
	margin: 0.35rem 0;
	padding: 1rem 1.1rem 1.1rem;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.15);
	border-radius: 12px;
}

.route-public .inquiry-topics legend {
	padding: 0 0.4rem;
	font-weight: 600;
}

.route-public .inquiry-topics-hint {
	font-weight: 400;
	opacity: 0.75;
}

.route-public .inquiry-checkgroup {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.55rem 1.2rem;
}

.route-public .inquiry-checkgroup .content-form-choice {
	align-items: baseline;
}

.route-public .inquiry-error {
	display: block;
	margin-top: 0.3rem;
	color: #8c2f2f;
	font-size: 0.9em;
}

.route-public .inquiry-error-top {
	margin-bottom: 0.85rem;
}

@media (prefers-color-scheme: dark) {
.route-public .inquiry-error {
		color: #d98a8a;
	}
}

html[data-theme-mode="dark"] .route-public .inquiry-error {
	color: #d98a8a;
}

@media (max-width: 719px) {
.route-public .inquiry-two,
	.route-public .inquiry-checkgroup {
		grid-template-columns: 1fr;
	}
}

/* ---------------------------------------------------------------------------
   Repeatable rows - store product editor (2026-08-14)
   Used by admin/store/edit.php for images, description sections, details, and
   the two related-product lists. Order is DOM order; the up/down buttons just
   move a node, so there is no hidden index to keep in sync.
   --------------------------------------------------------------------------- */

.admin-repeat {
	margin: 0 0 1.4rem;
}

.admin-repeat-row {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

/* Description sections need the title above a full-width body, not beside it. */
.admin-repeat-row-stack {
	flex-direction: column;
	align-items: stretch;
	padding: 0.7rem;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 6px;
}

.admin-repeat-row-stack > textarea,
.admin-repeat-row-stack > input[type="text"] {
	width: 100%;
}

.admin-repeat-controls {
	display: flex;
	gap: 0.5rem;
	justify-content: flex-end;
}

/* Repeat-row controls have to be styled explicitly. They sit OUTSIDE .settings-field,
   so they inherit none of its treatment and would otherwise render as raw browser
   widgets in the middle of a styled admin form. These values are copied from the
   .settings-field input/select rules above deliberately - if those change, change these. */
.admin-repeat-row select,
.admin-repeat-row input[type="text"],
.admin-repeat-row textarea {
	box-sizing: border-box;
	border: 1px solid rgba(var(--gms-shadow-rgb), 0.18);
	padding: 0.7rem 0.8rem;
	font: inherit;
	background: var(--gms-white);
	color: var(--gms-mane-4);
	flex: 1 1 auto;
	min-width: 0;
}

.admin-repeat-row select:focus,
.admin-repeat-row input[type="text"]:focus,
.admin-repeat-row textarea:focus {
	outline: 2px solid rgba(var(--gms-shadow-rgb), 0.35);
	outline-offset: -1px;
}

/* The up / down / remove trio are bare glyphs - no border, no padding, no background -
   matching the row actions on the Engagement Flow and Users list pages. The sizing and
   colour come from .admin-table-actions-bare, which these carry. */
.admin-repeat-actions {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}

.admin-repeat-actions button,
.admin-repeat-controls button {
	flex: 0 0 auto;
}

/* The grip itself (2026-08-18), replacing the up/down arrows everywhere in the admin.
   touch-action: none is REQUIRED, not cosmetic - without it the browser claims the
   gesture for scrolling on a touch screen. Matches `.admin-list-row-title .gms`, which
   is the existing house treatment for a drag handle. */
.admin-repeat-drag,
[data-reorder-handle] {
	cursor: grab;
	touch-action: none;
	user-select: none;
}

.admin-repeat-drag:active,
[data-reorder-handle]:active {
	cursor: grabbing;
}

/* The grip sits at the FRONT of the row, before the first field, which is where the eye
   looks for a handle. It carries .admin-table-actions-bare for the glyph sizing, because
   those rules are descendant selectors on that class. */
.admin-repeat-grip {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}

/* A stack row is flex-direction: column with align-items: stretch, so the grip would
   otherwise become a full-width bar across the top of the card. Keep it a small handle
   at the top-left corner. */
.admin-repeat-row-stack > .admin-repeat-grip {
	align-self: flex-start;
}

/* A pair row is top-aligned, so the grip needs the same nudge the actions already get
   to sit on the first line rather than floating above it. */
.admin-repeat-row-pair > .admin-repeat-grip {
	padding-top: 0.35rem;
}

/* ---------------------------------------------------------------------------
   SHARED DRAG-TO-REORDER (2026-08-18) - see modules/admin/assets/admin_reorder.js

   Applies to any `[data-reorder-list]` containing `[data-reorder-item]` rows with a
   `[data-reorder-handle]` button. Driven by SortableJS, the same library the nav and
   theme editors use.

   THE PADDING IS ALWAYS ON, not added when a drag starts - introducing it mid-gesture
   would shift every row a few pixels underneath the cursor. Only the colour changes.
   --------------------------------------------------------------------------- */
[data-reorder-list] [data-reorder-item] {
	padding: 0.25rem 0.4rem;
	border-radius: 5px;
	background: transparent;
}

/* While a row is being carried, the ones staying put go grey and recede. */
[data-reorder-list].is-reordering [data-reorder-item]:not(.admin-reorder-ghost) {
	background: rgba(var(--gms-shadow-rgb), 0.13);
}

/* FADING THE CONTENTS IS WHAT MAKES THE GREY VISIBLE. A row is mostly filled by a
   hard-white <select> or <input>, so tinting the row on its own showed up as a ~4px
   frame around a white block and read as no change at all. Letting the children fade
   lets the row's grey come through the full band. Measured in a Playwright harness:
   at 7% with opaque contents the effect was invisible on screen despite computing
   correctly. */
[data-reorder-list].is-reordering [data-reorder-item]:not(.admin-reorder-ghost) > * {
	opacity: 0.45;
}

/* The gap left behind, showing where the row will land. */
[data-reorder-list] [data-reorder-item].admin-reorder-ghost {
	background: rgba(var(--gms-shadow-rgb), 0.05);
	outline: 1px dashed rgba(var(--gms-shadow-rgb), 0.35);
	outline-offset: -1px;
}

[data-reorder-list] [data-reorder-item].admin-reorder-ghost > * {
	opacity: 0.2;
}

/* The row travelling with the cursor. Stays fully opaque and lifts.

   DELIBERATE DIVERGENCE from `.admin-nav-row.is-dragging` and the theme-editor lists,
   which fade the carried row to opacity 0.5. Those lists do not grey their other rows,
   so fading the carried one is enough there. Here the others DO go grey, and fading on
   top of that would leave the row you are actually aiming with as the least visible
   thing on screen. Lift it instead of fading it. */
[data-reorder-item].admin-reorder-drag {
	background: var(--gms-white);
	box-shadow: 0 6px 16px rgba(var(--gms-shadow-rgb), 0.28);
	opacity: 1;
}

/* ---------------------------------------------------------------------------
   REORDERABLE TABLES (2026-08-19) - the store's product and grouping LIST screens.

   A <tr> is not a flex row, and the shared rules above quietly do nothing on one:
   padding and border-radius are ignored on a table row, and a background set on the
   <tr> is painted OVER by every <td>'s own background. On top of that
   `.admin-list-clickable-row:hover td` already tints cells at (0,2,1), which outranks
   the shared `[data-reorder-list].is-reordering [data-reorder-item]` at (0,2,0). So the
   drag states have to be re-stated on the CELLS. Nothing here is a restyle for its own
   sake - without it a drag on these screens shows no feedback at all.
   --------------------------------------------------------------------------- */

/* The grip column: as narrow as its contents. `width: 1%` is the table idiom for
   "shrink to fit" - a table distributes the remainder across the other columns. */
.admin-reorder-cell {
	width: 1%;
	white-space: nowrap;
	padding-left: 0.5rem;
	padding-right: 0.35rem;
}

/* Rows staying put while another is carried. DELIBERATELY NOT fading the contents the
   way the editor lists do: that fade exists because a repeat row is mostly filled by a
   hard-white <select>, which blocks the tint. A table cell is text on white, so tinting
   the cell IS the visible change, and fading the text on top of it only makes the list
   harder to read while aiming. */
[data-reorder-list].is-reordering > [data-reorder-item]:not(.admin-reorder-ghost) > td {
	background: rgba(var(--gms-shadow-rgb), 0.13);
}

/* The gap left behind, showing where the row will land. The whole cell fades, contents
   and tint together - an outline cannot be used here, because the table is
   border-collapse and an outline on a <tr> does not render. */
[data-reorder-list] > [data-reorder-item].admin-reorder-ghost > td {
	background: rgba(var(--gms-shadow-rgb), 0.05);
	opacity: 0.35;
}

/* Saved / failed feedback for a list that saves on drop. It has no space of its own
   until it has something to say. */
.admin-reorder-status {
	margin: 0 0 0.9rem;
	font-size: 0.92rem;
}

.admin-reorder-status:empty {
	display: none;
}

/* ---------------------------------------------------------------------------
   PAGE TREE (2026-08-19) - the pages list, nested like the nav editor.
   --------------------------------------------------------------------------- */
.admin-page-tree,
.admin-page-tree-children {
	list-style: none;
	margin: 0;
	padding: 0;
}

.admin-page-tree-card {
	padding: 0.6rem 0.8rem;
}

/* The indent that shows the nesting. On the children list rather than the row so a whole
   branch shifts together when it moves. */
.admin-page-tree-children {
	padding-left: 1.6rem;
}

/* AN EMPTY CHILDREN LIST STILL NEEDS HEIGHT. Every page renders one whether or not it has
   children, because that is what lets a page be dropped INTO a parent that has none yet -
   and a list with no height is a drop target you cannot hit. */
.admin-page-tree-children:empty {
	min-height: 0.9rem;
}

.admin-page-tree-row {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.45rem 0.5rem;
	border-radius: 6px;
	border-bottom: 1px solid rgba(var(--gms-shadow-rgb), 0.08);
}

.admin-page-tree-row:hover {
	background: rgba(var(--gms-shadow-rgb), 0.06);
}

.admin-page-tree-grip,
.admin-page-tree-nudge {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 0.15rem;
}

.admin-page-tree-main {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex: 1 1 auto;
}

.admin-page-tree-main .admin-table-meta {
	margin-top: 0.1rem;
}

.admin-page-tree-meta {
	flex: 0 0 auto;
	color: var(--gms-green-gray);
	font-size: 0.86rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* The drag states have to be re-stated for the tree the same way they were for tables: the
   shared rules tint `[data-reorder-item]`, which here is the <li> wrapping a whole BRANCH.
   Tinting that would grey a page's descendants along with it and read as though the entire
   branch were being carried. Put the colour on the ROW instead. */
[data-reorder-list].is-reordering > [data-reorder-item]:not(.admin-reorder-ghost) > .admin-page-tree-row {
	background: rgba(var(--gms-shadow-rgb), 0.13);
}

[data-reorder-list] > [data-reorder-item].admin-reorder-ghost > .admin-page-tree-row {
	background: rgba(var(--gms-shadow-rgb), 0.05);
	outline: 1px dashed rgba(var(--gms-shadow-rgb), 0.35);
	outline-offset: -1px;
}

/* The confirm panel for a move that changes public addresses. Deliberately loud - it is the
   only thing standing between a drag and a changed URL. */
.admin-page-move-confirm {
	margin: 0 0 1rem;
	padding: 0.9rem 1rem;
	border: 1px solid rgba(var(--gms-mane-top-rgb), 0.4);
	border-radius: 10px;
	background: rgba(var(--gms-mane-top-rgb), 0.06);
}

.admin-page-move-confirm-title {
	margin: 0 0 0.5rem;
}

.admin-page-move-confirm-list {
	margin: 0 0 0.6rem;
	padding-left: 1.1rem;
	max-height: 14rem;
	overflow-y: auto;
}

.admin-page-move-confirm-list code {
	font-size: 0.9rem;
}

.admin-page-move-confirm-actions {
	display: flex;
	gap: 0.6rem;
	flex-wrap: wrap;
	margin-top: 0.6rem;
}

@media (prefers-color-scheme: dark) {
	[data-reorder-list].is-reordering > [data-reorder-item]:not(.admin-reorder-ghost) > .admin-page-tree-row {
		background: rgba(255, 255, 255, 0.12);
	}
}

html[data-theme-mode="dark"] [data-reorder-list].is-reordering > [data-reorder-item]:not(.admin-reorder-ghost) > .admin-page-tree-row {
	background: rgba(255, 255, 255, 0.12);
}

/* Group heading row for a list that is split into scoped reorder groups - currently only
   the pages list, where each parent's children order among themselves. It lives in its own
   <tbody> so it cannot be dropped past, and it needs to read as a divider rather than as
   another record. */
.admin-list-group-head td {
	padding-top: 1.5rem;
	background: transparent;
	border-bottom: 1px solid rgba(var(--gms-shadow-rgb), 0.22);
	color: var(--gms-green-gray);
	font-size: 0.88rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.admin-list-group-head td strong {
	color: var(--gms-mane-4);
	text-transform: none;
	letter-spacing: 0;
	font-size: 1rem;
}

/* The count sits on the same line, not under it - `.admin-table-meta` is `margin-top` by
   default, which would push it onto a second row inside a divider. */
.admin-list-group-head .admin-table-meta {
	display: inline;
	margin-top: 0;
	margin-left: 0.5rem;
	text-transform: none;
	letter-spacing: 0;
}

.admin-reorder-status.is-busy {
	color: var(--gms-green-gray);
}

.admin-reorder-status.is-ok {
	color: var(--gms-green-dark);
}

/* A FAILED SAVE IS THE WHOLE RISK OF SAVING ON DROP, so it does not get to look like the
   success message in another colour. It is boxed, it is heavier, and admin_reorder.js
   never clears it on a timer the way it clears the success line. */
.admin-reorder-status.is-error {
	color: var(--gms-mane-top);
	font-weight: 600;
	background: rgba(var(--gms-mane-top-rgb), 0.08);
	border: 1px solid rgba(var(--gms-mane-top-rgb), 0.35);
	border-radius: 8px;
	padding: 0.6rem 0.8rem;
}

@media (prefers-color-scheme: dark) {
	/* Same reason as the editor lists: --gms-shadow-rgb stays dark green in the admin, so
	   a tint of it disappears on a dark page. Overlay instead. */
	[data-reorder-list].is-reordering > [data-reorder-item]:not(.admin-reorder-ghost) > td {
		background: rgba(255, 255, 255, 0.12);
	}
}

html[data-theme-mode="dark"] [data-reorder-list].is-reordering > [data-reorder-item]:not(.admin-reorder-ghost) > td {
	background: rgba(255, 255, 255, 0.12);
}

.admin-repeat-inline {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	flex: 0 0 auto;
	white-space: nowrap;
}

.admin-repeat-inline input[type="radio"]:disabled + span {
	opacity: 0.45;
}

.admin-section-heading {
	margin: 1.8rem 0 0.4rem;
	padding-top: 1.1rem;
	border-top: 1px solid rgba(0, 0, 0, 0.12);
}

@media (prefers-color-scheme: dark) {
	.admin-repeat-row-stack,
	.admin-section-heading {
		border-color: rgba(255, 255, 255, 0.16);
	}
	/* --gms-shadow-rgb only flips for body.route-public, so in the admin it stays dark
	   green and a 7% tint of it would vanish on a dark page. Overlay instead. */
	[data-reorder-list].is-reordering [data-reorder-item]:not(.admin-reorder-ghost) {
		background: rgba(255, 255, 255, 0.12);
	}
}

html[data-theme-mode="dark"] .admin-repeat-row-stack,
html[data-theme-mode="dark"] .admin-section-heading {
	border-color: rgba(255, 255, 255, 0.16);
}

html[data-theme-mode="dark"] [data-reorder-list].is-reordering [data-reorder-item]:not(.admin-reorder-ghost) {
	background: rgba(255, 255, 255, 0.12);
}

/* Stack the controls on a phone - five items in a row is unusable at 390px, and
   the admin is already narrow there. */
@media (max-width: 719px) {
	.admin-repeat-row {
		flex-wrap: wrap;
	}
	.admin-repeat-row > select,
	.admin-repeat-row > input[type="text"] {
		flex: 1 1 100%;
	}
	/* ...except where a grip precedes it. At 100% the select claims the whole line and
	   strands the handle on a row of its own, which reads as a stray button. Let them
	   share the first line instead. */
	[data-reorder-list] [data-reorder-item] > select {
		flex: 1 1 auto;
	}
}

/* Media library pagination (2026-08-14) - the list is server-paged now that a store
   catalog can push the media table into the hundreds. */
.admin-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin: 1rem 0 0;
}

.admin-pagination-status {
	font-size: 0.9rem;
	opacity: 0.75;
}

/* Detail rows pair a short label with a value textarea, so they need their own
   proportions - an even flex split would give a one-word label as much room as a
   value that may hold a list. Top-aligned because the textarea is taller than the
   input beside it. */
.admin-repeat-row-pair {
	align-items: flex-start;
}

.admin-repeat-row-pair input[type="text"] {
	/* Fixed, not shrinkable: at 12rem-and-shrinking a label like "Principal jewel" was
	   being clipped mid-word. */
	flex: 0 0 14rem;
}

/* No min-height here on purpose - rows="2" already sets the height, and adding a
   min-height on top of it left a third line half-visible at the bottom, which reads as
   broken rather than as "there is more text". Native resize stays on for long values. */
.admin-repeat-row-pair textarea {
	flex: 1 1 auto;
	resize: vertical;
}

/* Nudge the bare glyph actions down so they sit on the first line of a top-aligned
   row rather than floating above it. */
.admin-repeat-row-pair .admin-repeat-actions {
	padding-top: 0.35rem;
}

/* Order totals block on the admin order view (2026-08-14). */
.admin-order-totals {
	margin: 1rem 0 0 auto;
	max-width: 22rem;
	display: grid;
	gap: 0.3rem;
}

.admin-order-totals > div {
	display: flex;
	justify-content: space-between;
	gap: 1.2rem;
}

.admin-order-totals .admin-order-total {
	margin-top: 0.3rem;
	padding-top: 0.45rem;
	border-top: 1px solid rgba(var(--gms-shadow-rgb), 0.18);
	font-weight: 600;
}

.admin-order-address {
	font-style: normal;
	line-height: 1.7;
}

/*
 * NESTED SET / BUNDLE ROWS IN THE ORDER TABLE (round 5, 2026-08-20).
 *
 * STYLED ON THE CELLS, NOT THE ROW. A `<tr>` background is painted over by every `<td>`'s
 * own background, so a rule written against `.admin-order-group-row` alone renders nothing
 * at all - no error, just no effect. Exactly the trap the reorderable tables hit.
 *
 * The heading row carries the set's total; its members keep their own apportioned line
 * totals, so the Line column still sums to the order subtotal.
 */
.admin-order-group-row td {
	background: rgba(var(--gms-shadow-rgb), 0.05);
	border-top: 1px solid rgba(var(--gms-shadow-rgb), 0.18);
}

.admin-order-member-row td:first-child {
	padding-left: 1.7rem;
}
