/**
 * Estimated Moving Time subsection styles (within Packages section).
 * Loaded on front page only.
 *
 * @package Beaver_Movers
 */

/* Estimated Moving Time */
/*
 * Desktop (≥1116px): two columns — heading + “Add extra time” in left column, time rows in right (spanning both rows).
 * <1116px: single column — heading, then rows, then extra time (DOM order + grid areas).
 */
.beaver-packages__time-section {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 48px;
	display: grid;
	grid-template-columns: 5fr 9fr;
	grid-template-rows: auto auto;
	grid-template-areas:
		'head rows'
		'extra rows';
	column-gap: 2rem;
	row-gap: 40px;
	align-items: start;
}

/* ≥1116px: original display size; <1116px: matches .beaver-packages__title (packages.css) */
.beaver-packages__time-heading {
	font-family: var(--bm-font-brand);
	font-size: 60px;
	font-weight: 400;
	line-height: 0.9;
	color: var(--bm-color-text-heading);
	margin: 0;
	text-transform: uppercase;
}

.beaver-packages__time-rows {
	grid-area: rows;
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-self: end;
}

.beaver-packages__time-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 10px 40px;
	height: 40px;
	background-color: var(--bm-color-bg-cta-soft);
	border-radius: var(--bm-radius-tag);
	font-family: var(--bm-font-nav);
	font-size: 14px;
	color: var(--bm-color-text-main);
}

.beaver-packages__time-type {
	font-weight: 700;
	text-transform: uppercase;
	flex-shrink: 0;
	min-width: 140px;
	flex-basis: 35%;
}

.beaver-packages__time-sqft {
	font-weight: 500;
	flex: 1;
}

.beaver-packages__time-hours {
	font-weight: 500;
	flex-shrink: 0;
	min-width: 160px;
	flex-basis: 35%;
}

.beaver-packages__time-left {
	grid-area: head;
	display: flex;
	flex-direction: column;
}

.beaver-packages__extra-time {
	grid-area: extra;
}

.beaver-packages__extra-heading {
	font-family: var(--bm-font-nav);
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--bm-color-text-main);
	margin: 0 0 8px;
}

.beaver-packages__extra-list {
	font-family: var(--bm-font-nav);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
	color: var(--bm-color-text-main);
	margin: 0;
	padding-left: 1.25rem;
}

@media (max-width: 1115px) {
	.beaver-packages__time-section {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		grid-template-areas:
			'head'
			'rows'
			'extra';
		row-gap: 46px;
	}

	.beaver-packages__time-heading {
		font-size: 32px;
		text-align: center;
	}
}

@media (max-width: 1024px) {
	.beaver-packages__time-section {
		padding: 0 48px;
	}

	.beaver-packages__time-row {
		min-height: 99px;
		height: 99px;
		padding: 1rem 1.5rem;
		border-radius: var(--bm-radius-card);
	}

	.beaver-packages__extra-heading {
		font-size: 16px;
	}
}

@media (max-width: 736px) {
	.beaver-packages__time-heading {
		font-size: 24px;
	}

	.beaver-packages__time-section {
		margin-top: 56px;
		row-gap: 32px;
		padding: 0 24px;
	}

	.beaver-packages__time-type {
		min-width: 0;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.25;
		text-transform: uppercase;
	}
}

/*
 * Figma 2141:1013 — Estimated Moving Time rows (narrow / mobile card).
 * Tighten tablet 99px rows into stacked content: type full width, sqft + hours on second line.
 */
@media (max-width: 630px) {
	.beaver-packages__time-row {
		min-height: 0;
		height: auto;
		padding: 12px 40px;
		border-radius: var(--bm-radius-card);
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 0.5rem 1rem;
		font-size: 0.75rem;
		line-height: 1.3;
		color: var(--bm-color-text-main);
	}

	/* Figma: sqft + hours as stacked lines with small square bullets (list style) */
	.beaver-packages__time-sqft,
	.beaver-packages__time-hours {
		display: flex;
		align-items: flex-start;
		gap: 0.5rem;
		flex: none;
		width: 100%;
		min-width: 0;
		font-weight: 500;
		padding-left: 0.75rem;
		box-sizing: border-box;
	}

	.beaver-packages__time-sqft::before,
	.beaver-packages__time-hours::before {
		content: '';
		flex-shrink: 0;
		width: 4px;
		height: 4px;
		margin-top: 0.35em;
		background-color: var(--bm-color-text-main);
	}
}

@media (max-width: 600px) {
	.beaver-packages__time-section {
		padding: 0 12px;
	}

	.beaver-packages__time-row {
		flex-wrap: wrap;
		height: auto;
		min-height: 40px;
		padding: 0.5rem 1rem;
		gap: 0.25rem;
	}

	.beaver-packages__time-type {
		min-width: 100%;
	}

	.beaver-packages__time-sqft {
		flex: none;
	}
}