/* Shared by venue-space-left + venue-space-right (one visual system) */

.bsw-venue-space {
	background: #fff;
	padding-block: 0 95px;
}

h2.bsw-venue-space__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: normal !important;
	color: var(--wp--preset--color--taupe, #8c857b) !important;
	margin-block: 0 26px !important;
}

.bsw-venue-space__row {
	display: flex;
	align-items: flex-start;
	gap: 21px;
	max-width: 1078px;
	margin-inline: auto;
}

/* Accordion-right variant mirrors the row (photo on the left) */
.bsw-venue-space--right .bsw-venue-space__row {
	flex-direction: row-reverse;
}

.bsw-venue-space__accordion {
	flex: 1 1 auto;
	min-width: 0;
}

/* Items — gold hairlines above each row, and below the last */
.bsw-venue-space__item {
	border-top: 1px solid #baaa7c;
}

.bsw-venue-space__item:last-child {
	border-bottom: 1px solid #baaa7c;
}

.bsw-venue-space__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 31px 0 31px;
	background: none;
	border: none;
	cursor: pointer;
	text-align: left;
}

.bsw-venue-space__item--open .bsw-venue-space__toggle {
	cursor: default;
	padding-block-end: 0;
}

.bsw-venue-space__label {
	font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif);
	font-size: 20px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: #aa747c;
	line-height: normal;
}

/* Gold chevron — rotates and dims to 50% while its item is open */
.bsw-venue-space__chevron {
	flex: 0 0 auto;
	width: 22px;
	height: 13px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='13' viewBox='0 0 22 13' fill='none'%3E%3Cpath d='M1 1.5L11 11.5L21 1.5' stroke='%23baaa7c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.bsw-venue-space__item--open .bsw-venue-space__chevron {
	transform: rotate(180deg);
	opacity: 0.5;
}

/* Panel — grid-rows trick animates open/close height without JS measurement */
.bsw-venue-space__panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.3s ease;
}

.bsw-venue-space__item--open .bsw-venue-space__panel {
	grid-template-rows: 1fr;
}

.bsw-venue-space__panel-inner {
	overflow: hidden;
	min-height: 0;
}

ul.bsw-venue-space__details {
	font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif);
	font-size: 16px;
	line-height: 33px;
	color: #554b4b;
	list-style: disc;
	margin: 13px 0 0;
	padding-left: 24px;
}

ul.bsw-venue-space__details li {
	margin: 0;
}

/* Small filled button (41px tall — unique to this section) */
.bsw-venue-space__btn {
	text-transform: capitalize;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 41px;
	min-width: 281px;
	padding-inline: 8px;
	margin-block: 36px 44px;
	box-sizing: border-box;
	font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif);
	font-size: 18px;
	color: #fff !important;
	background: #aa747c;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease;
}

.bsw-venue-space__btn:hover {
	background: #94565f;
}

/* Per-item photo — mobile only */
.bsw-venue-space__panel-img {
	display: none;
}

p.bsw-venue-space__panel-credit {
	display: none;
}

/* Side photo — desktop only, swapped by venue-space.js per open item */
.bsw-venue-space__media {
	flex: 0 0 529px;
	max-width: 529px;
}

.bsw-venue-space__image {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: opacity 0.2s ease;
}

.bsw-venue-space__image.is-swapping {
	opacity: 0;
}

p.bsw-venue-space__credit {
	font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif);
	font-style: italic;
	font-size: 14px;
	color: #baaa7c;
	margin-block: 5px 0 !important;
	min-height: 19px;
}

@media (max-width: 767px) {
	.bsw-venue-space {
		padding-block: 0 60px;
		padding-inline: 21px;
	}

	h2.bsw-venue-space__title {
		font-size: 38px !important;
		line-height: 38px !important;
		margin-block-end: 22px !important;
	}

	.bsw-venue-space__row,
	.bsw-venue-space--right .bsw-venue-space__row {
		flex-direction: column;
		max-width: 100%;
	}

	.bsw-venue-space__accordion {
		width: 100%;
	}

	/* The photo lives inside the open item on mobile */
	.bsw-venue-space__media {
		display: none;
	}

	/* Bottom spacing must be margins, not inner padding — padding sets a hard
	   minimum height that keeps collapsed panels from closing to zero */
	.bsw-venue-space__panel-img {
		display: block;
		width: 100%;
		aspect-ratio: 1 / 1;
		object-fit: cover;
		margin-block: 25px 36px;
	}

	.bsw-venue-space__panel-img:not(:last-child) {
		margin-block-end: 5px;
	}

	p.bsw-venue-space__panel-credit {
		display: block;
		font-family: var(--wp--preset--font-family--cardo, 'Cardo', serif);
		font-style: italic;
		font-size: 14px;
		color: #baaa7c;
		margin-block: 0 19px;
	}

	.bsw-venue-space__btn {
		margin-block-end: 0;
	}
}
