/* Wedding timeline — the Your Wedding page (Claude Design handoff,
   design-reference/your-wedding/). A floral cap over a 1.5px mauve centre line,
   four entries on the artboard's 1400px row (640 / 120 / 640), each with a petal
   growing off the line toward its text. Gaps and photo sizes are the artboard's;
   copy, rules and buttons follow design.md.

   Not to be confused with timeline.css (the signed-off timeline page) — different
   line, connectors and entry anatomy. */
.bsw-wedding-timeline.wp-block-group.alignfull {
	--bsw-petal: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34.9395 34.1575'%3E%3Cpath fill='%23aa747c' d='M34.3253,26.6892c-1.3493-4.1478-2.4167-8.3167-3.2657-12.636-1.2929-6.5778-5.5756-11.4789-12.4678-10.9951-2.2531.1581-4.2361-.2714-6.2244-1.2563C8.5693-.0796,4.1594-.5853,0,.7512c5.912,1.1672,8.3049,4.5665,10.2853,9.6378,1.657,4.2434,5.1209,7.2617,9.6502,7.9023l5.0199.71c4.2358.8353,7.4633,3.7874,8.5799,7.9171.6835,2.528,1.0779,4.575,1.1353,7.2392h.2689l-.1249-5.5185c-.25-1.0009-.4893-1.9573-.4893-1.9498ZM19.6307,9.8114c5.676,2.3752,8.1954,6.6002,11.3924,11.6506-1.7988-1.6182-3.8278-2.7526-6.2353-3.1027l-4.8534-.7059c-4.2853-.6233-7.5556-3.5238-9.1266-7.565C9.1226,5.7532,7.0025,2.3905,2.3782.7517c3.5879-.46,7.0192.2079,10.2029,1.795,2.0231,1.0085,4.1345,1.2326,6.3707,1.1187,3.413-.1739,6.4936,1.1486,8.5884,3.8262,1.4242,1.8205,2.2706,3.9544,2.8116,6.2398l2.1795,9.2079c-1.6551-2.8402-3.3573-5.5542-5.4055-8.1585-1.9122-2.4313-4.2206-4.2422-7.0952-5.383-2.0256-.7422-3.6578-1.9137-5.703-3.0095,1.3685,1.6022,3.3286,2.5969,5.3031,3.4232Z'%3E%3C/path%3E%3C/svg%3E");
	--bsw-petal-mirrored: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34.9395 34.1575'%3E%3Cg transform='translate(34.9395 0) scale(-1 1)'%3E%3Cpath fill='%23aa747c' d='M34.3253,26.6892c-1.3493-4.1478-2.4167-8.3167-3.2657-12.636-1.2929-6.5778-5.5756-11.4789-12.4678-10.9951-2.2531.1581-4.2361-.2714-6.2244-1.2563C8.5693-.0796,4.1594-.5853,0,.7512c5.912,1.1672,8.3049,4.5665,10.2853,9.6378,1.657,4.2434,5.1209,7.2617,9.6502,7.9023l5.0199.71c4.2358.8353,7.4633,3.7874,8.5799,7.9171.6835,2.528,1.0779,4.575,1.1353,7.2392h.2689l-.1249-5.5185c-.25-1.0009-.4893-1.9573-.4893-1.9498ZM19.6307,9.8114c5.676,2.3752,8.1954,6.6002,11.3924,11.6506-1.7988-1.6182-3.8278-2.7526-6.2353-3.1027l-4.8534-.7059c-4.2853-.6233-7.5556-3.5238-9.1266-7.565C9.1226,5.7532,7.0025,2.3905,2.3782.7517c3.5879-.46,7.0192.2079,10.2029,1.795,2.0231,1.0085,4.1345,1.2326,6.3707,1.1187,3.413-.1739,6.4936,1.1486,8.5884,3.8262,1.4242,1.8205,2.2706,3.9544,2.8116,6.2398l2.1795,9.2079c-1.6551-2.8402-3.3573-5.5542-5.4055-8.1585-1.9122-2.4313-4.2206-4.2422-7.0952-5.383-2.0256-.7422-3.6578-1.9137-5.703-3.0095,1.3685,1.6022,3.3286,2.5969,5.3031,3.4232Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E");
	background: #fff;
	padding: 63px 20px 40px !important;
	margin-block: 0 !important;
}

/* Floral cap — the line starts at its bottom edge */
.bsw-wedding-timeline__floral.wp-block-image {
	margin: 0 auto !important;
	width: 176px;
	line-height: 0;
}

.bsw-wedding-timeline__floral img {
	display: block;
	width: 176px;
	height: auto;
}

/* ── Line + entries ──────────────────────────────────────────────────── */

.bsw-wedding-timeline__entries.wp-block-group {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 110px;
	padding-top: 40px;
	margin-block: 0 !important;
}

.bsw-wedding-timeline__entries.wp-block-group::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 1.5px;
	margin-left: -0.75px;
	background: #aa747c;
}

.bsw-wedding-timeline__entry.wp-block-group {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 120px minmax(0, 1fr);
	align-items: start;
	margin-block: 0 !important;
}

.bsw-wedding-timeline__entry--text-left > .bsw-wedding-timeline__text,
.bsw-wedding-timeline__entry--text-right > .bsw-wedding-timeline__media {
	grid-column: 1;
	grid-row: 1;
}

.bsw-wedding-timeline__entry--text-left > .bsw-wedding-timeline__media,
.bsw-wedding-timeline__entry--text-right > .bsw-wedding-timeline__text {
	grid-column: 3;
	grid-row: 1;
}

/* Petal — sits on the line at the entry's top edge and reaches toward the
   text; its line-side bottom corner is the anchor it grows from. */
.bsw-wedding-timeline__entry.wp-block-group::before {
	content: "";
	position: absolute;
	top: 0;
	width: 98px;
	height: 95px;
	background: var(--bsw-petal) no-repeat center / contain;
	pointer-events: none;
}

.bsw-wedding-timeline__entry--text-left.wp-block-group::before {
	right: 50%;
	transform-origin: 100% 100%;
}

.bsw-wedding-timeline__entry--text-right.wp-block-group::before {
	left: 50%;
	background-image: var(--bsw-petal-mirrored);
	transform-origin: 0 100%;
}

/* Grow-in on scroll (wedding-timeline.js toggles .is-in). Hidden only once the
   script is running, so without JS the petals simply show. */
.bsw-wedding-timeline-ready .bsw-wedding-timeline__entry.wp-block-group::before {
	opacity: 0;
	transform: scale(0.15);
	transition: opacity 0.9s ease, transform 1.1s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.bsw-wedding-timeline-ready .bsw-wedding-timeline__entry.is-in.wp-block-group::before {
	opacity: 1;
	transform: none;
	transition-delay: 0.5s;
}

/* ── Text side ───────────────────────────────────────────────────────── */

.bsw-wedding-timeline__text.wp-block-group {
	padding-top: 72px;
	margin: 0 !important;
}

h2.bsw-wedding-timeline__title {
	font-family: var(--wp--preset--font-family--cormorant, 'Cormorant', serif) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	font-size: 42px !important;
	line-height: 46px !important;
	color: var(--wp--preset--color--taupe, #8c857b) !important;
	margin: 0 !important;
}

h2.bsw-wedding-timeline__title::after {
	content: "";
	display: block;
	width: 43px;
	height: 1.5px;
	background: #baaa7c;
	margin-top: 22px;
}

p.bsw-wedding-timeline__body {
	font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif);
	font-size: 16px;
	line-height: 28px;
	color: var(--wp--preset--color--charcoal, #373737);
	margin: 24px 0 0 !important;
}

/* Inline links (aunaturelspa.com) — colour + centre-wipe rule live in
   assets/css/base/links.css */

.bsw-wedding-timeline__text .wp-block-buttons {
	margin: 34px 0 0 !important;
}

.bsw-wedding-timeline__cta .wp-block-button__link {
	font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	color: var(--wp--preset--color--taupe, #8c857b) !important;
	background: transparent !important;
	border: 1.5px solid var(--wp--preset--color--blush, #d7a3ac) !important;
	border-radius: 0 !important;
	min-height: 61px;
	min-width: 301px;
	padding-inline: 34px !important;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.bsw-wedding-timeline__cta .wp-block-button__link:hover {
	background: var(--wp--preset--color--blush, #d7a3ac) !important;
	color: #fff !important;
}

/* ── Photo side ──────────────────────────────────────────────────────── */

.bsw-wedding-timeline__media.wp-block-group {
	margin: 0 !important;
}

.bsw-wedding-timeline__photo.wp-block-image {
	margin: 0 !important;
}

.bsw-wedding-timeline__photo.wp-block-image img {
	display: block;
	width: 100%;
	height: 440px !important;
	object-fit: cover;
}

/* The artboard's crop for each photo, in page order */
.bsw-wedding-timeline__entry:nth-child(1) .bsw-wedding-timeline__photo img { object-position: 40% 40%; }
.bsw-wedding-timeline__entry:nth-child(2) .bsw-wedding-timeline__photo img { object-position: 50% 60%; }
.bsw-wedding-timeline__entry:nth-child(3) .bsw-wedding-timeline__photo img { object-position: 50% 55%; }
.bsw-wedding-timeline__entry:nth-child(4) .bsw-wedding-timeline__photo img { object-position: 45% 35%; }

/* Gold italic credit under the photo (venues-cta / venue-space convention) */
p.bsw-wedding-timeline__credit {
	font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif) !important;
	font-size: 14px !important;
	font-style: italic !important;
	line-height: 1.35 !important;
	color: #baaa7c !important;
	margin: 5px 0 0 !important;
}

@media (prefers-reduced-motion: reduce) {
	.bsw-wedding-timeline-ready .bsw-wedding-timeline__entry.wp-block-group::before {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

@media (max-width: 767px) {
	/* The artboard hangs the floral 8px under the intro copy, so the intro gives
	   up its usual 60px on this page only. */
	.bsw-page-intro.wp-block-group.alignfull:has(+ .bsw-wedding-timeline) {
		padding-block-end: 8px;
	}

	.bsw-wedding-timeline.wp-block-group.alignfull {
		padding: 0 20px !important;
	}

	/* Floral mirrored and pulled left so it sits over the left-hand line */
	.bsw-wedding-timeline__floral.wp-block-image {
		width: 154px;
		margin: 0 0 0 -46px !important;
	}

	.bsw-wedding-timeline__floral img {
		width: 154px;
		transform: scaleX(-1);
	}

	/* Line moves to the left edge; entries stack text → photo beside it */
	.bsw-wedding-timeline__entries.wp-block-group {
		gap: 36px;
		padding: 8px 0 20px 51px;
	}

	.bsw-wedding-timeline__entries.wp-block-group::before {
		left: 30.25px;
		margin-left: 0;
	}

	.bsw-wedding-timeline__entry.wp-block-group {
		display: block;
		padding-top: 48px;
	}

	.bsw-wedding-timeline__entry--text-left.wp-block-group::before,
	.bsw-wedding-timeline__entry--text-right.wp-block-group::before {
		top: -6px;
		left: -20px;
		right: auto;
		width: 64px;
		height: 62px;
		background-image: var(--bsw-petal-mirrored);
		transform-origin: 0 100%;
	}

	.bsw-wedding-timeline__text.wp-block-group {
		padding-top: 0;
	}

	h2.bsw-wedding-timeline__title {
		font-size: 38px !important;
		line-height: 42px !important;
	}

	h2.bsw-wedding-timeline__title::after {
		margin-top: 18px;
	}

	p.bsw-wedding-timeline__body {
		margin-top: 20px !important;
	}

	.bsw-wedding-timeline__text .wp-block-buttons {
		margin-top: 26px !important;
		width: 100% !important;
	}

	/* Full-width capped at 301 (system.md §7 caps the link, not the wrapper), but
	   left-aligned with the copy rather than centred — the text column is. */
	.bsw-wedding-timeline__cta.wp-block-button {
		width: 100% !important;
	}

	.bsw-wedding-timeline__cta .wp-block-button__link {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 301px;
		min-height: 56px;
		padding-inline: 26px !important;
	}

	.bsw-wedding-timeline__media.wp-block-group {
		margin-top: 28px !important;
	}

	.bsw-wedding-timeline__photo.wp-block-image img {
		height: 260px !important;
	}
}
