/* Travel Wise product showcase.
   One product  -> large featured layout (image | details).
   2+ products  -> responsive card grid. Same markup; :only-child switches the layout. */

.ud-showcase { margin: 0; }
.ud-showcase .woocommerce-notices-wrapper:empty { display: none; }
.ud-showcase__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 2.4rem;
}

.ud-showcase__item {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid rgba(171, 112, 32, .18);
	border-radius: 1.2rem;
	overflow: hidden;
	transition: box-shadow .25s ease, transform .25s ease;
}
.ud-showcase__item:hover { box-shadow: 0 14px 34px -18px rgba(90, 50, 10, .35); }

.ud-showcase__media { position: relative; display: block; background: #f6eee2; }
.ud-showcase__img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.ud-showcase__media .onsale {
	position: absolute; top: 1.2rem; left: 1.2rem; z-index: 2;
	margin: 0; min-height: 0; min-width: 0; line-height: 1;
	padding: .6rem 1rem; border-radius: 99px;
	background: var(--bloghash-primary, #ab7020); color: #fff;
	font-size: 1.3rem; font-weight: 600;
}

.ud-showcase__body { display: flex; flex-direction: column; gap: 1.2rem; padding: 2rem; flex: 1; }
.ud-showcase__eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; font-size: 1.3rem; }
.ud-showcase a { text-decoration: none !important; box-shadow: none !important; }
.ud-showcase__cat { font-family: var(--ud-head); color: var(--bloghash-primary, #ab7020); text-decoration: none; letter-spacing: .04em; text-transform: uppercase; font-weight: 600; }
.ud-showcase__tag {
	padding: .3rem .9rem; border-radius: 99px;
	background: #f6eee2; color: #6b4a1c; font-size: 1.2rem;
}
.ud-showcase .ud-showcase__title { margin: 0; font-family: var(--ud-head); font-weight: 700; font-size: 2.2rem; line-height: 1.25; color: #2c2c2c; }
.ud-showcase .ud-showcase__title a { color: inherit; text-decoration: none; }
.ud-showcase__title a:hover { color: var(--bloghash-primary, #ab7020); }
.ud-showcase .ud-showcase__price { margin: 0; font-size: 2rem; color: var(--bloghash-primary, #ab7020); }
.ud-showcase .ud-showcase__price del { opacity: .55; font-size: .8em; margin-right: .6rem; }
.ud-showcase .ud-showcase__price ins { text-decoration: none; font-weight: 700; }
.ud-showcase__lead { font-size: 1.5rem; line-height: 1.65; }
.ud-showcase__lead p { margin: 0; }

.ud-showcase ul.ud-showcase__features {
	list-style: none; margin: .4rem 0 0; padding: 1.6rem 0 0; border-top: 1px solid rgba(171, 112, 32, .18);
	display: grid; grid-template-columns: 1fr; gap: .7rem;
	font-size: 1.45rem;
}
.ud-showcase ul.ud-showcase__features li { list-style: none; margin: 0; }
.ud-showcase ul.ud-showcase__features li::marker { content: none; }
.ud-showcase__features li { position: relative; padding-left: 2.6rem; line-height: 1.45; }
.ud-showcase__features li::before {
	content: ""; position: absolute; left: 0; top: .15em;
	width: 1.7rem; height: 1.7rem; border-radius: 50%;
	background: var(--bloghash-primary, #ab7020)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 12.5 10 17 19 7.5'/%3E%3C/svg%3E")
		center / 1.1rem no-repeat;
}

.ud-showcase .ud-showcase__cart { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem; margin: .4rem 0 0; }
.ud-showcase .ud-showcase__cart .quantity { margin: 0; }
.ud-showcase .ud-showcase__cart .single_add_to_cart_button { flex: 1 1 auto; margin: 0; }
.ud-showcase .ud-showcase__more {
	align-self: flex-start; margin-top: auto;
	color: var(--bloghash-primary, #ab7020); font-weight: 600; font-size: 1.4rem; text-decoration: none;
}
.ud-showcase__more:hover { text-decoration: underline; }

/* ---------- single product: featured layout ---------- */
.ud-showcase__item:only-child { border: 0; border-radius: 0; background: transparent; overflow: visible; }
.ud-showcase__item:only-child:hover { box-shadow: none; }
.ud-showcase__item:only-child .ud-showcase__media { border-radius: 1.2rem; overflow: hidden; box-shadow: 0 18px 40px -22px rgba(90, 50, 10, .45); }
.ud-showcase__item:only-child .ud-showcase__body { padding: 2.4rem 0 0; gap: 1.4rem; }
.ud-showcase .ud-showcase__item:only-child .ud-showcase__title { font-size: 2.8rem; }
.ud-showcase__item:only-child .ud-showcase__price { font-size: 2.4rem; }

@media (min-width: 768px) {
	.ud-showcase__list:has(> .ud-showcase__item:only-child) { grid-template-columns: 1fr; }
	.ud-showcase__item:only-child {
		display: grid;
		grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
		gap: 3.6rem;
		align-items: start;
	}
	.ud-showcase__item:only-child .ud-showcase__media { position: sticky; top: 2.4rem; }
	.ud-showcase__item:only-child .ud-showcase__body { padding: 0; }
	.ud-showcase .ud-showcase__item:only-child .ud-showcase__title { font-size: 3.2rem; }
	.ud-showcase__item:only-child .ud-showcase__features { grid-template-columns: 1fr 1fr; column-gap: 2rem; }
}
