/* Hot Finds theme styles. Colors, fonts and sizes come from theme.json presets. */

:root {
	--hf-linen: var(--wp--preset--color--linen);
	--hf-paper: var(--wp--preset--color--paper);
	--hf-kraft: var(--wp--preset--color--kraft);
	--hf-line: var(--wp--preset--color--line);
	--hf-walnut: var(--wp--preset--color--walnut);
	--hf-muted: var(--wp--preset--color--muted);
	--hf-olive: var(--wp--preset--color--olive);
	--hf-clay: var(--wp--preset--color--clay);
	--hf-display: var(--wp--preset--font-family--display);
	--hf-tag: var(--wp--preset--font-family--tag);
	/* The price-tag shape: punched end on the left */
	--hf-tag-shape: polygon(14% 0, 100% 0, 100% 100%, 14% 100%, 0 50%);
}

a:focus-visible,
button:focus-visible { outline: 2px solid var(--hf-clay); outline-offset: 3px; }
h1, h2, h3 { text-wrap: balance; }
p:empty { display: none; }
.wp-site-blocks > main,
.wp-site-blocks > footer { margin-block-start: 0; }

.is-style-eyebrow {
	font-family: var(--hf-tag);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hf-olive);
	margin-bottom: 0.5rem !important;
}
.hf-muted { color: var(--hf-muted); }
.hf-more a { font-weight: 600; font-size: 0.92rem; text-underline-offset: 4px; text-decoration-color: var(--hf-clay); }

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--hf-walnut);
	border: 1.5px solid var(--hf-walnut);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--hf-walnut); color: var(--hf-linen); }

/* ---------- header ---------- */
.hf-announce {
	margin: 0;
	background: var(--hf-olive);
	color: var(--hf-paper);
	font: 700 0.78rem/1 var(--hf-tag);
	letter-spacing: 0.08em;
	text-align: center;
	padding: 0.6rem var(--wp--custom--gutter);
}
.hf-header { border-bottom: 1px solid var(--hf-line); padding-top: 1.05rem; padding-bottom: 1.05rem; }
.hf-header__row { gap: 1rem; }
.hf-header__actions { gap: 1.4rem; }
.hf-brand { margin: 0; }
.hf-brand a { display: inline-flex; align-items: center; gap: 0.6rem; text-decoration: none; color: var(--hf-walnut); }
.hf-brand b { font: 400 1.85rem/1 var(--hf-display); letter-spacing: -0.01em; }
.hf-brand i {
	font: 700 0.62rem/1 var(--hf-tag);
	font-style: normal;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hf-clay);
	border: 1.5px solid var(--hf-clay);
	padding: 0.3rem 0.45rem;
	border-radius: 2px;
	transform: rotate(-4deg);
	white-space: nowrap;
}
.hf-brand--small b { font-size: 1.4rem; }
.hf-nav { font-weight: 500; font-size: 0.92rem; gap: 0.3rem 1.5rem; }
.hf-nav .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--hf-clay); }
.hf-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--hf-linen); padding: 1.5rem var(--wp--custom--gutter); }
.hf-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; padding: 0.4rem 0; }
/* Core only collapses the menu below 600px; five links + cart need it below 1000px. */
@media (min-width: 600px) and (max-width: 999px) {
	.hf-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.hf-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.hf-cart .wc-block-mini-cart__button {
	font: 700 0.82rem/1 var(--hf-tag);
	border: 1.5px solid var(--hf-walnut);
	border-radius: 999px;
	padding: 0.45rem 0.8rem;
	color: var(--hf-walnut);
}
.hf-cart .wc-block-mini-cart__button:hover:not([disabled]) { background: var(--hf-walnut); color: var(--hf-linen); opacity: 1; }
.hf-cart .wc-block-mini-cart__badge { background: var(--hf-clay); color: #FFFFFF; border: 0; }

/* ---------- price tag (shared) ---------- */
.hf-tag,
.hf-price {
	background: var(--hf-paper);
	color: var(--hf-walnut);
	font: 700 0.9rem/1.2 var(--hf-tag);
	clip-path: var(--hf-tag-shape);
	box-shadow: 0 1px 0 var(--hf-line);
}

/* ---------- hero ---------- */
.hf-hero { padding-top: clamp(2.5rem, 6vw, 5rem); padding-bottom: clamp(2.5rem, 6vw, 5rem); }
.hf-hero__cols { gap: clamp(2rem, 5vw, 4.5rem) !important; }
.hf-hero__title { font-size: var(--wp--preset--font-size--huge) !important; line-height: 1.02 !important; letter-spacing: -0.015em; margin: 0 0 1.2rem; }
.hf-hero__title em { font-style: normal; color: var(--hf-clay); }
.hf-hero__lede { max-width: 40ch; font-size: 1.12rem; color: var(--hf-muted); margin-bottom: 1.6rem; }

/* Still life: the newest three finds on a shelf, each tilted with its tag */
.hf-still {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	align-items: end;
	gap: 0.8rem;
	padding: 2.2rem 1.2rem 0;
	background: var(--hf-kraft);
	border-radius: 2px;
	overflow: hidden;
}
.hf-still::after { content: ""; position: absolute; inset: auto 0 0 0; height: 1.6rem; background: linear-gradient(180deg, #8A6A4C, #6F543C); }
.hf-still__item { position: relative; z-index: 1; display: block; margin-bottom: 1.1rem; text-decoration: none; }
.hf-still__item img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 2px; box-shadow: 0 10px 18px -12px rgba(46, 40, 34, .55); }
.hf-still__item--1 { transform: rotate(-2deg); }
.hf-still__item--2 { transform: translateY(-1.2rem) rotate(1.5deg); }
.hf-still__item--3 { transform: rotate(-1deg); }
.hf-still__item .hf-tag { position: absolute; left: -0.4rem; top: 0.6rem; padding: 0.45rem 0.65rem 0.45rem 1rem; max-width: 92%; transform: rotate(-5deg); }
.hf-still__item--2 .hf-tag { transform: rotate(3deg); }
.hf-tag small { display: block; font-weight: 400; font-size: 0.66rem; color: var(--hf-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hf-still__item:hover img { box-shadow: 0 14px 22px -12px rgba(46, 40, 34, .7); }

/* ---------- categories ---------- */
.hf-cats { border-top: 1px solid var(--hf-line); border-bottom: 1px solid var(--hf-line); }
.hf-cats__row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.hf-cat { display: grid; gap: 0.25rem; padding: 1.35rem 1rem; text-decoration: none; border-right: 1px solid var(--hf-line); min-width: 0; color: var(--hf-walnut); }
.hf-cat:first-child { border-left: 1px solid var(--hf-line); }
.hf-cat b { font: 400 1.3rem/1.2 var(--hf-display); }
.hf-cat span { font: 400 0.78rem/1.3 var(--hf-tag); color: var(--hf-muted); }
.hf-cat:hover b { color: var(--hf-clay); }

/* ---------- sections ---------- */
.hf-section { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70); }
.hf-section h2 { margin-top: 0; }
.hf-sec-head { margin-bottom: 2rem; gap: 1rem; }
.hf-sec-head h2 { margin-bottom: 0; }
.hf-split { gap: clamp(2rem, 5vw, 4rem) !important; }

/* find cards (home) */
.hf-finds { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2.4vw, 1.8rem); }
.hf-find { display: grid; gap: 0.55rem; align-content: start; text-decoration: none; color: var(--hf-walnut); min-width: 0; }
.hf-find__img { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 2px; background: var(--hf-kraft); }
.hf-find__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.hf-find:hover .hf-find__img img { transform: scale(1.03); }
.hf-price { position: absolute; right: 0.6rem; top: 0.7rem; padding: 0.45rem 0.6rem 0.45rem 0.95rem; transform: rotate(4deg); }
.hf-one { position: absolute; left: 0.6rem; bottom: 0.6rem; background: var(--hf-walnut); color: var(--hf-linen); font: 700 0.66rem/1 var(--hf-tag); letter-spacing: 0.1em; text-transform: uppercase; padding: 0.35rem 0.5rem; }
.hf-find.is-sold .hf-find__img img { filter: grayscale(.7); opacity: .7; }
.hf-find.is-sold .hf-one { background: var(--hf-clay); }
.hf-find__name { font-weight: 600; font-size: 1rem; line-height: 1.3; }
.hf-find:hover .hf-find__name { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--hf-clay); }
.hf-src { font: 400 0.78rem/1.35 var(--hf-tag); color: var(--hf-muted); }
.hf-cond { justify-self: start; font: 700 0.68rem/1 var(--hf-tag); letter-spacing: 0.08em; text-transform: uppercase; color: var(--hf-olive); border: 1px solid var(--hf-olive); padding: 0.25rem 0.4rem; border-radius: 2px; }
.hf-empty { color: var(--hf-muted); }
@media (prefers-reduced-motion: reduce) { .hf-find__img img { transition: none; } }

/* grading scale */
.hf-scale { margin: 0; border-top: 1.5px solid var(--hf-walnut); }
.hf-grade { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--hf-line); align-items: baseline; }
.hf-grade dt { font: 700 0.82rem/1.2 var(--hf-tag); letter-spacing: 0.1em; text-transform: uppercase; }
.hf-grade dd { margin: 0; color: var(--hf-muted); font-size: 0.96rem; }

/* sources */
.hf-sources { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--hf-line); border: 1px solid var(--hf-line); margin-top: 2rem; }
.hf-source { background: var(--hf-linen); padding: 1.4rem 1.3rem 1.6rem; display: grid; gap: 0.45rem; align-content: start; min-width: 0; }
.hf-source b { font: 400 1.25rem/1.2 var(--hf-display); }
.hf-source p { margin: 0; font-size: 0.93rem; color: var(--hf-muted); }

/* ---------- page heads ---------- */
.hf-page-head { background: var(--hf-kraft); border-bottom: 1px solid var(--hf-line); padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--50); }
.hf-page-head h1 { margin: 0; }
.hf-page-head--slim { padding-top: 1rem; padding-bottom: 1rem; }
.hf-page-head__lede { max-width: 60ch; color: var(--hf-muted); }
.hf-crumbs, .woocommerce-breadcrumb { font: 400 0.8rem/1.4 var(--hf-tag); color: var(--hf-muted); margin-bottom: 0.6rem; }
.hf-crumbs a, .woocommerce-breadcrumb a { color: var(--hf-muted); }
.hf-article { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--70); }

/* ---------- shop archive ---------- */
.hf-shop { padding-top: 1.6rem; padding-bottom: var(--wp--preset--spacing--70); }
.hf-toolbar { gap: 1rem; margin-bottom: 1.6rem; align-items: center; }
.hf-toolbar__right { gap: 1rem; align-items: center; }
.hf-chips .wc-block-product-categories-list { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.hf-chips .wc-block-product-categories-list-item { margin: 0; }
.hf-chips .wc-block-product-categories-list-item a {
	display: inline-block;
	padding: 0.45rem 0.8rem;
	border: 1px solid var(--hf-line);
	border-radius: 999px;
	font-size: 0.86rem;
	font-weight: 600;
	text-decoration: none;
	background: var(--hf-paper);
}
.hf-chips .wc-block-product-categories-list-item a:hover { border-color: var(--hf-walnut); }
.hf-chips .wc-block-product-categories-list-item-count { font: 400 0.75rem var(--hf-tag); color: var(--hf-muted); margin-left: 0.25rem; }
.hf-chips .wc-block-product-categories-list-item-count::before,
.hf-chips .wc-block-product-categories-list-item-count::after { content: ""; }
.woocommerce-result-count, .wc-block-product-results-count { font: 400 0.82rem var(--hf-tag); color: var(--hf-muted); margin: 0; }
.woocommerce-ordering select { font: inherit; font-size: 0.88rem; padding: 0.45rem 0.6rem; border: 1px solid var(--hf-line); border-radius: 2px; background: var(--hf-paper); }

/* product cards: image with the price as a tied-on tag */
.hf-products .wc-block-product-template { gap: clamp(1rem, 2.4vw, 1.8rem); margin-block: 0; }
.hf-products .wc-block-product { position: relative; display: flex; flex-direction: column; gap: 0.5rem; text-align: left; }
.hf-products .wc-block-components-product-image { margin: 0 !important; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 2px; background: var(--hf-kraft); }
.hf-products .wc-block-components-product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.hf-products .wc-block-product:hover .wc-block-components-product-image img { transform: scale(1.03); }
.hf-products .hf-card-price { position: absolute; right: 0.6rem; top: 0.7rem; z-index: 2; margin: 0 !important; }
.hf-products .hf-card-price .wc-block-components-product-price,
.hf-products .hf-card-price.wc-block-components-product-price {
	display: inline-block;
	background: var(--hf-paper);
	color: var(--hf-walnut);
	font: 700 0.9rem/1.2 var(--hf-tag);
	padding: 0.45rem 0.6rem 0.45rem 0.95rem;
	clip-path: var(--hf-tag-shape);
	transform: rotate(4deg);
}
.hf-products .hf-card-price:empty,
.hf-products .hf-card-price .wc-block-components-product-price:empty { display: none; }
.hf-products .wp-block-post-title { margin: 0.35rem 0 0 !important; font-family: var(--wp--preset--font-family--body); font-weight: 600; font-size: 1rem; line-height: 1.3; letter-spacing: 0; }
.hf-products .wp-block-post-title a { text-decoration: none; color: var(--hf-walnut); }
.hf-products .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.hf-products .wc-block-product:hover .wp-block-post-title a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--hf-clay); }
.hf-products .hf-card-stock { margin: 0 !important; font: 700 0.66rem/1 var(--hf-tag); letter-spacing: 0.1em; text-transform: uppercase; color: var(--hf-olive); }
.hf-pagination { margin-top: 2.5rem; font: 400 0.88rem var(--hf-tag); gap: 0.6rem; }
@media (prefers-reduced-motion: reduce) { .hf-products .wc-block-components-product-image img { transition: none; } }

/* ---------- single product ---------- */
.hf-pdp-wrap { padding-top: 2rem; padding-bottom: var(--wp--preset--spacing--70); }
.hf-pdp.wp-block-columns { gap: clamp(1.8rem, 5vw, 4rem); align-items: flex-start; }
.hf-gallery .woocommerce-product-gallery__image { background: var(--hf-kraft); border-radius: 2px; overflow: hidden; }
/* Previous/next arrows on the main photo (FlexSlider direction nav) */
.hf-gallery .woocommerce-product-gallery { position: relative; }
.hf-gallery .flex-direction-nav { list-style: none; margin: 0; padding: 0; }
.hf-gallery .flex-direction-nav li { margin: 0; }
.hf-gallery .flex-direction-nav a {
	position: absolute;
	top: 0;
	z-index: 3;
	width: 44px;
	height: 44px;
	margin-top: calc(var(--hf-main-h, 50%) - 22px);
	border-radius: 50%;
	background: var(--hf-paper);
	box-shadow: 0 2px 8px rgba(46, 40, 34, .25);
	overflow: hidden;
	text-indent: 200%;
	white-space: nowrap;
	color: transparent;
	opacity: .92;
	transition: opacity .15s, transform .15s;
}
.hf-gallery .flex-direction-nav a::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 11px;
	height: 11px;
	border-top: 2.5px solid var(--hf-walnut);
	border-right: 2.5px solid var(--hf-walnut);
	text-indent: 0;
}
.hf-gallery .flex-direction-nav .flex-prev { left: 0.75rem; }
.hf-gallery .flex-direction-nav .flex-prev::before { transform: translateX(2px) rotate(-135deg); }
.hf-gallery .flex-direction-nav .flex-next { right: 0.75rem; }
.hf-gallery .flex-direction-nav .flex-next::before { transform: translateX(-2px) rotate(45deg); }
.hf-gallery .flex-direction-nav a:hover { opacity: 1; transform: scale(1.06); }
.hf-gallery .flex-direction-nav a:focus-visible { outline: 2px solid var(--hf-clay); outline-offset: 2px; opacity: 1; }
.hf-gallery .flex-direction-nav .flex-disabled { opacity: .35; pointer-events: none; }
@media (prefers-reduced-motion: reduce) { .hf-gallery .flex-direction-nav a { transition: none; } }

.hf-gallery .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0.75rem 0 0; padding: 0; list-style: none; }
.hf-gallery .flex-control-thumbs li { width: 76px !important; margin: 0 !important; aspect-ratio: 3 / 4; border-radius: 2px; overflow: hidden; border: 1px solid var(--hf-line); }
.hf-gallery .flex-control-thumbs li img { width: 100%; height: 100%; object-fit: cover; opacity: 0.6; cursor: pointer; }
.hf-gallery .flex-control-thumbs li img.flex-active,
.hf-gallery .flex-control-thumbs li img:hover { opacity: 1; }
.hf-gallery .flex-control-thumbs li:has(img.flex-active) { border: 2px solid var(--hf-walnut); }
.hf-pdp__cat { font: 700 0.74rem/1 var(--hf-tag); letter-spacing: 0.14em; text-transform: uppercase; }
.hf-pdp__cat a { color: var(--hf-olive); text-decoration: none; }
.hf-pdp .wp-block-post-title { font-size: clamp(1.9rem, 3.6vw, 2.8rem); margin-block: 0.6rem 1rem; }
.hf-pdp__price { margin: 0 0 1.2rem !important; }
.hf-pdp__price .wc-block-components-product-price,
.hf-pdp__price.wc-block-components-product-price {
	display: inline-block;
	background: var(--hf-paper);
	font: 700 1.5rem/1 var(--hf-tag);
	padding: 0.6rem 0.9rem 0.6rem 1.5rem;
	clip-path: var(--hf-tag-shape);
	transform: rotate(-2deg);
	box-shadow: 0 1px 0 var(--hf-line);
}
.hf-pdp__blurb { color: var(--hf-muted); max-width: 52ch; }
.hf-pdp__cart { margin-block-start: 1.4rem; }
.hf-pdp__cart form.cart { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: stretch; }
.hf-pdp__cart .quantity .qty { width: 70px; min-height: 48px; padding: 10px; border: 1px solid var(--hf-line); border-radius: 2px; background: var(--hf-paper); font: 700 1rem/1 var(--hf-tag); text-align: center; }
.hf-pdp__cart .single_add_to_cart_button { flex: 1 1 220px; }
.hf-pdp__cart .stock { font: 700 0.78rem/1 var(--hf-tag); letter-spacing: 0.08em; text-transform: uppercase; color: var(--hf-olive); width: 100%; margin: 0 0 0.4rem; }
.hf-pdp__cart .stock.out-of-stock { color: var(--hf-clay); }
.hf-assure { list-style: none; margin: 1.3rem 0 0; padding: 0; display: grid; gap: 0.5rem; font-size: 0.93rem; color: var(--hf-muted); }
.hf-assure li { position: relative; padding-left: 1.6rem; }
.hf-assure li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--hf-olive); font-weight: 700; }
.hf-pdp__sku { font: 400 0.78rem var(--hf-tag); color: var(--hf-muted); margin-top: 1rem; }
.hf-pdp__details .wc-tabs { list-style: none; display: flex; flex-wrap: wrap; gap: 0.3rem; margin: 3rem 0 1.2rem; padding: 0; border-bottom: 1.5px solid var(--hf-walnut); }
.hf-pdp__details .wc-tabs li { margin: 0; }
.hf-pdp__details .wc-tabs li a { display: block; padding: 0.6rem 0.9rem; font: 400 1.1rem/1 var(--hf-display); text-decoration: none; color: var(--hf-muted); }
.hf-pdp__details .wc-tabs li.active a { background: var(--hf-walnut); color: var(--hf-linen); }
.hf-pdp__details .woocommerce-Tabs-panel { max-width: 760px; }
.hf-pdp__details .woocommerce-Tabs-panel > h2:first-child { display: none; }
.hf-pdp__details .woocommerce-product-attributes { width: 100%; border-collapse: collapse; }
.hf-pdp__details .woocommerce-product-attributes th,
.hf-pdp__details .woocommerce-product-attributes td { padding: 0.65rem 0; border-top: 1px solid var(--hf-line); text-align: left; vertical-align: top; }
.hf-pdp__details .woocommerce-product-attributes th { width: 38%; font: 700 0.76rem var(--hf-tag); letter-spacing: 0.08em; text-transform: uppercase; color: var(--hf-muted); }
.hf-pdp__details .woocommerce-product-attributes td p { margin: 0; }

/* ---------- footer ---------- */
.hf-footer { border-top: 1px solid var(--hf-line); padding-top: 2.4rem; padding-bottom: 3rem; font-size: 0.9rem; color: var(--hf-muted); }
.hf-footer__row { gap: 1rem 2rem; }
.hf-footer__links { display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; margin: 0; }
.hf-footer__links a { color: var(--hf-walnut); }
.hf-footer__meta { margin: 0; }

/* ---------- small screens ---------- */
@media (max-width: 900px) {
	.hf-finds { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hf-sources { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hf-cats__row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.hf-cat:nth-child(4) { border-left: 1px solid var(--hf-line); }
	.hf-cat:nth-child(n+4) { border-top: 1px solid var(--hf-line); }
}
@media (max-width: 560px) {
	.hf-cats__row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hf-cat:nth-child(4) { border-left: 0; }
	.hf-cat:nth-child(odd) { border-left: 1px solid var(--hf-line); }
	.hf-cat:nth-child(n+3) { border-top: 1px solid var(--hf-line); }
	.hf-grade { grid-template-columns: 1fr; gap: 0.3rem; }
	.hf-still { padding: 1.6rem 0.8rem 0; gap: 0.5rem; }
	.hf-still__item .hf-tag { font-size: 0.78rem; }
	.hf-brand i { display: none; }
}
