/* ==========================================================================
   Wilde Retreat — full-page layout
   Everything is scoped to body.wilde-retreat-page so the rest of the site
   (and the active theme) is untouched.
   ========================================================================== */

@font-face {
	font-family: "WR Fraunces";
	src: url("../fonts/Fraunces-Variable.woff2") format("woff2");
	font-weight: 300 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "WR Fraunces";
	src: url("../fonts/Fraunces-Italic-Variable.woff2") format("woff2");
	font-weight: 300 900;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: "WR Instrument Sans";
	src: url("../fonts/InstrumentSans-Variable.woff2") format("woff2");
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
}

/* ---- Design tokens (override any same-named theme presets on this page only) */
body.wilde-retreat-page {
	--wp--preset--color--ink: #0c2939;
	--wp--preset--color--ink-soft: #1c3a4d;
	/* Accent follows the site's Kadence palette colour 1 (Appearance → Customize → Colors).
	   Change it there and every button and accent on the retreat page follows. */
	--wr-accent: var(--global-palette1, #cb9448);
	--wp--preset--color--gold: var(--wr-accent);
	/* Deeper shade of the accent for text on light backgrounds, so it stays readable */
	--wr-accent-text: color-mix(in srgb, var(--wr-accent) 60%, #000);
	--wp--preset--color--paper: #faf7f1;
	--wp--preset--color--sand: #efe7d8;
	--wp--preset--color--sage: #7c8a6f;
	--wp--preset--color--white: #ffffff;

	--wp--preset--spacing--20: 0.75rem;
	--wp--preset--spacing--30: 1.25rem;
	--wp--preset--spacing--40: 2rem;
	--wp--preset--spacing--50: 3.25rem;
	--wp--preset--spacing--60: 5rem;
	--wp--preset--spacing--70: 7.5rem;
	--wp--preset--spacing--80: 10rem;

	--wr-display: "WR Fraunces", Georgia, "Times New Roman", serif;
	--wr-body: "WR Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--wr-wide: 1180px;
	--wr-measure: 760px;
	--wr-gutter: 2rem;

	margin: 0;
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--ink);
	font-family: var(--wr-body);
	font-size: 1.0625rem;
	line-height: 1.65;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
}
@media (max-width: 781px) {
	body.wilde-retreat-page {
		--wp--preset--spacing--60: 3.5rem;
		--wp--preset--spacing--70: 4.5rem;
		--wr-gutter: 1.25rem;
		font-size: 1rem;
	}
}

/* ---- Colour utility classes used by the page blocks */
.wilde-retreat-page .has-ink-color { color: var(--wp--preset--color--ink) !important; }
.wilde-retreat-page .has-ink-soft-color { color: var(--wp--preset--color--ink-soft) !important; }
.wilde-retreat-page .has-gold-color { color: var(--wr-accent-text) !important; }
.wilde-retreat-page .has-ink-background-color .has-gold-color,
.wilde-retreat-page .has-ink-soft-background-color .has-gold-color { color: var(--wr-accent) !important; }
.wilde-retreat-page .has-paper-color { color: var(--wp--preset--color--paper) !important; }
.wilde-retreat-page .has-sand-color { color: var(--wp--preset--color--sand) !important; }
.wilde-retreat-page .has-sage-color { color: var(--wp--preset--color--sage) !important; }
.wilde-retreat-page .has-white-color { color: #fff !important; }
.wilde-retreat-page .has-ink-background-color { background-color: var(--wp--preset--color--ink) !important; }
.wilde-retreat-page .has-ink-soft-background-color { background-color: var(--wp--preset--color--ink-soft) !important; }
.wilde-retreat-page .has-gold-background-color { background-color: var(--wp--preset--color--gold) !important; }
.wilde-retreat-page .has-paper-background-color { background-color: var(--wp--preset--color--paper) !important; }
.wilde-retreat-page .has-sand-background-color { background-color: var(--wp--preset--color--sand) !important; }
.wilde-retreat-page .has-sage-background-color { background-color: var(--wp--preset--color--sage) !important; }

/* ---- Typography */
.wilde-retreat-page .wr-site :where(h1, h2, h3, h4) {
	font-family: var(--wr-display);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: inherit;
	text-transform: none;
	margin: 0;
}
.wilde-retreat-page .wr-main h1 { font-size: clamp(2.4rem, 1.6rem + 2.4vw, 3.157rem); }
.wilde-retreat-page .wr-main h2 { font-size: clamp(1.85rem, 1.5rem + 1.1vw, 2.369rem); }
.wilde-retreat-page .wr-main h3 { font-size: clamp(1.4rem, 1.2rem + 0.6vw, 1.777rem); }
.wilde-retreat-page .wr-main :where(h1, h2, h3):not(.has-text-color) { color: var(--wp--preset--color--ink); }
.wilde-retreat-page .has-ink-background-color :where(h1, h2, h3):not(.has-text-color) { color: var(--wp--preset--color--paper); }
.wilde-retreat-page .wr-main p,
.wilde-retreat-page .wr-main li { font-family: var(--wr-body); margin: 0; }
.wilde-retreat-page .wr-main ul { padding-left: 1.2em; margin: 0; }
.wilde-retreat-page .wr-main a:not(.wp-block-button__link) { color: inherit; text-decoration: underline; text-underline-offset: 0.15em; }
.wilde-retreat-page .wr-main a:not(.wp-block-button__link):hover { color: var(--wr-accent-text); }
.wilde-retreat-page .wr-main strong { font-weight: 700; }

/* ---- Buttons */
.wilde-retreat-page .wr-main .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.wilde-retreat-page .wr-main .wp-block-button__link,
.wilde-retreat-page .wr-header__cta {
	display: inline-block;
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--ink);
	font-family: var(--wr-body);
	font-weight: 600;
	font-size: 1.0625rem;
	letter-spacing: 0.01em;
	line-height: 1.3;
	text-transform: none;
	text-decoration: none;
	border: 0;
	border-radius: 999px;
	padding: 0.9rem 1.75rem;
	box-shadow: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.wilde-retreat-page .wr-main .wp-block-button__link:hover,
.wilde-retreat-page .wr-main .wp-block-button__link:focus,
.wilde-retreat-page .wr-header__cta:hover,
.wilde-retreat-page .wr-header__cta:focus {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
}
.wilde-retreat-page .has-ink-background-color .wp-block-button__link:hover,
.wilde-retreat-page .has-ink-background-color .wp-block-button__link:focus {
	background: var(--wp--preset--color--paper);
	color: var(--wp--preset--color--ink);
}

/* ---- Layout: full-bleed sections, one shared 1180px column */
.wilde-retreat-page .wr-main { display: block; margin: 0; padding: 0; }
.wilde-retreat-page .wr-main > .alignfull {
	width: 100%;
	max-width: none;
	margin: 0 !important;
	padding-left: var(--wr-gutter) !important;
	padding-right: var(--wr-gutter) !important;
	box-sizing: border-box;
}
.wilde-retreat-page :is(.wr-main > .alignfull, .wr-main > .alignfull > .wp-block-group__inner-container) > * {
	max-width: var(--wr-wide);
	margin-left: auto !important;
	margin-right: auto !important;
	margin-block-end: 0;
	box-sizing: border-box;
}
.wilde-retreat-page :is(.wr-main > .alignfull, .wr-main > .alignfull > .wp-block-group__inner-container) > * + * { margin-block-start: 1.5rem; }
.wilde-retreat-page :is(.wr-main > .alignfull, .wr-main > .alignfull > .wp-block-group__inner-container) > :first-child { margin-block-start: 0; }

.wilde-retreat-page .wr-main > .alignfull > .wp-block-group__inner-container { margin-block-start: 0; }

/* Running text keeps a comfortable reading width, aligned to the same left edge */
.wilde-retreat-page :is(.wr-main > .alignfull, .wr-main > .alignfull > .wp-block-group__inner-container) > :where(p, ul, ol, h2, h3) {
	max-width: var(--wr-measure);
	margin-left: max(0px, calc((100% - var(--wr-wide)) / 2)) !important;
	margin-right: auto !important;
}
.wilde-retreat-page :is(.wr-main > .alignfull, .wr-main > .alignfull > .wp-block-group__inner-container) > h2.has-text-align-center {
	max-width: var(--wr-wide);
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Columns */
.wilde-retreat-page .wr-main .wp-block-columns {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem 4rem;
	margin-bottom: 0;
}
.wilde-retreat-page .wr-main .wp-block-columns.are-vertically-aligned-center { align-items: center; }
@media (min-width: 782px) {
	.wilde-retreat-page .wr-main .wp-block-columns { flex-wrap: nowrap; }
	.wilde-retreat-page .wr-main .wp-block-column { flex-grow: 1; flex-basis: 0; min-width: 0; }
	.wilde-retreat-page .wr-main .wp-block-column[style*="flex-basis"] { flex-grow: 0; }
}
@media (max-width: 781px) {
	.wilde-retreat-page .wr-main .wp-block-column { flex-basis: 100% !important; }
}
.wilde-retreat-page .wr-main .wp-block-column > * { margin-block-start: 0; margin-block-end: 0; }
.wilde-retreat-page .wr-main .wp-block-column > * + * { margin-block-start: 1.5rem; }

/* Flex / vertical groups (e.g. the date + price strip) */
.wilde-retreat-page .wr-main .wp-block-group.is-vertical,
.wilde-retreat-page .wr-main .wp-block-group.is-layout-flex.is-vertical {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
}
.wilde-retreat-page .wr-main .wp-block-group.is-layout-flex > * { margin: 0; }

/* Images */
.wilde-retreat-page .wr-main .wp-block-image { margin: 0; }
.wilde-retreat-page .wr-main .wp-block-image img { display: block; max-width: 100%; height: auto; }
.wilde-retreat-page .wr-main .wp-block-spacer { margin: 0 !important; }

/* Meet your facilitators: identical portraits, flush on their navy name cards */
.wilde-retreat-page .wp-block-column:has(> .wp-block-image + .has-ink-background-color) > .wp-block-image {
	margin: 0;
	width: 100%;
}
.wilde-retreat-page .wp-block-column:has(> .wp-block-image + .has-ink-background-color) > .wp-block-image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 5 !important;
	object-fit: cover !important;
	object-position: center top;
	border-radius: 12px 12px 0 0 !important;
}
.wilde-retreat-page .wr-main .wp-block-column > .wp-block-image + .has-ink-background-color {
	margin-top: 0 !important;
	border-radius: 0 0 12px 12px !important;
}
.wilde-retreat-page .wr-main :is(.has-ink-background-color, .has-ink-background-color > .wp-block-group__inner-container) > * { margin: 0; }
.wilde-retreat-page .wr-main :is(.has-ink-background-color, .has-ink-background-color > .wp-block-group__inner-container) > * + * { margin-top: 0.5rem; }

/* ---- Header */
.wilde-retreat-page .wr-header {
	background: var(--wp--preset--color--paper);
	padding: 1.25rem var(--wr-gutter);
}
.wilde-retreat-page .wr-header__inner {
	max-width: var(--wr-wide);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}
.wilde-retreat-page .wr-brand {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}
.wilde-retreat-page .wr-brand__logo { width: 44px; height: auto; display: block; }
.wilde-retreat-page .wr-brand__name {
	font-family: var(--wr-display);
	font-weight: 500;
	font-size: 1.333rem;
	line-height: 1;
}
.wilde-retreat-page .wr-header__cta { font-size: 0.95rem; padding: 0.7rem 1.35rem; }
@media (max-width: 480px) {
	.wilde-retreat-page .wr-header__cta { display: none; }
}

/* ---- Footer */
.wilde-retreat-page .wr-footer {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
	border-top: 1px solid var(--wp--preset--color--ink-soft);
	padding: 5rem var(--wr-gutter) 3.25rem;
}
.wilde-retreat-page .wr-footer__inner {
	max-width: var(--wr-wide);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2rem;
}
.wilde-retreat-page .wr-footer__about { max-width: 340px; }
.wilde-retreat-page .wr-footer__name {
	font-family: var(--wr-display);
	font-size: 1.4rem;
	color: var(--wp--preset--color--paper);
	text-decoration: none;
}
.wilde-retreat-page .wr-footer p {
	margin: 0.75rem 0 0;
	color: var(--wp--preset--color--sand);
	font-size: 1rem;
	line-height: 1.6;
}
.wilde-retreat-page .wr-footer a { color: var(--wp--preset--color--paper); }
.wilde-retreat-page .wr-footer a:hover { color: var(--wp--preset--color--gold); }
.wilde-retreat-page .wr-footer__contact { text-align: right; }
@media (max-width: 781px) {
	.wilde-retreat-page .wr-footer__contact { text-align: left; }
}
.wilde-retreat-page .wr-social {
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
	display: flex;
	gap: 0.6rem;
}
.wilde-retreat-page .wr-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--wp--preset--color--ink-soft);
	color: var(--wp--preset--color--paper);
}
.wilde-retreat-page .wr-social a:hover { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink); }
.wilde-retreat-page .wr-footer__legal {
	max-width: var(--wr-wide);
	margin: 3.25rem auto 0 !important;
	color: var(--wp--preset--color--sage) !important;
	font-size: 0.85rem !important;
}
