/*
Theme Name:     Twenty Twenty-Five Child
Theme URI:
Description:    Child theme for Avantgard Brunch — a rooftop that is a brunch & coffee bar by day and a cocktail bar by night.
Author:         Avantgard
Author URI:
Template:       twentytwentyfive
Version:        0.2.0
*/

/* ==========================================================================
   Design tokens
   ========================================================================== */
:root {
	--porcelain: #f7f7f7;
	--ivory: #f5efe3;
	--ivory-deep: #efe7d6;
	--ink: #2b2a28;
	--muted: #6f6a61;

	/* Empress-inspired core */
	--indigo: #22356b;
	--indigo-deep: #1a2a57;
	--copper: #b06a35;
	--gold: #b09150;
	--line: #ddd4c2;

	/* Morning / evening hero accents (kept for the doorway + hero scrims) */
	--m-cream: #f6e3c0;
	--m-honey: #cf8a2c;
	--e-dusk: #14162b;

	--font-display: "EB Garamond", Georgia, "Times New Roman", serif;
	--font-body: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;

	--slant: 8%;
}

body {
	font-family: var(--font-body);
	color: var(--ink);
}

/* ==========================================================================
   Front page (the doorway) — full-bleed split with a centred logo medallion
   ========================================================================== */
.home .wp-site-blocks { padding: 0; }
.chooser-main,
.world-main {
	max-width: none;
	margin: 0;
	padding: 0;
}

.chooser {
	position: relative;
	width: 100%;
	height: 100svh;
	min-height: 560px;
	overflow: hidden;
	background: var(--e-dusk);
	font-family: var(--font-body);
	isolation: isolate;
}

.chooser__panel {
	position: absolute;
	inset: 0;
	display: block;
	text-decoration: none;
	overflow: hidden;
	transition: filter 600ms ease;
}
.chooser__panel--morning {
	clip-path: polygon(0 0, calc(50% + var(--slant)) 0, calc(50% - var(--slant)) 100%, 0 100%);
}
.chooser__panel--evening {
	clip-path: polygon(calc(50% + var(--slant)) 0, 100% 0, 100% 100%, calc(50% - var(--slant)) 100%);
}

.chooser__media {
	position: absolute;
	inset: -2%;
	background-size: cover;
	background-position: center;
	transform: scale(1);
	transition: transform 6000ms cubic-bezier(.22, .61, .36, 1);
	will-change: transform;
}
.chooser__panel--morning .chooser__media {
	background-image: url("assets/img/morning.jpg"),
		radial-gradient(120% 95% at 18% 8%, #fbeccc 0%, #ecc684 32%, #cf8a2c 64%, #8a4d22 100%);
}
.chooser__panel--evening .chooser__media {
	background-image: url("assets/img/evening.jpg"),
		radial-gradient(125% 100% at 82% 2%, #3a3f73 0%, #20254a 38%, #15172b 72%, #090a12 100%);
}

.chooser__scrim { position: absolute; inset: 0; }
.chooser__panel--morning .chooser__scrim {
	background: linear-gradient(205deg, rgba(40, 28, 14, 0) 35%, rgba(40, 28, 14, .58) 100%);
}
.chooser__panel--evening .chooser__scrim {
	background: linear-gradient(155deg, rgba(8, 9, 18, 0) 35%, rgba(6, 7, 14, .72) 100%);
}

.chooser__content {
	position: absolute;
	bottom: clamp(2.2rem, 7vh, 5rem);
	display: flex;
	flex-direction: column;
	gap: .5rem;
	max-width: 30ch;
	color: #fbf6ec;
	transition: transform 500ms ease;
}
.chooser__panel--morning .chooser__content {
	left: clamp(1.4rem, 6vw, 5rem);
	align-items: flex-start;
	text-align: left;
}
.chooser__panel--evening .chooser__content {
	right: clamp(1.4rem, 6vw, 5rem);
	align-items: flex-end;
	text-align: right;
}

.chooser__time {
	font-family: var(--font-body);
	font-weight: 500;
	font-size: clamp(.95rem, 1.3vw, 1.1rem);
	letter-spacing: .28em;
	opacity: .9;
}
.chooser__eyebrow {
	font-size: .7rem;
	font-weight: 500;
	letter-spacing: .36em;
	text-transform: uppercase;
	opacity: .8;
}
.chooser__title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(2.8rem, 6.4vw, 5.4rem);
	line-height: .98;
	letter-spacing: .005em;
	margin: .15rem 0 .2rem;
	text-wrap: balance;
}
.chooser__sub {
	font-family: var(--font-body);
	font-size: clamp(.95rem, 1.1vw, 1.05rem);
	line-height: 1.45;
	opacity: .92;
}
.chooser__cta {
	margin-top: .6rem;
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	font-weight: 500;
	font-size: .8rem;
	letter-spacing: .22em;
	text-transform: uppercase;
}
.chooser__cta::after {
	content: "";
	width: 1.8rem;
	height: 1px;
	background: currentColor;
	transition: width 400ms ease;
}
.chooser__panel--evening .chooser__cta { flex-direction: row-reverse; }

.chooser__panel:hover .chooser__media,
.chooser__panel:focus-visible .chooser__media { transform: scale(1.09); }
.chooser__panel:hover .chooser__content,
.chooser__panel:focus-visible .chooser__content { transform: translateY(-6px); }
.chooser__panel:hover .chooser__cta::after,
.chooser__panel:focus-visible .chooser__cta::after { width: 3rem; }

.chooser:has(.chooser__panel--morning:hover) .chooser__panel--evening,
.chooser:has(.chooser__panel--evening:hover) .chooser__panel--morning { filter: brightness(.62) saturate(.85); }

.chooser__panel:focus-visible { outline: none; }
.chooser__panel:focus-visible .chooser__scrim { box-shadow: inset 0 0 0 3px #fbf6ec; }

/* Slanted seam */
.chooser__seam {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 4;
	filter: drop-shadow(0 0 6px rgba(0, 0, 0, .35));
}
.chooser__seam line {
	stroke: rgba(247, 247, 247, .9);
	stroke-width: 1.5;
	vector-effect: non-scaling-stroke;
}
.chooser__seam .seam-h { display: none; }

/* Centred logo medallion */
.chooser__brand {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 6;
	display: block;
	width: clamp(132px, 16vw, 208px);
	aspect-ratio: 1 / 1;
	padding: clamp(.5rem, 1vw, .9rem);
	background: #f4efe6;
	border-radius: 50%;
	box-shadow: 0 18px 50px rgba(0, 0, 0, .4), 0 0 0 1px rgba(176, 106, 53, .35);
	transition: transform 500ms cubic-bezier(.22, .61, .36, 1), box-shadow 500ms ease;
}
.chooser__brand img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 50%;
}
.chooser__brand:hover {
	transform: translate(-50%, -50%) scale(1.04);
	box-shadow: 0 22px 60px rgba(0, 0, 0, .5), 0 0 0 1px rgba(176, 106, 53, .6);
}

@media (max-width: 780px) {
	.chooser { --slant: 7%; }
	.chooser__panel--morning {
		clip-path: polygon(0 0, 100% 0, 100% calc(50% + var(--slant)), 0 calc(50% - var(--slant)));
	}
	.chooser__panel--evening {
		clip-path: polygon(0 calc(50% - var(--slant)), 100% calc(50% + var(--slant)), 100% 100%, 0 100%);
	}
	.chooser__title { font-size: clamp(2.2rem, 11vw, 3.2rem); }
	.chooser__content { max-width: min(82vw, 22ch); }
	.chooser__panel--morning .chooser__content {
		bottom: auto;
		top: clamp(3.6rem, 11vh, 6rem);
		left: clamp(1.4rem, 7vw, 3rem);
		align-items: flex-start;
		text-align: left;
	}
	.chooser__panel--evening .chooser__content {
		bottom: clamp(1.8rem, 7vh, 4rem);
		right: auto;
		left: clamp(1.4rem, 7vw, 3rem);
		align-items: flex-start;
		text-align: left;
	}
	.chooser__panel--evening .chooser__cta { flex-direction: row; }
	.chooser__seam .seam-v { display: none; }
	.chooser__seam .seam-h { display: block; }
	.chooser__brand { width: clamp(116px, 34vw, 150px); }
}

@media (prefers-reduced-motion: reduce) {
	.chooser__media, .chooser__content, .chooser__cta::after,
	.chooser__panel, .chooser__brand { transition: none !important; }
	.chooser__panel:hover .chooser__media,
	.chooser__panel:focus-visible .chooser__media { transform: scale(1); }
}

/* ==========================================================================
   Interior pages — Empress-inspired editorial (ivory · indigo · copper)
   ========================================================================== */
.world-main {
	background: var(--porcelain);
	color: var(--ink);
}

/* Centred-logo header */
.site-head {
	background: var(--ivory);
	border-bottom: 1px solid var(--line);
	text-align: center;
	padding: clamp(1.3rem, 3vw, 2rem) 1rem clamp(1rem, 2.4vw, 1.5rem);
}
.site-head__logo {
	display: inline-block;
	width: clamp(96px, 11vw, 128px);
}
.site-head__logo img { display: block; width: 100%; height: auto; }
.site-nav {
	margin-top: clamp(.9rem, 2vw, 1.3rem);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: clamp(.9rem, 2.4vw, 2rem);
}
.site-nav a {
	color: var(--indigo);
	text-decoration: none;
	font-size: .74rem;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	padding-bottom: 2px;
	border-bottom: 1px solid transparent;
	transition: border-color 200ms ease, color 200ms ease;
}
.site-nav a:hover { color: var(--copper); }
.site-nav a[aria-current="page"] { border-bottom-color: var(--copper); }

/* Ornament — copper rule with a centred diamond */
.ornament {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .8rem;
	margin: 1.4rem auto;
	color: var(--copper);
}
.ornament::before, .ornament::after {
	content: "";
	width: clamp(34px, 7vw, 64px);
	height: 1px;
	background: currentColor;
	opacity: .55;
}
.ornament i {
	width: 7px; height: 7px;
	transform: rotate(45deg);
	border: 1px solid currentColor;
}

/* Hide the in-hero back link (header carries navigation now) */
.world__back { display: none; }

/* Hero */
.whero {
	position: relative;
	min-height: 78svh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	overflow: hidden;
	isolation: isolate;
}
.whero__media {
	position: absolute; inset: 0; z-index: -2;
	background-size: cover; background-position: center;
}
.world--morning .whero__media {
	background-image: url("assets/img/morning.jpg"),
		radial-gradient(120% 95% at 20% 6%, #fbeccc 0%, #ecc684 34%, #cf8a2c 66%, #8a4d22 100%);
}
.world--evening .whero__media {
	background-image: url("assets/img/evening.jpg"),
		radial-gradient(125% 100% at 80% 0%, #3a3f73 0%, #20254a 40%, #14162b 74%, #07080f 100%);
}
.whero__scrim {
	position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(180deg, rgba(20, 22, 40, .45) 0%, rgba(20, 22, 40, .2) 45%, rgba(20, 22, 40, .55) 100%);
}
.whero__inner {
	color: #fbf6ec;
	padding: clamp(3rem, 8vw, 6rem) clamp(1.4rem, 6vw, 3rem);
	max-width: 46rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .6rem;
}
.whero__time {
	font-weight: 500;
	letter-spacing: .3em;
	font-size: clamp(.9rem, 1.2vw, 1.05rem);
	opacity: .92;
}
.whero__eyebrow {
	font-size: .72rem;
	font-weight: 500;
	letter-spacing: .34em;
	text-transform: uppercase;
	opacity: .9;
}
.whero__title {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(2.6rem, 6.5vw, 5rem);
	line-height: 1.02;
	letter-spacing: .005em;
	margin: .3rem 0;
	text-wrap: balance;
}
.whero__lede {
	font-size: clamp(1.02rem, 1.3vw, 1.2rem);
	line-height: 1.6;
	max-width: 38ch;
	opacity: .95;
}
.whero__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: 1rem; }
.pill {
	display: inline-flex; align-items: center;
	padding: .5rem 1rem;
	border-radius: 999px;
	font-size: .76rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase;
	background: #fbf6ec; color: var(--indigo-deep);
}
.pill--ghost { background: transparent; color: #fbf6ec; box-shadow: inset 0 0 0 1px rgba(251, 246, 236, .6); }

/* Sections */
.wsection {
	max-width: 1040px;
	margin-inline: auto;
	padding: clamp(3.2rem, 8vw, 6rem) clamp(1.4rem, 5vw, 3rem);
	text-align: center;
}
.wlead {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: 500;
	font-size: clamp(1.6rem, 3.4vw, 2.5rem);
	line-height: 1.3;
	color: var(--indigo);
	max-width: 24ch;
	margin-inline: auto;
}
.wlead::before {
	content: "";
	display: block;
	width: 8px; height: 8px;
	transform: rotate(45deg);
	border: 1px solid var(--copper);
	margin: 0 auto 1.6rem;
}
.wlead span { color: var(--copper); font-style: normal; }

.wheading {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.7rem, 3.2vw, 2.4rem);
	color: var(--indigo);
	letter-spacing: .01em;
	margin-bottom: .4rem;
}
.wheading + .wcards { margin-top: 2.6rem; }
.wheading::after {
	content: "";
	display: block;
	width: 56px; height: 1px;
	background: var(--copper);
	margin: 1rem auto 0;
}

.wcards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: clamp(1.6rem, 3vw, 2.6rem);
	text-align: center;
}
.wcard { display: flex; flex-direction: column; align-items: center; gap: .55rem; }
.wcard h3 {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 1.4rem;
	color: var(--indigo-deep);
}
.wcard p { color: var(--muted); line-height: 1.6; font-size: .95rem; max-width: 30ch; }
.wcard__price {
	margin-top: .2rem;
	font-family: var(--font-display);
	font-style: italic;
	font-size: 1.15rem;
	color: var(--copper);
	letter-spacing: .02em;
}

/* Switch band */
.wswitch {
	border-top: 1px solid var(--line);
	background: var(--ivory);
	padding: clamp(3rem, 7vw, 4.6rem) clamp(1.4rem, 5vw, 3rem);
	text-align: center;
}
.wswitch__label {
	color: var(--muted);
	font-style: italic;
	font-family: var(--font-display);
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	margin-bottom: .8rem;
}
.wswitch__link {
	display: inline-block;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	color: var(--indigo);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: border-color 250ms ease, color 250ms ease;
}
.wswitch__link:hover { color: var(--copper); border-bottom-color: var(--copper); }

/* Footer */
.site-foot {
	background: var(--indigo-deep);
	color: #cdd2e6;
	text-align: center;
	padding: clamp(2.6rem, 6vw, 4rem) 1.4rem;
}
.site-foot__logo { width: clamp(84px, 9vw, 110px); margin: 0 auto 1.2rem; }
.site-foot__logo img { display: block; width: 100%; height: auto; border-radius: 6px; }
.site-foot p { font-size: .82rem; letter-spacing: .08em; line-height: 1.9; opacity: .85; }
.site-foot a { color: #e7c79f; text-decoration: none; }
.site-foot a:hover { text-decoration: underline; }
