/* Layout owns grid columns. Cards remain usable in narrow standalone containers. */
.ibt-card {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: var(--ibt-card-gap, 0.75rem);
	width: 100%;
	min-width: 0;
	max-width: 100%;
	padding: var(--ibt-card-padding, 0.75rem);
	border: 1px solid currentColor;
	border-radius: var(--ibt-card-radius, 0.375rem);
	color: var(--ibt-card-color, CanvasText);
	background: var(--ibt-card-background, Canvas);
	overflow-wrap: anywhere;
	line-height: 1.5;
}

.ibt-card__media {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3;
	width: 100%;
	min-width: 0;
}

.ibt-card__image,
.ibt-card__logo-image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	min-height: 0;
	object-fit: contain;
}

.ibt-card__image {
	aspect-ratio: 4 / 3;
}

.ibt-card__placeholder {
	padding: 0.5rem;
	text-align: center;
}

.ibt-card__brands,
.ibt-card__listings {
	list-style: none;
	padding: 0;
}

.ibt-card__brands {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 0.75rem;
	font-size: 0.875rem;
}

.ibt-card__brands,
.ibt-card__brand,
.ibt-card__title,
.ibt-card__description,
.ibt-card__rating,
.ibt-card__specifications,
.ibt-card__specification-value,
.ibt-card__pricing-message,
.ibt-card__price,
.ibt-card__item-minimum,
.ibt-card__listing-label,
.ibt-card__listings,
.ibt-card__listing,
.ibt-card__remaining,
.ibt-card__item-price,
.ibt-card__delivery,
.ibt-card__listing-total,
.ibt-card__condition,
.ibt-card__availability,
.ibt-card__currency-note,
.ibt-card__eyebrow {
	margin: 0;
}

.ibt-card__title {
	font-size: var(--ibt-card-title-size, 1.25rem);
	line-height: 1.3;
}

.ibt-card__title-link,
.ibt-card__cta {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.ibt-card__title-link:focus,
.ibt-card__cta:focus {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.ibt-card__specifications,
.ibt-card__pricing,
.ibt-card__listings,
.ibt-card__listing {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	min-width: 0;
}

.ibt-card__specification-label,
.ibt-card__eyebrow,
.ibt-card__retailer-name,
.ibt-card__listing-label {
	font-weight: 600;
}

.ibt-card__price {
	font-size: var(--ibt-card-price-size, 1.5rem);
	font-weight: 700;
	line-height: 1.3;
}

.ibt-card--deal .ibt-card__price {
	font-size: var(--ibt-card-deal-price-size, 1.75rem);
}

.ibt-card__retailer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	min-width: 0;
}

.ibt-card__retailer-logo {
	display: block;
	width: 6rem;
	max-width: 100%;
	aspect-ratio: 3 / 1;
	flex-shrink: 0;
}

.ibt-card__logo-image {
	aspect-ratio: 3 / 1;
}

.ibt-card__listing {
	padding-block: 0.75rem;
	border-block-start: 1px solid currentColor;
}

.ibt-card__cta {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	max-width: 100%;
	padding: 0.625rem 0.75rem;
	border: 1px solid currentColor;
	border-radius: var(--ibt-card-radius, 0.375rem);
	text-align: center;
	font-weight: 600;
}

.ibt-card > .ibt-card__cta {
	margin-block-start: auto;
}

@media (forced-colors: active) {
	.ibt-card {
		color: CanvasText;
		background: Canvas;
		border-color: CanvasText;
	}

	.ibt-card__title-link,
	.ibt-card__cta {
		color: LinkText;
	}
}
