/* ==========================
   FURNITURE ARCHIVE PAGE
========================== */

.furniture-archive {
	background: var(--color-background);
}

/* ==========================
   HERO
========================== */

.furniture-archive__hero {
	padding-block: var(--section-spacing-lg) var(--section-spacing-md);
}

.furniture-archive__eyebrow {
	margin-bottom: var(--space-3);

	font-size: var(--font-size-eyebrow);
	font-weight: var(--font-weight-semibold);
	letter-spacing: var(--letter-spacing-eyebrow);
	line-height: 1.3;
	text-transform: uppercase;

	color: var(--color-text-muted);
}

.furniture-archive__title {
	max-width: 760px;

	margin-bottom: var(--space-5);

	font-size: var(--font-size-page-title);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-tight);
	letter-spacing: var(--letter-spacing-tight);

	color: var(--color-text);
}

.furniture-archive__intro {
	max-width: 720px;

	font-size: var(--font-size-body-large);
	line-height: var(--line-height-relaxed);

	color: var(--color-text-light);
}

.furniture-archive__intro p:last-child {
	margin-bottom: 0;
}

/* ==========================
   CATEGORY NAVIGATION
========================== */

.furniture-archive__category-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-4);

	margin-top: var(--space-7);
}

.furniture-archive__category-link {
	display: inline-flex;
	align-items: center;

	min-height: var(--touch-target-min);

	font-size: var(--font-size-small);
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height-body);
	text-decoration: none;

	color: var(--color-text-light);

	transition: color var(--transition-fast);
}

.furniture-archive__category-link[aria-current="page"] {
	font-weight: var(--font-weight-semibold);
	text-decoration: underline;
	text-underline-offset: var(--space-1);

	color: var(--color-link-default);
}

.furniture-archive__category-link:hover {
	color: var(--color-link-hover);
}

.furniture-archive__category-link:focus-visible {
	outline: var(--focus-ring-width) solid var(--focus-ring-color);
	outline-offset: var(--focus-ring-offset);
}

/* ==========================
   CONTENT
========================== */

.furniture-archive__content {
	padding-block: var(--section-spacing-md) var(--section-spacing-lg);
}

.furniture-archive__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-7);
}

/* ==========================
   MODEL CARD
========================== */

.furniture-card {
	min-width: 0;
}

.furniture-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
}

.furniture-card__media {
	position: relative;

	aspect-ratio: 4 / 3;

	overflow: hidden;

	background: var(--color-surface);
}

.furniture-card__image {
	width: 100%;
	height: 100%;

	object-fit: cover;
}

.furniture-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;

	padding: var(--space-6);

	text-align: center;

	color: var(--color-text-light);
	background: var(--color-surface);
}

.furniture-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: var(--space-7);
}

.furniture-card__category {
	margin-bottom: var(--space-3);

	font-size: var(--font-size-eyebrow);
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.18em;
	line-height: 1.3;
	text-transform: uppercase;

	color: var(--color-text-muted);
}

.furniture-card__title {
	margin-bottom: var(--space-4);

	font-size: var(--font-size-card-title);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-heading);
	letter-spacing: var(--letter-spacing-heading);

	color: var(--color-text);
}

.furniture-card__description {
	margin-bottom: var(--space-6);

	font-size: var(--font-size-body);
	line-height: var(--line-height-relaxed);

	color: var(--color-text-light);
}

.furniture-card__action {
	margin-top: auto;
}

.furniture-card__button {
	width: fit-content;
}

/* ==========================
   PAGINATION
========================== */

.furniture-archive__pagination {
	margin-top: var(--space-9);
}

.furniture-archive__pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-2);
}

.furniture-archive__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: var(--touch-target-min);
	height: var(--touch-target-min);
	padding-inline: var(--space-4);

	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);

	background: var(--color-surface-glass);
	color: var(--color-text);

	font-size: var(--font-size-small);
	font-weight: var(--font-weight-semibold);
	text-decoration: none;

	transition:
		background var(--transition-base),
		border-color var(--transition-base),
		color var(--transition-base),
		box-shadow var(--transition-base);
}

.furniture-archive__pagination .page-numbers.current,
.furniture-archive__pagination .page-numbers:hover,
.furniture-archive__pagination .page-numbers:focus-visible {
	color: var(--color-text-inverse);
	border-color: var(--color-primary);
	background: var(--color-primary);
}

.furniture-archive__pagination .page-numbers:focus-visible {
	outline: var(--focus-ring-width) solid var(--focus-ring-color);
	outline-offset: var(--focus-ring-offset);
}

/* ==========================
   EMPTY STATE
========================== */

.furniture-archive__empty {
	max-width: 720px;
	padding: var(--space-8);
}

.furniture-archive__empty h2 {
	margin-bottom: var(--space-4);

	font-size: var(--font-size-section-title);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-heading);
	letter-spacing: var(--letter-spacing-heading);

	color: var(--color-text);
}

.furniture-archive__empty p {
	margin-bottom: var(--space-6);

	font-size: var(--font-size-body);
	line-height: var(--line-height-relaxed);

	color: var(--color-text-light);
}

/* ==========================
   RESPONSIVE
========================== */

@media (max-width: 1100px) {
	.furniture-archive__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.furniture-archive__hero {
		padding-block: var(--section-spacing-md) var(--section-spacing-sm);
	}

	.furniture-archive__content {
		padding-block: var(--section-spacing-sm) var(--section-spacing-md);
	}

	.furniture-archive__category-nav {
		gap: var(--space-3);
	}

	.furniture-archive__grid {
		grid-template-columns: 1fr;
		gap: var(--space-6);
	}

	.furniture-card__body {
		padding: var(--space-6);
	}

	.furniture-card__button {
		width: 100%;
	}

	.furniture-archive__empty {
		padding: var(--space-6);
	}
}

/* ==========================
   ACCESSIBILITY / MOTION
========================== */

@media (prefers-reduced-motion: reduce) {
	.furniture-archive__pagination .page-numbers {
		transition: none;
	}
}
