/* ============================================================
   BACKWOODS — Product Card & Spec Strip  (Revision 2)
   Light cards on paper background.
   Mobile-first.
   ============================================================ */

/* ----------------------------------------------------------
   SPEC STRIP
   ---------------------------------------------------------- */
.bw-spec-strip-wrap {
	margin-block: 0;
}

.bw-spec-rule.wp-block-separator {
	border    : none;
	border-top: 1px solid var(--bw-ash);
	opacity   : 0.25;
	margin-block: 0 10px;
	max-width : none;
	height    : 0;
	background: none !important;
}

.bw-spec-strip {
	margin     : 0;
	white-space: nowrap;
	overflow   : hidden;
	text-overflow: ellipsis;
}

/* ----------------------------------------------------------
   PRODUCT CARD
   ---------------------------------------------------------- */
.bw-card {
	background-color: var(--bw-card);
	display         : flex;
	flex-direction  : column;
	border          : 1px solid rgba(31, 26, 21, 0.08);
}

/* Image area — 1:1 square ratio */
.bw-card__image {
	width   : 100%;
	overflow: hidden;
}

.bw-card__image .wp-block-post-featured-image,
.bw-card__image figure {
	margin    : 0;
	line-height: 0;
}

.bw-card__image img {
	width           : 100%;
	aspect-ratio    : 1 / 1;
	object-fit      : cover;
	object-position : center;
	display         : block;
	background-color: var(--bw-paper);
}

/* Image placeholder when no featured image set */
.bw-card__image-placeholder {
	width           : 100%;
	aspect-ratio    : 1 / 1;
	background-color: var(--bw-paper);
	border-bottom   : 1px solid rgba(31, 26, 21, 0.08);
}

/* Card body */
.bw-card__body {
	padding       : 14px;
	display       : flex;
	flex-direction: column;
	gap           : 10px;
	flex          : 1;
}

@media (min-width: 769px) {
	.bw-card__body {
		padding: 16px;
		gap    : 12px;
	}
}

/* Card title */
.bw-card__title,
.bw-card__title.wp-block-post-title {
	font-family   : var(--bw-display);
	font-weight   : 600;
	font-stretch  : 125%;
	font-size     : clamp(1rem, 2.5vw, 1.125rem);
	line-height   : 1.1;
	letter-spacing: -0.01em;
	color         : var(--bw-pitch);
	margin        : 0;
}

.bw-card__title a,
.bw-card__title.wp-block-post-title a {
	color          : var(--bw-pitch);
	text-decoration: none;
	transition     : color 150ms ease;
}

.bw-card__title a:hover {
	color: var(--bw-brass);
}

/* Spec strip on card */
.bw-card .bw-spec-strip,
.bw-card .bw-mono {
	color: var(--bw-ash);
}

/* Price */
.bw-card__price {
	font-family: var(--bw-mono);
	font-size  : 0.75rem;
	font-weight: 500;
	color      : var(--bw-pitch);
	margin     : 0;
	margin-top : auto;
	padding-top: 4px;
}

/* CTA link */
.bw-card__link {
	font-family    : var(--bw-mono);
	font-size      : 0.75rem;
	font-weight    : 500;
	text-transform : uppercase;
	letter-spacing : 0.08em;
	color          : var(--bw-brass);
	text-decoration: underline;
	text-underline-offset: 3px;
	transition     : color 150ms ease;
}

.bw-card__link:hover {
	color: var(--bw-kraft);
}

.bw-card__link:focus-visible {
	outline       : 2px solid var(--bw-brass);
	outline-offset: 3px;
}

/* ----------------------------------------------------------
   CARD GRID
   1-up mobile → 2-up at 540px → 3-up at 900px → 4-up at 1100px
   ---------------------------------------------------------- */
.bw-card-grid {
	display              : grid;
	grid-template-columns: 1fr;
	gap                  : var(--bw-gutter);
}

@media (min-width: 540px) {
	.bw-card-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 900px) {
	.bw-card-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1100px) {
	.bw-card-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}
