/**
 * Buildings Tabs Module
 *
 * Styles for template-parts/modules/buildings_tabs_module.php
 * Desktop: horizontal tab nav + image/content panel grid (55/45 split).
 * Mobile:  stacked accordion with max-height transition.
 */

/* ---------------------------------------------------------------
   Section
--------------------------------------------------------------- */
.buildings-tabs {
	background-color: var(--white);
	margin: 0px 40px 70px;
}

/* ---------------------------------------------------------------
   Desktop tab nav
   Hidden on mobile — flex row of buttons on desktop.
--------------------------------------------------------------- */
.buildings-tabs__nav {
	display: none; /* shown via min-width MQ below */
}

.buildings-tabs__nav-btn {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 16px;
	background-color: #f0f0f0;
	border: none;
	border-right: 2px solid var(--white);
	cursor: pointer;
	text-align: left;
	transition: background-color 0.2s ease;
	min-height: 72px;
}

.buildings-tabs__nav-btn:last-child {
	border-right: none;
}

.buildings-tabs__nav-btn.is-active {
	background-color: var(--yellow);
}

.buildings-tabs__nav-btn:hover:not(.is-active) {
	background-color: #e6e6e6;
}

.buildings-tabs__nav-label {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.buildings-tabs__nav-num {
	display: block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing:0;
	text-transform: uppercase;
	color: var(--black);
	line-height: 1;
}

.buildings-tabs__nav-btn.is-active .buildings-tabs__nav-num {
	color: var(--black);
}

.buildings-tabs__nav-name {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: var(--black);
	line-height: 18px;
}

/* Plus icon — shown on inactive desktop tabs only */
.buildings-tabs__nav-icon {
	flex-shrink: 0;
	margin-left: 12px;
}

.buildings-tabs__nav-icon::before {
	content: '+';
	font-size: 20px;
	font-weight: 300;
	color: var(--black);
	line-height: 1;
	position:relative;
	top:-10px;
}

.buildings-tabs__nav-btn.is-active .buildings-tabs__nav-icon::before {
	color:#c9af21;
}

/* ---------------------------------------------------------------
   Accordion trigger — mobile only, hidden on desktop
--------------------------------------------------------------- */
.buildings-tabs__trigger {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	padding: 18px 20px;
	background-color: #f0f0f0;
	border: none;
	border-bottom: 1px solid #d0d0d0;
	cursor: pointer;
	text-align: left;
	transition: background-color 0.2s ease;
}

.buildings-tabs__item.is-open .buildings-tabs__trigger {
	background-color: var(--yellow);
	border-bottom-color: transparent;
}

.buildings-tabs__trigger-label {
	display: flex;
	align-items: center;
	gap: 14px;
}

.buildings-tabs__trigger-num {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--black);
	flex-shrink: 0;
}

.buildings-tabs__item.is-open .buildings-tabs__trigger-num {
	color: var(--black);
}

.buildings-tabs__trigger-name {
	font-size: 15px;
	font-weight: 700;
	color: var(--black);
	line-height: 1.2;
}

/* Plus / × icon */
.buildings-tabs__trigger-icon {
	flex-shrink: 0;
	margin-left: 12px;
}

.buildings-tabs__trigger-icon::before {
	content: '+';
	display: block;
	font-size: 22px;
	font-weight: 300;
	color: var(--black);
	line-height: 1;
	min-width: 18px;
	text-align: center;
}

.buildings-tabs__item.is-open .buildings-tabs__trigger-icon::before {
	content: '\00D7'; /* × */
}

/* ---------------------------------------------------------------
   Image: absolute fill inside relative wrapper
--------------------------------------------------------------- */
.buildings-tabs__image-wrap {
	position: relative;
	overflow: hidden;
}

.buildings-tabs__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

/* ---------------------------------------------------------------
   Content column — inner flex stack
--------------------------------------------------------------- */
.buildings-tabs__content {
	display: flex;
	flex-direction: column;
}

/* Bottom group (body + stats + footer) — pushed to the foot of the panel.
   margin-top: auto handles the push; padding-top guarantees a gap even
   when heavy content forces the panel to grow past its min-height. */
.buildings-tabs__content-bottom {
	margin-top: auto;
	padding-top: 32px;
}

/* Title (WYSIWYG large heading) */
.buildings-tabs__title {
	font-size: clamp(28px, 3vw, 36px);
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: -0.9px;
	color: var(--black);
	margin-bottom: 20px;
}

.buildings-tabs__title p,
.buildings-tabs__title h2,
.buildings-tabs__title h3 {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	margin: 0;
}

/* Body copy (WYSIWYG) */
.buildings-tabs__body {
	font-size: 16px;
	line-height: 22px;
	color: var(--grey);
	margin-bottom: 28px;
}

.buildings-tabs__body p {
	margin: 0 0 16px;
	color: var(--grey);
}

.buildings-tabs__body p:last-child {
	margin-bottom: 0;
}

/* Stats row — two items with top/bottom border */
.buildings-tabs__stats {
	display: flex;
	margin-bottom: 14px;
}

.buildings-tabs__stat {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding-right: 20px;
	display: flex;
  border-top: 1px solid var(--black);
  border-bottom: 1px solid var(--black);
  padding: 10px 0;
  margin-bottom: 24px;
}

.buildings-tabs__stat + .buildings-tabs__stat {

	margin-left:15px;
	margin-right: 0px;
}

.buildings-tabs__stat-label {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0em;
	text-transform: uppercase;
	color: var(--black);
}

.buildings-tabs__stat-value {
	font-size: 28px;
	font-weight: 900;
	color: var(--black);
	line-height: 1;
}

/* Footer row — additional + CTA side by side */
.buildings-tabs__footer {
	display: flex;
	align-items: flex-start;
	gap: 24px;
}

.buildings-tabs__footer .buildings-tabs__additional{
	flex: 1;
	min-width: 0;
}

/* Additional copy (WYSIWYG smaller text) */
.buildings-tabs__additional {
	font-size: 14px;
	line-height: 20px;
	color: var(--grey);
}

.buildings-tabs__additional p {
	margin: 0 0 12px;
}

.buildings-tabs__additional p:last-child {
	margin-bottom: 0;
}



/* ---------------------------------------------------------------
   Desktop layout — ≥ 993px
--------------------------------------------------------------- */
@media (min-width: 993px) {

	/* Show tab nav as flex row */
	.buildings-tabs__nav {
		display: flex;
		/*border-bottom: 2px solid var(--black);*/
	}

	/* Hide mobile accordion triggers */
	.buildings-tabs__trigger {
		display: none;
	}

	/* Panel: hidden by default, shown for active item as grid */
	.buildings-tabs__panel {
		display: none;
	}

	.buildings-tabs__item.is-active .buildings-tabs__panel {
		display: grid;
    grid-template-columns: 49fr 45fr;
		min-height: 740px;
	}

	/* Image wrap fills its grid column */
	.buildings-tabs__image-wrap {
		height: 100%;
	}

	/* Content column padding + borders */
	.buildings-tabs__content {
		padding:40px 46px 30px 56px;
		border-right: 1px solid rgba(179, 179, 179, 1);
		border-bottom: 1px solid rgba(179, 179, 179, 1);
	}
}

@media (min-width: 993px) and (max-width: 1280px) {
	.buildings-tabs__content {
		padding: 48px 40px;
		border-right: 1px solid rgba(179, 179, 179, 1);
		border-bottom: 1px solid rgba(179, 179, 179, 1);
	}
}

/* ---------------------------------------------------------------
   Mobile layout — ≤ 992px
--------------------------------------------------------------- */
@media (max-width: 992px) {

	/* Hide desktop tab nav */
	.buildings-tabs__nav {
		display: none;
	}

	/* Panel: hidden via max-height so CSS transition works */
	.buildings-tabs__panel {
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.35s ease;
	}

	/* Open panel expands to fit content */
	.buildings-tabs__item.is-open .buildings-tabs__panel {
		max-height: 1800px;
	}

	/* Image: fixed height on mobile */
	.buildings-tabs__image-wrap {
		height: 280px;
	}

	/* Content column padding + borders */
	.buildings-tabs__content {
		padding: 22px 20px 40px;
		border-right: 1px solid rgba(179, 179, 179, 1);
		border-left: 1px solid rgba(179, 179, 179, 1);
	}

	/* Stack footer columns on mobile */
	.buildings-tabs__footer {
		flex-direction: column;
	}

	/* CTA full-width on mobile */
	.buildings-tabs__cta {
		/*align-self: stretch;*/
		justify-content: center;
    padding: 15px 10px 15px 11px;
    gap: 9px;
	}

	.buildings-tabs {
		margin: 0px 20px 47px;
	}

	.buildings-tabs__trigger-label {
		flex-direction: column;
		gap: 0px;
		align-items: start;
	}

	.buildings-tabs__trigger {
		padding: 15px 16px;
	}

	.buildings-tabs__content-bottom {
		padding-top: 2px;
	}

	.buildings-tabs__body {
		font-size: 14px;
		line-height: 20px;
	}

	.buildings-tabs__stat {
		padding: 8px 0;
	}

	.buildings-tabs__stat-value {
    font-size: 22px;
  }

	.buildings-tabs__stats {
		margin-bottom: 0px;
	}

	.buildings-tabs__additional {
		font-size: 12px;
		line-height: 18px;
	}

	.buildings-tabs__stat {
		margin-bottom: 20px;
	}
	.buildings-tabs__trigger-icon {
		position: relative;
		top: -7px;
		right: -2px;
	}

}

@media (max-width: 600px) {

	.buildings-tabs__image-wrap {
		height: 260px;
	}

	.buildings-tabs__title {
		font-size: 26px;
	}

	.buildings-tabs__stat-value {
		font-size: 18px;
	}

	.buildings-tabs__trigger-name {
		font-size: 14px;
	}
}
