/*
Theme Name: miriamschwarz Child Theme
Theme URI: https://rush.example/
Author: Rush
Author URI: https://rush.example/
Description: miriamschwarz child theme for Rush Bedrock. Override brand tokens in theme.json; optional client patterns in patterns/. Parent rush-theme is updated independently.
Version: 1.0.68
Template: rush-theme
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rush-child
Tags: full-site-editing, block-patterns
*/

/*
 * Brand / client-only CSS. Header and footer layouts live in the parent
 * (assets/css/header-footer.css) and are chosen under Customize → Header & Footer.
 */

/* Wider wordmark (icon + name) — parent default is 5.625rem / 1.5rem tall */
:root {
	--rush-brand-w: 19.5rem;
	--rush-nav-max: 1360px;
	--rush-nav-h: 6rem; /* keep in sync with .site-header height */
}

/* Client typography defaults (also defined in theme.json for editor parity). */
body,
h2,
h3,
p,
ul,
ol,
li,
blockquote,
figcaption,
td,
th,
label,
dd,
dt {
	font-weight: 300;
}

body {
	font-size: 1.125rem;
}

h2 {
	font-size: var(--wp--preset--font-size--x-large, 2rem);
}

/* Wider wordmark — parent caps logo at 1.5rem */
.rush-header__brand,
.rush-header__brand-wrap,
.header-left .brand,
.header-left .custom-logo-link,
.rush-header__brand .custom-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.rush-header__brand svg,
.rush-header__brand .custom-logo-link img,
.header-left .brand svg,
.header-left .custom-logo-link img {
	display: block; /* kill inline SVG baseline gap */
	max-height: 4.25rem;
	width: auto;
	height: auto;
}

.rush-site-footer__logo svg {
	max-width: 280px;
}

/* Tighter vertical button padding + regular weight */
.wp-block-button .wp-block-button__link,
.wp-element-button {
	padding-top: 0.375rem;
	padding-bottom: 0.375rem;
	font-weight: var(--wp--custom--font-weight--regular, 400);
}

/* Paragraph “Link + arrow” — primary text + arrow (mask uses currentColor) */
.wp-block-paragraph.is-style-link-arrow a,
p.is-style-link-arrow a {
	color: var(--wp--preset--color--primary, #DB537B) !important;
	font-weight: 300;
}

/* Text grid 2×2 — force wideSize (overrides hardcoded contentSize on inserted blocks) */
.rush-child-text-grid {
	--wp--style--global--content-size: var(--wp--style--global--wide-size, 1020px) !important;
}

.rush-child-text-grid > .wp-block-columns {
	gap: 6rem 8rem !important;
	margin-bottom: 0;
	max-width: var(--wp--style--global--wide-size, 1020px);
	width: 100%;
	margin-inline: auto;
}

.rush-child-text-grid > .wp-block-columns + .wp-block-columns {
	margin-top: 6rem !important;
}

/* Utility for Row blocks that should stack on mobile. */
@media (max-width: 781px) {
	.rush-stack-mobile {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.rush-stack-mobile > * {
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: auto !important;
	}

	.rush-stack-mobile > .wp-block-image,
	.rush-stack-mobile .wp-block-image img {
		width: auto !important;
		max-width: 204px !important;
	}
}

@media (max-width: 781px) {
	.rush-child-text-grid > .wp-block-columns {
		gap: 3rem !important;
	}

	.rush-child-text-grid > .wp-block-columns + .wp-block-columns {
		margin-top: 3rem !important;
	}
}

/* —— Header —— */
.rush-header__container.container {
	box-sizing: border-box;
	width: 100%;
	max-width: min(100%, var(--rush-nav-max, 1180px));
}

.header--grid {
	gap: 0.5rem;
}

.header ul.menu > .menu-item + .menu-item {
	margin-left: 0.25rem;
}

.header ul.menu > li > a,
.header ul.menu .sub-menu > li > a {
	font-size: 1.0625rem;
	font-weight: 300;
}

.header ul.menu .sub-menu {
	background: hsla(0, 0%, 100%, 0.92);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}


body .site-header {
	height: var(--rush-nav-h) !important;
	padding-block: 0 !important; /* parent 0.75rem padding fights fixed height */
	box-sizing: border-box;
}

body .site-header .header {
	height: 100%;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

body .site-header .header--grid {
	align-items: center !important;
	width: 100%;
	justify-content: space-between;
}

/* Frosted glass header site-wide (always, not only on scroll) */
body.rush-nav-over-hero:not(.nav--open) .site-header {
	background-color: hsla(0, 0%, 100%, 0.7) !important;
	background: hsla(0, 0%, 100%, 0.7) !important;
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	box-shadow: none;
}

body.rush-nav-over-hero:not(.nav--open) .site-header .header,
body.rush-nav-over-hero:not(.nav--open) .site-header .header--grid {
	background: transparent !important;
	background-color: transparent !important;
}

/* Editor canvas (and any rush-tools-login body): no fixed-header offset */
html body.wp-theme-rush-theme.rush-tools-login {
	padding-top: 0 !important;
}

/* Home: hero sits under the nav */
body.rush-nav-flush-hero .wp-block-post-content > .rush-child-hero:first-child,
body.rush-nav-flush-hero .entry-content > .rush-child-hero:first-child {
	margin-top: 0 !important;
}

/* Always kill main top spacing (what DevTools shows on main.wp-block-group) */
body main.wp-block-group,
body main.wp-block-group.is-layout-flow,
body main.wp-block-group-is-layout-flow,
body main#wp--skip-link--target {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Mobile menu open: solid bar + drawer starts below header (no text above logo) */
body.nav--open .site-header,
body.rush-nav-over-hero.nav--open .site-header {
	background: var(--wp--preset--color--base, #fff) !important;
	background-color: var(--wp--preset--color--base, #fff) !important;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	z-index: 30;
}

body.nav--open .site-header .header,
body.nav--open .site-header .header--grid,
body.rush-nav-over-hero.nav--open .site-header .header,
body.rush-nav-over-hero.nav--open .site-header .header--grid {
	background: var(--wp--preset--color--base, #fff) !important;
	background-color: var(--wp--preset--color--base, #fff) !important;
	position: relative;
	z-index: 2;
}

body.nav--open .header-mobile-content,
body.nav--open .header-mobile-content.header--open {
	/* Sit flush under the fixed header (no extra 1.5rem — that was old padding-block) */
	top: var(--rush-nav-h) !important;
	height: calc(100dvh - var(--rush-nav-h)) !important;
	margin-top: 0 !important;
	padding-block: 0;
	z-index: 1;
}

body.rush-nav-over-hero .site-header {
	transition: background-color 0.35s ease, backdrop-filter 0.35s ease, -webkit-backdrop-filter 0.35s ease, transform 0.35s ease-in-out, height 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Desktop nav only from xl (80rem); burger + drawer until then */
@media (min-width: 64rem) {
	.rush-header__nav--desktop {
		display: none !important;
	}

	.header--burger {
		display: inline-block !important;
	}

	.header-mobile-content {
		display: block !important;
	}

	.header--grid {
		grid-template-columns: 1fr auto !important;
	}
}

@media (min-width: 80rem) {
	.rush-header__nav--desktop {
		display: flex !important;
		justify-content: center;
	}

	.header--burger {
		display: none !important;
	}

	.header-mobile-content {
		display: none !important;
	}

	.header--grid {
		grid-template-columns: 1fr 4fr 1fr !important;
	}
}

/* —— Mobile menu —— */
.mobile--inner--wrapper ul.menu > li > a {
	font-size: 1.125rem;
	font-weight: 400;
	padding-block: 1.125rem;
}

/* Use desktop chevron, in-flow so it stays inside the bordered row */
.mobile--inner--wrapper .acc-submenu > a::after {
	content: none !important;
	display: none !important;
}

.mobile--inner--wrapper .menu-item-arrow {
	display: none !important;
}

.mobile--inner--wrapper ul.menu > li {
	overflow: hidden;
}

.mobile--inner--wrapper .acc-submenu > a {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	box-sizing: border-box;
	padding-right: 0;
}

.mobile--inner--wrapper .menu-item-chevron {
	display: block !important;
	position: static !important;
	top: auto;
	right: auto;
	flex-shrink: 0;
	width: 12px;
	height: 6px;
	transform: none;
	transition: transform 0.25s ease;
	background-color: currentColor;
	-webkit-mask-image: var(--rush-icon-chevron);
	mask-image: var(--rush-icon-chevron);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.mobile--inner--wrapper .acc-submenu > a.rotate .menu-item-chevron {
	transform: rotate(180deg);
}

.mobile--inner--wrapper .acc-submenu > .sub-menu {
	display: none;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mobile--inner--wrapper .acc-submenu > .sub-menu > li {
	border-top: 1px solid var(--wp--preset--color--border, #e5e5e5);
	margin: 0 !important;
}

.mobile--inner--wrapper .acc-submenu > .sub-menu > li:last-child {
	border-bottom: 1px solid var(--wp--preset--color--border, #e5e5e5);
}

.mobile--inner--wrapper .acc-submenu > .sub-menu li a {
	display: block;
	padding-block: 1rem;
	padding-inline: 0;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.4;
	text-decoration: none;
	color: var(--wp--preset--color--contrast, #4A4A4A);
}

.mobile--inner--wrapper .acc-submenu > .sub-menu .menu-item + .menu-item {
	margin-top: 0;
}

/* Mobile CTA must not overflow the drawer */
.rush-header__mobile-cta,
.site-header .rush-header__cta--mobile,
.rush-header__mobile-cta .wp-block-button,
.mobile--inner--wrapper .wp-block-button,
.mobile--inner--wrapper .wp-block-button__link,
.site-header .rush-header__cta--mobile .wp-block-button__link {
	box-sizing: border-box;
	max-width: 100%;
}

/* —— Heroes (cover under transparent nav + wave) —— */
.rush-child-hero {
	position: relative;
	margin-block: 0 !important;
}

.rush-child-hero-cover.wp-block-cover {
	margin-block: 0 !important;
	width: 100%;
	min-height: max(38vh, 16rem);
	/* Only clear the fixed nav — no extra top gap (avoids white strip under header) */
	padding-top: var(--rush-nav-h, 4rem) !important;
	padding-right: var(--wp--custom--spacing--6, 1.5rem);
	padding-bottom: var(--wp--custom--spacing--fluid-sm, 2.5rem);
	padding-left: var(--wp--custom--spacing--6, 1.5rem);
}

.rush-child-hero-home .rush-child-hero-cover.wp-block-cover {
	min-height: 625px;
	/* min-height: 74vh; */
	padding-bottom: var(--wp--custom--spacing--fluid-md, 3.5rem);
}
.rush-child-hero-home .rush-child-hero-cover.wp-block-cover .wp-block-cover__inner-container {
	padding-bottom: 3rem;
}
@media (min-width: 64rem) {
	.rush-child-hero-home .rush-child-hero-cover.wp-block-cover {
		min-height: 680px;
	}
}
@media (min-width: 1200px) {
	.rush-child-hero-home .rush-child-hero-cover.wp-block-cover {
		min-height: 725px;
	}
}
@media (min-width: 1920px) {
	.rush-child-hero-home .rush-child-hero-cover.wp-block-cover {
		min-height: 825px;
	}
}
/* Reduce cover overlay so the photo reads more clearly */
.rush-child-hero-home .rush-child-hero-cover .wp-block-cover__background {
	opacity: 0.28 !important;
}

.rush-child-hero-subpage .rush-child-hero-cover.wp-block-cover {
	/* Below fixed header (main has header-offset); title centered in cover */
	min-height: clamp(20rem, 30vh, 26rem) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-right: var(--wp--custom--spacing--6, 1.5rem);
	padding-left: var(--wp--custom--spacing--6, 1.5rem);
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}
.rush-child-hero-subpage .rush-child-hero-cover.wp-block-cover .wp-block-heading,
.rush-child-hero-subpage .rush-child-hero-cover.wp-block-cover .wp-block-post-title {
	padding-bottom: 6rem;
}

.rush-child-hero .wp-block-heading {
	font-weight: 300;
}

.rush-child-hero-home .wp-block-heading {
	font-size: clamp(1.75rem, 1.35rem + 1.6vw, 2.65rem);
	font-weight: 200;
	line-height: 1.2;
	max-width: min(100%, 68rem);
	margin-left: auto;
	margin-right: auto;
}

/* Keep hero mark sharp (prefer real SVG uploads; avoid favicon raster crops). */
.rush-child-hero-home .rush-child-hero-icon,
.rush-child-hero-home .rush-child-hero-icon img,
.rush-child-hero-home .wp-block-cover__inner-container > .wp-block-image img {
	image-rendering: auto;
	-ms-interpolation-mode: bicubic;
}

.rush-child-hero-home .rush-child-hero-icon img,
.rush-child-hero-home .wp-block-cover__inner-container > .wp-block-image img[src$=".svg"] {
	width: 180px;
	max-width: 180px;
	height: auto;
}

@media (min-width: 64rem) {
	.rush-child-hero-home .rush-child-hero-icon img,
	.rush-child-hero-home .wp-block-cover__inner-container > .wp-block-image img[src$=".svg"] {
		width: 210px;
		max-width: 210px;
	}
}

.rush-child-hero-subpage .wp-block-heading,
.rush-child-hero-subpage .wp-block-post-title {
	font-size: var(--wp--custom--font-size--4-xl, 2.25rem);
	font-weight: 300;
	margin: 0;
}

.rush-child-hero-cover .wp-block-cover__inner-container {
	max-width: min(100%, var(--wp--style--global--wide-size, 1020px)) !important;
}

/* Lighter wash on subpage heroes — more photo, still readable title */
.rush-child-hero-subpage .rush-child-hero-cover::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: rgba(255, 255, 255, 0.28);
}

.rush-child-hero-subpage .rush-child-hero-cover .wp-block-cover__inner-container {
	z-index: 2;
	margin-block: 0 !important;
	width: 100%;
}

.rush-child-hero-subpage .rush-child-hero-cover .wp-block-cover__background {
	opacity: 1 !important;
	background-color: rgba(255, 255, 255, 0.22) !important;
}

/* Angebot single: title weight matches hero pattern */
.rush-single-angebot .wp-block-post-title {
	font-weight: 300;
	margin: 0;
}

.rush-single-angebot__hero {
	margin-block: 0 !important;
}

.rush-child-hero-icon {
	margin: 0;
	line-height: 0;
}

.rush-child-hero-icon img {
	display: block;
	width: 250px;
	height: auto;
}

.rush-child-hero-cta .wp-block-button__link,
.rush-child-hero .is-style-outline .wp-block-button__link {
	background: transparent !important;
	color: var(--wp--preset--color--primary, #DB537B) !important;
	border-color: var(--wp--preset--color--primary, #DB537B) !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.rush-child-hero-cta .wp-block-button__link:hover,
.rush-child-hero .is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary, #DB537B) !important;
	color: var(--wp--preset--color--base, #fff) !important;
	border-color: var(--wp--preset--color--primary, #DB537B) !important;
}

/* Wavy bottom edge — miriamschwarz.ch UABB curve-down (mirrored) */
.rush-child-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 10rem; /* 160px — subpage height on old site */
	z-index: 2;
	pointer-events: none;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4.66666 0.333331' preserveAspectRatio='none'%3E%3Cg transform='scale(-1 1) translate(-4.66666 0)'%3E%3Cpath fill='%23ffffff' d='M-7.87402e-006 0.0148858l0.00234646 0c0.052689,0.0154094 0.554437,0.154539 1.51807,0.166524l0.267925 0c0.0227165,-0.00026378 0.0456102,-0.000582677 0.0687992,-0.001 1.1559,-0.0208465 2.34191,-0.147224 2.79148,-0.165524l0.0180591 0 0 0.166661 -7.87402e-006 0 0 0.151783 -4.66666 0 0 -0.151783 -7.87402e-006 0 0 -0.166661z'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% 100%;
}

/* Home: same curve, slightly shorter (150px on old site) */
.rush-child-hero-home::after {
	height: 9.375rem;
}

@media (max-width: 992px) {
	.rush-child-hero::after {
		height: 7.5rem; /* 120px */
	}

	.rush-child-hero-home::after {
		height: 7.5rem;
	}

	.rush-child-hero-subpage .rush-child-hero-cover.wp-block-cover {
		min-height: clamp(18rem, 30vh, 24rem) !important;
	}
}

@media (max-width: 768px) {
	.rush-child-hero::after {
		height: 5rem; /* 80px */
	}

	.rush-child-hero-home::after {
		height: 5rem;
	}

	.rush-child-hero-subpage .rush-child-hero-cover.wp-block-cover {
		min-height: clamp(16rem, 28vh, 20rem) !important;
	}
}

/* —— Cover card pattern (text overlay on image) —— */
.rush-child-cover-card-section.wp-block-cover {
	min-height: clamp(28rem, 70vh, 48rem);
	padding: var(--wp--custom--spacing--fluid-md, 3.5rem) var(--wp--custom--spacing--6, 1.5rem) !important;
}

.rush-child-cover-card {
	box-sizing: border-box;
	width: 100%;
	margin-inline: auto;
	padding: clamp(1.75rem, 4vw, 3rem) clamp(1.25rem, 3vw, 2.5rem);
	background-color: hsla(0, 0%, 100%, 0.62);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	border-radius: var(--wp--custom--radius--lg, 1rem);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

.rush-child-cover-card .wp-block-heading {
	font-weight: 300;
	margin-top: 0;
}

.rush-child-cover-card p,
.rush-child-cover-card li {
	font-weight: 300;
}

.rush-child-cover-card-list,
.rush-child-cover-card .rush-child-cover-card-list {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}

.rush-child-cover-card-list li {
	margin: 0;
	padding: 0.15em 0;
	list-style: none;
}

.rush-child-cover-card .is-style-outline .wp-block-button__link {
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* —— Client footer (2-col) —— */
.rush-site-footer--client {
	margin-top: clamp(3rem, 8vw, 6rem);
}

.rush-site-footer--client .rush-site-footer__columns--2 {
	align-items: start;
	gap: var(--wp--custom--spacing--8, 2rem) var(--wp--custom--spacing--6, 1.5rem);
}

.rush-site-footer--client .rush-site-footer__col--contact {
	text-align: end;
	font-size: 1.125rem;
	font-weight: 300;
}

.rush-site-footer--client .rush-site-footer__col--contact a,
.rush-site-footer--client .rush-site-footer__address,
.rush-site-footer--client .rush-site-footer__contact {
	font-size: 1.125rem;
	font-weight: 300;
}

/* Contact details block: parent block CSS sets items to medium (500). */
.rush-contact-details .rush-contact-details__item,
.rush-contact-details .rush-contact-details__link,
.rush-contact-details .rush-contact-details__text {
	font-weight: 300 !important;
}

/* Heading group paired with the centered contact form pattern. */
.wp-block-group:has(> .rush-contact-01__form) h2 {
	font-size: var(--wp--preset--font-size--x-large, 1.75rem);
	font-weight: 300;
}

.rush-site-footer--client .rush-site-footer__col--contact .rush-site-footer__contact {
	justify-items: end;
	align-items: flex-end;
}

.rush-site-footer--client .rush-site-footer__address {
	margin-bottom: var(--wp--custom--spacing--3, 0.75rem);
}

.rush-site-footer--client .rush-site-footer__logo {
	margin-bottom: 0;
}

.rush-site-footer--client .rush-site-footer__logo svg,
.rush-site-footer--client .rush-site-footer__logo-img {
	max-width: 280px;
	max-height: none;
}

@media (max-width: 781px) {
	.rush-site-footer--client .rush-site-footer__columns--2,
	.rush-site-footer--client .rush-site-footer__col--brand,
	.rush-site-footer--client .rush-site-footer__col--contact {
		justify-items: center;
		text-align: center;
	}

	.rush-site-footer--client .rush-site-footer__col--brand {
		display: flex;
		justify-content: center;
	}

	.rush-site-footer--client .rush-site-footer__col--contact .rush-site-footer__contact {
		justify-items: center;
		align-items: center;
	}

	.rush-site-footer--client .rush-site-footer__legal {
		gap: 0.35rem 0.75rem;
	}

	.rush-site-footer--client .rush-site-footer__legal-col--start,
	.rush-site-footer--client .rush-site-footer__legal-col--center,
	.rush-site-footer--client .rush-site-footer__legal-col--end {
		text-align: center;
	}

	.rush-site-footer--client .rush-site-footer__legal-menu {
		justify-content: center;
		gap: 0.35rem 0.75rem;
	}
}

/* —— News single (front + editor via add_editor_style) —— */
.rush-single-news__meta {
	color: var(--wp--preset--color--secondary, #737373);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
}

.rush-single-news__terms:not(:empty)::before {
	content: "·";
	margin-right: 0.5rem;
	color: var(--wp--preset--color--secondary, #737373);
}

.rush-single-news__meta .wp-block-post-terms,
.rush-single-news__terms {
	color: inherit;
}

/* Editor still outputs <a>; look and behave like plain text */
.rush-single-news__meta .wp-block-post-terms a,
.rush-single-news__terms a,
.editor-styles-wrapper .rush-single-news .wp-block-post-terms a,
.block-editor-iframe__body .rush-single-news .wp-block-post-terms a {
	color: inherit !important;
	text-decoration: none !important;
	pointer-events: none;
	cursor: default;
}

.rush-single-news__intro .wp-block-post-excerpt {
	margin-top: 0;
}

.rush-single-news__intro .wp-block-post-excerpt__excerpt,
.rush-single-news__intro .wp-block-post-excerpt p {
	margin: 0;
}

/*
 * Spacing: excerpt → image 2rem; image → content 3rem.
 * Parent blockGap is 0 so these margins are the only source.
 */
.rush-single-news__media,
.rush-single-news .wp-block-post-featured-image.rush-single-news__media {
	margin-top: var(--wp--custom--spacing--8, 2rem) !important;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
}

.rush-single-news__content,
.rush-single-news .wp-block-post-content {
	margin-top: var(--wp--custom--spacing--12, 3rem);
}

/* No “read more” on news singles (front + editor placeholder) */
.rush-single-news .wp-block-post-excerpt__more-text,
.rush-single-news .wp-block-post-excerpt__more-link {
	display: none !important;
}

.rush-single-news .wp-block-post-featured-image img,
.rush-single-news__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--lg, 1rem);
}

/* Editor canvas: match front-end single layout when template is visible */
.editor-styles-wrapper .rush-single-news,
.block-editor-iframe__body .rush-single-news {
	box-sizing: border-box;
}

.editor-styles-wrapper .rush-single-news .wp-block-post-title,
.block-editor-iframe__body .rush-single-news .wp-block-post-title {
	font-size: var(--wp--custom--font-size--display, 3rem);
	line-height: 1.15;
	margin: 0;
}

.editor-styles-wrapper .rush-single-news__meta,
.block-editor-iframe__body .rush-single-news__meta {
	color: var(--wp--preset--color--secondary, #737373);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
}

.editor-styles-wrapper .rush-single-news .wp-block-post-featured-image,
.block-editor-iframe__body .rush-single-news .wp-block-post-featured-image {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--lg, 1rem);
	margin-top: var(--wp--custom--spacing--8, 2rem) !important;
}

.editor-styles-wrapper .rush-single-news .wp-block-post-excerpt__more-text,
.editor-styles-wrapper .rush-single-news .wp-block-post-excerpt__more-link,
.block-editor-iframe__body .rush-single-news .wp-block-post-excerpt__more-text,
.block-editor-iframe__body .rush-single-news .wp-block-post-excerpt__more-link {
	display: none !important;
}

.editor-styles-wrapper .rush-single-news .wp-block-post-content,
.block-editor-iframe__body .rush-single-news .wp-block-post-content,
.editor-styles-wrapper .rush-single-news .is-root-container,
.block-editor-iframe__body .rush-single-news .is-root-container {
	max-width: var(--wp--style--global--content-size, 720px);
	margin-left: auto;
	margin-right: auto;
}

/* —— Gravity Forms ——
 * Orbital/framework theme omits legacy gf_list_*N*col rules (only in .gravity-theme
 * basic.css). GF still outputs those classes for “Display in columns” — restore them.
 * Also map primary submit button to theme primary button tokens.
 */
.gform_wrapper {
	--gf-color-primary: var(--wp--preset--color--primary, #db537b);
	--gf-color-primary-darker: var(--wp--preset--color--primary-dark, #a83d5f);
	--gf-color-primary-contrast: var(--wp--preset--color--base, #fff);
	--gf-radius: var(--wp--custom--radius--control, 0.5rem);
	--gf-ctrl-btn-font-weight: var(--wp--custom--font-weight--regular, 400);
	--gf-ctrl-btn-padding-x: 1.5rem;
	--gf-ctrl-btn-radius: var(--wp--custom--radius--control, 0.5rem);
	--gf-ctrl-btn-shadow: none;
	--gf-ctrl-btn-shadow-hover: none;
	--gf-ctrl-btn-shadow-focus: none;
}

.gform_wrapper .gfield_label,
.gform_wrapper .gform-field-label,
.gform_wrapper label,
.gform_wrapper legend {
	font-weight: 400 !important;
}

.gform_wrapper .gform_button,
.gform_wrapper .gform-theme-button:not(.gform-theme-button--secondary):not(.gform_save_link),
.gform_wrapper input[type="submit"].gform_button {
	background-color: var(--wp--preset--color--primary, #db537b);
	border: 1px solid var(--wp--preset--color--primary, #db537b);
	border-radius: var(--wp--custom--radius--control, 0.5rem);
	color: var(--wp--preset--color--base, #fff);
	cursor: pointer;
	font-weight: var(--wp--custom--font-weight--regular, 400);
	padding-block: 0.375rem;
	padding-inline: 1.5rem;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_button:focus,
.gform_wrapper .gform-theme-button:not(.gform-theme-button--secondary):not(.gform_save_link):hover,
.gform_wrapper .gform-theme-button:not(.gform-theme-button--secondary):not(.gform_save_link):focus,
.gform_wrapper input[type="submit"].gform_button:hover,
.gform_wrapper input[type="submit"].gform_button:focus {
	background-color: var(--wp--preset--color--primary-dark, #a83d5f);
	border-color: var(--wp--preset--color--primary-dark, #a83d5f);
	color: var(--wp--preset--color--base, #fff);
}

@media only screen and (min-width: 641px) {
	.gform_wrapper .gfield.gf_list_2col .gfield_checkbox,
	.gform_wrapper .gfield.gf_list_2col .gfield_radio {
		display: grid !important;
		flex-direction: unset;
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: 2rem;
		row-gap: var(--gf-field-choice-gap, 0.5rem);
	}

	.gform_wrapper .gfield.gf_list_3col .gfield_checkbox,
	.gform_wrapper .gfield.gf_list_3col .gfield_radio {
		display: grid !important;
		flex-direction: unset;
		grid-template-columns: repeat(3, 1fr);
		grid-column-gap: 2rem;
		row-gap: var(--gf-field-choice-gap, 0.5rem);
	}

	.gform_wrapper .gfield.gf_list_4col .gfield_checkbox,
	.gform_wrapper .gfield.gf_list_4col .gfield_radio {
		display: grid !important;
		flex-direction: unset;
		grid-template-columns: repeat(4, 1fr);
		grid-column-gap: 2rem;
		row-gap: var(--gf-field-choice-gap, 0.5rem);
	}

	.gform_wrapper .gfield.gf_list_5col .gfield_checkbox,
	.gform_wrapper .gfield.gf_list_5col .gfield_radio {
		display: grid !important;
		flex-direction: unset;
		grid-template-columns: repeat(5, 1fr);
		grid-column-gap: 2rem;
		row-gap: var(--gf-field-choice-gap, 0.5rem);
	}

	.gform_wrapper .gf_list_2col_vertical .gfield_checkbox,
	.gform_wrapper .gf_list_2col_vertical .gfield_radio {
		display: block !important;
		column-count: 2;
		column-gap: 2rem;
	}

	.gform_wrapper .gf_list_3col_vertical .gfield_checkbox,
	.gform_wrapper .gf_list_3col_vertical .gfield_radio {
		display: block !important;
		column-count: 3;
		column-gap: 2rem;
	}

	.gform_wrapper .gf_list_4col_vertical .gfield_checkbox,
	.gform_wrapper .gf_list_4col_vertical .gfield_radio {
		display: block !important;
		column-count: 4;
		column-gap: 2rem;
	}

	.gform_wrapper .gf_list_5col_vertical .gfield_checkbox,
	.gform_wrapper .gf_list_5col_vertical .gfield_radio {
		display: block !important;
		column-count: 5;
		column-gap: 2rem;
	}

	.gform_wrapper .gf_list_2col_vertical .gchoice,
	.gform_wrapper .gf_list_3col_vertical .gchoice,
	.gform_wrapper .gf_list_4col_vertical .gchoice,
	.gform_wrapper .gf_list_5col_vertical .gchoice {
		break-inside: avoid;
		-webkit-column-break-inside: avoid;
		page-break-inside: avoid;
	}
}

/* —— Cookie notice (functional cookies only) —— */
.rush-child-cookie-notice {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	left: auto;
	z-index: 100;
	width: min(22rem, calc(100vw - 2rem));
	padding: 0.875rem 1rem;
	background: hsla(0, 0%, 100%, 0.96);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(74, 74, 74, 0.12);
	border-radius: 0.5rem;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.1);
	transform: translateY(0);
	opacity: 1;
	transition: transform 0.28s ease, opacity 0.28s ease;
}

.rush-child-cookie-notice[hidden] {
	display: none !important;
}

.rush-child-cookie-notice.is-dismissed {
	transform: translateY(110%);
	opacity: 0;
	pointer-events: none;
}

.rush-child-cookie-notice__inner {
	display: grid;
	gap: 0.75rem;
}

.rush-child-cookie-notice__text {
	margin: 0;
	font-size: 0.8125rem;
	font-weight: 300;
	line-height: 1.45;
	color: var(--wp--preset--color--contrast, #4A4A4A);
}

.rush-child-cookie-notice__btn {
	appearance: none;
	cursor: pointer;
	justify-self: end;
	border: 1px solid var(--wp--preset--color--primary, #DB537B);
	border-radius: 0.25rem;
	background: var(--wp--preset--color--primary, #DB537B);
	color: #fff;
	font: inherit;
	font-size: 0.8125rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	padding: 0.3rem 1.1rem;
	line-height: 1.3;
}

.rush-child-cookie-notice__btn:hover,
.rush-child-cookie-notice__btn:focus-visible {
	background: var(--wp--preset--color--primary-dark, #A83D5F);
	border-color: var(--wp--preset--color--primary-dark, #A83D5F);
	outline: none;
}
